summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/CMakeLists.txt3
-rw-r--r--mysql-test/Makefile.am157
-rw-r--r--mysql-test/collections/README.experimental6
-rw-r--r--mysql-test/collections/default.daily20
-rw-r--r--mysql-test/collections/default.experimental99
-rw-r--r--mysql-test/collections/default.push2
-rw-r--r--mysql-test/collections/default.release11
-rwxr-xr-x[-rw-r--r--]mysql-test/collections/default.weekly8
-rw-r--r--mysql-test/collections/disabled-daily.list9
-rw-r--r--mysql-test/collections/disabled-weekly.list9
-rw-r--r--mysql-test/collections/mysql-next-mr.push5
-rw-r--r--mysql-test/collections/mysql-trunk.push5
-rw-r--r--mysql-test/collections/test-bt10
-rw-r--r--mysql-test/collections/test-bt-debug1
-rw-r--r--mysql-test/collections/test-bt-fast2
-rw-r--r--mysql-test/extra/binlog_tests/binlog.test54
-rw-r--r--mysql-test/extra/binlog_tests/binlog_cache_stat.test251
-rw-r--r--mysql-test/extra/binlog_tests/binlog_insert_delayed.test4
-rw-r--r--mysql-test/extra/binlog_tests/binlog_truncate.test6
-rw-r--r--mysql-test/extra/binlog_tests/blackhole.test2
-rw-r--r--mysql-test/extra/binlog_tests/database.test27
-rw-r--r--mysql-test/extra/binlog_tests/implicit.test4
-rw-r--r--mysql-test/extra/binlog_tests/innodb_stat.test41
-rw-r--r--mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test2
-rw-r--r--mysql-test/extra/rpl_tests/check_type.inc14
-rw-r--r--mysql-test/extra/rpl_tests/create_recursive_construct.inc39
-rw-r--r--mysql-test/extra/rpl_tests/rpl_EE_err.test9
-rw-r--r--mysql-test/extra/rpl_tests/rpl_auto_increment.test50
-rw-r--r--mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test3
-rw-r--r--mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test9
-rw-r--r--mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test6
-rw-r--r--mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test223
-rw-r--r--mysql-test/extra/rpl_tests/rpl_charset.test6
-rw-r--r--mysql-test/extra/rpl_tests/rpl_commit_after_flush.test8
-rw-r--r--mysql-test/extra/rpl_tests/rpl_conflicts.test17
-rw-r--r--mysql-test/extra/rpl_tests/rpl_ddl.test11
-rw-r--r--mysql-test/extra/rpl_tests/rpl_deadlock.test1
-rw-r--r--mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc24
-rw-r--r--mysql-test/extra/rpl_tests/rpl_extra_col_master.test (renamed from mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test)31
-rw-r--r--mysql-test/extra/rpl_tests/rpl_extra_col_slave.test (renamed from mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test)55
-rw-r--r--mysql-test/extra/rpl_tests/rpl_failed_optimize.test17
-rw-r--r--mysql-test/extra/rpl_tests/rpl_flsh_tbls.test3
-rw-r--r--mysql-test/extra/rpl_tests/rpl_foreign_key.test4
-rw-r--r--mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test48
-rw-r--r--mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test127
-rw-r--r--mysql-test/extra/rpl_tests/rpl_innodb.test2
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_delayed.test2
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_duplicate.test59
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_id.test39
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_id_pk.test25
-rw-r--r--mysql-test/extra/rpl_tests/rpl_insert_ignore.test77
-rw-r--r--mysql-test/extra/rpl_tests/rpl_loaddata.test71
-rw-r--r--mysql-test/extra/rpl_tests/rpl_log.test2
-rw-r--r--mysql-test/extra/rpl_tests/rpl_max_relay_size.test4
-rw-r--r--mysql-test/extra/rpl_tests/rpl_multi_query.test6
-rw-r--r--mysql-test/extra/rpl_tests/rpl_multi_update.test7
-rw-r--r--mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test2
-rw-r--r--mysql-test/extra/rpl_tests/rpl_not_null.test28
-rw-r--r--mysql-test/extra/rpl_tests/rpl_record_compare.test35
-rw-r--r--mysql-test/extra/rpl_tests/rpl_reset_slave.test12
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_UUID.test2
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_basic.test60
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test5
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_sp002.test57
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_sp003.test18
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_sp007.test25
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_tabledefs.test2
-rw-r--r--mysql-test/extra/rpl_tests/rpl_set_null.test16
-rw-r--r--mysql-test/extra/rpl_tests/rpl_show_binlog_events.inc17
-rw-r--r--mysql-test/extra/rpl_tests/rpl_show_log_events_with_varying_options.inc11
-rw-r--r--mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc127
-rw-r--r--mysql-test/extra/rpl_tests/rpl_start_stop_slave.test56
-rw-r--r--mysql-test/extra/rpl_tests/rpl_stm_000001.test131
-rw-r--r--mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test6
-rw-r--r--mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test268
-rw-r--r--mysql-test/extra/rpl_tests/rpl_stop_middle_group.test11
-rw-r--r--mysql-test/extra/rpl_tests/rpl_stop_slave.test60
-rw-r--r--mysql-test/extra/rpl_tests/rpl_sv_relay_space.test12
-rw-r--r--mysql-test/extra/rpl_tests/rpl_test_framework.inc86
-rw-r--r--mysql-test/extra/rpl_tests/rpl_truncate.test7
-rw-r--r--mysql-test/extra/rpl_tests/rpl_truncate_helper.test8
-rw-r--r--mysql-test/extra/rpl_tests/type_conversions.test4
-rw-r--r--mysql-test/include/analyze-sync_with_master.test13
-rw-r--r--mysql-test/include/assert.inc175
-rw-r--r--mysql-test/include/begin_include_file.inc83
-rw-r--r--mysql-test/include/check-testcase.test78
-rw-r--r--mysql-test/include/check_concurrent_insert.inc4
-rw-r--r--mysql-test/include/check_ftwrl_compatible.inc158
-rw-r--r--mysql-test/include/check_ftwrl_incompatible.inc155
-rw-r--r--mysql-test/include/check_no_concurrent_insert.inc4
-rw-r--r--mysql-test/include/check_slave_is_running.inc30
-rw-r--r--mysql-test/include/check_slave_no_error.inc22
-rw-r--r--mysql-test/include/check_slave_param.inc28
-rw-r--r--mysql-test/include/circular_rpl_for_4_hosts_init.inc130
-rw-r--r--mysql-test/include/circular_rpl_for_4_hosts_sync.inc23
-rw-r--r--mysql-test/include/cleanup_fake_relay_log.inc23
-rw-r--r--mysql-test/include/commit.inc8
-rw-r--r--mysql-test/include/ctype_8bit.inc46
-rw-r--r--mysql-test/include/ctype_czech.inc12
-rw-r--r--mysql-test/include/ctype_like_ignorable.inc11
-rw-r--r--mysql-test/include/ctype_numconv.inc67
-rw-r--r--mysql-test/include/diff_master_slave.inc21
-rw-r--r--mysql-test/include/diff_tables.inc208
-rw-r--r--mysql-test/include/end_include_file.inc79
-rw-r--r--mysql-test/include/file_does_not_exist.inc17
-rw-r--r--mysql-test/include/force_restart.inc17
-rw-r--r--mysql-test/include/force_restart_if_skipped.inc17
-rw-r--r--mysql-test/include/get_relay_log_pos.inc4
-rw-r--r--mysql-test/include/gis_keys.inc16
-rw-r--r--mysql-test/include/handler.inc27
-rw-r--r--mysql-test/include/have_archive_plugin.inc1
-rw-r--r--mysql-test/include/have_blackhole_plugin.inc1
-rw-r--r--mysql-test/include/have_dbi_dbd-mysql.inc78
-rw-r--r--mysql-test/include/have_example_plugin.inc5
-rw-r--r--mysql-test/include/have_innodb.inc7
-rw-r--r--mysql-test/include/have_plugin_auth.inc5
-rw-r--r--mysql-test/include/have_plugin_interface.inc5
-rw-r--r--mysql-test/include/have_plugin_server.inc5
-rw-r--r--mysql-test/include/have_semisync_plugin.inc2
-rw-r--r--mysql-test/include/have_simple_parser.inc5
-rw-r--r--mysql-test/include/have_udf.inc6
-rw-r--r--mysql-test/include/index_merge2.inc112
-rw-r--r--mysql-test/include/io_thd_fault_injection.inc21
-rw-r--r--mysql-test/include/kill_query.inc4
-rw-r--r--mysql-test/include/kill_query_and_diff_master_slave.inc16
-rw-r--r--mysql-test/include/master-slave-end.inc6
-rw-r--r--mysql-test/include/master-slave-reset.inc75
-rw-r--r--mysql-test/include/master-slave.inc72
-rw-r--r--mysql-test/include/mix1.inc4
-rw-r--r--mysql-test/include/mtr_check.sql10
-rw-r--r--mysql-test/include/mtr_warnings.sql66
-rw-r--r--mysql-test/include/mysql_upgrade_preparation.inc2
-rw-r--r--mysql-test/include/mysqld--help.inc16
-rw-r--r--mysql-test/include/mysqldump.inc3
-rw-r--r--mysql-test/include/mysqlhotcopy.inc16
-rw-r--r--mysql-test/include/ndb_master-slave.inc10
-rw-r--r--mysql-test/include/ndb_master-slave_2ch.inc165
-rw-r--r--mysql-test/include/ndb_not_readonly.inc6
-rw-r--r--mysql-test/include/no_valgrind_without_big.inc9
-rw-r--r--mysql-test/include/not_crashrep.inc24
-rw-r--r--mysql-test/include/not_parallel.inc2
-rw-r--r--mysql-test/include/not_threadpool.inc5
-rw-r--r--mysql-test/include/plugin.defs41
-rw-r--r--mysql-test/include/report-features.test2
-rw-r--r--mysql-test/include/reset_master_and_slave.inc8
-rw-r--r--mysql-test/include/restart_mysqld.inc18
-rw-r--r--mysql-test/include/restart_slave_sql.inc43
-rw-r--r--mysql-test/include/rpl_change_topology.inc247
-rw-r--r--mysql-test/include/rpl_connect.inc58
-rw-r--r--mysql-test/include/rpl_connection.inc47
-rw-r--r--mysql-test/include/rpl_connection_master.inc2
-rw-r--r--mysql-test/include/rpl_connection_slave.inc2
-rw-r--r--mysql-test/include/rpl_connection_slave1.inc2
-rw-r--r--mysql-test/include/rpl_diff.inc118
-rw-r--r--mysql-test/include/rpl_diff_tables.inc35
-rw-r--r--mysql-test/include/rpl_end.inc103
-rw-r--r--mysql-test/include/rpl_for_each_slave.inc39
-rw-r--r--mysql-test/include/rpl_generate_sync_chain.inc122
-rw-r--r--mysql-test/include/rpl_init.inc242
-rw-r--r--mysql-test/include/rpl_reconnect.inc132
-rw-r--r--mysql-test/include/rpl_reset.inc81
-rw-r--r--mysql-test/include/rpl_restart_server.inc39
-rw-r--r--mysql-test/include/rpl_start_server.inc54
-rw-r--r--mysql-test/include/rpl_start_slaves.inc32
-rw-r--r--mysql-test/include/rpl_stop_server.inc63
-rw-r--r--mysql-test/include/rpl_stop_slaves.inc33
-rw-r--r--mysql-test/include/rpl_sync.inc153
-rw-r--r--mysql-test/include/save_master_pos.inc33
-rw-r--r--mysql-test/include/setup_fake_relay_log.inc71
-rw-r--r--mysql-test/include/show_events.inc4
-rw-r--r--mysql-test/include/show_rpl_debug_info.inc136
-rw-r--r--mysql-test/include/show_slave_status.inc84
-rw-r--r--mysql-test/include/start_slave.inc32
-rw-r--r--mysql-test/include/stop_slave.inc89
-rw-r--r--mysql-test/include/stop_slave_io.inc43
-rw-r--r--mysql-test/include/stop_slave_sql.inc41
-rw-r--r--mysql-test/include/sync_io_with_master.inc46
-rw-r--r--mysql-test/include/sync_slave_io_with_master.inc50
-rw-r--r--mysql-test/include/sync_slave_sql_with_io.inc50
-rw-r--r--mysql-test/include/truncate_file.inc2
-rw-r--r--mysql-test/include/wait_for_binlog_event.inc2
-rw-r--r--mysql-test/include/wait_for_query_to_fail.inc25
-rw-r--r--mysql-test/include/wait_for_slave_io_error.inc88
-rw-r--r--mysql-test/include/wait_for_slave_io_to_start.inc39
-rw-r--r--mysql-test/include/wait_for_slave_io_to_stop.inc50
-rw-r--r--mysql-test/include/wait_for_slave_param.inc121
-rw-r--r--mysql-test/include/wait_for_slave_sql_error.inc66
-rw-r--r--mysql-test/include/wait_for_slave_sql_error_and_skip.inc64
-rw-r--r--mysql-test/include/wait_for_slave_sql_to_start.inc30
-rw-r--r--mysql-test/include/wait_for_slave_sql_to_stop.inc50
-rw-r--r--mysql-test/include/wait_for_slave_to_start.inc30
-rw-r--r--mysql-test/include/wait_for_slave_to_stop.inc46
-rw-r--r--mysql-test/include/wait_for_status_var.inc23
-rw-r--r--mysql-test/include/wait_show_condition.inc35
-rw-r--r--mysql-test/include/write_var_to_file.inc57
-rw-r--r--mysql-test/lib/My/ConfigFactory.pm22
-rw-r--r--mysql-test/lib/My/CoreDump.pm9
-rw-r--r--mysql-test/lib/My/File/Path.pm15
-rw-r--r--mysql-test/lib/My/Find.pm6
-rw-r--r--mysql-test/lib/My/Options.pm2
-rw-r--r--mysql-test/lib/My/Platform.pm2
-rw-r--r--mysql-test/lib/My/SafeProcess.pm21
-rw-r--r--mysql-test/lib/My/SafeProcess/Base.pm2
-rw-r--r--mysql-test/lib/My/SafeProcess/Makefile.am25
-rw-r--r--mysql-test/lib/My/SafeProcess/safe_kill_win.cc2
-rw-r--r--mysql-test/lib/My/SafeProcess/safe_process.cc11
-rw-r--r--mysql-test/lib/My/SafeProcess/safe_process.pl4
-rw-r--r--mysql-test/lib/My/SafeProcess/safe_process_win.cc6
-rw-r--r--mysql-test/lib/My/SysInfo.pm2
-rw-r--r--mysql-test/lib/My/Test.pm34
-rw-r--r--mysql-test/lib/mtr_cases.pm40
-rw-r--r--mysql-test/lib/mtr_gcov.pl25
-rw-r--r--mysql-test/lib/mtr_gprof.pl2
-rw-r--r--mysql-test/lib/mtr_io.pl2
-rw-r--r--mysql-test/lib/mtr_match.pm2
-rw-r--r--mysql-test/lib/mtr_misc.pl145
-rw-r--r--mysql-test/lib/mtr_process.pl12
-rw-r--r--mysql-test/lib/mtr_report.pm39
-rw-r--r--mysql-test/lib/mtr_results.pm167
-rw-r--r--mysql-test/lib/mtr_stress.pl2
-rw-r--r--mysql-test/lib/mtr_unique.pm2
-rwxr-xr-xmysql-test/mysql-stress-test.pl17
-rwxr-xr-xmysql-test/mysql-test-run.pl869
-rw-r--r--mysql-test/purify.supp17
-rw-r--r--mysql-test/r/1st.result1
-rw-r--r--mysql-test/r/alter_table.result21
-rw-r--r--mysql-test/r/archive.result22
-rw-r--r--mysql-test/r/archive_debug.result12
-rw-r--r--mysql-test/r/archive_plugin.result3
-rw-r--r--mysql-test/r/auto_increment.result40
-rw-r--r--mysql-test/r/blackhole_plugin.result3
-rw-r--r--mysql-test/r/bootstrap.result12
-rw-r--r--mysql-test/r/bug58669.result17
-rw-r--r--mysql-test/r/cache_innodb.result11
-rw-r--r--mysql-test/r/cast.result17
-rw-r--r--mysql-test/r/check.result16
-rw-r--r--mysql-test/r/client_xml.result6
-rw-r--r--mysql-test/r/commit_1innodb.result8
-rw-r--r--mysql-test/r/connect.result3
-rw-r--r--mysql-test/r/csv_not_null.result3
-rw-r--r--mysql-test/r/ctype_binary.result91
-rw-r--r--mysql-test/r/ctype_cp1250_ch.result3
-rw-r--r--mysql-test/r/ctype_cp1251.result416
-rw-r--r--mysql-test/r/ctype_eucjpms.result2
-rw-r--r--mysql-test/r/ctype_latin1.result115
-rw-r--r--mysql-test/r/ctype_like_range.result2310
-rw-r--r--mysql-test/r/ctype_many.result37
-rw-r--r--mysql-test/r/ctype_sjis.result6
-rw-r--r--mysql-test/r/ctype_uca.result98
-rw-r--r--mysql-test/r/ctype_ucs.result109
-rw-r--r--mysql-test/r/ctype_ujis.result10
-rw-r--r--mysql-test/r/ctype_utf16.result27
-rw-r--r--mysql-test/r/ctype_utf16_uca.result46
-rw-r--r--mysql-test/r/ctype_utf32.result15
-rw-r--r--mysql-test/r/ctype_utf32_uca.result46
-rw-r--r--mysql-test/r/ctype_utf8.result162
-rw-r--r--mysql-test/r/ctype_utf8mb4_ndb.result1876
-rw-r--r--mysql-test/r/date_formats.result14
-rw-r--r--mysql-test/r/ddl_i18n_koi8r.result48
-rw-r--r--mysql-test/r/ddl_i18n_utf8.result48
-rw-r--r--mysql-test/r/delayed.result40
-rw-r--r--mysql-test/r/delete.result15
-rw-r--r--mysql-test/r/derived.result26
-rw-r--r--mysql-test/r/distinct.result11
-rw-r--r--mysql-test/r/errors.result12
-rw-r--r--mysql-test/r/events_1.result106
-rw-r--r--mysql-test/r/events_2.result46
-rw-r--r--mysql-test/r/events_bugs.result66
-rw-r--r--mysql-test/r/events_restart.result3
-rw-r--r--mysql-test/r/explain.result61
-rw-r--r--mysql-test/r/file_contents.result6
-rw-r--r--mysql-test/r/filesort_debug.result33
-rw-r--r--mysql-test/r/flush.result93
-rw-r--r--mysql-test/r/flush_read_lock.result1684
-rw-r--r--mysql-test/r/flush_read_lock_kill.result36
-rw-r--r--mysql-test/r/fulltext.result36
-rw-r--r--mysql-test/r/func_analyse.result26
-rw-r--r--mysql-test/r/func_encrypt_ucs2.result19
-rw-r--r--mysql-test/r/func_gconcat.result19
-rw-r--r--mysql-test/r/func_group.result58
-rw-r--r--mysql-test/r/func_group_innodb.result47
-rw-r--r--mysql-test/r/func_in.result6
-rw-r--r--mysql-test/r/func_like.result5
-rw-r--r--mysql-test/r/func_math.result99
-rw-r--r--mysql-test/r/func_misc.result44
-rw-r--r--mysql-test/r/func_set.result42
-rw-r--r--mysql-test/r/func_str.result28
-rw-r--r--mysql-test/r/func_time.result125
-rw-r--r--mysql-test/r/gis-rtree.result27
-rw-r--r--mysql-test/r/gis.result36
-rw-r--r--mysql-test/r/grant.result420
-rw-r--r--mysql-test/r/grant2.result4
-rw-r--r--mysql-test/r/grant3.result25
-rw-r--r--mysql-test/r/grant_cache_no_prot.result2
-rw-r--r--mysql-test/r/grant_cache_ps_prot.result2
-rw-r--r--mysql-test/r/group_by.result46
-rw-r--r--mysql-test/r/handler_innodb.result21
-rw-r--r--mysql-test/r/handler_myisam.result21
-rw-r--r--mysql-test/r/having.result22
-rw-r--r--mysql-test/r/implicit_char_to_num_conversion.result366
-rw-r--r--mysql-test/r/index_merge_myisam.result55
-rw-r--r--mysql-test/r/information_schema-big.result4
-rw-r--r--mysql-test/r/information_schema.result46
-rw-r--r--mysql-test/r/init_file.result1
-rw-r--r--mysql-test/r/innodb_mysql_lock.result24
-rw-r--r--mysql-test/r/innodb_mysql_sync.result120
-rw-r--r--mysql-test/r/insert_select.result2
-rw-r--r--mysql-test/r/ipv4_as_ipv6.result30
-rw-r--r--mysql-test/r/join_outer.result241
-rw-r--r--mysql-test/r/join_outer_innodb.result35
-rw-r--r--mysql-test/r/keywords.result224
-rw-r--r--mysql-test/r/kill.result274
-rw-r--r--mysql-test/r/loaddata.result16
-rw-r--r--mysql-test/r/lock_multi.result2
-rw-r--r--mysql-test/r/lock_sync.result69
-rw-r--r--mysql-test/r/log_tables.result10
-rw-r--r--mysql-test/r/log_tables_upgrade.result1
-rw-r--r--mysql-test/r/lowercase_fs_off.result8
-rw-r--r--mysql-test/r/lowercase_table2.result29
-rwxr-xr-xmysql-test/r/lowercase_table4.result115
-rw-r--r--mysql-test/r/mdl_sync.result61
-rw-r--r--mysql-test/r/merge.result104
-rw-r--r--mysql-test/r/metadata.result2
-rw-r--r--mysql-test/r/multi_update.result66
-rw-r--r--mysql-test/r/multi_update_innodb.result69
-rw-r--r--mysql-test/r/myisampack.result10
-rw-r--r--mysql-test/r/mysql.result69
-rw-r--r--mysql-test/r/mysql_embedded.result5
-rw-r--r--mysql-test/r/mysql_upgrade.result6
-rw-r--r--mysql-test/r/mysql_upgrade_ssl.result1
-rw-r--r--mysql-test/r/mysqladmin.result15
-rw-r--r--mysql-test/r/mysqlbinlog.result36
-rw-r--r--mysql-test/r/mysqlbinlog_base64.result10
-rw-r--r--mysql-test/r/mysqlbinlog_row_big.result8
-rw-r--r--mysql-test/r/mysqlcheck.result144
-rw-r--r--mysql-test/r/mysqld--defaults-file.result12
-rw-r--r--mysql-test/r/mysqld--help-notwin.result29
-rw-r--r--mysql-test/r/mysqld--help-win.result29
-rw-r--r--mysql-test/r/mysqldump.result106
-rw-r--r--mysql-test/r/mysqldump_restore.result10
-rw-r--r--mysql-test/r/mysqlslap.result22
-rw-r--r--mysql-test/r/mysqltest.result101
-rw-r--r--mysql-test/r/not_embedded_server.result45
-rw-r--r--mysql-test/r/openssl_1.result14
-rw-r--r--mysql-test/r/order_by.result29
-rw-r--r--mysql-test/r/packet.result1
-rw-r--r--mysql-test/r/partition.result172
-rw-r--r--mysql-test/r/partition_binlog.result49
-rw-r--r--mysql-test/r/partition_datatype.result1000
-rw-r--r--mysql-test/r/partition_debug_sync.result10
-rw-r--r--mysql-test/r/partition_error.result800
-rw-r--r--mysql-test/r/partition_innodb.result58
-rw-r--r--mysql-test/r/partition_innodb_plugin.result73
-rw-r--r--mysql-test/r/partition_myisam.result250
-rw-r--r--mysql-test/r/partition_not_embedded.result81
-rw-r--r--mysql-test/r/partition_range.result8
-rw-r--r--mysql-test/r/partition_symlink.result10
-rw-r--r--mysql-test/r/plugin_auth.result450
-rw-r--r--mysql-test/r/plugin_auth_qa.result327
-rw-r--r--mysql-test/r/plugin_auth_qa_1.result335
-rw-r--r--mysql-test/r/plugin_auth_qa_2.result150
-rw-r--r--mysql-test/r/plugin_auth_qa_3.result11
-rw-r--r--mysql-test/r/plugin_load_option.result7
-rw-r--r--mysql-test/r/plugin_not_embedded.result2
-rw-r--r--mysql-test/r/ps.result521
-rw-r--r--mysql-test/r/query_cache_28249.result6
-rw-r--r--mysql-test/r/query_cache_debug.result85
-rw-r--r--mysql-test/r/range.result101
-rw-r--r--mysql-test/r/rpl_mysqldump_slave.result9
-rw-r--r--mysql-test/r/select.result83
-rw-r--r--mysql-test/r/shm.result2
-rw-r--r--mysql-test/r/show_check.result38
-rw-r--r--mysql-test/r/signal.result7
-rw-r--r--mysql-test/r/signal_code.result16
-rw-r--r--mysql-test/r/sp-bugs.result36
-rw-r--r--mysql-test/r/sp-code.result4
-rw-r--r--mysql-test/r/sp-destruct.result19
-rw-r--r--mysql-test/r/sp-error.result91
-rw-r--r--mysql-test/r/sp-lock.result91
-rw-r--r--mysql-test/r/sp-security.result29
-rw-r--r--mysql-test/r/sp.result48
-rw-r--r--mysql-test/r/sp_notembedded.result27
-rw-r--r--mysql-test/r/sp_trans.result17
-rw-r--r--mysql-test/r/ssl_and_innodb.result8
-rw-r--r--mysql-test/r/ssl_cipher.result9
-rw-r--r--mysql-test/r/status.result6
-rw-r--r--mysql-test/r/status_bug17954.result13
-rw-r--r--mysql-test/r/subselect.result82
-rw-r--r--mysql-test/r/subselect4.result11
-rw-r--r--mysql-test/r/subselect_innodb.result9
-rw-r--r--mysql-test/r/symlink.result40
-rw-r--r--mysql-test/r/system_mysql_db.result5
-rw-r--r--mysql-test/r/tablespace.result112
-rw-r--r--mysql-test/r/trigger-compat.result95
-rw-r--r--mysql-test/r/trigger-trans.result5
-rw-r--r--mysql-test/r/trigger.result46
-rw-r--r--mysql-test/r/truncate_coverage.result27
-rw-r--r--mysql-test/r/type_blob.result10
-rw-r--r--mysql-test/r/type_date.result20
-rw-r--r--mysql-test/r/type_datetime.result69
-rw-r--r--mysql-test/r/type_newdecimal.result13
-rw-r--r--mysql-test/r/type_ranges.result2
-rw-r--r--mysql-test/r/type_timestamp.result92
-rw-r--r--mysql-test/r/type_year.result14
-rw-r--r--mysql-test/r/union.result125
-rw-r--r--mysql-test/r/user_var.result9
-rw-r--r--mysql-test/r/variables-big.result12
-rw-r--r--mysql-test/r/variables-notembedded.result24
-rw-r--r--mysql-test/r/variables.result77
-rw-r--r--mysql-test/r/variables_debug.result44
-rw-r--r--mysql-test/r/view.result24
-rw-r--r--mysql-test/r/view_grant.result126
-rw-r--r--mysql-test/r/warnings.result22
-rw-r--r--mysql-test/r/xa.result98
-rw-r--r--mysql-test/r/xml.result52
-rw-r--r--mysql-test/std_data/bug47205.frmbin0 -> 8554 bytes
-rw-r--r--mysql-test/std_data/bug57108.cnf95
-rw-r--r--mysql-test/std_data/checkDBI_DBD-mysql.pl97
-rw-r--r--mysql-test/std_data/cluster_7022_table.MYD (renamed from mysql-test/collections/test-bt-debug-fast)0
-rw-r--r--mysql-test/std_data/cluster_7022_table.MYIbin0 -> 1024 bytes
-rw-r--r--mysql-test/std_data/cluster_7022_table.frmbin0 -> 8794 bytes
-rw-r--r--mysql-test/std_data/parts/t1TIMESTAMP.frmbin0 -> 8554 bytes
-rw-r--r--mysql-test/suite/binlog/r/binlog_base64_flag.result3
-rw-r--r--mysql-test/suite/binlog/r/binlog_bug23533.result15
-rw-r--r--mysql-test/suite/binlog/r/binlog_bug36391.result10
-rw-r--r--mysql-test/suite/binlog/r/binlog_database.result66
-rw-r--r--mysql-test/suite/binlog/r/binlog_drop_if_exists.result (renamed from mysql-test/suite/rpl/r/rpl_drop_if_exists.result)0
-rw-r--r--mysql-test/suite/binlog/r/binlog_index.result36
-rw-r--r--mysql-test/suite/binlog/r/binlog_innodb.result4
-rw-r--r--mysql-test/suite/binlog/r/binlog_innodb_row.result17
-rw-r--r--mysql-test/suite/binlog/r/binlog_max_extension.result3
-rw-r--r--mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result25
-rw-r--r--mysql-test/suite/binlog/r/binlog_mixed_cache_stat.result66
-rw-r--r--mysql-test/suite/binlog/r/binlog_old_versions.result1
-rw-r--r--mysql-test/suite/binlog/r/binlog_query_filter_rules.result (renamed from mysql-test/suite/rpl/r/rpl_binlog_query_filter_rules.result)0
-rw-r--r--mysql-test/suite/binlog/r/binlog_reset_master.result1
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_binlog.result64
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_cache_stat.result66
-rw-r--r--mysql-test/suite/binlog/r/binlog_row_innodb_stat.result25
-rw-r--r--mysql-test/suite/binlog/r/binlog_server_id.result (renamed from mysql-test/suite/rpl/r/rpl_server_id.result)0
-rw-r--r--mysql-test/suite/binlog/r/binlog_sf.result (renamed from mysql-test/suite/rpl/r/rpl_sf.result)0
-rw-r--r--mysql-test/suite/binlog/r/binlog_sql_mode.result8
-rw-r--r--mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result10
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_binlog.result64
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_cache_stat.result66
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result25
-rw-r--r--mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result4
-rw-r--r--mysql-test/suite/binlog/r/binlog_unsafe.result2
-rw-r--r--mysql-test/suite/binlog/t/binlog_base64_flag.test3
-rw-r--r--mysql-test/suite/binlog/t/binlog_bug23533.test (renamed from mysql-test/suite/bugs/t/rpl_bug23533.test)37
-rw-r--r--mysql-test/suite/binlog/t/binlog_bug36391-master.opt (renamed from mysql-test/suite/bugs/t/rpl_bug36391-master.opt)0
-rw-r--r--mysql-test/suite/binlog/t/binlog_bug36391.test (renamed from mysql-test/suite/bugs/t/rpl_bug36391.test)24
-rw-r--r--mysql-test/suite/binlog/t/binlog_drop_if_exists.test (renamed from mysql-test/suite/rpl/t/rpl_drop_if_exists.test)0
-rw-r--r--mysql-test/suite/binlog/t/binlog_index-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_index.test30
-rw-r--r--mysql-test/suite/binlog/t/binlog_innodb_row.test26
-rw-r--r--mysql-test/suite/binlog/t/binlog_max_extension.test19
-rw-r--r--mysql-test/suite/binlog/t/binlog_mixed_cache_stat.test (renamed from mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test)2
-rw-r--r--mysql-test/suite/binlog/t/binlog_old_versions.test4
-rw-r--r--mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt (renamed from mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules-master.opt)0
-rw-r--r--mysql-test/suite/binlog/t/binlog_query_filter_rules.test (renamed from mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules.test)0
-rw-r--r--mysql-test/suite/binlog/t/binlog_reset_master.test26
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_cache_stat.test (renamed from mysql-test/suite/binlog/t/binlog_row_innodb_stat.test)2
-rw-r--r--mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_db_filter.test6
-rw-r--r--mysql-test/suite/binlog/t/binlog_server_id.test (renamed from mysql-test/suite/rpl/t/rpl_server_id.test)0
-rw-r--r--mysql-test/suite/binlog/t/binlog_sf.test (renamed from mysql-test/suite/rpl/t/rpl_sf.test)4
-rw-r--r--mysql-test/suite/binlog/t/binlog_sql_mode.test5
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_binlog-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_cache_stat.test (renamed from mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test)2
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test2
-rw-r--r--mysql-test/suite/binlog/t/binlog_unsafe.test34
-rw-r--r--mysql-test/suite/binlog/t/disabled.def5
-rw-r--r--mysql-test/suite/bugs/combinations8
-rw-r--r--mysql-test/suite/bugs/data/rpl_bug12691.dat3
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug12691.result33
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug23533.result23
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug31582.result16
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug31583.result16
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug33029.result15
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug36391.result18
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug37426.result17
-rw-r--r--mysql-test/suite/bugs/r/rpl_bug38205.result56
-rw-r--r--mysql-test/suite/bugs/t/rpl_bug12691.test51
-rw-r--r--mysql-test/suite/bugs/t/rpl_bug31582.test25
-rw-r--r--mysql-test/suite/bugs/t/rpl_bug31583.test25
-rw-r--r--mysql-test/suite/bugs/t/rpl_bug33029.test25
-rw-r--r--mysql-test/suite/bugs/t/rpl_bug38205.test166
-rw-r--r--mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_error.result6
-rw-r--r--mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_ignore.result6
-rw-r--r--mysql-test/suite/engines/funcs/r/in_multicolumn_string_unique_constraint_error.result6
-rw-r--r--mysql-test/suite/engines/funcs/r/in_string_pk_constraint_error.resultbin973 -> 1061 bytes
-rw-r--r--mysql-test/suite/engines/funcs/r/in_string_unique_constraint_error.resultbin922 -> 1005 bytes
-rw-r--r--mysql-test/suite/engines/funcs/r/ps_string_not_null.resultbin11681 -> 11681 bytes
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_000015.result151
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_change_master.result6
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result43
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_log_pos.result28
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result55
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_drop.result11
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result42
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_reset_slave.result9
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_sp005.result2
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_trig003.result6
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_row_until.result196
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_server_id1.result4
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_server_id2.result3
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_slave_status.result41
-rw-r--r--mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result4
-rw-r--r--mysql-test/suite/engines/funcs/r/sf_alter.result540
-rw-r--r--mysql-test/suite/engines/funcs/r/sf_cursor.result9
-rw-r--r--mysql-test/suite/engines/funcs/r/sp_alter.result120
-rw-r--r--mysql-test/suite/engines/funcs/r/sp_cursor.result2
-rw-r--r--mysql-test/suite/engines/funcs/t/disabled.def103
-rw-r--r--mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_error.test15
-rw-r--r--mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_ignore.test15
-rw-r--r--mysql-test/suite/engines/funcs/t/in_multicolumn_string_unique_constraint_error.test15
-rw-r--r--mysql-test/suite/engines/funcs/t/in_string_pk_constraint_error.test7
-rw-r--r--mysql-test/suite/engines/funcs/t/in_string_unique_constraint_error.test7
-rw-r--r--mysql-test/suite/engines/funcs/t/ps_string_not_null.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl000013.test8
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_000015.test26
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_change_master.test25
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test7
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_get_lock.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test4
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_loadfile.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_log_pos.test47
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_misc_functions.test2
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test16
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_drop.test5
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test10
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_row_until.test49
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_server_id1.test9
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_server_id2.test3
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_slave_status.test12
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test8
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_temp_table.test10
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_temporary.test22
-rw-r--r--mysql-test/suite/engines/funcs/t/rpl_trigger.test2
-rw-r--r--mysql-test/suite/engines/iuds/r/insert_year.result4
-rw-r--r--mysql-test/suite/engines/iuds/r/update_delete_calendar.result3
-rw-r--r--mysql-test/suite/engines/iuds/r/update_delete_number.result10
-rw-r--r--mysql-test/suite/engines/iuds/t/disabled.def1
-rw-r--r--mysql-test/suite/engines/iuds/t/insert_number.test3
-rw-r--r--mysql-test/suite/engines/iuds/t/update_delete_calendar.test5
-rw-r--r--mysql-test/suite/federated/disabled.def1
-rw-r--r--mysql-test/suite/federated/federated_bug_25714.test2
-rw-r--r--mysql-test/suite/federated/federated_bug_35333.result67
-rw-r--r--mysql-test/suite/federated/federated_bug_35333.test74
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_storedproc_06.result6
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_03e.result1
-rw-r--r--mysql-test/suite/funcs_1/r/innodb_trig_08.result4
-rw-r--r--mysql-test/suite/funcs_1/r/is_cml_ndb.result98
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_is_embedded.result339
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result12
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql.result20
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result30
-rw-r--r--mysql-test/suite/funcs_1/r/is_columns_ndb.result228
-rw-r--r--mysql-test/suite/funcs_1/r/is_engines_ndb.result8
-rw-r--r--mysql-test/suite/funcs_1/r/is_key_column_usage.result4
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics.result5
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql.result5
-rw-r--r--mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result206
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints.result1
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result1
-rw-r--r--mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result2
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql.result23
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result46
-rw-r--r--mysql-test/suite/funcs_1/r/is_tables_ndb.result167
-rw-r--r--mysql-test/suite/funcs_1/r/is_user_privileges.result1655
-rw-r--r--mysql-test/suite/funcs_1/r/memory_storedproc_06.result6
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_03e.result1
-rw-r--r--mysql-test/suite/funcs_1/r/memory_trig_08.result4
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_storedproc_06.result6
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_03e.result1
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_trig_08.result4
-rw-r--r--mysql-test/suite/funcs_1/r/myisam_views-big.result (renamed from mysql-test/suite/funcs_1/r/myisam_views.result)0
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_bitdata.result3
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_cursors.result3
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_func_view.result5294
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_02.result1398
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_03.result496
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_06.result395
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_07.result178
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_08.result835
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_storedproc_10.result400
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_0102.result366
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_03.result675
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_03e.result1620
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_0407.result470
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_08.result527
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_09.result269
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result394
-rw-r--r--mysql-test/suite/funcs_1/r/ndb_views.result22914
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result1
-rw-r--r--mysql-test/suite/funcs_1/r/processlist_priv_ps.result1
-rw-r--r--mysql-test/suite/funcs_1/storedproc/storedproc_06.inc14
-rw-r--r--mysql-test/suite/funcs_1/t/disabled.def1
-rw-r--r--mysql-test/suite/funcs_1/t/is_cml_ndb.test42
-rw-r--r--mysql-test/suite/funcs_1/t/is_columns_ndb.test37
-rw-r--r--mysql-test/suite/funcs_1/t/is_engines_ndb.test15
-rw-r--r--mysql-test/suite/funcs_1/t/is_tables_ndb.test22
-rw-r--r--mysql-test/suite/funcs_1/t/is_user_privileges.test40
-rw-r--r--mysql-test/suite/funcs_1/t/myisam_views-big.test (renamed from mysql-test/suite/funcs_1/t/myisam_views.test)3
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_bitdata.test18
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_cursors.test19
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_func_view.test16
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc_02.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc_03.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc_06.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc_07.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc_08.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_storedproc_10.test9
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_0102.test10
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_03.test10
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_03e.test25
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_0407.test10
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_08.test10
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_09.test10
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test10
-rw-r--r--mysql-test/suite/funcs_1/t/ndb_views.test24
-rw-r--r--mysql-test/suite/funcs_2/r/ndb_charset.result119156
-rw-r--r--mysql-test/suite/funcs_2/t/disabled.def3
-rw-r--r--mysql-test/suite/funcs_2/t/ndb_charset.test14
-rw-r--r--mysql-test/suite/ibmdb2i/include/have_i54.inc20
-rw-r--r--mysql-test/suite/ibmdb2i/include/have_i61.inc20
-rw-r--r--mysql-test/suite/ibmdb2i/include/have_ibmdb2i.inc6
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44020.result11
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44025.result4
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result4
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result18
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45196.result33
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45793.result7
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45983.result20
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_49329.result9
-rw-r--r--mysql-test/suite/ibmdb2i/r/ibmdb2i_collations.result1204
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44020.test9
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44025.test9
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test8
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test28
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45196.test26
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45793.test11
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45983.test47
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_49329.test10
-rw-r--r--mysql-test/suite/ibmdb2i/t/ibmdb2i_collations.test44
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc-18274.result26
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc-56228.result30
-rw-r--r--mysql-test/suite/innodb/r/innodb-autoinc.result18
-rw-r--r--mysql-test/suite/innodb/r/innodb-create-options.result854
-rw-r--r--mysql-test/suite/innodb/r/innodb-index.result98
-rw-r--r--mysql-test/suite/innodb/r/innodb-system-table-view.result110
-rw-r--r--mysql-test/suite/innodb/r/innodb-timeout.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb-truncate.result68
-rw-r--r--mysql-test/suite/innodb/r/innodb-zip.result24
-rw-r--r--mysql-test/suite/innodb/r/innodb.result20
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug30423.result95
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug52745.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug53046.result27
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug53591.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug53756.result118
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug54679.result88
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug56143.result556
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug56680.result109
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug56716.result4
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug56947.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug57252.result6
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug57904.result41
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug59307.result28
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug59410.result17
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug59641.result57
-rw-r--r--mysql-test/suite/innodb/r/innodb_bug60049.result8
-rwxr-xr-xmysql-test/suite/innodb/r/innodb_bug60196.result117
-rw-r--r--mysql-test/suite/innodb/r/innodb_file_format.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb_gis.result12
-rw-r--r--mysql-test/suite/innodb/r/innodb_index_large_prefix.result185
-rw-r--r--mysql-test/suite/innodb/r/innodb_multi_update.result8
-rw-r--r--mysql-test/suite/innodb/r/innodb_mysql.result92
-rw-r--r--mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result1354
-rw-r--r--mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result91
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc-18274.test26
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc-56228-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc-56228.test33
-rw-r--r--mysql-test/suite/innodb/t/innodb-autoinc.test49
-rw-r--r--mysql-test/suite/innodb/t/innodb-create-options.test575
-rw-r--r--mysql-test/suite/innodb/t/innodb-index.test50
-rw-r--r--mysql-test/suite/innodb/t/innodb-system-table-view-master.opt3
-rw-r--r--mysql-test/suite/innodb/t/innodb-system-table-view.test93
-rw-r--r--mysql-test/suite/innodb/t/innodb-timeout.test69
-rw-r--r--mysql-test/suite/innodb/t/innodb-truncate.test65
-rw-r--r--mysql-test/suite/innodb/t/innodb-zip.test8
-rw-r--r--mysql-test/suite/innodb/t/innodb.test25
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug30423.test211
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug42419.test2
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug53046.test48
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug53756-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug53756.test187
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug54679.test100
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug56143.test586
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug56680.test142
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug56716.test9
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug56947.test16
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug57252.test46
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug57255.test2
-rwxr-xr-xmysql-test/suite/innodb/t/innodb_bug57904.test27
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug59307.test32
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug59410.test24
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug59641.test68
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug60049-master.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_bug60049.test39
-rwxr-xr-xmysql-test/suite/innodb/t/innodb_bug60196-master.opt1
-rwxr-xr-xmysql-test/suite/innodb/t/innodb_bug60196.test157
-rw-r--r--mysql-test/suite/innodb/t/innodb_index_large_prefix.test271
-rw-r--r--mysql-test/suite/innodb/t/innodb_information_schema.test28
-rw-r--r--mysql-test/suite/innodb/t/innodb_multi_update.test9
-rw-r--r--mysql-test/suite/innodb/t/innodb_mysql.test100
-rw-r--r--mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test1339
-rw-r--r--mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test127
-rw-r--r--mysql-test/suite/large_tests/r/rpl_slave_net_timeout.result15
-rw-r--r--mysql-test/suite/large_tests/t/lock_tables_big.test14
-rw-r--r--mysql-test/suite/large_tests/t/rpl_slave_net_timeout.test18
-rw-r--r--mysql-test/suite/manual/t/rpl_replication_delay.test12
-rw-r--r--mysql-test/suite/ndb/my.cnf22
-rw-r--r--mysql-test/suite/ndb/r/loaddata_autocom_ndb.result23
-rw-r--r--mysql-test/suite/ndb/r/ndb_alter_table.result437
-rw-r--r--mysql-test/suite/ndb/r/ndb_alter_table2.result41
-rw-r--r--mysql-test/suite/ndb/r/ndb_alter_table3.result35
-rw-r--r--mysql-test/suite/ndb/r/ndb_auto_increment.result445
-rw-r--r--mysql-test/suite/ndb/r/ndb_autoinc.result37
-rw-r--r--mysql-test/suite/ndb/r/ndb_basic.result930
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_basic.result48
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_ddl_multi.result196
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_discover.result17
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_format.result41
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_ignore_db.result11
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_log_bin.result80
-rw-r--r--mysql-test/suite/ndb/r/ndb_binlog_multi.result80
-rw-r--r--mysql-test/suite/ndb/r/ndb_bitfield.result224
-rw-r--r--mysql-test/suite/ndb/r/ndb_blob.result591
-rw-r--r--mysql-test/suite/ndb/r/ndb_blob_partition.result104
-rw-r--r--mysql-test/suite/ndb/r/ndb_bug26793.result8
-rw-r--r--mysql-test/suite/ndb/r/ndb_bug31477.result98
-rw-r--r--mysql-test/suite/ndb/r/ndb_cache.result191
-rw-r--r--mysql-test/suite/ndb/r/ndb_cache2.result623
-rw-r--r--mysql-test/suite/ndb/r/ndb_cache_multi.result74
-rw-r--r--mysql-test/suite/ndb/r/ndb_cache_multi2.result75
-rw-r--r--mysql-test/suite/ndb/r/ndb_charset.result320
-rw-r--r--mysql-test/suite/ndb/r/ndb_condition_pushdown.result1920
-rw-r--r--mysql-test/suite/ndb/r/ndb_config.result14
-rw-r--r--mysql-test/suite/ndb/r/ndb_config2.result1
-rw-r--r--mysql-test/suite/ndb/r/ndb_cursor.result42
-rw-r--r--mysql-test/suite/ndb/r/ndb_database.result13
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_alter.result560
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_basic.result535
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_ddl.result315
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_disk2memory.result505
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_dump.result452
-rw-r--r--mysql-test/suite/ndb/r/ndb_dd_sql_features.result599
-rw-r--r--mysql-test/suite/ndb/r/ndb_gis.result1100
-rw-r--r--mysql-test/suite/ndb/r/ndb_grant.result444
-rw-r--r--mysql-test/suite/ndb/r/ndb_index.result154
-rw-r--r--mysql-test/suite/ndb/r/ndb_index_ordered.result839
-rw-r--r--mysql-test/suite/ndb/r/ndb_index_unique.result692
-rw-r--r--mysql-test/suite/ndb/r/ndb_insert.result659
-rw-r--r--mysql-test/suite/ndb/r/ndb_limit.result72
-rw-r--r--mysql-test/suite/ndb/r/ndb_load.result80
-rw-r--r--mysql-test/suite/ndb/r/ndb_loaddatalocal.result46
-rw-r--r--mysql-test/suite/ndb/r/ndb_lock.result200
-rw-r--r--mysql-test/suite/ndb/r/ndb_lock_table.result11
-rw-r--r--mysql-test/suite/ndb/r/ndb_minmax.result120
-rw-r--r--mysql-test/suite/ndb/r/ndb_multi.result145
-rw-r--r--mysql-test/suite/ndb/r/ndb_multi_row.result68
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_error.result47
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_error2.result3
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_key.result312
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_list.result51
-rw-r--r--mysql-test/suite/ndb/r/ndb_partition_range.result275
-rw-r--r--mysql-test/suite/ndb/r/ndb_read_multi_range.result494
-rw-r--r--mysql-test/suite/ndb/r/ndb_rename.result24
-rw-r--r--mysql-test/suite/ndb/r/ndb_replace.result99
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore.result501
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_compat.result119
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result200
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_partition.result460
-rw-r--r--mysql-test/suite/ndb/r/ndb_restore_print.result312
-rw-r--r--mysql-test/suite/ndb/r/ndb_row_format.result65
-rw-r--r--mysql-test/suite/ndb/r/ndb_single_user.result119
-rw-r--r--mysql-test/suite/ndb/r/ndb_sp.result44
-rw-r--r--mysql-test/suite/ndb/r/ndb_subquery.result92
-rw-r--r--mysql-test/suite/ndb/r/ndb_temporary.result21
-rw-r--r--mysql-test/suite/ndb/r/ndb_tmp_table_and_DDL.result90
-rw-r--r--mysql-test/suite/ndb/r/ndb_transaction.result257
-rw-r--r--mysql-test/suite/ndb/r/ndb_trigger.result315
-rw-r--r--mysql-test/suite/ndb/r/ndb_truncate.result23
-rw-r--r--mysql-test/suite/ndb/r/ndb_types.result76
-rw-r--r--mysql-test/suite/ndb/r/ndb_update.result96
-rw-r--r--mysql-test/suite/ndb/r/ndb_update_no_read.result75
-rw-r--r--mysql-test/suite/ndb/r/ndb_view.result24
-rw-r--r--mysql-test/suite/ndb/r/ndbapi.result22
-rw-r--r--mysql-test/suite/ndb/r/ps_7ndb.result3122
-rw-r--r--mysql-test/suite/ndb/r/strict_autoinc_5ndb.result28
-rw-r--r--mysql-test/suite/ndb/t/disabled.def18
-rw-r--r--mysql-test/suite/ndb/t/loaddata_autocom_ndb.test4
-rw-r--r--mysql-test/suite/ndb/t/ndb_alter_table.test458
-rw-r--r--mysql-test/suite/ndb/t/ndb_alter_table2.test84
-rw-r--r--mysql-test/suite/ndb/t/ndb_alter_table3.test48
-rw-r--r--mysql-test/suite/ndb/t/ndb_auto_increment.test293
-rw-r--r--mysql-test/suite/ndb/t/ndb_autoinc.test45
-rw-r--r--mysql-test/suite/ndb/t/ndb_basic.test861
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_basic.test80
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test190
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_discover.test36
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_format.test35
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_ignore_db-master.opt1
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test16
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_log_bin.test49
-rw-r--r--mysql-test/suite/ndb/t/ndb_binlog_multi.test82
-rw-r--r--mysql-test/suite/ndb/t/ndb_bitfield.test124
-rw-r--r--mysql-test/suite/ndb/t/ndb_blob.test519
-rw-r--r--mysql-test/suite/ndb/t/ndb_blob_partition.test97
-rw-r--r--mysql-test/suite/ndb/t/ndb_bug26793.test35
-rw-r--r--mysql-test/suite/ndb/t/ndb_bug31477.test109
-rw-r--r--mysql-test/suite/ndb/t/ndb_cache.test122
-rw-r--r--mysql-test/suite/ndb/t/ndb_cache2.test361
-rw-r--r--mysql-test/suite/ndb/t/ndb_cache_multi.test71
-rw-r--r--mysql-test/suite/ndb/t/ndb_cache_multi2.test125
-rw-r--r--mysql-test/suite/ndb/t/ndb_charset.test257
-rw-r--r--mysql-test/suite/ndb/t/ndb_condition_pushdown.test2054
-rw-r--r--mysql-test/suite/ndb/t/ndb_config.test23
-rw-r--r--mysql-test/suite/ndb/t/ndb_config2.test7
-rw-r--r--mysql-test/suite/ndb/t/ndb_cursor.test47
-rw-r--r--mysql-test/suite/ndb/t/ndb_database.test24
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_alter.test274
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_basic.test485
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_ddl.test470
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_disk2memory.test292
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_dump.test289
-rw-r--r--mysql-test/suite/ndb/t/ndb_dd_sql_features.test551
-rw-r--r--mysql-test/suite/ndb/t/ndb_gis.test5
-rw-r--r--mysql-test/suite/ndb/t/ndb_grant.later385
-rw-r--r--mysql-test/suite/ndb/t/ndb_index.test131
-rw-r--r--mysql-test/suite/ndb/t/ndb_index_ordered.test488
-rw-r--r--mysql-test/suite/ndb/t/ndb_index_unique.test361
-rw-r--r--mysql-test/suite/ndb/t/ndb_insert.test641
-rw-r--r--mysql-test/suite/ndb/t/ndb_limit.test85
-rw-r--r--mysql-test/suite/ndb/t/ndb_load.test24
-rw-r--r--mysql-test/suite/ndb/t/ndb_loaddatalocal.test71
-rw-r--r--mysql-test/suite/ndb/t/ndb_lock.test269
-rw-r--r--mysql-test/suite/ndb/t/ndb_lock_table.test15
-rw-r--r--mysql-test/suite/ndb/t/ndb_minmax.test65
-rw-r--r--mysql-test/suite/ndb/t/ndb_multi.test154
-rw-r--r--mysql-test/suite/ndb/t/ndb_multi_row.test76
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_error.test74
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_error2-master.opt1
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_error2.test14
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_key.test244
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_list.test68
-rw-r--r--mysql-test/suite/ndb/t/ndb_partition_range.test269
-rw-r--r--mysql-test/suite/ndb/t/ndb_read_multi_range.test340
-rw-r--r--mysql-test/suite/ndb/t/ndb_rename.test36
-rw-r--r--mysql-test/suite/ndb/t/ndb_replace.test104
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore.test413
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_compat.test67
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test185
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_partition-master.opt1
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_partition.test375
-rw-r--r--mysql-test/suite/ndb/t/ndb_restore_print.test193
-rw-r--r--mysql-test/suite/ndb/t/ndb_row_format.test86
-rw-r--r--mysql-test/suite/ndb/t/ndb_single_user.test174
-rw-r--r--mysql-test/suite/ndb/t/ndb_sp.test42
-rw-r--r--mysql-test/suite/ndb/t/ndb_subquery.test79
-rw-r--r--mysql-test/suite/ndb/t/ndb_temporary.test38
-rw-r--r--mysql-test/suite/ndb/t/ndb_tmp_table_and_DDL.test11
-rw-r--r--mysql-test/suite/ndb/t/ndb_transaction.test298
-rw-r--r--mysql-test/suite/ndb/t/ndb_trigger.test221
-rw-r--r--mysql-test/suite/ndb/t/ndb_truncate.test41
-rw-r--r--mysql-test/suite/ndb/t/ndb_types.test85
-rw-r--r--mysql-test/suite/ndb/t/ndb_update.test94
-rw-r--r--mysql-test/suite/ndb/t/ndb_update_no_read.test79
-rw-r--r--mysql-test/suite/ndb/t/ndb_view.test29
-rw-r--r--mysql-test/suite/ndb/t/ndbapi.test44
-rw-r--r--mysql-test/suite/ndb/t/ps_7ndb.test25
-rw-r--r--mysql-test/suite/ndb/t/strict_autoinc_5ndb.test10
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_autodiscover.result397
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_autodiscover2.result13
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_autodiscover3.result53
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_backup_print.result65
-rw-r--r--mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result512
-rw-r--r--mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result323
-rw-r--r--mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result1752
-rw-r--r--mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result143
-rw-r--r--mysql-test/suite/ndb_team/t/disabled.def20
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover.test555
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt1
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover2.test21
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_autodiscover3.test104
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_backup_print.test68
-rw-r--r--mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test349
-rw-r--r--mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test410
-rw-r--r--mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test14
-rw-r--r--mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb-master.opt1
-rw-r--r--mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test36
-rw-r--r--mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc71
-rw-r--r--mysql-test/suite/parts/inc/partition_auto_increment.inc49
-rw-r--r--mysql-test/suite/parts/inc/partition_check.inc10
-rw-r--r--mysql-test/suite/parts/inc/partition_check_drop.inc11
-rw-r--r--mysql-test/suite/parts/inc/partition_crash.inc6
-rw-r--r--mysql-test/suite/parts/inc/partition_decimal.inc9
-rw-r--r--mysql-test/suite/parts/inc/partition_double.inc58
-rw-r--r--mysql-test/suite/parts/inc/partition_fail.inc24
-rw-r--r--mysql-test/suite/parts/inc/partition_float.inc58
-rw-r--r--mysql-test/suite/parts/inc/partition_layout.inc2
-rw-r--r--mysql-test/suite/parts/inc/partition_layout_check1.inc18
-rw-r--r--mysql-test/suite/parts/inc/partition_layout_check2.inc12
-rw-r--r--mysql-test/suite/parts/r/ndb_dd_backuprestore.result512
-rw-r--r--mysql-test/suite/parts/r/part_supported_sql_func_innodb.result2044
-rw-r--r--mysql-test/suite/parts/r/part_supported_sql_func_myisam.result2044
-rw-r--r--mysql-test/suite/parts/r/part_supported_sql_func_ndb.result9918
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_2_ndb.result27726
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_ndb.result24316
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_2_ndb.result35540
-rw-r--r--mysql-test/suite/parts/r/partition_alter3_innodb.result94
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_blackhole.result32
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_innodb.result76
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_memory.result72
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_myisam.result72
-rw-r--r--mysql-test/suite/parts/r/partition_auto_increment_ndb.result1047
-rw-r--r--mysql-test/suite/parts/r/partition_basic_innodb.result432
-rw-r--r--mysql-test/suite/parts/r/partition_debug_innodb.result1886
-rw-r--r--mysql-test/suite/parts/r/partition_debug_myisam.result2016
-rw-r--r--mysql-test/suite/parts/r/partition_decimal_innodb.result108
-rw-r--r--mysql-test/suite/parts/r/partition_decimal_myisam.result108
-rw-r--r--mysql-test/suite/parts/r/partition_engine_ndb.result5203
-rw-r--r--mysql-test/suite/parts/r/partition_int_ndb.result557
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result198
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result236
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result236
-rw-r--r--mysql-test/suite/parts/r/partition_recover_myisam.result2
-rw-r--r--mysql-test/suite/parts/r/partition_special_innodb.result5
-rw-r--r--mysql-test/suite/parts/r/partition_special_myisam.result2
-rw-r--r--mysql-test/suite/parts/r/partition_syntax_ndb.result1820
-rw-r--r--mysql-test/suite/parts/r/partition_value_ndb.result189
-rw-r--r--mysql-test/suite/parts/r/rpl_partition.result21
-rw-r--r--mysql-test/suite/parts/t/disabled.def3
-rw-r--r--mysql-test/suite/parts/t/ndb_dd_backuprestore.test347
-rw-r--r--mysql-test/suite/parts/t/part_supported_sql_func_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/part_supported_sql_func_ndb.test46
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_1_2_ndb.test88
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_1_ndb.test88
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_2_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter1_2_ndb.test89
-rw-r--r--mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_alter4_innodb.test3
-rw-r--r--mysql-test/suite/parts/t/partition_auto_increment_ndb.test41
-rw-r--r--mysql-test/suite/parts/t/partition_basic_ndb.test92
-rw-r--r--mysql-test/suite/parts/t/partition_debug_sync_innodb.test2
-rw-r--r--mysql-test/suite/parts/t/partition_engine_ndb.test88
-rw-r--r--mysql-test/suite/parts/t/partition_int_ndb.test54
-rw-r--r--mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test49
-rw-r--r--mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt1
-rw-r--r--mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test46
-rw-r--r--mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt1
-rw-r--r--mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test45
-rw-r--r--mysql-test/suite/parts/t/partition_recover_myisam.test12
-rw-r--r--mysql-test/suite/parts/t/partition_special_innodb.test6
-rw-r--r--mysql-test/suite/parts/t/partition_special_myisam.test11
-rw-r--r--mysql-test/suite/parts/t/partition_syntax_ndb.test89
-rw-r--r--mysql-test/suite/parts/t/partition_value_ndb.test94
-rw-r--r--mysql-test/suite/parts/t/rpl_partition.test15
-rw-r--r--mysql-test/suite/perfschema/include/binlog_common.inc31
-rw-r--r--mysql-test/suite/perfschema/include/cleanup_helper.inc2
-rw-r--r--mysql-test/suite/perfschema/include/privilege.inc105
-rw-r--r--mysql-test/suite/perfschema/include/setup_helper.inc26
-rw-r--r--mysql-test/suite/perfschema/include/start_server_common.inc42
-rw-r--r--mysql-test/suite/perfschema/r/aggregate.result66
-rw-r--r--mysql-test/suite/perfschema/r/binlog_mix.result27
-rw-r--r--mysql-test/suite/perfschema/r/binlog_row.result27
-rw-r--r--mysql-test/suite/perfschema/r/binlog_stmt.result38
-rw-r--r--mysql-test/suite/perfschema/r/checksum.result68
-rw-r--r--mysql-test/suite/perfschema/r/column_privilege.result33
-rw-r--r--mysql-test/suite/perfschema/r/ddl_cond_instances.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_waits_current.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_waits_history.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_events_waits_history_long.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_ews_by_instance.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_ews_by_thread_by_event_name.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_file_instances.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_fs_by_event_name.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_fs_by_instance.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_mutex_instances.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_performance_timers.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_rwlock_instances.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_setup_consumers.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_setup_instruments.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_setup_timers.result8
-rw-r--r--mysql-test/suite/perfschema/r/ddl_threads.result8
-rw-r--r--mysql-test/suite/perfschema/r/dml_cond_instances.result31
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_waits_current.result35
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_waits_history.result43
-rw-r--r--mysql-test/suite/perfschema/r/dml_events_waits_history_long.result43
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_instance.result51
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result35
-rw-r--r--mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result35
-rw-r--r--mysql-test/suite/perfschema/r/dml_file_instances.result31
-rw-r--r--mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result35
-rw-r--r--mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result35
-rw-r--r--mysql-test/suite/perfschema/r/dml_mutex_instances.result31
-rw-r--r--mysql-test/suite/perfschema/r/dml_performance_timers.result28
-rw-r--r--mysql-test/suite/perfschema/r/dml_rwlock_instances.result31
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_consumers.result28
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_instruments.result42
-rw-r--r--mysql-test/suite/perfschema/r/dml_setup_timers.result30
-rw-r--r--mysql-test/suite/perfschema/r/dml_threads.result37
-rw-r--r--mysql-test/suite/perfschema/r/func_file_io.result64
-rw-r--r--mysql-test/suite/perfschema/r/func_mutex.result49
-rw-r--r--mysql-test/suite/perfschema/r/global_read_lock.result27
-rw-r--r--mysql-test/suite/perfschema/r/information_schema.result342
-rw-r--r--mysql-test/suite/perfschema/r/misc.result14
-rw-r--r--mysql-test/suite/perfschema/r/myisam_file_io.result13
-rw-r--r--mysql-test/suite/perfschema/r/no_threads.result22
-rw-r--r--mysql-test/suite/perfschema/r/one_thread_per_con.result6
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade.result180
-rw-r--r--mysql-test/suite/perfschema/r/privilege.result579
-rw-r--r--mysql-test/suite/perfschema/r/query_cache.result8
-rw-r--r--mysql-test/suite/perfschema/r/read_only.result18
-rw-r--r--mysql-test/suite/perfschema/r/relaylog.result169
-rw-r--r--mysql-test/suite/perfschema/r/schema.result108
-rw-r--r--mysql-test/suite/perfschema/r/selects.result56
-rw-r--r--mysql-test/suite/perfschema/r/server_init.result112
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_class.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_cond_inst.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_class.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_file_inst.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_class.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_class.result46
-rw-r--r--mysql-test/suite/perfschema/r/start_server_no_thread_inst.result44
-rw-r--r--mysql-test/suite/perfschema/r/start_server_off.result42
-rw-r--r--mysql-test/suite/perfschema/r/start_server_on.result42
-rw-r--r--mysql-test/suite/perfschema/r/tampered_perfschema_table1.result8
-rw-r--r--mysql-test/suite/perfschema/r/thread_cache.result5
-rw-r--r--mysql-test/suite/perfschema/t/aggregate.test96
-rw-r--r--mysql-test/suite/perfschema/t/binlog_mix.test9
-rw-r--r--mysql-test/suite/perfschema/t/binlog_row.test9
-rw-r--r--mysql-test/suite/perfschema/t/binlog_stmt.test6
-rw-r--r--mysql-test/suite/perfschema/t/checksum.test68
-rw-r--r--mysql-test/suite/perfschema/t/column_privilege.test28
-rw-r--r--mysql-test/suite/perfschema/t/ddl_cond_instances.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_waits_current.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_waits_history.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_events_waits_history_long.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_ews_by_instance.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_ews_by_thread_by_event_name.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_file_instances.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_fs_by_event_name.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_fs_by_instance.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_mutex_instances.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_performance_timers.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_rwlock_instances.test8
-rw-r--r--mysql-test/suite/perfschema/t/ddl_setup_consumers.test9
-rw-r--r--mysql-test/suite/perfschema/t/ddl_setup_instruments.test9
-rw-r--r--mysql-test/suite/perfschema/t/ddl_setup_timers.test9
-rw-r--r--mysql-test/suite/perfschema/t/ddl_threads.test8
-rw-r--r--mysql-test/suite/perfschema/t/dml_cond_instances.test25
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_waits_current.test28
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_waits_history.test34
-rw-r--r--mysql-test/suite/perfschema/t/dml_events_waits_history_long.test34
-rw-r--r--mysql-test/suite/perfschema/t/dml_ews_by_instance.test40
-rw-r--r--mysql-test/suite/perfschema/t/dml_ews_by_thread_by_event_name.test28
-rw-r--r--mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test28
-rw-r--r--mysql-test/suite/perfschema/t/dml_file_instances.test25
-rw-r--r--mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test28
-rw-r--r--mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test28
-rw-r--r--mysql-test/suite/perfschema/t/dml_mutex_instances.test25
-rw-r--r--mysql-test/suite/perfschema/t/dml_performance_timers.test22
-rw-r--r--mysql-test/suite/perfschema/t/dml_rwlock_instances.test25
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_consumers.test26
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_instruments.test36
-rw-r--r--mysql-test/suite/perfschema/t/dml_setup_timers.test28
-rw-r--r--mysql-test/suite/perfschema/t/dml_threads.test36
-rw-r--r--mysql-test/suite/perfschema/t/func_file_io.test95
-rw-r--r--mysql-test/suite/perfschema/t/func_mutex.test50
-rw-r--r--mysql-test/suite/perfschema/t/global_read_lock.test32
-rw-r--r--mysql-test/suite/perfschema/t/information_schema.test22
-rw-r--r--mysql-test/suite/perfschema/t/misc.test14
-rw-r--r--mysql-test/suite/perfschema/t/myisam_file_io.test20
-rw-r--r--mysql-test/suite/perfschema/t/no_threads.test23
-rw-r--r--mysql-test/suite/perfschema/t/one_thread_per_con.test5
-rw-r--r--mysql-test/suite/perfschema/t/privilege.test160
-rw-r--r--mysql-test/suite/perfschema/t/query_cache.test8
-rw-r--r--mysql-test/suite/perfschema/t/read_only.test22
-rw-r--r--mysql-test/suite/perfschema/t/relaylog.test179
-rw-r--r--mysql-test/suite/perfschema/t/schema.test34
-rw-r--r--mysql-test/suite/perfschema/t/selects.test54
-rw-r--r--mysql-test/suite/perfschema/t/server_init.test116
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_cond_class.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_cond_inst.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_file_class.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_file_inst.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_mutex_class.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_thread_class.test4
-rw-r--r--mysql-test/suite/perfschema/t/start_server_no_thread_inst.test4
-rw-r--r--mysql-test/suite/perfschema/t/tampered_perfschema_table1.test10
-rw-r--r--mysql-test/suite/perfschema/t/thread_cache.test76
-rw-r--r--mysql-test/suite/perfschema_stress/t/modify.test2
-rw-r--r--mysql-test/suite/perfschema_stress/t/setup.test4
-rw-r--r--mysql-test/suite/perfschema_stress/t/work.test2
-rw-r--r--mysql-test/suite/rpl/include/rpl_mixed_ddl.inc3
-rw-r--r--mysql-test/suite/rpl/include/rpl_mixed_dml.inc3
-rw-r--r--mysql-test/suite/rpl/r/rpl000011.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_000010.result (renamed from mysql-test/suite/rpl/r/rpl000010.result)9
-rw-r--r--mysql-test/suite/rpl/r/rpl_000011.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_000013.result (renamed from mysql-test/suite/rpl/r/rpl000013.result)9
-rw-r--r--mysql-test/suite/rpl/r/rpl_000017.result (renamed from mysql-test/suite/rpl/r/rpl000017.result)10
-rw-r--r--mysql-test/suite/rpl/r/rpl_EE_err.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_LD_INFILE.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_alter.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_alter_db.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_auto_increment.result41
-rw-r--r--mysql-test/suite/rpl/r/rpl_auto_increment_11932.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result45
-rw-r--r--mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result65
-rw-r--r--mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_auto_inc_bug33029.result37
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_corruption.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_errors.result278
-rw-r--r--mysql-test/suite/rpl/r/rpl_binlog_grant.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_bit.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_bit_npk.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_blackhole.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug26395.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug31076.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug33931.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug37426.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug38694.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_bug41902.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_change_master.result27
-rw-r--r--mysql-test/suite/rpl/r/rpl_charset.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_charset_sjis.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result86
-rw-r--r--mysql-test/suite/rpl/r/rpl_colSize.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_commit_after_flush.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_concurrency_error.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_conditional_comments.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_database.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_if_not_exists.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_cross_version.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_current_user.result87
-rw-r--r--mysql-test/suite/rpl/r/rpl_deadlock_innodb.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_delete_no_where.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_do_grant.result64
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_db.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_temp.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_drop_view.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_dual_pos_advance.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_empty_master_host.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_err_ignoredtable.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_events.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result (renamed from mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result)35
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result (renamed from mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result)35
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result (renamed from mysql-test/suite/rpl/r/rpl_extraCol_innodb.result)67
-rw-r--r--mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result (renamed from mysql-test/suite/rpl/r/rpl_extraCol_myisam.result)67
-rw-r--r--mysql-test/suite/rpl/r/rpl_failed_optimize.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result106
-rw-r--r--mysql-test/suite/rpl/r/rpl_flush_logs.result23
-rw-r--r--mysql-test/suite/rpl/r/rpl_flushlog_loop.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_free_items.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_geometry.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_get_lock.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result31
-rw-r--r--mysql-test/suite/rpl/r/rpl_grant.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result52
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat_basic.result95
-rw-r--r--mysql-test/suite/rpl/r/rpl_heartbeat_ssl.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_idempotency.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_grant.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_revoke.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_table.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_ignore_table_update.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_incident.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_init_slave.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_init_slave_errors.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug28430.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_bug30888.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert_duplicate.result29
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert_id.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert_id_pk.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert_ignore.result71
-rw-r--r--mysql-test/suite/rpl/r/rpl_insert_select.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_invoked_features.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_ip_mix.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_ip_mix2.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_ipv6.result4
-rw-r--r--mysql-test/suite/rpl/r/rpl_killed_ddl.result59
-rw-r--r--mysql-test/suite/rpl/r/rpl_known_bugs_detection.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_charset.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_fatal.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_m.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_map.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_s.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_simple.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddata_symlink.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_loaddatalocal.result51
-rw-r--r--mysql-test/suite/rpl/r/rpl_loadfile.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_locale.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_log_pos.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_manual_change_index_file.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_many_optimize.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_master_pos_wait.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_misc_functions.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_mix_found_rows.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result76
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_delete.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_delete2.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_engine.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_update.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_update2.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_update3.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_multi_update4.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_mysql_upgrade.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_name_const.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_not_null_innodb.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_not_null_myisam.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_optimize.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_packet.result33
-rw-r--r--mysql-test/suite/rpl/r/rpl_plugin_load.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_ps.result38
-rw-r--r--mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_read_only.result32
-rw-r--r--mysql-test/suite/rpl/r/rpl_relay_space_innodb.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_relay_space_myisam.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_relayrotate.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_relayspace.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_replicate_do.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_report.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_rewrt_db.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_rotate_logs.result22
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_001.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_4_bytes.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_NOW.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_USER.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_UUID.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result46
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result57
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result57
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_8partition.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result80
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_blob_innodb.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_blob_myisam.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_colSize.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_conflicts.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_delayed_ins.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_drop.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_find_row.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_func001.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_func002.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_func003.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_idempotency.result23
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_insert_delayed.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result47
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_log.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_log_innodb.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_max_relay_size.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mixing_engines.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result63
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_reset_slave.result35
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result205
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp001.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result27
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp003.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp005.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp008.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp009.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp010.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp011.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_sp012.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result33
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result33
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tabledefs_7ndb.result288
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result38
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trig001.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trig002.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trig003.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trig004.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_trunc_temp.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_until.result21
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_utf16.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_utf32.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_view01.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_wide_table.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_savepoint.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_semi_sync_event.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_server_id1.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_server_id2.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_server_id_ignore.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_session_var.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_set_charset.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_set_null_innodb.result31
-rw-r--r--mysql-test/suite/rpl/r/rpl_set_null_myisam.result31
-rw-r--r--mysql-test/suite/rpl/r/rpl_show_slave_hosts.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_show_slave_running.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_skip_error.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_grp_exec.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_load_in.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_skip.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_slave_status.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_slow_query_log.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp.result18
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp004.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_sp_effects.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_spec_variables.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_sporadic_master.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_ssl.result41
-rw-r--r--mysql-test/suite/rpl/r/rpl_ssl1.result60
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_000001.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_EE_err2.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result76
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_conflicts.result12
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_found_rows.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result14
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_innodb.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result50
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_loadfile.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_log.result20
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result188
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result31
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_multi_query.result11
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_no_op.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_reset_slave.result35
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_sql_mode.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result42
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_until.result38
-rw-r--r--mysql-test/suite/rpl/r/rpl_stm_user_variables.result26
-rw-r--r--mysql-test/suite/rpl/r/rpl_stop_slave.result122
-rw-r--r--mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_sync.result25
-rw-r--r--mysql-test/suite/rpl/r/rpl_temp_table.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result66
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporary.result17
-rw-r--r--mysql-test/suite/rpl/r/rpl_temporary_errors.result13
-rw-r--r--mysql-test/suite/rpl/r/rpl_test_framework.result170
-rw-r--r--mysql-test/suite/rpl/r/rpl_timezone.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result15
-rw-r--r--mysql-test/suite/rpl/r/rpl_trigger.result24
-rw-r--r--mysql-test/suite/rpl/r/rpl_trunc_temp.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_truncate_2myisam.result29
-rw-r--r--mysql-test/suite/rpl/r/rpl_truncate_3innodb.result29
-rw-r--r--mysql-test/suite/rpl/r/rpl_typeconv.result34
-rw-r--r--mysql-test/suite/rpl/r/rpl_typeconv_innodb.result16
-rw-r--r--mysql-test/suite/rpl/r/rpl_udf.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_user.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_user_variables.result10
-rw-r--r--mysql-test/suite/rpl/r/rpl_variables.result24
-rw-r--r--mysql-test/suite/rpl/r/rpl_variables_stm.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_view.result9
-rw-r--r--mysql-test/suite/rpl/r/rpl_view_multi.result9
-rw-r--r--mysql-test/suite/rpl/t/disabled.def10
-rw-r--r--mysql-test/suite/rpl/t/rpl000017-slave.sh12
-rw-r--r--mysql-test/suite/rpl/t/rpl000017.test34
-rw-r--r--mysql-test/suite/rpl/t/rpl_000010-slave.opt (renamed from mysql-test/suite/rpl/t/rpl000010-slave.opt)0
-rw-r--r--mysql-test/suite/rpl/t/rpl_000010.test (renamed from mysql-test/suite/rpl/t/rpl000010.test)1
-rw-r--r--mysql-test/suite/rpl/t/rpl_000011.test (renamed from mysql-test/suite/rpl/t/rpl000011.test)1
-rw-r--r--mysql-test/suite/rpl/t/rpl_000013.test (renamed from mysql-test/suite/rpl/t/rpl000013.test)4
-rw-r--r--mysql-test/suite/rpl/t/rpl_000017.test48
-rw-r--r--mysql-test/suite/rpl/t/rpl_EE_err.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_LD_INFILE.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_alter.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_alter_db.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_auto_increment.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_auto_increment_11932.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test60
-rw-r--r--mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test42
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_corruption.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_errors.test413
-rw-r--r--mysql-test/suite/rpl/t/rpl_binlog_grant.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_bit.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_bit_npk.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_blackhole.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug26395.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug31076.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug33931-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug33931.test25
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug37426.test (renamed from mysql-test/suite/bugs/t/rpl_bug37426.test)14
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug38694.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_bug41902.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_change_master.test17
-rw-r--r--mysql-test/suite/rpl/t/rpl_charset.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_charset_sjis.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf11
-rw-r--r--mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test291
-rw-r--r--mysql-test/suite/rpl/t/rpl_colSize.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_commit_after_flush.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_concurrency_error.test27
-rw-r--r--mysql-test/suite/rpl/t/rpl_conditional_comments.test20
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_database.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_if_not_exists.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_critical_errors.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_cross_version-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_cross_version.test21
-rw-r--r--mysql-test/suite/rpl/t/rpl_current_user-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_current_user.cnf7
-rw-r--r--mysql-test/suite/rpl/t/rpl_current_user.test141
-rw-r--r--mysql-test/suite/rpl/t/rpl_ddl.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_deadlock_innodb.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_delete_no_where.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_do_grant.test44
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_db.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_temp.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_drop_view.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_dual_pos_advance.test41
-rw-r--r--mysql-test/suite/rpl/t/rpl_empty_master_host.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_err_ignoredtable.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_events.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_extraCol_innodb.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_extraCol_myisam.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test (renamed from mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test)4
-rw-r--r--mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test (renamed from mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test)4
-rw-r--r--mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_failed_optimize.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_flush_logs.test34
-rw-r--r--mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh5
-rw-r--r--mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh4
-rw-r--r--mysql-test/suite/rpl/t/rpl_flushlog_loop.test43
-rw-r--r--mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_free_items.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_geometry.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_get_lock.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test21
-rw-r--r--mysql-test/suite/rpl/t/rpl_grant.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.cnf11
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.test133
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_basic.test127
-rw-r--r--mysql-test/suite/rpl/t/rpl_heartbeat_ssl.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_idempotency.test24
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_grant.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_revoke.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_table.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_ignore_table_update.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_incident.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_init_slave.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_init_slave_errors.test28
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug28430.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_bug30888.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_duplicate.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_id.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_id_pk.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_ignore.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_insert_select.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_invoked_features.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_ip_mix-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_ip_mix.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_ip_mix2-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_ip_mix2.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_ipv6.test8
-rw-r--r--mysql-test/suite/rpl/t/rpl_killed_ddl.test29
-rw-r--r--mysql-test/suite/rpl/t/rpl_known_bugs_detection.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_load_from_master-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_charset.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_fatal.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_m.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_map.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_s.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_simple.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_symlink-master.sh1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_symlink-slave.sh1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddata_symlink.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_loaddatalocal.test78
-rw-r--r--mysql-test/suite/rpl/t/rpl_loadfile.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_locale.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_log_pos.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_manual_change_index_file.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_many_optimize.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_master_pos_wait.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_misc_functions.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mix_found_rows.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_delete.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_delete2.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_engine.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update2.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update3.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_multi_update4.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_mysql_upgrade.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_name_const.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_not_null_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_not_null_myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_optimize.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_packet.test43
-rw-r--r--mysql-test/suite/rpl/t/rpl_plugin_load.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_ps.test41
-rw-r--r--mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_read_only.test24
-rw-r--r--mysql-test/suite/rpl/t/rpl_relay_space_innodb.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_relay_space_myisam.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_relayrotate.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_relayspace.test46
-rw-r--r--mysql-test/suite/rpl/t/rpl_replicate_do.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_report.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_rewrt_db.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh2
-rw-r--r--mysql-test/suite/rpl/t/rpl_rotate_logs.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_001.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_4_bytes.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_NOW.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_USER.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_UUID.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test34
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_basic_8partition.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_blob_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_blob_myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_colSize.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_conflicts.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_create_table.test38
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_delayed_ins.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_drop.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_find_row.test9
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_func001.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_func002.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_func003.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_idempotency.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_insert_delayed.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_log.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_log_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_mixing_engines.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp001.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp003.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp005.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp008.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp009.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp010.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp011.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_sp012.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test10
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig001.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig002.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig003.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trig004.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_trunc_temp.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_until.test22
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_utf16.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_utf32.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_view01.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_row_wide_table.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_savepoint.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_event-master.opt2
-rw-r--r--mysql-test/suite/rpl/t/rpl_semi_sync_event.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id1.test30
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id2.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_server_id_ignore.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_session_var.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_set_charset.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_set_null_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_set_null_myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_show_slave_hosts.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_show_slave_running.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_skip_error.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_grp_exec.test20
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_in.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test42
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test26
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_skip.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_slave_status.test20
-rw-r--r--mysql-test/suite/rpl/t/rpl_slow_query_log.test13
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp.test14
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp004.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_sp_effects.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_spec_variables.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_sporadic_master.test11
-rw-r--r--mysql-test/suite/rpl/t/rpl_ssl.test12
-rw-r--r--mysql-test/suite/rpl/t/rpl_ssl1.test15
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_000001.test130
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_conflicts.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_found_rows.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_innodb.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_loadfile.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_log.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_multi_query.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_no_op.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_sql_mode.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test17
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_until.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_stm_user_variables.test18
-rw-r--r--mysql-test/suite/rpl/t/rpl_stop_slave.test119
-rw-r--r--mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_sync-slave.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_sync.test34
-rw-r--r--mysql-test/suite/rpl/t/rpl_temp_table.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test68
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary.test17
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt3
-rw-r--r--mysql-test/suite/rpl/t/rpl_temporary_errors.test6
-rw-r--r--mysql-test/suite/rpl/t/rpl_test_framework.cnf46
-rw-r--r--mysql-test/suite/rpl/t/rpl_test_framework.test143
-rw-r--r--mysql-test/suite/rpl/t/rpl_timezone.test5
-rw-r--r--mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test4
-rw-r--r--mysql-test/suite/rpl/t/rpl_trigger.test31
-rw-r--r--mysql-test/suite/rpl/t/rpl_trunc_temp.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_truncate_2myisam.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_truncate_3innodb.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_typeconv-master.opt1
-rw-r--r--mysql-test/suite/rpl/t/rpl_typeconv.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_typeconv_innodb.test7
-rw-r--r--mysql-test/suite/rpl/t/rpl_udf.test2
-rw-r--r--mysql-test/suite/rpl/t/rpl_user.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_user_variables.test3
-rw-r--r--mysql-test/suite/rpl/t/rpl_variables.test36
-rw-r--r--mysql-test/suite/rpl/t/rpl_variables_stm.test28
-rw-r--r--mysql-test/suite/rpl/t/rpl_view.test1
-rw-r--r--mysql-test/suite/rpl/t/rpl_view_multi.test1
-rw-r--r--mysql-test/suite/rpl_ndb/combinations5
-rw-r--r--mysql-test/suite/rpl_ndb/my.cnf70
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result928
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result928
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_2ndb.result400
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result807
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result40
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result20
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result170
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_bank.result120
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result192
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result174
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result135
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result156
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result27
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result64
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result29
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result13
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result27
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result72
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result790
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result1628
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result15
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result58
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result26
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result582
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result30
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result66
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result919
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result103
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result70
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_load.result42
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result294
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result486
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_implicit_commit_binlog.result660
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result246
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result57
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result55
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result197
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result919
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_relayrotate.result16
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result54
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result55
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_row_implicit_commit_binlog.result661
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result35
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result49
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result46
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result144
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result91
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result30
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_ndbapi_multi.result8
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result636
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result89
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb_2.result91
-rw-r--r--mysql-test/suite/rpl_ndb/t/disabled.def16
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test39
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test38
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test19
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2other-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test50
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test8
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test26
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test118
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test181
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test264
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test262
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test144
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test15
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test56
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf22
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test172
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test82
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test14
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test46
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test85
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test310
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test33
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test11
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test59
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test48
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test13
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test16
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test109
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test15
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test69
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test11
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test66
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_log-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test13
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test476
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_implicit_commit_binlog.test9
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test374
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test73
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test13
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test11
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test14
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate-slave.opt3
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test9
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test60
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test10
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_row_implicit_commit_binlog.test9
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test6
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test13
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test13
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-slave.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test40
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test101
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test17
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test11
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test8
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test66
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2-master.opt1
-rw-r--r--mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test11
-rw-r--r--mysql-test/suite/stress/r/ddl_ndb.result216
-rw-r--r--mysql-test/suite/stress/t/ddl_ndb.test58
-rw-r--r--mysql-test/suite/sys_vars/inc/autocommit_func2.inc29
-rw-r--r--mysql-test/suite/sys_vars/inc/binlog_stmt_cache_size_basic.inc154
-rw-r--r--mysql-test/suite/sys_vars/r/all_vars.result1
-rw-r--r--mysql-test/suite/sys_vars/r/autocommit_func2.result46
-rw-r--r--mysql-test/suite/sys_vars/r/autocommit_func3.result42
-rw-r--r--mysql-test/suite/sys_vars/r/autocommit_func4.result46
-rw-r--r--mysql-test/suite/sys_vars/r/autocommit_func5.result42
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_32.result108
-rw-r--r--mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_64.result108
-rw-r--r--mysql-test/suite/sys_vars/r/external_user_basic.result3
-rw-r--r--mysql-test/suite/sys_vars/r/foreign_key_checks_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_file_format_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result8
-rw-r--r--mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result11
-rw-r--r--mysql-test/suite/sys_vars/r/max_allowed_packet_func.result2
-rw-r--r--mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result152
-rw-r--r--mysql-test/suite/sys_vars/r/max_long_data_size_basic.result14
-rw-r--r--mysql-test/suite/sys_vars/r/optimizer_switch_basic.result7
-rw-r--r--mysql-test/suite/sys_vars/r/proxy_user_basic.result3
-rw-r--r--mysql-test/suite/sys_vars/r/rpl_init_slave_func.result11
-rw-r--r--mysql-test/suite/sys_vars/r/secure_file_priv2.result6
-rw-r--r--mysql-test/suite/sys_vars/r/shared_memory_base_name_basic.result10
-rw-r--r--mysql-test/suite/sys_vars/t/all_vars.test4
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func2-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func2.test1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func3-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func3.test1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func4-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func4.test1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func5-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/autocommit_func5.test1
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_32.test7
-rw-r--r--mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_64.test7
-rw-r--r--mysql-test/suite/sys_vars/t/disabled.def13
-rw-r--r--mysql-test/suite/sys_vars/t/external_user_basic.test1
-rw-r--r--mysql-test/suite/sys_vars/t/foreign_key_checks_func.test2
-rw-r--r--mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test9
-rw-r--r--mysql-test/suite/sys_vars/t/max_binlog_cache_size_func-master.opt2
-rw-r--r--mysql-test/suite/sys_vars/t/max_binlog_stmt_cache_size_basic.test184
-rw-r--r--mysql-test/suite/sys_vars/t/max_long_data_size_basic.test17
-rw-r--r--mysql-test/suite/sys_vars/t/optimizer_switch_basic.test8
-rw-r--r--mysql-test/suite/sys_vars/t/proxy_user_basic.test1
-rw-r--r--mysql-test/suite/sys_vars/t/rpl_init_slave_func.test1
-rw-r--r--mysql-test/suite/sys_vars/t/secure_file_priv2-master.opt1
-rw-r--r--mysql-test/suite/sys_vars/t/secure_file_priv2.test23
-rw-r--r--mysql-test/suite/sys_vars/t/shared_memory_base_name_basic.test10
-rw-r--r--mysql-test/suite/sys_vars/t/slow_launch_time_func.test3
-rw-r--r--mysql-test/suite/sys_vars/t/thread_cache_size_func.test1
-rw-r--r--mysql-test/suite/sys_vars/t/wait_timeout_func.test1
-rw-r--r--mysql-test/t/alter_table.test32
-rw-r--r--mysql-test/t/archive.test23
-rw-r--r--mysql-test/t/archive_debug.test13
-rw-r--r--mysql-test/t/archive_plugin.test8
-rw-r--r--mysql-test/t/auto_increment.test38
-rw-r--r--mysql-test/t/blackhole_plugin.test8
-rw-r--r--mysql-test/t/bootstrap.test12
-rw-r--r--mysql-test/t/bug58669-master.opt1
-rw-r--r--mysql-test/t/bug58669.test22
-rw-r--r--mysql-test/t/cache_innodb.test15
-rw-r--r--mysql-test/t/cast.test14
-rw-r--r--mysql-test/t/change_user.test2
-rw-r--r--mysql-test/t/check.test24
-rw-r--r--mysql-test/t/crash_commit_before.test2
-rw-r--r--mysql-test/t/csv_not_null.test6
-rw-r--r--mysql-test/t/ctype_cp1250_ch.test10
-rw-r--r--mysql-test/t/ctype_cp1251.test30
-rw-r--r--mysql-test/t/ctype_eucjpms.test10
-rw-r--r--mysql-test/t/ctype_latin1.test23
-rw-r--r--mysql-test/t/ctype_like_range.test87
-rw-r--r--mysql-test/t/ctype_many.test35
-rw-r--r--mysql-test/t/ctype_sjis.test8
-rw-r--r--mysql-test/t/ctype_uca.test16
-rw-r--r--mysql-test/t/ctype_ucs.test6
-rw-r--r--mysql-test/t/ctype_ujis.test7
-rw-r--r--mysql-test/t/ctype_utf16.test9
-rw-r--r--mysql-test/t/ctype_utf16_uca.test7
-rw-r--r--mysql-test/t/ctype_utf32.test10
-rw-r--r--mysql-test/t/ctype_utf32_uca.test8
-rw-r--r--mysql-test/t/ctype_utf8.test51
-rw-r--r--mysql-test/t/ctype_utf8mb4_ndb.test7
-rw-r--r--mysql-test/t/date_formats.test16
-rw-r--r--mysql-test/t/delayed.test64
-rw-r--r--mysql-test/t/delete.test26
-rw-r--r--mysql-test/t/derived.test33
-rw-r--r--mysql-test/t/disabled.def16
-rw-r--r--mysql-test/t/distinct.test13
-rw-r--r--mysql-test/t/errors.test16
-rw-r--r--mysql-test/t/events_1.test109
-rw-r--r--mysql-test/t/events_2.test46
-rw-r--r--mysql-test/t/events_bugs.test82
-rw-r--r--mysql-test/t/events_restart.test2
-rw-r--r--mysql-test/t/execution_constants.test2
-rw-r--r--mysql-test/t/explain.test59
-rw-r--r--mysql-test/t/file_contents.test68
-rw-r--r--mysql-test/t/filesort_debug.test59
-rw-r--r--mysql-test/t/fix_priv_tables.test2
-rw-r--r--mysql-test/t/flush.test122
-rw-r--r--mysql-test/t/flush_block_commit.test2
-rw-r--r--mysql-test/t/flush_block_commit_notembedded.test2
-rw-r--r--mysql-test/t/flush_read_lock.test2192
-rw-r--r--mysql-test/t/flush_read_lock_kill-master.opt1
-rw-r--r--mysql-test/t/flush_read_lock_kill.test68
-rw-r--r--mysql-test/t/fulltext.test37
-rw-r--r--mysql-test/t/func_analyse.test24
-rw-r--r--mysql-test/t/func_encrypt_ucs2.test12
-rw-r--r--mysql-test/t/func_gconcat.test23
-rw-r--r--mysql-test/t/func_group.test65
-rw-r--r--mysql-test/t/func_group_innodb.test50
-rw-r--r--mysql-test/t/func_in.test6
-rw-r--r--mysql-test/t/func_like.test5
-rw-r--r--mysql-test/t/func_math.test78
-rw-r--r--mysql-test/t/func_misc.test53
-rw-r--r--mysql-test/t/func_set.test22
-rw-r--r--mysql-test/t/func_str.test18
-rw-r--r--mysql-test/t/func_time.test111
-rw-r--r--mysql-test/t/gis-rtree.test28
-rw-r--r--mysql-test/t/gis.test35
-rw-r--r--mysql-test/t/grant.test299
-rw-r--r--mysql-test/t/grant2.test4
-rw-r--r--mysql-test/t/grant3.test5
-rw-r--r--mysql-test/t/group_by.test48
-rw-r--r--mysql-test/t/having.test26
-rw-r--r--mysql-test/t/implicit_char_to_num_conversion.test174
-rw-r--r--mysql-test/t/information_schema.test56
-rw-r--r--mysql-test/t/information_schema_db.test3
-rw-r--r--mysql-test/t/init_file.test2
-rw-r--r--mysql-test/t/innodb_mysql_lock.test36
-rw-r--r--mysql-test/t/innodb_mysql_sync.test198
-rw-r--r--mysql-test/t/insert_select.test4
-rw-r--r--mysql-test/t/join_outer.test235
-rw-r--r--mysql-test/t/join_outer_innodb.test37
-rw-r--r--mysql-test/t/key_cache-master.opt1
-rw-r--r--mysql-test/t/keywords.test100
-rw-r--r--mysql-test/t/kill.test461
-rw-r--r--mysql-test/t/loaddata.test28
-rw-r--r--mysql-test/t/lock_multi.test58
-rw-r--r--mysql-test/t/lock_sync.test114
-rw-r--r--mysql-test/t/log_tables.test19
-rw-r--r--mysql-test/t/lowercase_fs_off.test11
-rw-r--r--mysql-test/t/lowercase_table2.test35
-rwxr-xr-xmysql-test/t/lowercase_table4-master.opt1
-rwxr-xr-xmysql-test/t/lowercase_table4.test108
-rw-r--r--mysql-test/t/mdl_sync.test92
-rw-r--r--mysql-test/t/merge.test139
-rw-r--r--mysql-test/t/multi_update.test79
-rw-r--r--mysql-test/t/multi_update_innodb.test77
-rw-r--r--mysql-test/t/myisam_crash_before_flush_keys.test2
-rw-r--r--mysql-test/t/mysql.test149
-rw-r--r--mysql-test/t/mysql_client_test-master.opt5
-rw-r--r--mysql-test/t/mysql_client_test.test4
-rw-r--r--mysql-test/t/mysql_embedded.test6
-rw-r--r--mysql-test/t/mysqladmin.test26
-rw-r--r--mysql-test/t/mysqlbinlog-master.opt1
-rw-r--r--mysql-test/t/mysqlbinlog.test60
-rw-r--r--mysql-test/t/mysqlbinlog_base64.test29
-rw-r--r--mysql-test/t/mysqlbinlog_row_big.test4
-rw-r--r--mysql-test/t/mysqlcheck.test137
-rw-r--r--mysql-test/t/mysqld--defaults-file.test47
-rw-r--r--mysql-test/t/mysqldump.test42
-rw-r--r--mysql-test/t/mysqlshow.test2
-rw-r--r--mysql-test/t/mysqlslap.test15
-rw-r--r--mysql-test/t/mysqltest.test279
-rw-r--r--mysql-test/t/named_pipe.test5
-rw-r--r--mysql-test/t/no-threads.test1
-rw-r--r--mysql-test/t/not_embedded_server.test112
-rw-r--r--mysql-test/t/order_by.test23
-rw-r--r--mysql-test/t/partition.test157
-rw-r--r--mysql-test/t/partition_binlog.test42
-rw-r--r--mysql-test/t/partition_datatype.test310
-rw-r--r--mysql-test/t/partition_debug_sync.test10
-rw-r--r--mysql-test/t/partition_error.test841
-rw-r--r--mysql-test/t/partition_innodb.test68
-rw-r--r--mysql-test/t/partition_innodb_plugin.test67
-rw-r--r--mysql-test/t/partition_myisam.test182
-rw-r--r--mysql-test/t/partition_not_embedded.test53
-rw-r--r--mysql-test/t/partition_range.test4
-rw-r--r--mysql-test/t/partition_symlink.test11
-rw-r--r--mysql-test/t/plugin_auth-master.opt2
-rw-r--r--mysql-test/t/plugin_auth.test515
-rw-r--r--mysql-test/t/plugin_auth_qa-master.opt2
-rw-r--r--mysql-test/t/plugin_auth_qa.test338
-rw-r--r--mysql-test/t/plugin_auth_qa_1-master.opt2
-rw-r--r--mysql-test/t/plugin_auth_qa_1.test340
-rw-r--r--mysql-test/t/plugin_auth_qa_2-master.opt2
-rw-r--r--mysql-test/t/plugin_auth_qa_2.test153
-rw-r--r--mysql-test/t/plugin_auth_qa_3-master.opt2
-rw-r--r--mysql-test/t/plugin_auth_qa_3.test25
-rw-r--r--mysql-test/t/plugin_load_option-master.opt3
-rw-r--r--mysql-test/t/plugin_load_option.test8
-rw-r--r--mysql-test/t/plugin_not_embedded.test12
-rw-r--r--mysql-test/t/ps.test23
-rw-r--r--mysql-test/t/query_cache_28249.test8
-rw-r--r--mysql-test/t/query_cache_debug.test146
-rw-r--r--mysql-test/t/range.test67
-rw-r--r--mysql-test/t/rpl_mysqldump_slave.test4
-rw-r--r--mysql-test/t/select.test89
-rw-r--r--mysql-test/t/shm.test5
-rw-r--r--mysql-test/t/show_check.test119
-rw-r--r--mysql-test/t/sp-bugs.test37
-rw-r--r--mysql-test/t/sp-destruct.test28
-rw-r--r--mysql-test/t/sp-error.test114
-rw-r--r--mysql-test/t/sp-lock.test165
-rw-r--r--mysql-test/t/sp-security.test37
-rw-r--r--mysql-test/t/sp.test65
-rw-r--r--mysql-test/t/sp_notembedded.test52
-rw-r--r--mysql-test/t/sp_trans.test24
-rw-r--r--mysql-test/t/ssl_and_innodb.test11
-rw-r--r--mysql-test/t/ssl_cipher-master.opt1
-rw-r--r--mysql-test/t/ssl_cipher.test23
-rw-r--r--mysql-test/t/status.test15
-rw-r--r--mysql-test/t/status_bug17954.test54
-rw-r--r--mysql-test/t/subselect.test87
-rw-r--r--mysql-test/t/subselect4.test10
-rw-r--r--mysql-test/t/subselect_innodb.test9
-rw-r--r--mysql-test/t/symlink.test40
-rw-r--r--mysql-test/t/system_mysql_db_fix40123.test4
-rw-r--r--mysql-test/t/system_mysql_db_fix50030.test4
-rw-r--r--mysql-test/t/system_mysql_db_fix50117.test4
-rw-r--r--mysql-test/t/tablespace.test122
-rw-r--r--mysql-test/t/trigger-compat.test180
-rw-r--r--mysql-test/t/trigger-trans.test5
-rw-r--r--mysql-test/t/trigger.test34
-rw-r--r--mysql-test/t/trigger_notembedded.test2
-rw-r--r--mysql-test/t/truncate_coverage.test54
-rw-r--r--mysql-test/t/type_blob.test13
-rw-r--r--mysql-test/t/type_date.test20
-rw-r--r--mysql-test/t/type_datetime.test51
-rw-r--r--mysql-test/t/type_newdecimal.test15
-rw-r--r--mysql-test/t/type_timestamp.test65
-rw-r--r--mysql-test/t/type_year.test10
-rw-r--r--mysql-test/t/union.test69
-rw-r--r--mysql-test/t/user_var.test19
-rw-r--r--mysql-test/t/variables-big.test13
-rw-r--r--mysql-test/t/variables-notembedded.test27
-rw-r--r--mysql-test/t/variables.test91
-rw-r--r--mysql-test/t/variables_debug.test75
-rw-r--r--mysql-test/t/view.test28
-rw-r--r--mysql-test/t/view_grant.test144
-rw-r--r--mysql-test/t/wait_timeout.test4
-rw-r--r--mysql-test/t/warnings.test40
-rw-r--r--mysql-test/t/wl4435_generated.inc588
-rw-r--r--mysql-test/t/xa.test153
-rw-r--r--mysql-test/t/xml.test49
-rw-r--r--mysql-test/valgrind.supp98
2110 files changed, 62453 insertions, 346032 deletions
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
index 3c38e5772d0..f18b2ae341c 100644
--- a/mysql-test/CMakeLists.txt
+++ b/mysql-test/CMakeLists.txt
@@ -53,7 +53,8 @@ IF(UNIX)
IF(INSTALL_MYSQLTESTDIR)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
- DESTINATION ${INSTALL_MYSQLTESTDIR})
+ DESTINATION ${INSTALL_MYSQLTESTDIR}
+ COMPONENT Test)
ENDIF()
ENDIF()
diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am
deleted file mode 100644
index 76fb4515865..00000000000
--- a/mysql-test/Makefile.am
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright (C) 2000-2006 MySQL AB, 2008-2009 Sun Microsystems, Inc.
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-# MA 02111-1307, USA
-
-## Process this file with automake to create Makefile.in
-
-testroot = $(prefix)
-testdir = $(testroot)/mysql-test
-
-test_SCRIPTS = mtr \
- mysql-test-run \
- mysql-test-run.pl \
- mysql-stress-test.pl
-
-nobase_test_DATA = \
- valgrind.supp \
- lib/v1/mysql-test-run.pl \
- lib/v1/mtr_cases.pl \
- lib/v1/mtr_io.pl \
- lib/v1/mtr_report.pl \
- lib/v1/My/Config.pm \
- lib/v1/mtr_gcov.pl \
- lib/v1/mtr_match.pl \
- lib/v1/mtr_stress.pl \
- lib/v1/ndb_config_1_node.ini \
- lib/v1/ndb_config_2_node.ini \
- lib/v1/mtr_gprof.pl \
- lib/v1/mtr_misc.pl \
- lib/v1/mtr_timer.pl \
- lib/v1/mtr_im.pl \
- lib/v1/mtr_process.pl \
- lib/v1/mtr_unique.pl \
- lib/mtr_cases.pm \
- lib/mtr_gcov.pl \
- lib/mtr_gprof.pl \
- lib/mtr_io.pl \
- lib/mtr_match.pm \
- lib/mtr_misc.pl \
- lib/mtr_process.pl \
- lib/mtr_report.pm \
- lib/mtr_stress.pl \
- lib/mtr_unique.pm \
- lib/My/ConfigFactory.pm \
- lib/My/Config.pm \
- lib/My/Find.pm \
- lib/My/Handles.pm \
- lib/My/Options.pm \
- lib/My/Test.pm \
- lib/My/Platform.pm \
- lib/My/SafeProcess.pm \
- lib/My/File/Path.pm \
- lib/My/SysInfo.pm \
- lib/My/Suite.pm \
- lib/My/CoreDump.pm \
- lib/My/SafeProcess/Base.pm \
- lib/My/SafeProcess/safe_process.pl
-
-SUBDIRS = lib/My/SafeProcess
-
-EXTRA_DIST = README README.suites \
- $(test_SCRIPTS) \
- $(nobase_test_DATA) \
- CMakeLists.txt \
- mtr.out-of-source
-
-
-# List of directories containing test + result files and the
-# related test data files that should be copied
-# If you want to add a new suite, please check DEFAULT_SUITES in
-# mysql-test-run.pl.
-TEST_DIRS = t r include std_data std_data/parts collections \
- std_data/ndb_backup50 std_data/ndb_backup51 \
- std_data/ndb_backup51_data_be std_data/ndb_backup51_data_le \
- std_data/funcs_1 \
- extra/binlog_tests/ extra/rpl_tests \
- suite/binlog suite/binlog/t suite/binlog/r suite/binlog/std_data \
- suite/bugs suite/bugs/data suite/bugs/t suite/bugs/r \
- suite/federated \
- suite/pbxt/t suite/pbxt/r suite/pbxt \
- suite/vcol suite/vcol/t suite/vcol/r suite/vcol/inc \
- suite/oqgraph suite/oqgraph/t suite/oqgraph/r suite/oqgraph/include \
- suite/percona suite/sphinx \
- suite/funcs_1 suite/funcs_1/bitdata \
- suite/funcs_1/include suite/funcs_1/lib suite/funcs_1/r \
- suite/funcs_1/t suite/funcs_1/views suite/funcs_1/cursors \
- suite/funcs_1/datadict suite/funcs_1/storedproc suite/funcs_1/triggers \
- suite/funcs_2 suite/funcs_2/charset suite/funcs_2/data \
- suite/funcs_2/include suite/funcs_2/lib suite/funcs_2/r \
- suite/funcs_2/t \
- suite/jp suite/jp/t suite/jp/r suite/jp/std_data suite/jp/include \
- suite/manual/t suite/manual/r \
- suite/ndb_team suite/ndb_team/t suite/ndb_team/r \
- suite/rpl suite/rpl/include suite/rpl/r \
- suite/rpl/t suite/maria/t suite/maria/r \
- suite/rpl suite/rpl/include suite/rpl/r \
- suite/rpl/t \
- suite/stress/include suite/stress/t suite/stress/r \
- suite/ndb suite/ndb/t suite/ndb/r \
- suite/rpl_ndb suite/rpl_ndb/t suite/rpl_ndb/r \
- suite/parts suite/parts/t suite/parts/r suite/parts/inc \
- suite/innodb suite/innodb/t suite/innodb/r suite/innodb/include \
- suite/engines suite/engines/funcs suite/engines/iuds suite/engines/rr_trx \
- suite/engines/funcs/r suite/engines/funcs/t suite/engines/iuds/r \
- suite/engines/iuds/t suite/engines/rr_trx/include suite/engines/rr_trx/r \
- suite/engines/rr_trx/t \
- suite/sys_vars suite/sys_vars/t suite/sys_vars/inc suite/sys_vars/r \
- suite/perfschema suite/perfschema/t suite/perfschema/r \
- suite/perfschema/include
-
-# Used by dist-hook and install-data-local to copy all
-# test files into either dist or install directory
-install_test_files:
- @if test -z "$(INSTALL_TO_DIR)"; then \
- echo "Set INSTALL_TO_DIR!" && exit 1; \
- fi
- @for dir in $(TEST_DIRS); do \
- from_dir="$(srcdir)/$$dir"; \
- to_dir="$(INSTALL_TO_DIR)/$$dir"; \
- $(mkinstalldirs) "$$to_dir"; \
- for f in `(cd $$from_dir && ls)`; do \
- if test -f "$$from_dir/$$f"; then \
- $(INSTALL_DATA) "$$from_dir/$$f" "$$to_dir/$$f" ; \
- fi; \
- done \
- done
-
-dist-hook:
- $(MAKE) INSTALL_TO_DIR="$(distdir)" install_test_files
-
-install-data-local:
- $(MAKE) INSTALL_TO_DIR="$(DESTDIR)$(testdir)" install_test_files
-
-uninstall-local:
- @RM@ -f -r $(DESTDIR)$(testdir)
-
-# mtr - a shortcut for executing mysql-test-run.pl
-mtr:
- $(RM) -f mtr
- $(LN_S) mysql-test-run.pl mtr
-
-# mysql-test-run - a shortcut for executing mysql-test-run.pl
-mysql-test-run:
- $(RM) -f mysql-test-run
- $(LN_S) mysql-test-run.pl mysql-test-run
diff --git a/mysql-test/collections/README.experimental b/mysql-test/collections/README.experimental
index 2f5ee7b00ab..924e062b76a 100644
--- a/mysql-test/collections/README.experimental
+++ b/mysql-test/collections/README.experimental
@@ -15,9 +15,13 @@ The syntax is as follows:
and any subsequent characters are ignored.
4) The full test case name including the suite and execution mode
- must be specified, for example:
+ may be specified, for example:
main.alias 'row' # bug#00000
+4b) Now, combinations will also be covered if only the test name is
+ specified, for example:
+ rpl.rpl_ps # Covers 'row', 'mix' and 'stmt'
+
5) As an exception to item 4, the last character of the test case
specification may be an asterisk (*). In that case, all test cases that
start with the same characters up to the last letter before the asterisk
diff --git a/mysql-test/collections/default.daily b/mysql-test/collections/default.daily
index 81dffff91ce..e8b15acb34d 100644
--- a/mysql-test/collections/default.daily
+++ b/mysql-test/collections/default.daily
@@ -1,5 +1,15 @@
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --mysqld=--binlog-format=row --suite=rpl,binlog --skip-ndb
+
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --report-features --skip-test-list=collections/disabled-daily.list --unit-tests
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=row --vardir=var-row --mysqld=--binlog-format=row --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --mysqld=--binlog-format=row --ps-protocol --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-embedded --embedded --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps --vardir=var-ps --ps-protocol --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps_funcs1 --vardir=var-ps_funcs_1 --suite=funcs_1 --ps-protocol --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2 --vardir=var-funcs2 --suite=funcs_2 --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=partitions --vardir=var-parts --suite=parts --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=stress --vardir=var-stress --suite=stress --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=jp --vardir=var-jp --suite=jp --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=nist --vardir=var-nist --suite=nist --skip-test-list=collections/disabled-daily.list
+perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=nist+ps --vardir=var-ps_nist --suite=nist --ps-protocol
diff --git a/mysql-test/collections/default.experimental b/mysql-test/collections/default.experimental
index 059d9c7c3c2..6ef1a377b6c 100644
--- a/mysql-test/collections/default.experimental
+++ b/mysql-test/collections/default.experimental
@@ -4,94 +4,25 @@
binlog.binlog_multi_engine # joro : NDB tests marked as experimental as agreed with bochklin
funcs_1.charset_collation_1 # depends on compile-time decisions
-funcs_1.myisam_views @solaris # Bug#50595 2010-03-05 alik funcs_1.myisam_views takes longer time on 6.0 branch than 5.1 branch
-innodb.innodb_information_schema # Bug#48883 2010-05-11 alik Test "innodb_information_schema" takes fewer locks than expected
+main.func_math @freebsd # Bug#11751977 2010-05-04 alik main.func_math fails on FreeBSD in PB2
+main.lock_multi_bug38499 # Bug#11755645 2009-09-19 alik main.lock_multi_bug38499 times out sporadically
+main.outfile_loaddata @solaris # Bug#11755168 2010-01-20 alik Test "outfile_loaddata" fails (reproducible)
+main.signal_demo3 @solaris # Bug#11755949 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
+main.sp @solaris # Bug#11755949 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
+main.wait_timeout @solaris # Bug#11758972 2010-04-26 alik wait_timeout fails on OpenSolaris
-main.func_math @freebsd # Bug#43020 2010-05-04 alik main.func_math fails on FreeBSD in PB2
-main.gis-rtree @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
-main.information_schema # Bug#47449 2009-09-19 alik main.information_schema and innodb.innodb_information_schema fail sporadically
-main.lock_multi_bug38499 # Bug#47448 2009-09-19 alik main.lock_multi_bug38499 times out sporadically
-main.lock_multi_bug38691 @solaris # Bug#47792 2009-10-02 alik main.lock_multi_bug38691 times out sporadically on Solaris 10
-main.log_tables # Bug#47924 2009-10-08 alik main.log_tables times out sporadically
-main.lowercase_table2 @darwin # Bug#55509 2010-07-26 alik main.lowercase_table2 fails on Mac OSX (again)
-main.mysqlbinlog_row @solaris # Bug#52202 2010-03-22 alik mysqlbinlog_row* fail in daily-trunk on Sol10 x86_64 debug_max
-main.mysqlbinlog_row_innodb @solaris # Bug#52202 2010-03-22 alik mysqlbinlog_row* fail in daily-trunk on Sol10 x86_64 debug_max
-main.mysqlbinlog_row_myisam @solaris # Bug#52202 2010-03-22 alik mysqlbinlog_row* fail in daily-trunk on Sol10 x86_64 debug_max
-main.outfile_loaddata @solaris # Bug#46895 2010-01-20 alik Test "outfile_loaddata" fails (reproducible)
-main.signal_demo3 @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
-main.sp @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
-main.type_float @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
-main.wait_timeout @solaris # Bug#51244 2010-04-26 alik wait_timeout fails on OpenSolaris
+rpl.rpl_innodb_bug28430 # Bug#11754425
+rpl.rpl_bug37426 # WL#5867: skozlov: test case moved from unused bugs suite
+rpl.rpl_heartbeat_basic # BUG#12403008 2011-04-27 sven fails sporadically
+rpl.rpl_show_slave_hosts # BUG#12416700 2011-05-02 sven fails sporadically
-parts.partition_alter4_innodb # Bug#45299 2010-06-28 alik Test "partition_alter4_innodb" is taking too long, timeout
-
-rpl.rpl_heartbeat_basic # BUG#54820 2010-06-26 alik rpl.rpl_heartbeat_basic fails sporadically again
-rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
-rpl.rpl_innodb_bug28430* # Bug#46029
-rpl.rpl_innodb_bug30888* @solaris # Bug#47646 2009-09-25 alik rpl.rpl_innodb_bug30888 fails sporadically on Solaris
-rpl.rpl_killed_ddl @windows # Bug#47638 2010-01-20 alik The rpl_killed_ddl test fails on Windows
-rpl.rpl_row_sp011* @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
-
-sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
-sys_vars.slow_query_log_func @solaris # Bug#54819 2010-06-26 alik sys_vars.slow_query_log_func fails sporadically on Solaris 10
-sys_vars.wait_timeout_func # Bug#41255 2010-04-26 alik wait_timeout_func fails
-
-# Declare all NDB-tests in ndb and rpl_ndb test suites experimental.
-# Usually the test cases from ndb and rpl_ndb test suites are not run in PB,
-# but they run by gcov.
-#
-
-ndb.*
-rpl_ndb.*
-rpl_ndb.rpl_ndb_log # Bug#38998
-
-# Declare all NDB-tests in other test suites experimental.
-
-stress.ddl_ndb
+sys_vars.max_sp_recursion_depth_func @solaris # Bug#11755949 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
+sys_vars.wait_timeout_func # Bug#11750645 2010-04-26 alik wait_timeout_func fails
+# BUG #59055 : All ndb tests should be removed from the repository
+# Leaving the sys_vars tests for now. sys_vars.all_vars.test fails on removing ndb tests
sys_vars.ndb_log_update_as_write_basic
sys_vars.have_ndbcluster_basic
sys_vars.ndb_log_updated_only_basic
-
-funcs_1.ndb_storedproc_10
-funcs_1.ndb_bitdata
-funcs_1.ndb_trig_03
-funcs_1.ndb_trig_0102
-funcs_1.is_tables_ndb
-funcs_1.is_columns_ndb
-funcs_1.ndb_trig_0407
-funcs_1.ndb_trig_1011ext
-funcs_1.ndb_storedproc_06
-funcs_1.ndb_views
-funcs_1.is_cml_ndb
-funcs_1.ndb_storedproc_02
-funcs_1.ndb_storedproc_03
-funcs_1.ndb_trig_03e
-funcs_1.is_engines_ndb
-funcs_1.ndb_trig_08
-funcs_1.ndb_storedproc_07
-funcs_1.ndb_storedproc_08
-funcs_1.ndb_func_view
-funcs_1.ndb_trig_09
-funcs_1.ndb_cursors
-
-funcs_2.ndb_charset
-
-parts.ndb_dd_backuprestore # joro : NDB tests marked as experimental as agreed with bochklin
-parts.part_supported_sql_func_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_alter1_1_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_alter1_1_2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_alter1_2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_auto_increment_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_basic_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_engine_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_int_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_mgm_lc0_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_mgm_lc1_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_mgm_lc2_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_syntax_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-parts.partition_value_ndb # joro : NDB tests marked as experimental as agreed with bochklin
-main.mysqlhotcopy_myisam # horst: due to bug#54129
-main.mysqlhotcopy_archive # horst: due to bug#54129
-main.type_newdecimal # svoj: due to BUG#38965
+sys_vars.rpl_init_slave_func # Bug#12535301 2011-05-09 andrei sys_vars.rpl_init_slave_func mismatches in daily-5.5
diff --git a/mysql-test/collections/default.push b/mysql-test/collections/default.push
index a213706498e..c8402aecd75 100644
--- a/mysql-test/collections/default.push
+++ b/mysql-test/collections/default.push
@@ -1,4 +1,4 @@
-perl mysql-test-run.pl --timer --force --parallel=auto --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
+perl mysql-test-run.pl --timer --force --parallel=auto --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list --unit-tests
perl mysql-test-run.pl --timer --force --parallel=auto --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
perl mysql-test-run.pl --timer --force --parallel=auto --comment=embedded --vardir=var-emebbed --embedded --experimental=collections/default.experimental --skip-ndb
perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --suite=rpl,binlog --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
diff --git a/mysql-test/collections/default.release b/mysql-test/collections/default.release
new file mode 100644
index 00000000000..108e1032ca2
--- /dev/null
+++ b/mysql-test/collections/default.release
@@ -0,0 +1,11 @@
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=debug --vardir=var-debug --skip-ndbcluster --skip-rpl --report-features --debug-server
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --skip-ndbcluster --report-features
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=ps --vardir=var-ps --skip-ndbcluster --ps-protocol
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=funcs1+ps --vardir=var-funcs_1_ps --suite=funcs_1 --ps-protocol
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=funcs2 --vardir=var-funcs2 --suite=funcs_2
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=partitions --vardir=var-parts --suite=parts
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=stress --vardir=var-stress --suite=stress
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=jp --vardir=var-jp --suite=jp
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-embedded --embedded-server --skip-rpl --skip-ndbcluster
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist --vardir=var-nist --suite=nist
+perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist+ps --vardir=var-nist_ps --suite=nist --ps-protocol
diff --git a/mysql-test/collections/default.weekly b/mysql-test/collections/default.weekly
index 452a79eacbd..40f0548f374 100644..100755
--- a/mysql-test/collections/default.weekly
+++ b/mysql-test/collections/default.weekly
@@ -1 +1,7 @@
-perl mysql-test-run.pl --timer --force --comment=1st --experimental=collections/default.experimental 1st
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 main.alter_table-big main.archive-big main.count_distinct3 main.create-big main.events_stress main.events_time_zone main.information_schema-big main.log_tables-big main.merge-big main.mysqlbinlog_row_big main.read_many_rows_innodb main.ssl-big main.sum_distinct-big main.type_newdecimal-big main.variables-big parts.part_supported_sql_func_innodb 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_2_innodb parts.partition_alter4_innodb funcs_1.myisam_views-big --skip-test-list=collections/disabled-weekly.list
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --skip-test-list=collections/disabled-weekly.list
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-row-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=row --skip-test-list=collections/disabled-weekly.list
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-mixed-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-mixed-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=mixed --skip-test-list=collections/disabled-weekly.list
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --skip-test-list=collections/disabled-weekly.list
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-row-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --do-test=rpl --mysqld=--binlog-format=row --skip-test-list=collections/disabled-weekly.list
+perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-mixed-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-binlog-mixed-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --do-test=rpl --mysqld=--binlog-format=mixed --skip-test-list=collections/disabled-weekly.list
diff --git a/mysql-test/collections/disabled-daily.list b/mysql-test/collections/disabled-daily.list
new file mode 100644
index 00000000000..6edb3d1d0b3
--- /dev/null
+++ b/mysql-test/collections/disabled-daily.list
@@ -0,0 +1,9 @@
+rpl.rpl_semi_sync_event : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+rpl.rpl_semi_sync : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_enabled_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_timeout_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_trace_level_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_wait_no_slave_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_slave_enabled_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_slave_trace_level_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.all_vars : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
diff --git a/mysql-test/collections/disabled-weekly.list b/mysql-test/collections/disabled-weekly.list
new file mode 100644
index 00000000000..6edb3d1d0b3
--- /dev/null
+++ b/mysql-test/collections/disabled-weekly.list
@@ -0,0 +1,9 @@
+rpl.rpl_semi_sync_event : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+rpl.rpl_semi_sync : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_enabled_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_timeout_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_trace_level_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_master_wait_no_slave_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_slave_enabled_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.rpl_semi_sync_slave_trace_level_basic : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
+sys_vars.all_vars : lsoares 2011-02-11 BUG#11769332 Anitha asked me to disable this until plugin issues on windows are fixed.
diff --git a/mysql-test/collections/mysql-next-mr.push b/mysql-test/collections/mysql-next-mr.push
deleted file mode 100644
index b87cc4b801f..00000000000
--- a/mysql-test/collections/mysql-next-mr.push
+++ /dev/null
@@ -1,5 +0,0 @@
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --mysqld=--binlog-format=row --suite=rpl,binlog --skip-test-list=collections/disabled-per-push.list
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
diff --git a/mysql-test/collections/mysql-trunk.push b/mysql-test/collections/mysql-trunk.push
deleted file mode 100644
index b87cc4b801f..00000000000
--- a/mysql-test/collections/mysql-trunk.push
+++ /dev/null
@@ -1,5 +0,0 @@
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --mysqld=--binlog-format=row --suite=rpl,binlog --skip-test-list=collections/disabled-per-push.list
-perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
diff --git a/mysql-test/collections/test-bt b/mysql-test/collections/test-bt
deleted file mode 100644
index 3127e2aecb9..00000000000
--- a/mysql-test/collections/test-bt
+++ /dev/null
@@ -1,10 +0,0 @@
-perl mysql-test-run.pl --force --timer --comment=normal --skip-ndbcluster --report-features --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=ps --skip-ndbcluster --ps-protocol --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=funcs1+ps --suite=funcs_1 --ps-protocol --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=funcs2 --suite=funcs_2 --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=partitions --suite=parts --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=stress --suite=stress --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=jp --suite=jp --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=embedded --embedded-server --skip-rpl --skip-ndbcluster --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=nist --suite=nist --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=nist+ps --suite=nist --ps-protocol --experimental=collections/default.experimental
diff --git a/mysql-test/collections/test-bt-debug b/mysql-test/collections/test-bt-debug
deleted file mode 100644
index aec3d9fbef5..00000000000
--- a/mysql-test/collections/test-bt-debug
+++ /dev/null
@@ -1 +0,0 @@
-perl mysql-test-run.pl --force --timer --comment=debug --skip-ndbcluster --skip-rpl --report-features --experimental=collections/default.experimental
diff --git a/mysql-test/collections/test-bt-fast b/mysql-test/collections/test-bt-fast
deleted file mode 100644
index c3ded443518..00000000000
--- a/mysql-test/collections/test-bt-fast
+++ /dev/null
@@ -1,2 +0,0 @@
-perl mysql-test-run.pl --force --timer --comment=ps --skip-ndbcluster --ps-protocol --report-features --experimental=collections/default.experimental
-perl mysql-test-run.pl --force --timer --comment=stress --suite=stress --experimental=collections/default.experimental
diff --git a/mysql-test/extra/binlog_tests/binlog.test b/mysql-test/extra/binlog_tests/binlog.test
index 900e46ff90a..c0a8c3f6120 100644
--- a/mysql-test/extra/binlog_tests/binlog.test
+++ b/mysql-test/extra/binlog_tests/binlog.test
@@ -304,5 +304,59 @@ BINLOG '
SHOW BINLOG EVENTS;
DROP TABLE t1;
+
+--echo
+--echo # BUG#54903 BINLOG statement toggles session variables
+--echo # ----------------------------------------------------------------------
+--echo # This test verify that BINLOG statement doesn't change current session's
+--echo # variables foreign_key_checks and unique_checks.
+--echo
+CREATE TABLE t1 (c1 INT KEY);
+
+SET @@SESSION.foreign_key_checks= ON;
+SET @@SESSION.unique_checks= ON;
+
+--echo # INSERT INTO t1 VALUES (1)
+--echo # foreign_key_checks=0 and unique_checks=0
+BINLOG '
+dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
+';
+
+SELECT * FROM t1;
+--echo # Their values should be ON
+SHOW SESSION VARIABLES LIKE "%_checks";
+
+--echo
+SET @@SESSION.foreign_key_checks= OFF;
+SET @@SESSION.unique_checks= OFF;
+
+--echo # INSERT INTO t1 VALUES(2)
+--echo # foreign_key_checks=1 and unique_checks=1
+BINLOG '
+dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
+';
+
+SELECT * FROM t1;
+--echo # Their values should be OFF
+SHOW SESSION VARIABLES LIKE "%_checks";
+
+--echo # INSERT INTO t1 VALUES(2)
+--echo # foreign_key_checks=1 and unique_checks=1
+--echo # It should not change current session's variables, even error happens
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
+--error 1062
+BINLOG '
+dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
+';
+
+SELECT * FROM t1;
+--echo # Their values should be OFF
+SHOW SESSION VARIABLES LIKE "%_checks";
+
+DROP TABLE t1;
+
disconnect fresh;
diff --git a/mysql-test/extra/binlog_tests/binlog_cache_stat.test b/mysql-test/extra/binlog_tests/binlog_cache_stat.test
new file mode 100644
index 00000000000..a602b098201
--- /dev/null
+++ b/mysql-test/extra/binlog_tests/binlog_cache_stat.test
@@ -0,0 +1,251 @@
+# Embedded server doesn't support binlog
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+# Creating tables
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+
+create table t1 (a int) engine=innodb;
+create table t2 (a int) engine=myisam;
+
+#
+# This test checks binlog_cache_use and binlog_cache_disk_use when
+# transactions are committed and after when they are aborted.
+#
+
+#
+# Checking commit.
+#
+--echo **** Preparing the enviroment to check commit and its effect on status variables.
+--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+let $exp_cache= 0;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 0;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 0;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Transactional changes which are long enough so they will be flushed to disk...
+--echo **** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+let $1=2000;
+disable_query_log;
+begin;
+while ($1)
+{
+ eval insert into t1 values( $1 );
+ dec $1;
+}
+commit;
+enable_query_log;
+let $exp_cache= 1;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 0;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Transactional changes which should not be flushed to disk and so should not
+--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+commit;
+let $exp_cache= 2;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 0;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Non-Transactional changes which should not be flushed to disk and so should not
+--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+commit;
+let $exp_cache= 2;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 1;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Mixed changes which should not be flushed to disk and so should not
+--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+--echo **** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+commit;
+let $exp_cache= 3;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 2;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+#
+# Checking abort.
+#
+--echo **** Preparing the enviroment to check abort and its effect on the status variables.
+--echo **** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+let $exp_cache= 0;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 0;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 0;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Transactional changes which are long enough so they will be flushed to disk...
+--echo **** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+let $1=2000;
+disable_query_log;
+begin;
+while ($1)
+{
+ eval insert into t1 values( $1 );
+ dec $1;
+}
+rollback;
+enable_query_log;
+let $exp_cache= 1;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 0;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Transactional changes which should not be flushed to disk and so should not
+--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+rollback;
+let $exp_cache= 2;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 0;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Non-Transactional changes which should not be flushed to disk and so should not
+--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+--echo **** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+rollback;
+let $exp_cache= 2;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 1;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+
+--echo **** Mixed changes which should not be flushed to disk and so should not
+--echo **** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+--echo **** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+--echo **** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+rollback;
+let $exp_cache= 3;
+let $got_cache= query_get_value(show status like "binlog_cache_use", Value, 1);
+let $exp_disk= 1;
+let $got_disk= query_get_value(show status like "binlog_cache_disk_use", Value, 1);
+let $exp_stmt_cache= 2;
+let $got_stmt_cache= query_get_value(show status like "binlog_stmt_cache_use", Value, 1);
+let $exp_stmt_disk= 0;
+let $got_stmt_disk= query_get_value(show status like "binlog_stmt_cache_disk_use", Value, 1);
+if (`SELECT $got_cache <> $exp_cache || $got_disk <> $exp_disk || $got_stmt_cache <> $exp_stmt_cache || $got_stmt_disk <> $exp_stmt_disk`)
+{
+ -- echo "Expected: binlog_cache_use = $exp_cache, binlog_cache_disk_use = $exp_disk but got binlog_cache_use = $got_cache, binlog_cache_disk_use = $got_disk"
+ -- echo "Expected: binlog_stmt_cache_use = $exp_stmt_cache, binlog_stmt_cache_disk_use = $exp_stmt_disk but got binlog_stmt_cache_use = $got_stmt_cache, binlog_stmt_cache_disk_use = $got_stmt_disk"
+ -- die
+}
+drop table t1, t2;
diff --git a/mysql-test/extra/binlog_tests/binlog_insert_delayed.test b/mysql-test/extra/binlog_tests/binlog_insert_delayed.test
index 2526b2dd149..7b31a3ebf17 100644
--- a/mysql-test/extra/binlog_tests/binlog_insert_delayed.test
+++ b/mysql-test/extra/binlog_tests/binlog_insert_delayed.test
@@ -34,11 +34,11 @@ create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
let $table=t1;
let $count=0;
-insert delayed into t1 values (207);
+insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
inc $count;
--source include/wait_until_rows_count.inc
-insert delayed into t1 values (null);
+insert /*! delayed */ into t1 values (null);
inc $count;
--source include/wait_until_rows_count.inc
diff --git a/mysql-test/extra/binlog_tests/binlog_truncate.test b/mysql-test/extra/binlog_tests/binlog_truncate.test
index 24cf363f780..d434f792db0 100644
--- a/mysql-test/extra/binlog_tests/binlog_truncate.test
+++ b/mysql-test/extra/binlog_tests/binlog_truncate.test
@@ -12,13 +12,13 @@ eval CREATE TABLE t1 (a INT) ENGINE=$engine;
eval CREATE TABLE t2 (a INT) ENGINE=$engine;
INSERT INTO t2 VALUES (1),(2),(3);
let $binlog_start = query_get_value("SHOW MASTER STATUS", Position, 1);
-if (`select length('$before_truncate') > 0`) {
+if ($before_truncate) {
eval $before_truncate;
}
--echo **** Truncate of empty table shall be logged
TRUNCATE TABLE t1;
-if (`select length('$before_truncate') > 0`) {
+if ($before_truncate) {
eval $before_truncate;
}
TRUNCATE TABLE t2;
@@ -35,7 +35,7 @@ eval CREATE TABLE t2 (a INT) ENGINE=$engine;
INSERT INTO t1 VALUES (1),(2);
let $binlog_start = query_get_value("SHOW MASTER STATUS", Position, 1);
-if (`select length('$before_truncate') > 0`) {
+if ($before_truncate) {
eval $before_truncate;
}
diff --git a/mysql-test/extra/binlog_tests/blackhole.test b/mysql-test/extra/binlog_tests/blackhole.test
index c694c34622f..90146d41471 100644
--- a/mysql-test/extra/binlog_tests/blackhole.test
+++ b/mysql-test/extra/binlog_tests/blackhole.test
@@ -173,7 +173,7 @@ insert into t1 values(2);
rollback;
let $master_log_pos_2= query_get_value(SHOW MASTER STATUS, Position, 1);
-if (`SELECT $master_log_pos_2 <> $master_log_pos_1`)
+if ($master_log_pos_2 != $master_log_pos_1)
{
echo $master_log_pos_1 $master_log_pos_2;
die Rollbacked transaction has been binlogged;
diff --git a/mysql-test/extra/binlog_tests/database.test b/mysql-test/extra/binlog_tests/database.test
index 326ecedb60e..d071415bf65 100644
--- a/mysql-test/extra/binlog_tests/database.test
+++ b/mysql-test/extra/binlog_tests/database.test
@@ -30,3 +30,30 @@ drop table tt1, t1;
source include/show_binlog_events.inc;
FLUSH STATUS;
+
+
+--echo #
+--echo # Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT
+--echo # BASED REPLICATION
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS db1;
+DROP TABLE IF EXISTS t3;
+--enable_warnings
+
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (a INT);
+CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb;
+CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b))
+ engine=innodb;
+RESET MASTER;
+
+--error ER_ROW_IS_REFERENCED
+DROP DATABASE db1; # Fails because of the fk
+SHOW TABLES FROM db1; # t1 was dropped, t2 remains
+--source include/show_binlog_events.inc # Check that the binlog drops t1
+
+# Cleanup
+DROP TABLE t3;
+DROP DATABASE db1;
diff --git a/mysql-test/extra/binlog_tests/implicit.test b/mysql-test/extra/binlog_tests/implicit.test
index 84d80288d36..de906fc0605 100644
--- a/mysql-test/extra/binlog_tests/implicit.test
+++ b/mysql-test/extra/binlog_tests/implicit.test
@@ -6,7 +6,7 @@ INSERT INTO t1 VALUES (1);
source include/show_binlog_events.inc;
eval $statement;
source include/show_binlog_events.inc;
-if (`select '$cleanup' != ''`) {
+if ($cleanup) {
eval $cleanup;
}
@@ -22,7 +22,7 @@ INSERT INTO t1 VALUES (3);
source include/show_binlog_events.inc;
COMMIT;
source include/show_binlog_events.inc;
-if (`select '$cleanup' != ''`) {
+if ($cleanup) {
eval $cleanup;
}
diff --git a/mysql-test/extra/binlog_tests/innodb_stat.test b/mysql-test/extra/binlog_tests/innodb_stat.test
deleted file mode 100644
index b31e99dfe71..00000000000
--- a/mysql-test/extra/binlog_tests/innodb_stat.test
+++ /dev/null
@@ -1,41 +0,0 @@
-# Embedded server doesn't support binlog
--- source include/not_embedded.inc
--- source include/have_innodb.inc
-
-#
-# Let us test binlog_cache_use and binlog_cache_disk_use status vars.
-# Actually this test has nothing to do with innodb per se, it just requires
-# transactional table.
-#
-flush status;
-show status like "binlog_cache_use";
-show status like "binlog_cache_disk_use";
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-create table t1 (a int) engine=innodb;
-
-# Now we are going to create transaction which is long enough so its
-# transaction binlog will be flushed to disk...
-let $1=2000;
-disable_query_log;
-begin;
-while ($1)
-{
- eval insert into t1 values( $1 );
- dec $1;
-}
-commit;
-enable_query_log;
-show status like "binlog_cache_use";
-show status like "binlog_cache_disk_use";
-
-# Transaction which should not be flushed to disk and so should not
-# increase binlog_cache_disk_use.
-begin;
-delete from t1;
-commit;
-show status like "binlog_cache_use";
-show status like "binlog_cache_disk_use";
-drop table t1;
diff --git a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
index 6bf9a27afaf..040da1959dc 100644
--- a/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
+++ b/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
@@ -319,7 +319,7 @@ if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
{
--let $binlog_rollback= query_get_value(SHOW BINLOG EVENTS, Pos, 7)
--let $binlog_query= query_get_value(SHOW BINLOG EVENTS, Info, 7)
- if (`SELECT 'ROLLBACK' != '$binlog_query'`) {
+ if ($binlog_query != ROLLBACK) {
--echo Wrong query from SHOW BINLOG EVENTS. Expected ROLLBACK, got '$binlog_query'
--source include/show_rpl_debug_info.inc
--die Wrong value for slave parameter
diff --git a/mysql-test/extra/rpl_tests/check_type.inc b/mysql-test/extra/rpl_tests/check_type.inc
index 63491d81da4..97300753d38 100644
--- a/mysql-test/extra/rpl_tests/check_type.inc
+++ b/mysql-test/extra/rpl_tests/check_type.inc
@@ -11,18 +11,28 @@
# on the slave)
# $can_convert True if conversion shall work, false if it
# shall generate an error
+# $engine_type The storage engine to be used for storing table
+# on both master and slave
+if (!$engine_type)
+{
+ # Use the default storage engine
+ let $engine_type=`SELECT @@storage_engine`;
+}
connection master;
disable_warnings;
DROP TABLE IF EXISTS t1;
enable_warnings;
-eval CREATE TABLE t1 (a $source_type);
+eval CREATE TABLE t1(
+ pk INT NOT NULL PRIMARY KEY,
+ a $source_type
+) ENGINE=$engine_type;
sync_slave_with_master;
eval ALTER TABLE t1 MODIFY a $target_type;
connection master;
-eval INSERT INTO t1 VALUES($source_value);
+eval INSERT INTO t1 VALUES(1, $source_value);
if ($can_convert) {
sync_slave_with_master;
eval SELECT a = $target_value into @compare FROM t1;
diff --git a/mysql-test/extra/rpl_tests/create_recursive_construct.inc b/mysql-test/extra/rpl_tests/create_recursive_construct.inc
index ac10ab8ddb2..6e130a8154f 100644
--- a/mysql-test/extra/rpl_tests/create_recursive_construct.inc
+++ b/mysql-test/extra/rpl_tests/create_recursive_construct.inc
@@ -167,7 +167,9 @@
--let $CRC_create=
######## func_retval ########
-if (`SELECT $CRC_ARG_type = 0 AND '$CRC_ARG_value' != ''`) {
+# if inside if in lieu of AND operand
+if ($CRC_ARG_type == 0) {
+ if ($CRC_ARG_value) {
# It will be safe to call this function and discard the return
# value, but it will be unsafe to use return value (e.g., in
# INSERT...SELECT).
@@ -180,10 +182,11 @@ if (`SELECT $CRC_ARG_type = 0 AND '$CRC_ARG_value' != ''`) {
--let $CRC_RET_drop= DROP FUNCTION $CRC_name
--let $CRC_RET_is_toplevel= 0
--let $CRC_RET_desc= function $CRC_name returning value from $CRC_ARG_desc
+ }
}
######## func_sidef ########
-if (`SELECT $CRC_ARG_type = 1`) {
+if ($CRC_ARG_type == 1) {
# It will be unsafe to call func even if you discard return value.
--let $CRC_name= func_sidef_$CRC_ARG_level
--let $CRC_create= CREATE FUNCTION $CRC_name() RETURNS VARCHAR(100) BEGIN INSERT INTO ta$CRC_ARG_level VALUES (47); $CRC_ARG_stmt_sidef; RETURN 0; END
@@ -197,7 +200,7 @@ if (`SELECT $CRC_ARG_type = 1`) {
}
######## proc ########
-if (`SELECT $CRC_ARG_type = 2`) {
+if ($CRC_ARG_type == 2) {
# It will be unsafe to call this procedure.
--let $CRC_name= proc_$CRC_ARG_level
--let $CRC_create= CREATE PROCEDURE $CRC_name() BEGIN $CRC_ARG_stmt_sidef; INSERT INTO ta$CRC_ARG_level VALUES (47); END
@@ -211,7 +214,7 @@ if (`SELECT $CRC_ARG_type = 2`) {
}
######## trig ########
-if (`SELECT $CRC_ARG_type = 3`) {
+if ($CRC_ARG_type == 3) {
# It will be unsafe to invoke this trigger.
--let $CRC_name= trig_$CRC_ARG_level
--let $CRC_create= CREATE TRIGGER $CRC_name BEFORE INSERT ON trigger_table_$CRC_ARG_level FOR EACH ROW BEGIN INSERT INTO ta$CRC_ARG_level VALUES (47); $CRC_ARG_stmt_sidef; END
@@ -225,7 +228,8 @@ if (`SELECT $CRC_ARG_type = 3`) {
}
######## view_retval ########
-if (`SELECT $CRC_ARG_type = 4 AND '$CRC_ARG_sel_retval' != ''`) {
+if ($CRC_ARG_type == 4) {
+ if ($CRC_ARG_sel_retval) {
# It will be safe to select from this view if you discard the result
# set, but unsafe to use result set (e.g., in INSERT..SELECT).
--let $CRC_name= view_retval_$CRC_ARG_level
@@ -237,10 +241,12 @@ if (`SELECT $CRC_ARG_type = 4 AND '$CRC_ARG_sel_retval' != ''`) {
--let $CRC_RET_drop= DROP VIEW $CRC_name
--let $CRC_RET_is_toplevel= 0
--let $CRC_RET_desc= view $CRC_name returning value from $CRC_ARG_desc
+ }
}
######## view_sidef ########
-if (`SELECT $CRC_ARG_type = 5 AND '$CRC_ARG_sel_sidef' != ''`) {
+if ($CRC_ARG_type == 5) {
+ if ($CRC_ARG_sel_sidef) {
# It will be unsafe to select from this view, even if you discard
# the return value.
--let $CRC_name= view_sidef_$CRC_ARG_level
@@ -252,10 +258,11 @@ if (`SELECT $CRC_ARG_type = 5 AND '$CRC_ARG_sel_sidef' != ''`) {
--let $CRC_RET_drop= DROP VIEW $CRC_name
--let $CRC_RET_is_toplevel= 0
--let $CRC_RET_desc= view $CRC_name invoking $CRC_ARG_desc
+ }
}
######## prep ########
-if (`SELECT $CRC_ARG_type = 6`) {
+if ($CRC_ARG_type == 6) {
# It will be unsafe to execute this prepared statement
--let $CRC_name= prep_$CRC_ARG_level
--let $CRC_create= PREPARE $CRC_name FROM "$CRC_ARG_stmt_sidef"
@@ -269,7 +276,7 @@ if (`SELECT $CRC_ARG_type = 6`) {
}
######## no recursive construct: just return the given statement ########
-if (`SELECT $CRC_ARG_type = 7`) {
+if ($CRC_ARG_type == 7) {
# CRC_ARG_type=7 is a special case. We just set $CRC_RET_x =
# $CRC_ARG_x. This way, the $CRC_ARG_stmt gets executed directly
# (below). In binlog_unsafe.test, it is used to invoke the unsafe
@@ -285,17 +292,17 @@ if (`SELECT $CRC_ARG_type = 7`) {
}
######## execute! ########
-if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
+if ($CRC_RET_stmt_sidef) {
--echo
--echo Invoking $CRC_RET_desc.
- if (`SELECT '$CRC_create' != ''`) {
+ if ($CRC_create) {
--eval $CRC_create
}
--echo * binlog_format = STATEMENT: expect $CRC_ARG_expected_number_of_warnings warnings.
--eval $CRC_RET_stmt_sidef
--let $n_warnings= `SHOW COUNT(*) WARNINGS`
- if (`SELECT '$n_warnings' != '$CRC_ARG_expected_number_of_warnings'`) {
+ if ($n_warnings != $CRC_ARG_expected_number_of_warnings) {
--echo ******** Failure! Expected $CRC_ARG_expected_number_of_warnings warnings, got $n_warnings warnings. ********
SHOW WARNINGS;
SHOW BINLOG EVENTS;
@@ -312,14 +319,14 @@ if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
RESET MASTER;
--eval $CRC_RET_stmt_sidef
--let $n_warnings= `SHOW COUNT(*) WARNINGS`
- if (`SELECT '$n_warnings' != '0'`) {
+ if ($n_warnings) {
--echo ******** Failure! Expected 0 warnings, got $n_warnings warnings. ********
SHOW WARNINGS;
SHOW BINLOG EVENTS;
--die Wrong number of warnings.
}
--let $binlog_event= query_get_value(SHOW BINLOG EVENTS, Event_type, 2)
- if (`SELECT '$binlog_event' != 'No such row'`) {
+ if ($binlog_event != No such row) {
--enable_query_log
--echo ******** Failure! Something was written to the binlog despite SQL_LOG_BIN=0 ********
SHOW BINLOG EVENTS;
@@ -332,7 +339,7 @@ if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
RESET MASTER;
--eval $CRC_RET_stmt_sidef
--let $n_warnings= `SHOW COUNT(*) WARNINGS`
- if (`SELECT '$n_warnings' != '0'`) {
+ if ($n_warnings) {
--echo ******** Failure! Expected 0 warnings, got $n_warnings warnings. ********
SHOW WARNINGS;
SHOW BINLOG EVENTS;
@@ -365,7 +372,7 @@ if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
# Invoke created object, discarding the return value. This should not
# give any warning.
-if (`SELECT '$CRC_RET_sel_retval' != ''`) {
+if ($CRC_RET_sel_retval) {
--echo * Invoke statement so that return value is dicarded: expect no warning.
--disable_result_log
--eval $CRC_RET_sel_retval
@@ -375,7 +382,7 @@ if (`SELECT '$CRC_RET_sel_retval' != ''`) {
# fail. When the bug is fixed, we should execute the following.
#--let $n_warnings= `SHOW COUNT(*) WARNINGS`
- #if (`SELECT '$n_warnings' != '0'`) {
+ #if ($n_warnings) {
# --enable_query_log
# --echo Failure! Expected 0 warnings, got $n_warnings warnings.
# SHOW WARNINGS;
diff --git a/mysql-test/extra/rpl_tests/rpl_EE_err.test b/mysql-test/extra/rpl_tests/rpl_EE_err.test
index 205bbe79dac..0b3fec1f605 100644
--- a/mysql-test/extra/rpl_tests/rpl_EE_err.test
+++ b/mysql-test/extra/rpl_tests/rpl_EE_err.test
@@ -9,10 +9,6 @@
# check if START SLAVE, RESET SLAVE, CHANGE MASTER reset Last_slave_error and
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986).
####################################
-# Change Author: JBM
-# Change Date: 2006-01-11
-# Change: Split test per lars review
-####################################
#"REQUIREMENT: A master DROP TABLE on a table with non-existing MYI
# file must be correctly replicated to the slave"
####################################
@@ -23,8 +19,5 @@ flush tables;
let $MYSQLD_DATADIR= `select @@datadir`;
remove_file $MYSQLD_DATADIR/test/t1.MYI ;
drop table if exists t1;
-save_master_pos;
-connection slave;
-sync_with_master;
-# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_auto_increment.test b/mysql-test/extra/rpl_tests/rpl_auto_increment.test
index 86885a14f94..24bcb5dbb77 100644
--- a/mysql-test/extra/rpl_tests/rpl_auto_increment.test
+++ b/mysql-test/extra/rpl_tests/rpl_auto_increment.test
@@ -1,14 +1,6 @@
#
# Test of auto_increment with offset
#
-#####################################
-# By: JBM
-# Date: 2006-02-10
-# Change: NDB does not support auto inc
-# in this usage. Currently there is no
-# plan to implment. Skipping test when
-# NDB is default engine.
-#####################################
-- source include/not_ndb_default.inc
-- source include/master-slave.inc
@@ -169,7 +161,7 @@ drop table t1;
# auto_increment fields if the values of them are 0. There is an inconsistency
# between slave and master. When MODE_NO_AUTO_VALUE_ON_ZERO are masters treat
#
-source include/master-slave-reset.inc;
+source include/rpl_reset.inc;
connection master;
--disable_warnings
@@ -210,12 +202,10 @@ INSERT INTO t2 VALUES(4);
FLUSH LOGS;
sync_slave_with_master;
-let $diff_table_1= master:test.t1;
-let $diff_table_2= slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
-let $diff_table_1= master:test.t2;
-let $diff_table_2= slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
connection master;
@@ -228,16 +218,42 @@ let $MYSQLD_DATADIR= `SELECT @@DATADIR`;
--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 | $MYSQL test
sync_slave_with_master;
-let $diff_table_1= master:test.t1;
-let $diff_table_2= slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
-let $diff_table_1= master:test.t2;
-let $diff_table_2= slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
# End cleanup
+--connection master
DROP TABLE t1;
DROP TABLE t2;
SET SQL_MODE='';
sync_slave_with_master;
+
+#
+# BUG#56662
+# The test verifies if the assertion of "next_insert_id == 0"
+# will fail in ha_external_lock() function.
+#
+connection master;
+CREATE TABLE t1 (id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, data INT) ENGINE=innodb;
+
+BEGIN;
+--echo # Set sql_mode with NO_AUTO_VALUE_ON_ZERO for allowing
+--echo # zero to fill the auto_increment field.
+SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
+INSERT INTO t1(id,data) VALUES(0,2);
+--echo # Resetting sql_mode without NO_AUTO_VALUE_ON_ZERO to
+--echo # affect the execution of the transaction on slave.
+SET SQL_MODE=0;
+COMMIT;
+SELECT * FROM t1;
+sync_slave_with_master;
+SELECT * FROM t1;
+
+connection master;
+DROP TABLE t1;
+sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test b/mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test
index 0bfa46de113..30b25955ecb 100644
--- a/mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test
+++ b/mysql-test/extra/rpl_tests/rpl_auto_increment_insert_view.test
@@ -29,8 +29,7 @@ commit;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'INSERT DATA INTO VIEW WHICH INVOKES TRIGGERS'
-let $diff_table_1=master:test.t3;
-let $diff_table_2=slave:test.t3;
+let $diff_tables= master:t3, slave:t3;
source include/diff_tables.inc;
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test b/mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test
index 614d79d9c2d..f93d435349f 100644
--- a/mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test
+++ b/mysql-test/extra/rpl_tests/rpl_auto_increment_invoke_trigger.test
@@ -60,14 +60,11 @@ connection master;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'INVOKES A TRIGGER with $trigger_action action'
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t4;
-let $diff_table_2=slave:test.t4;
+let $diff_tables= master:t4, slave:t4;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t6;
-let $diff_table_2=slave:test.t6;
+let $diff_tables= master:t6, slave:t6;
source include/diff_tables.inc;
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test b/mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test
index fece19b397d..d7c26ea42f1 100644
--- a/mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test
+++ b/mysql-test/extra/rpl_tests/rpl_autoinc_func_invokes_trigger.test
@@ -41,11 +41,9 @@ connection master;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'CALLS A FUNCTION which INVOKES A TRIGGER with $insert_action action'
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t3;
-let $diff_table_2=slave:test.t3;
+let $diff_tables= master:t3, slave:t3;
source include/diff_tables.inc;
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test b/mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test
index 1fb6b3dcb8a..54b5c95080e 100644
--- a/mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test
+++ b/mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test
@@ -21,9 +21,20 @@
# and slave are diverging.
#
########################################################################################
-
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+let $old_max_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_cache_size", Value, 1);
+let $old_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_cache_size", Value, 1);
+let $old_max_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_stmt_cache_size", Value, 1);
+let $old_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_stmt_cache_size", Value, 1);
+
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+disconnect master;
+connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
+
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
@@ -38,25 +49,22 @@ connection master;
--echo *** Single statement on transactional table ***
--disable_query_log
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
eval INSERT INTO t1 (a, data) VALUES (1,
CONCAT($data, $data, $data, $data, $data));
--enable_query_log
--echo *** Single statement on non-transactional table ***
--disable_query_log
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
eval INSERT INTO t2 (a, data) VALUES (2,
CONCAT($data, $data, $data, $data, $data, $data));
--enable_query_log
-connection slave;
---source include/wait_for_slave_sql_to_stop.inc
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
---source include/wait_for_slave_sql_to_start.inc
-
-connection master;
+# Incident event
+# 1590=ER_SLAVE_INCIDENT
+--let $slave_sql_errno= 1590
+--source include/wait_for_slave_sql_error_and_skip.inc
--disable_query_log
eval INSERT INTO t1 (a, data) VALUES (3, $data);
@@ -69,28 +77,18 @@ eval INSERT INTO t2 (a, data) VALUES (5, $data);
--echo *** Single statement on both transactional and non-transactional tables. ***
--disable_query_log
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
eval UPDATE t2, t1 SET t2.data = CONCAT($data, $data, $data, $data),
t1.data = CONCAT($data, $data, $data, $data);
--enable_query_log
-connection slave;
---source include/wait_for_slave_sql_to_stop.inc
-
-if (`SELECT @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
-{
- SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-}
-if (`SELECT @@binlog_format = 'ROW'`)
-{
- SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 2;
-}
-START SLAVE SQL_THREAD;
---source include/wait_for_slave_sql_to_start.inc
-connection master;
+# 1590=ER_SLAVE_INCIDENT
+--let $slave_sql_errno= 1590
+--let $slave_skip_counter= `SELECT IF(@@binlog_format = 'ROW', 2, 1)`
+--source include/wait_for_slave_sql_error_and_skip.inc
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo ########################################################################################
--echo # 2 - BEGIN - IMPLICIT COMMIT by DDL
@@ -106,11 +104,11 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
@@ -133,9 +131,9 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (14, $data);
--eval INSERT INTO t1 (a, data) VALUES (15, $data);
--eval INSERT INTO t1 (a, data) VALUES (16, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (17, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (18, $data);
--eval INSERT INTO t1 (a, data) VALUES (19, 's');
--eval INSERT INTO t2 (a, data) VALUES (20, 's');
@@ -151,7 +149,7 @@ if (`SELECT @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
if (`SELECT @@binlog_format = 'ROW'`)
{
--disable_query_log
- --error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+ --error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
CREATE TABLE t4 SELECT * FROM t1;
--enable_query_log
}
@@ -165,9 +163,9 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (22, $data);
--eval INSERT INTO t1 (a, data) VALUES (23, $data);
--eval INSERT INTO t1 (a, data) VALUES (24, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (25, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (26, $data);
--eval INSERT INTO t1 (a, data) VALUES (27, 's');
--eval INSERT INTO t2 (a, data) VALUES (28, 's');
@@ -178,19 +176,9 @@ BEGIN;
CREATE TABLE t5 (a int);
--enable_query_log
-if (`SELECT @@binlog_format = 'ROW'`)
-{
- connection slave;
- --source include/wait_for_slave_sql_to_stop.inc
-
- SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
- START SLAVE SQL_THREAD;
- --source include/wait_for_slave_sql_to_start.inc
- connection master;
-}
-
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--sync_slave_with_master
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo ########################################################################################
--echo # 3 - BEGIN - COMMIT
@@ -206,11 +194,11 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
@@ -218,8 +206,9 @@ BEGIN;
--enable_query_log
COMMIT;
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--sync_slave_with_master
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo ########################################################################################
--echo # 4 - BEGIN - ROLLBACK
@@ -235,11 +224,11 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
@@ -247,8 +236,9 @@ BEGIN;
--enable_query_log
ROLLBACK;
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--sync_slave_with_master
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo ########################################################################################
--echo # 5 - PROCEDURE
@@ -282,7 +272,7 @@ TRUNCATE TABLE t1;
BEGIN;
--disable_query_log
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
eval CALL p1($data);
--enable_query_log
COMMIT;
@@ -291,13 +281,14 @@ TRUNCATE TABLE t1;
BEGIN;
--disable_query_log
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
eval CALL p1($data);
--enable_query_log
ROLLBACK;
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--sync_slave_with_master
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo ########################################################################################
--echo # 6 - XID
@@ -313,12 +304,12 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (1, $data);
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
--eval INSERT INTO t1 (a, data) VALUES (3, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
SAVEPOINT sv;
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
--eval INSERT INTO t1 (a, data) VALUES (7, 's');
--eval INSERT INTO t2 (a, data) VALUES (8, 's');
@@ -327,8 +318,9 @@ SAVEPOINT sv;
ROLLBACK TO sv;
COMMIT;
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--sync_slave_with_master
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo ########################################################################################
--echo # 7 - NON-TRANS TABLE
@@ -345,11 +337,11 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (2, $data);
--eval INSERT INTO t2 (a, data) VALUES (3, $data);
--eval INSERT INTO t1 (a, data) VALUES (4, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (5, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (6, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (7, $data);
--eval UPDATE t2 SET data= CONCAT($data, $data);
--eval INSERT INTO t1 (a, data) VALUES (8, 's');
@@ -365,13 +357,90 @@ BEGIN;
--eval INSERT INTO t1 (a, data) VALUES (16, $data);
--eval INSERT INTO t2 (a, data) VALUES (17, $data);
--eval INSERT INTO t1 (a, data) VALUES (18, $data);
---error ER_TRANS_CACHE_FULL, ER_ERROR_ON_WRITE
+--error ER_TRANS_CACHE_FULL, ER_STMT_CACHE_FULL, ER_ERROR_ON_WRITE
--eval INSERT INTO t1 (a, data) VALUES (19, $data);
--enable_query_log
COMMIT;
-let $diff_statement= SELECT * FROM t1;
---source include/diff_master_slave.inc
+--sync_slave_with_master
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
+
+--echo ########################################################################
+--echo # 8 - Bug#55375(Regression Bug) Transaction bigger than
+--echo # max_binlog_cache_size crashes slave
+--echo ########################################################################
+
+--echo # [ On Slave ]
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+
+source include/stop_slave.inc;
+source include/start_slave.inc;
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+
+connection master;
+TRUNCATE t1;
+
+sync_slave_with_master;
+--let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1)
+--let binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+connection master;
+--replace_result $old_max_binlog_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL max_binlog_cache_size= $old_max_binlog_cache_size
+--replace_result $old_binlog_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL binlog_cache_size= $old_binlog_cache_size
+--replace_result $old_max_binlog_stmt_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL max_binlog_stmt_cache_size= $old_max_binlog_stmt_cache_size
+--replace_result $old_binlog_stmt_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL binlog_stmt_cache_size= $old_binlog_stmt_cache_size
+disconnect master;
+connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
+
+--let $n=128
+BEGIN;
+--disable_query_log
+--echo Repeat statement 'INSERT INTO t1 VALUES(\$n, repeat("a", 32))' $n times
+while ($n)
+{
+ --eval INSERT INTO t1 VALUES ($n, repeat("a", 32))
+ --dec $n
+}
+--enable_query_log
+COMMIT;
+
+--connection slave
+--let $slave_sql_errno= 1197
+if (`SELECT @@binlog_format = 'ROW'`)
+{
+ --let $slave_sql_errno= 1534
+}
+source include/wait_for_slave_sql_error.inc;
+
+SELECT count(*) FROM t1;
+source include/show_binlog_events.inc;
+
+--replace_result $old_max_binlog_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL max_binlog_cache_size= $old_max_binlog_cache_size
+--replace_result $old_binlog_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL binlog_cache_size= $old_binlog_cache_size
+--replace_result $old_max_binlog_stmt_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL max_binlog_stmt_cache_size= $old_max_binlog_stmt_cache_size
+--replace_result $old_binlog_stmt_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL binlog_stmt_cache_size= $old_binlog_stmt_cache_size
+
+source include/stop_slave.inc;
+source include/start_slave.inc;
+
+connection master;
+sync_slave_with_master;
+SELECT count(*) FROM t1;
--echo ########################################################################################
--echo # CLEAN
@@ -381,8 +450,10 @@ connection master;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
+# t4 exists only if binlog_format!=row, so so a warning is generated
+# if binog_format=row
+--disable_warnings
DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
+--enable_warnings
+DROP TABLE t5;
DROP PROCEDURE p1;
-sync_slave_with_master;
diff --git a/mysql-test/extra/rpl_tests/rpl_charset.test b/mysql-test/extra/rpl_tests/rpl_charset.test
index d884bd1178c..fa83b06597d 100644
--- a/mysql-test/extra/rpl_tests/rpl_charset.test
+++ b/mysql-test/extra/rpl_tests/rpl_charset.test
@@ -2,11 +2,7 @@
# This test will fail if the server/client does not support enough charsets.
source include/master-slave.inc;
---disable_warnings
set timestamp=1000000000;
-drop database if exists mysqltest2;
-drop database if exists mysqltest3;
---enable_warnings
create database mysqltest2 character set latin2;
set @@character_set_server=latin5;
@@ -149,6 +145,6 @@ eval create table `t1` (
set @p=_latin1 'test';
update t1 set pk='test' where pk=@p;
drop table t1;
-sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_commit_after_flush.test b/mysql-test/extra/rpl_tests/rpl_commit_after_flush.test
index 98638b0b1f6..7de4f421c35 100644
--- a/mysql-test/extra/rpl_tests/rpl_commit_after_flush.test
+++ b/mysql-test/extra/rpl_tests/rpl_commit_after_flush.test
@@ -1,16 +1,10 @@
-#################################
-# Test updated to use a wrapper #
-#################################
-
eval CREATE TABLE t1 (a INT) ENGINE=$engine_type;
begin;
insert into t1 values(1);
flush tables with read lock;
commit;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
# cleanup
connection master;
unlock tables;
diff --git a/mysql-test/extra/rpl_tests/rpl_conflicts.test b/mysql-test/extra/rpl_tests/rpl_conflicts.test
index b20bbb15a1a..2fbf3dba5dc 100644
--- a/mysql-test/extra/rpl_tests/rpl_conflicts.test
+++ b/mysql-test/extra/rpl_tests/rpl_conflicts.test
@@ -91,11 +91,14 @@ if (`SELECT @@global.binlog_format != 'ROW' OR @@global.slave_exec_mode = 'STRIC
# key error, and stops the SQL thread.
let $slave_sql_errno= 1062; # ER_DUP_ENTRY
source include/wait_for_slave_sql_error.inc;
- let $err= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
+
+ --let $err= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1)
--replace_regex /end_log_pos [0-9]+/end_log_pos END_LOG_POS/
--disable_query_log
--eval SELECT "$err" as 'Last_SQL_Error (expected "duplicate key" error)'
--enable_query_log
+ call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
+
SELECT * FROM t1;
--echo ---- Resolve the conflict on the slave and restart SQL thread ----
@@ -140,10 +143,16 @@ connection slave;
# replication continues.
if (`SELECT @@global.binlog_format = 'ROW' AND @@global.slave_exec_mode = 'STRICT'`) {
--echo ---- Wait until slave stops with an error ----
+ call mtr.add_suppression("Slave SQL.*Can.t find record in .t1., Error_code: 1032");
let $slave_sql_errno= 1032; # ER_KEY_NOT_FOUND
source include/wait_for_slave_sql_error.inc;
- let $err= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
- --echo Last_SQL_Error = $err (expected "can't find record" error)
+
+ --let $err= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1)
+ --replace_regex /end_log_pos [0-9]+/end_log_pos END_LOG_POS/
+ --disable_query_log
+ --eval SELECT "$err" as 'Last_SQL_Error (expected "duplicate key" error)'
+ --enable_query_log
+
SELECT * FROM t1;
--echo ---- Resolve the conflict on the slave and restart SQL thread ----
@@ -168,4 +177,4 @@ connection master;
DROP TABLE t1;
--echo [on slave]
-sync_slave_with_master;
+--sync_slave_with_master
diff --git a/mysql-test/extra/rpl_tests/rpl_ddl.test b/mysql-test/extra/rpl_tests/rpl_ddl.test
index f1064dc268f..3b0348cc29f 100644
--- a/mysql-test/extra/rpl_tests/rpl_ddl.test
+++ b/mysql-test/extra/rpl_tests/rpl_ddl.test
@@ -136,14 +136,6 @@ sync_slave_with_master;
connection master;
SET AUTOCOMMIT = 1;
#
-# 1. DROP all objects, which probably already exist, but must be created here
-#
---disable_warnings
-DROP DATABASE IF EXISTS mysqltest1;
-DROP DATABASE IF EXISTS mysqltest2;
-DROP DATABASE IF EXISTS mysqltest3;
---enable_warnings
-#
# 2. CREATE all objects needed
# working database is mysqltest1
# working table (transactional!) is mysqltest1.t1
@@ -619,6 +611,3 @@ connection master;
DROP DATABASE mysqltest1;
# mysqltest2 was alreday DROPPED some tests before.
DROP DATABASE mysqltest3;
---enable_warnings
-
--- source include/master-slave-end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_deadlock.test b/mysql-test/extra/rpl_tests/rpl_deadlock.test
index 607348ae97b..bd446c86943 100644
--- a/mysql-test/extra/rpl_tests/rpl_deadlock.test
+++ b/mysql-test/extra/rpl_tests/rpl_deadlock.test
@@ -131,3 +131,4 @@ sync_slave_with_master;
SET global max_relay_log_size= @my_max_relay_log_size;
--echo End of 5.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc b/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc
index 8e89cde004d..094e84537db 100644
--- a/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc
+++ b/mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc
@@ -35,7 +35,7 @@ if (`SELECT HEX(@commands) = HEX('configure')`)
# when a command ends.
#
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TEMPORARY TABLE IF EXISTS nt_tmp_$n
--eval CREATE TEMPORARY TABLE nt_tmp_$n ( id INT ) ENGINE = MyIsam
@@ -62,7 +62,7 @@ if (`SELECT HEX(@commands) = HEX('configure')`)
# when a command ends.
#
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TEMPORARY TABLE IF EXISTS tt_tmp_$n
--eval CREATE TEMPORARY TABLE tt_tmp_$n ( id INT ) ENGINE = Innodb
@@ -89,7 +89,7 @@ if (`SELECT HEX(@commands) = HEX('configure')`)
# when a command ends.
#
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TABLE IF EXISTS nt_$n
--eval CREATE TABLE nt_$n ( id INT ) ENGINE = MyIsam
@@ -116,7 +116,7 @@ if (`SELECT HEX(@commands) = HEX('configure')`)
# when a command ends.
#
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TABLE IF EXISTS tt_$n
--eval CREATE TABLE tt_$n ( id INT ) ENGINE = Innodb
@@ -163,14 +163,14 @@ if (`SELECT HEX(@commands) = HEX('clean')`)
DROP TABLE IF EXISTS nt_xx_1;
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TABLE IF EXISTS nt_$n
--dec $n
}
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TABLE IF EXISTS tt_$n
--dec $n
@@ -634,11 +634,11 @@ while (`SELECT HEX(@commands) != HEX('')`)
{
--let $dropped_temp= $table
}
- if (`SELECT $n = 1`)
+ if ($n == 1)
{
--let $table_1= $table
}
- if (`SELECT $n = 2`)
+ if ($n == 2)
{
--let $table_2= $table
}
@@ -886,7 +886,7 @@ while (`SELECT HEX(@commands) != HEX('')`)
--let $available_n_temp=
--let $dropped_n_temp=
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TEMPORARY TABLE IF EXISTS nt_tmp_$n
--eval CREATE TEMPORARY TABLE nt_tmp_$n ( id INT ) ENGINE = MyIsam
@@ -905,7 +905,7 @@ while (`SELECT HEX(@commands) != HEX('')`)
--let $available_t_temp=
--let $dropped_t_temp=
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TEMPORARY TABLE IF EXISTS tt_tmp_$n
--eval CREATE TEMPORARY TABLE tt_tmp_$n ( id INT ) ENGINE = Innodb
@@ -924,7 +924,7 @@ while (`SELECT HEX(@commands) != HEX('')`)
--let $available_t=
--let $dropped_t=
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TABLE IF EXISTS tt_$n
--eval CREATE TABLE tt_$n ( id INT ) ENGINE = Innodb
@@ -943,7 +943,7 @@ while (`SELECT HEX(@commands) != HEX('')`)
--let $available_n=
--let $dropped_n=
--let $n= $tot_table
- while (`SELECT $n != 0`)
+ while ($n)
{
--eval DROP TABLE IF EXISTS nt_$n
--eval CREATE TABLE nt_$n ( id INT ) ENGINE = MyIsam
diff --git a/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test b/mysql-test/extra/rpl_tests/rpl_extra_col_master.test
index d4310f50909..513bc949c5d 100644
--- a/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
+++ b/mysql-test/extra/rpl_tests/rpl_extra_col_master.test
@@ -1,24 +1,7 @@
#############################################################
-# Author: Chuck
-#############################################################
# Purpose: To test having extra columns on the master WL#3915
# engine inspecific sourced part
#############################################################
-# Change Author: Jeb
-# Change: Cleanup and extend testing
-#############################################################
-# TODO: partition specific
-# -- source include/have_partition.inc
-# Note: Will be done in different test due to NDB using this
-# test case.
-############################################################
-
-########### Clean up ################
---disable_warnings
---disable_query_log
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t10,t11,t12,t13,t14,t15,t16,t17,t18,t31;
---enable_query_log
---enable_warnings
#
# Setup differently defined tables on master and slave
@@ -138,6 +121,15 @@ SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
#connection slave;
+
+--disable_query_log
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 2 type mismatch.* 1535");
+call mtr.add_suppression("Slave.*Can.t DROP .c7.; check that column.key exists.* Error_code: 1091");
+call mtr.add_suppression("Slave.*Unknown column .c7. in .t15.* Error_code: 1054");
+call mtr.add_suppression("Slave.*Key column .c6. doesn.t exist in table.* Error_code: 1072");
+call mtr.add_suppression("Slave SQL.*Column 2 of table .test.t1.. cannot be converted from type.* Error_code: 1677");
+--enable_query_log
+
sync_slave_with_master;
--echo
--echo * Select count and 20 rows from Slave *
@@ -1025,8 +1017,3 @@ SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
connection master;
DROP TABLE t5;
sync_slave_with_master;
---echo
-
-# END of 5.1 tests case
-
-
diff --git a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test b/mysql-test/extra/rpl_tests/rpl_extra_col_slave.test
index 568cf802763..119e081878c 100644
--- a/mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test
+++ b/mysql-test/extra/rpl_tests/rpl_extra_col_slave.test
@@ -1,19 +1,10 @@
#################################################
-# Author: Jeb
-# Date: 2006-09-07
# Purpose: To test having extra columns on the slave.
##################################################
# Some tests in here requre partitioning
-- source include/have_partition.inc
-########### Clean up ################
---disable_warnings
---disable_query_log
-DROP TABLE IF EXISTS t1, t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t14a,t15,t16,t17;
---enable_query_log
---enable_warnings
-
#################################################
############ Different Table Def Test ###########
#################################################
@@ -23,6 +14,7 @@ DROP TABLE IF EXISTS t1, t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t14a,t15,t1
#################################################
call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* Error_code: 1677");
--echo **** Diff Table Def Start ****
@@ -286,16 +278,14 @@ connection slave;
--let $slave_sql_errno= 1677
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
-#START SLAVE;
--echo *** Drop t6 ***
+--let $rpl_only_running_threads= 1
+--source include/rpl_reset.inc
+
connection master;
DROP TABLE t6;
-connection slave;
-DROP TABLE t6;
-START SLAVE;
-#sync_slave_with_master;
+--sync_slave_with_master
--echo **** Diff Table Def End ****
@@ -406,7 +396,7 @@ sync_slave_with_master;
# Error reaction is up to sql_mode of the slave sql (bug#38173)
#--echo *** Create t9 on slave ***
# Please, check BUG#47741 to see why you are not testing NDB.
-if (`SELECT $engine_type != 'NDB'`)
+if (`SELECT UPPER(LEFT($engine_type, 3)) != 'NDB'`)
{
STOP SLAVE;
RESET SLAVE;
@@ -450,12 +440,13 @@ if (`SELECT $engine_type != 'NDB'`)
#--let $slave_skip_counter= 2
#--let $show_slave_sql_error= 1
#--source include/wait_for_slave_sql_error_and_skip.inc
-}
-#--echo *** Drop t9 ***
-#connection master;
-#DROP TABLE t9;
-#sync_slave_with_master;
+ #--echo *** Drop t9 ***
+ connection master;
+ DROP TABLE t9;
+ sync_slave_with_master;
+
+}
############################################
# More columns in slave at middle of table #
@@ -730,6 +721,10 @@ sync_slave_with_master;
--replace_column 5 CURRENT_TIMESTAMP
SELECT * FROM t14a ORDER BY c1;
+--connection master
+DROP TABLE t14a;
+--sync_slave_with_master
+
####################################################
# - Alter Master Dropping columns from the middle. #
# Expect: columns dropped #
@@ -776,6 +771,10 @@ RESET MASTER;
connection slave;
START SLAVE;
+call mtr.add_suppression("Error .Unknown table .t6.. on query.* Error_code: 1051");
+call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* Error_code: 1060");
+call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* Error_code: 1535");
+
--echo *** Master Data Insert ***
connection master;
set @b1 = 'b1b1b1b1';
@@ -917,17 +916,3 @@ connection slave;
connection master;
DROP TABLE t17;
sync_slave_with_master;
-
-#### Clean Up ####
---disable_warnings
---disable_query_log
-connection master;
-DROP TABLE IF EXISTS t1, t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t14a,t15,t16,t17;
-sync_slave_with_master;
-connection master;
---enable_query_log
---enable_warnings
-
-# END 5.1 Test Case
-
-
diff --git a/mysql-test/extra/rpl_tests/rpl_failed_optimize.test b/mysql-test/extra/rpl_tests/rpl_failed_optimize.test
index cd81f2497b8..af048aeb92a 100644
--- a/mysql-test/extra/rpl_tests/rpl_failed_optimize.test
+++ b/mysql-test/extra/rpl_tests/rpl_failed_optimize.test
@@ -2,24 +2,27 @@
#
# BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log"
-# Replication should work when OPTIMIZE TABLE timeouts, and
-# when OPTIMIZE TABLE is executed on a non-existing table
+# Replication should work when when OPTIMIZE TABLE is
+# executed on a non-existing table.
#
+# Due to patch for BUG#989, checking that an OPTIMIZE
+# that fails due to a lock wait timeout on an InnoDB table
+# is not valid anymore, as an mdl lock is hit before,
+# thence no timeout occurs, but instead a deadlock.
+#
+
eval CREATE TABLE t1 ( a int ) ENGINE=$engine_type;
BEGIN;
INSERT INTO t1 VALUES (1);
connection master1;
-OPTIMIZE TABLE t1;
-
OPTIMIZE TABLE non_existing;
sync_slave_with_master;
-# End of 4.1 tests
-
connection master;
select * from t1;
commit;
drop table t1;
--- sync_slave_with_master
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
index fd51601176e..06253c5defb 100644
--- a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
+++ b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
@@ -54,7 +54,6 @@ unlock tables;
connection master;
drop table t3, t4, t5;
-sync_slave_with_master;
-
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_foreign_key.test b/mysql-test/extra/rpl_tests/rpl_foreign_key.test
index ea16237435c..db646a736f9 100644
--- a/mysql-test/extra/rpl_tests/rpl_foreign_key.test
+++ b/mysql-test/extra/rpl_tests/rpl_foreign_key.test
@@ -59,6 +59,4 @@ select count(*) from t1 /* must be zero */;
connection master;
drop table t2,t1;
-sync_slave_with_master;
-
-
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
index 66bd61a8ea9..01036f72785 100644
--- a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
+++ b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
@@ -34,34 +34,22 @@
#
connection slave;
-if (`SELECT $debug_sync_action = ''`)
+if (!$debug_sync_action)
{
--die Cannot continue. Please set value for debug_sync_action.
}
# Restart slave
---disable_warnings
-stop slave;
-source include/wait_for_slave_to_stop.inc;
+--source include/stop_slave.inc
eval SET @@global.debug= "+d,$dbug_sync_point";
-start slave;
-source include/wait_for_slave_to_start.inc;
+--source include/start_slave.inc
--echo slave is going to hang in get_master_version_and_clock
-connection master;
-# Write file to make mysql-test-run.pl expect the "crash", but don't start
-# it until it's told to
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--let $rpl_server_number= 1
+--source include/rpl_stop_server.inc
-# Send shutdown to the connected server and give
-# it 10 seconds to die before zapping it
-shutdown_server 10;
-
-connection slave;
--echo slave is unblocked
eval SET DEBUG_SYNC=$debug_sync_action;
@@ -76,6 +64,7 @@ connection slave;
# '1040' ER_CON_COUNT_ERROR
# '1053' ER_SERVER_SHUTDOWN
let $slave_io_errno= 1040, 1053, 2002, 2003, 2006, 2013;
+--let $slave_io_error_is_nonfatal= 1
source include/wait_for_slave_io_error.inc;
# deactivate the sync point of get_master_version_and_clock()
@@ -84,21 +73,12 @@ source include/wait_for_slave_io_error.inc;
# unset.
eval set @@global.debug = "-d,$dbug_sync_point";
-# Write file to make mysql-test-run.pl start up the server again
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
-
-connection master;
-# Turn on reconnect
---enable_reconnect
-
-# Call script that will poll the server waiting for it to be back online again
---source include/wait_until_connected_again.inc
-
-# Turn off reconnect again
---disable_reconnect
-
-connection slave;
-source include/wait_for_slave_to_start.inc;
+--let $rpl_server_number= 1
+--source include/rpl_start_server.inc
+# We don't source include/wait_for_slave_io_to_start.inc, because the
+# IO thread has an error and wait_for_slave_io_to_start.inc fails if
+# the IO thread has an error.
+--let $slave_param= Slave_IO_Running
+--let $slave_param_value= Yes
+--source include/wait_for_slave_param.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test b/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test
index 14368ba4321..549d184185d 100644
--- a/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test
+++ b/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test
@@ -33,11 +33,11 @@ INSERT INTO tt_2(ddl_case) VALUES(0);
--echo #########################################################################
SET AUTOCOMMIT= 0;
let $ddl_cases= 41;
-while (`SELECT $ddl_cases >= 1`)
+while ($ddl_cases >= 1)
{
--echo -b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
- let $in_temporary= "no";
- let $ok= "yes";
+ let $in_temporary= no;
+ let $ok= yes;
#
# In SBR and MIXED modes, the commit event is usually the third event in the
# binary log:
@@ -76,7 +76,7 @@ while (`SELECT $ddl_cases >= 1`)
# 6: ROW EVENT
# 7: COMMIT
#
- if (`select '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 7;
}
@@ -84,18 +84,18 @@ while (`SELECT $ddl_cases >= 1`)
let $first_binlog_position= query_get_value("SHOW MASTER STATUS", Position, 1);
--enable_query_log
eval INSERT INTO tt_1(ddl_case) VALUES ($ddl_cases);
- if (`SELECT $ddl_cases = 41`)
+ if ($ddl_cases == 41)
{
let $cmd= LOAD INDEX INTO CACHE nt_1 IGNORE LEAVES;
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
# This seems to be related to epochs.
# We need to check this against an updated version or avoid it.
- let $ok= "no";
+ let $ok= no;
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 40`)
+ if ($ddl_cases == 40)
{
let $cmd= LOAD INDEX INTO CACHE tt_1, tt_2 IGNORE LEAVES;
#
@@ -109,16 +109,16 @@ while (`SELECT $ddl_cases >= 1`)
# 5: ROW EVENT
# 6: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 39`)
+ if ($ddl_cases == 39)
{
let $cmd= ANALYZE TABLE nt_1;
}
- if (`SELECT $ddl_cases = 38`)
+ if ($ddl_cases == 38)
{
let $cmd= CHECK TABLE nt_1;
#
@@ -132,20 +132,20 @@ while (`SELECT $ddl_cases >= 1`)
# 5: ROW EVENT
# 6: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 37`)
+ if ($ddl_cases == 37)
{
let $cmd= OPTIMIZE TABLE nt_1;
}
- if (`SELECT $ddl_cases = 36`)
+ if ($ddl_cases == 36)
{
let $cmd= REPAIR TABLE nt_1;
}
- if (`SELECT $ddl_cases = 35`)
+ if ($ddl_cases == 35)
{
let $cmd= LOCK TABLES tt_1 WRITE;
#
@@ -159,12 +159,12 @@ while (`SELECT $ddl_cases >= 1`)
# 5: ROW EVENT
# 6: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 34`)
+ if ($ddl_cases == 34)
{
let $cmd= UNLOCK TABLES;
#
@@ -178,20 +178,20 @@ while (`SELECT $ddl_cases >= 1`)
# 5: ROW EVENT
# 6: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 33`)
+ if ($ddl_cases == 33)
{
let $cmd= CREATE USER 'user'@'localhost';
}
- if (`SELECT $ddl_cases = 32`)
+ if ($ddl_cases == 32)
{
let $cmd= GRANT ALL ON *.* TO 'user'@'localhost';
}
- if (`SELECT $ddl_cases = 31`)
+ if ($ddl_cases == 31)
{
let $cmd= SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
#
@@ -231,35 +231,35 @@ while (`SELECT $ddl_cases >= 1`)
let $commit_event_row_number= 7;
}
}
- if (`SELECT $ddl_cases = 30`)
+ if ($ddl_cases == 30)
{
let $cmd= REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
}
- if (`SELECT $ddl_cases = 29`)
+ if ($ddl_cases == 29)
{
let $cmd= RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
}
- if (`SELECT $ddl_cases = 28`)
+ if ($ddl_cases == 28)
{
let $cmd= DROP USER 'user_new'@'localhost';
}
- if (`SELECT $ddl_cases = 27`)
+ if ($ddl_cases == 27)
{
let $cmd= CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
}
- if (`SELECT $ddl_cases = 26`)
+ if ($ddl_cases == 26)
{
let $cmd= ALTER EVENT evt COMMENT 'evt';
}
- if (`SELECT $ddl_cases = 25`)
+ if ($ddl_cases == 25)
{
let $cmd= DROP EVENT evt;
}
- if (`SELECT $ddl_cases = 24`)
+ if ($ddl_cases == 24)
{
let $cmd= CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
}
- if (`SELECT $ddl_cases = 23`)
+ if ($ddl_cases == 23)
{
let $cmd= DROP TRIGGER tr;
#
@@ -277,43 +277,43 @@ while (`SELECT $ddl_cases >= 1`)
let $commit_event_row_number= 5;
}
}
- if (`SELECT $ddl_cases = 22`)
+ if ($ddl_cases == 22)
{
let $cmd= CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
}
- if (`SELECT $ddl_cases = 21`)
+ if ($ddl_cases == 21)
{
let $cmd= ALTER FUNCTION fc COMMENT 'fc';
}
- if (`SELECT $ddl_cases = 20`)
+ if ($ddl_cases == 20)
{
let $cmd= DROP FUNCTION fc;
}
- if (`SELECT $ddl_cases = 19`)
+ if ($ddl_cases == 19)
{
let $cmd= CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
}
- if (`SELECT $ddl_cases = 18`)
+ if ($ddl_cases == 18)
{
let $cmd= ALTER PROCEDURE pc COMMENT 'pc';
}
- if (`SELECT $ddl_cases = 17`)
+ if ($ddl_cases == 17)
{
let $cmd= DROP PROCEDURE pc;
}
- if (`SELECT $ddl_cases = 16`)
+ if ($ddl_cases == 16)
{
let $cmd= CREATE VIEW v AS SELECT * FROM tt_1;
}
- if (`SELECT $ddl_cases = 15`)
+ if ($ddl_cases == 15)
{
let $cmd= ALTER VIEW v AS SELECT * FROM tt_1;
}
- if (`SELECT $ddl_cases = 14`)
+ if ($ddl_cases == 14)
{
let $cmd= DROP VIEW v;
}
- if (`SELECT $ddl_cases = 13`)
+ if ($ddl_cases == 13)
{
let $cmd= CREATE INDEX ix ON tt_1(ddl_case);
#
@@ -328,12 +328,12 @@ while (`SELECT $ddl_cases >= 1`)
# 6: COMMIT
# 7: DDL EVENT which triggered the previous commmit.
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 12`)
+ if ($ddl_cases == 12)
{
let $cmd= DROP INDEX ix ON tt_1;
#
@@ -348,15 +348,15 @@ while (`SELECT $ddl_cases >= 1`)
# 6: COMMIT
# 7: DDL EVENT which triggered the previous commmit.
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 11`)
+ if ($ddl_cases == 11)
{
let $cmd= CREATE TEMPORARY TABLE tt_xx (a int);
- let $in_temporary= "yes";
+ let $in_temporary= yes;
# In SBR and MIXED modes, the DDL statement is written to the binary log but
# does not commit the current transaction.
#
@@ -411,7 +411,7 @@ while (`SELECT $ddl_cases >= 1`)
let $commit_event_row_number= 9;
}
}
- if (`SELECT $ddl_cases = 10`)
+ if ($ddl_cases == 10)
{
let $cmd= ALTER TABLE tt_xx ADD COLUMN (b int);
#
@@ -438,12 +438,12 @@ while (`SELECT $ddl_cases >= 1`)
# 5: ROW EVENT
# 6: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 9`)
+ if ($ddl_cases == 9)
{
let $cmd= ALTER TABLE tt_xx RENAME new_tt_xx;
#
@@ -470,15 +470,15 @@ while (`SELECT $ddl_cases >= 1`)
# 5: ROW EVENT
# 6: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 8`)
+ if ($ddl_cases == 8)
{
let $cmd= DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
- let $in_temporary= "yes";
+ let $in_temporary= yes;
#
# In SBR and MIXED modes, the DDL statement is written to the binary log
# but does not commit the current transaction:
@@ -528,7 +528,7 @@ while (`SELECT $ddl_cases >= 1`)
# 8: ROW EVENT
# 9: COMMIT
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 9;
}
@@ -551,27 +551,27 @@ while (`SELECT $ddl_cases >= 1`)
let $commit_event_row_number= 9;
}
}
- if (`SELECT $ddl_cases = 7`)
+ if ($ddl_cases == 7)
{
let $cmd= CREATE TABLE tt_xx (a int);
}
- if (`SELECT $ddl_cases = 6`)
+ if ($ddl_cases == 6)
{
let $cmd= ALTER TABLE tt_xx ADD COLUMN (b int);
}
- if (`SELECT $ddl_cases = 5`)
+ if ($ddl_cases == 5)
{
let $cmd= RENAME TABLE tt_xx TO new_tt_xx;
}
- if (`SELECT $ddl_cases = 4`)
+ if ($ddl_cases == 4)
{
let $cmd= TRUNCATE TABLE new_tt_xx;
}
- if (`SELECT $ddl_cases = 3`)
+ if ($ddl_cases == 3)
{
let $cmd= DROP TABLE IF EXISTS tt_xx, new_tt_xx;
}
- if (`SELECT $ddl_cases = 2`)
+ if ($ddl_cases == 2)
{
let $cmd= CREATE DATABASE db;
#
@@ -586,12 +586,12 @@ while (`SELECT $ddl_cases >= 1`)
# 6: COMMIT
# 7: DDL EVENT which triggered the previous commmit.
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
}
- if (`SELECT $ddl_cases = 1`)
+ if ($ddl_cases == 1)
{
let $cmd= DROP DATABASE IF EXISTS db;
#
@@ -606,7 +606,7 @@ while (`SELECT $ddl_cases >= 1`)
# 6: COMMIT
# 7: DDL EVENT which triggered the previous commmit.
#
- if (`SELECT '$engine' = 'NDB'`)
+ if ($engine == NDB)
{
let $commit_event_row_number= 6;
}
@@ -618,14 +618,14 @@ while (`SELECT $ddl_cases >= 1`)
# commit. The flag in_temporary is used to avoid aborting the test in such
# cases. Thus we force the commit.
#
- if (`SELECT $in_temporary = "yes"`)
+ if ($in_temporary == yes)
{
--eval COMMIT
}
let $event_commit= query_get_value("SHOW BINLOG EVENTS FROM $first_binlog_position", Info, $commit_event_row_number);
if (`SELECT SUBSTRING("$event_commit",1,6) != "COMMIT"`)
{
- if (`SELECT $ok = "yes"`)
+ if ($ok == yes)
{
--echo it *does not* commit the current transaction.
--echo $cmd
@@ -649,8 +649,7 @@ SET AUTOCOMMIT= 1;
--echo ###################################################################################
--sync_slave_with_master
---let $diff_table_1= master:test.tt_1
---let $diff_table_2= slave:test.tt_1
+--let $diff_tables= master:tt_1,slave:tt_1
--source include/diff_tables.inc
--echo ###################################################################################
diff --git a/mysql-test/extra/rpl_tests/rpl_innodb.test b/mysql-test/extra/rpl_tests/rpl_innodb.test
index 2eee3402da9..c0ec5299cfd 100644
--- a/mysql-test/extra/rpl_tests/rpl_innodb.test
+++ b/mysql-test/extra/rpl_tests/rpl_innodb.test
@@ -181,5 +181,3 @@ DROP TABLE t1;
DROP TABLE t3;
--echo End of 6.0 tests
-
---source include/master-slave-end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_delayed.test b/mysql-test/extra/rpl_tests/rpl_insert_delayed.test
index 46c1df0c88b..5b0b52c3106 100644
--- a/mysql-test/extra/rpl_tests/rpl_insert_delayed.test
+++ b/mysql-test/extra/rpl_tests/rpl_insert_delayed.test
@@ -121,7 +121,7 @@ if (`SELECT @@global.binlog_format = 'STATEMENT'`)
# The second INSERT DELAYED statement is the 5 item if two INSERT DELAYED are
# handled separately
- if (`SELECT '$stmt' = 'COMMIT'`)
+ if ($stmt == COMMIT)
{
--let $stmt= query_get_value(SHOW BINLOG EVENTS IN '$binlog_file' FROM $_start, Info, 5)
}
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_duplicate.test b/mysql-test/extra/rpl_tests/rpl_insert_duplicate.test
new file mode 100644
index 00000000000..a81eeba3231
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_insert_duplicate.test
@@ -0,0 +1,59 @@
+# BUG#59338 Inconsistency in binlog for statements that don't change any rows STATEMENT SBR
+# In SBR, if a statement does not fail, it is always written to the binary log,
+# regardless if rows are changed or not. If there is a failure, a statement is
+# only written to the binary log if a non-transactional (.e.g. MyIsam) engine
+# is updated. INSERT ON DUPLICATE KEY UPDATE was not following the rule above
+# and was not written to the binary log, if then engine was Innodb.
+#
+# In this test case, we check if INSERT ON DUPLICATE KEY UPDATE that does not
+# change anything is still written to the binary log.
+
+# Prepare environment
+--connection master
+
+eval CREATE TABLE t1 (
+ a INT UNSIGNED NOT NULL PRIMARY KEY
+) ENGINE=$engine_type;
+
+eval CREATE TABLE t2 (
+ a INT UNSIGNED
+) ENGINE=$engine_type;
+
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+
+# An insert duplicate that does not update anything must be written to the binary
+# log in SBR and MIXED modes. We check this property by summing a before and after
+# the update and comparing the binlog positions. The sum should be the same at both
+# points and the statement should be in the binary log.
+--let $binlog_file= query_get_value("SHOW MASTER STATUS", File, 1)
+--let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1)
+--let $statement_file=INSERT INTO t1 SELECT t2.a FROM t2 ORDER BY t2.a ON DUPLICATE KEY UPDATE t1.a= t1.a
+--eval $statement_file
+
+--let $assert_cond= SUM(a) = 1 FROM t1
+--let $assert_text= Sum of elements in t1 should be 1.
+--source include/assert.inc
+
+if (`SELECT @@BINLOG_FORMAT = 'ROW'`)
+{
+ --let $binlog_position_cmp= =
+ --let $assert_cond= [SHOW MASTER STATUS, Position, 1] $binlog_position_cmp $binlog_start
+ --let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
+}
+if (`SELECT @@BINLOG_FORMAT != 'ROW'`)
+{
+ --let $assert_cond= \'[\'SHOW BINLOG EVENTS IN "$binlog_file" FROM $binlog_start LIMIT 1, 1\', Info, 1]\' LIKE \'%$statement_file\'
+ --let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
+}
+--source include/assert.inc
+
+# Compare master and slave
+--sync_slave_with_master
+--let $diff_tables= master:test.t1 , slave:test.t1
+--source include/diff_tables.inc
+
+# Clean up
+--connection master
+drop table t1, t2;
+--sync_slave_with_master
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id.test b/mysql-test/extra/rpl_tests/rpl_insert_id.test
index b542ff27231..565ab4a67ad 100644
--- a/mysql-test/extra/rpl_tests/rpl_insert_id.test
+++ b/mysql-test/extra/rpl_tests/rpl_insert_id.test
@@ -1,6 +1,4 @@
###########################################################
-# 2006-02-01: By JBM: Added 1022, ORDER BY
-###########################################################
# See if queries that use both auto_increment and LAST_INSERT_ID()
# are replicated well
############################################################
@@ -9,17 +7,10 @@
# column and index but without primary key.
##############################################################
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
--echo #
--echo # Setup
--echo #
-use test;
---disable_warnings
-drop table if exists t1, t2, t3;
---enable_warnings
-
--echo #
--echo # See if queries that use both auto_increment and LAST_INSERT_ID()
--echo # are replicated well
@@ -30,6 +21,13 @@ drop table if exists t1, t2, t3;
-- source include/master-slave.inc
#should work for both SBR and RBR
+--disable_query_log
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--connection slave
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--enable_query_log
+
+
# If concurrent inserts are on, it is not guaranteed that the rows
# inserted by INSERT are immediately accessible by SELECT in another
# thread. This would cause problems near the line 'connection master1'
@@ -44,9 +42,7 @@ eval create table t2(b int auto_increment, c int, key(b)) engine=$engine_type;
insert into t1 values (1),(2),(3);
insert into t1 values (null);
insert into t2 values (null,last_insert_id());
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1 ORDER BY a;
select * from t2 ORDER BY b;
connection master;
@@ -65,9 +61,7 @@ insert into t1 values (null),(null),(null);
insert into t2 values (5,0);
insert into t2 values (null,last_insert_id());
SET FOREIGN_KEY_CHECKS=1;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1;
select * from t2;
connection master;
@@ -85,17 +79,13 @@ insert into t1 values (null),(null),(null);
insert into t2 values (5,0);
insert into t2 (c) select * from t1 ORDER BY a;
select * from t2 ORDER BY b;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1 ORDER BY a;
select * from t2 ORDER BY b;
connection master;
drop table t1;
drop table t2;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
--echo #
--echo # Bug#8412: Error codes reported in binary log for CHARACTER SET,
@@ -215,9 +205,7 @@ call foo();
select * from t1;
select * from t2;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1;
select * from t2;
connection master;
@@ -562,4 +550,5 @@ drop table t1, t2;
drop procedure foo;
SET @@global.concurrent_insert= @old_concurrent_insert;
set @@session.sql_auto_is_null=default;
-sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id_pk.test b/mysql-test/extra/rpl_tests/rpl_insert_id_pk.test
index 0be33a46c04..c3ecd9381c9 100644
--- a/mysql-test/extra/rpl_tests/rpl_insert_id_pk.test
+++ b/mysql-test/extra/rpl_tests/rpl_insert_id_pk.test
@@ -1,6 +1,4 @@
###########################################################
-# 2006-02-08: By JBM:
-###########################################################
# See if queries that use both auto_increment and LAST_INSERT_ID()
# are replicated well
############################################################
@@ -14,15 +12,12 @@
-- source include/master-slave.inc
#should work for both SBR and RBR
-connection master;
create table t1(a int auto_increment, primary key(a));
create table t2(b int auto_increment, c int, primary key(b));
insert into t1 values (1),(2),(3);
insert into t1 values (null);
insert into t2 values (null,last_insert_id());
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1 ORDER BY a;
select * from t2 ORDER BY b;
connection master;
@@ -41,9 +36,7 @@ insert into t1 values (null),(null),(null);
insert into t2 values (5,0);
insert into t2 values (null,last_insert_id());
SET FOREIGN_KEY_CHECKS=1;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1;
select * from t2;
connection master;
@@ -59,17 +52,13 @@ insert into t1 values (null),(null),(null);
insert into t2 values (5,0);
insert into t2 (c) select * from t1 ORDER BY a;
select * from t2 ORDER BY b;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1 ORDER BY a;
select * from t2 ORDER BY b;
connection master;
drop table t1;
drop table t2;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
#
# Bug#8412: Error codes reported in binary log for CHARACTER SET,
@@ -82,6 +71,10 @@ SET FOREIGN_KEY_CHECKS=0;
# Duplicate Key Errors codes
--error 1022, ER_DUP_ENTRY
INSERT INTO t1 VALUES (1),(1);
-drop table t1;
sync_slave_with_master;
+connection master;
+drop table t1;
+
# End of 4.1 tests
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_insert_ignore.test b/mysql-test/extra/rpl_tests/rpl_insert_ignore.test
index ee09c316354..270dde7675c 100644
--- a/mysql-test/extra/rpl_tests/rpl_insert_ignore.test
+++ b/mysql-test/extra/rpl_tests/rpl_insert_ignore.test
@@ -5,6 +5,7 @@
# Slave needs to be started with --innodb to store table in InnoDB.
# Same test for MyISAM (which had no bug).
+--connection master
eval CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
b int unsigned,
@@ -32,40 +33,44 @@ INSERT INTO t2 VALUES (5, 4);
INSERT INTO t2 VALUES (6, 6);
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-
-# Compare results
-
-SELECT * FROM t1 ORDER BY a;
-
-sync_slave_with_master;
-SELECT * FROM t1 ORDER BY a;
-
-# Now do the same for MyISAM
-
-connection master;
-drop table t1;
-eval CREATE TABLE t1 (
- a int unsigned not null auto_increment primary key,
- b int unsigned,
- unique (b)
-) ENGINE=$engine_type2;
-
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t1 VALUES (3, 3);
-INSERT INTO t1 VALUES (4, 4);
-
---disable_warnings
-INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
---enable_warnings
-
-SELECT * FROM t1 ORDER BY a;
-
-sync_slave_with_master;
-SELECT * FROM t1 ORDER BY a;
-
-connection master;
+--let $assert_cond= COUNT(*) = 6 FROM t1
+--let $assert_text= Count of elements in t1 should be 6.
+--source include/assert.inc
+
+# Compare master and slave
+--sync_slave_with_master
+--let $diff_tables= master:test.t1 , slave:test.t1
+--source include/diff_tables.inc
+
+# BUG#59338 Inconsistency in binlog for statements that don't change any rows STATEMENT SBR
+# An insert ignore that does not update anything must be written to the binary log in SBR
+# and MIXED modes. We check this property by counting occurrences in t1 before and after
+# the insert and comparing the binlog positions. The count should be the same in both points
+# and the statement should be in the binary log.
+--connection master
+--let $binlog_file= query_get_value("SHOW MASTER STATUS", File, 1)
+--let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1)
+--let $statement_file=INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a
+--eval $statement_file
+
+--let $assert_cond= COUNT(*) = 6 FROM t1
+--let $assert_text= Count of elements in t1 should be 6.
+--source include/assert.inc
+
+if (`SELECT @@BINLOG_FORMAT = 'ROW'`)
+{
+ --let $binlog_position_cmp= =
+ --let $assert_cond= [SHOW MASTER STATUS, Position, 1] $binlog_position_cmp $binlog_start
+ --let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
+}
+if (`SELECT @@BINLOG_FORMAT != 'ROW'`)
+{
+ --let $assert_cond= \'[\'SHOW BINLOG EVENTS IN "$binlog_file" FROM $binlog_start LIMIT 2, 1\', Info, 1]\' LIKE \'%$statement_file\'
+ --let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
+}
+--source include/assert.inc
+
+# Clean up
+--connection master
drop table t1, t2;
-sync_slave_with_master;
-
-# End of 4.1 tests
+--sync_slave_with_master
diff --git a/mysql-test/extra/rpl_tests/rpl_loaddata.test b/mysql-test/extra/rpl_tests/rpl_loaddata.test
index ed89bd66531..0b3fcc25b33 100644
--- a/mysql-test/extra/rpl_tests/rpl_loaddata.test
+++ b/mysql-test/extra/rpl_tests/rpl_loaddata.test
@@ -11,13 +11,10 @@
# check if START SLAVE, RESET SLAVE, CHANGE MASTER reset Last_slave_error and
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986)
+-- source include/have_binlog_format_statement.inc
-- source include/master-slave.inc
source include/have_innodb.inc;
-connection slave;
-reset master;
-connection master;
-
--disable_query_log
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
--enable_query_log
@@ -25,7 +22,7 @@ CALL mtr.add_suppression("Unsafe statement written to the binary log using state
# MTR is not case-sensitive.
let $lower_stmt_head= load data;
let $UPPER_STMT_HEAD= LOAD DATA;
-if (`SELECT '$lock_option' <> ''`)
+if ($lock_option)
{
#if $lock_option is null, an extra blank is added into the statement,
#this will change the result of rpl_loaddata test case. so $lock_option
@@ -48,9 +45,7 @@ create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60))
insert into t3 select * from t2;
--enable_warnings
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from t1;
select * from t3;
@@ -62,9 +57,7 @@ drop table t2;
drop table t3;
create table t1(a int, b int, unique(b));
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
# See if slave stops when there's a duplicate entry for key error in LOAD DATA
@@ -75,21 +68,18 @@ eval $lower_stmt_head infile '../../std_data/rpl_loaddata.dat' into table t1;
save_master_pos;
connection slave;
-# The SQL slave thread should be stopped now.
---source include/wait_for_slave_sql_to_stop.inc
+# 1062 = ER_DUP_ENTRY
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error_and_skip.inc
# Skip the bad event and see if error is cleared in SHOW SLAVE STATUS by START
# SLAVE, even though we are not executing any event (as sql_slave_skip_counter
# takes us directly to the end of the relay log).
-set global sql_slave_skip_counter=1;
-start slave;
sync_with_master;
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
-echo Last_SQL_Errno=$last_error;
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
-echo Last_SQL_Error;
-echo $last_error;
+--source include/check_slave_no_error.inc
# Trigger error again to test CHANGE MASTER
@@ -103,17 +93,15 @@ connection slave;
# The SQL slave thread should be stopped now.
# Exec_Master_Log_Pos should point to the start of Execute event
# for last load data.
---source include/wait_for_slave_sql_to_stop.inc
+# 1062 = ER_DUP_ENTRY
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error.inc
# CHANGE MASTER and see if error is cleared in SHOW SLAVE STATUS.
-stop slave;
+--source include/stop_slave_io.inc
change master to master_user='test';
change master to master_user='root';
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
-echo Last_SQL_Errno=$last_error;
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
-echo Last_SQL_Error;
-echo $last_error;
+--source include/check_slave_no_error.inc
# Trigger error again to test RESET SLAVE
@@ -128,16 +116,14 @@ eval $lower_stmt_head infile '../../std_data/rpl_loaddata.dat' into table t1;
save_master_pos;
connection slave;
# The SQL slave thread should be stopped now.
---source include/wait_for_slave_sql_to_stop.inc
+# 1062 = ER_DUP_ENTRY
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error.inc
# RESET SLAVE and see if error is cleared in SHOW SLAVE STATUS.
stop slave;
reset slave;
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
-echo Last_SQL_Errno=$last_error;
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
-echo Last_SQL_Error;
-echo $last_error;
+--source include/check_slave_no_error.inc
# Finally, see if logging is done ok on master for a failing LOAD DATA INFILE
@@ -166,9 +152,13 @@ eval $lower_stmt_head infile '../../std_data/rpl_loaddata2.dat' into table t2 fi
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
connection slave;
+
if (`SELECT @@global.binlog_format != 'ROW'`)
{
- --source include/wait_for_slave_sql_to_stop.inc
+ # Query causes error on master but not on slave. This causes the slave to
+ # stop with error code 0 (which is wrong: see BUG#57287)
+ --let $slave_sql_errno= 0
+ --source include/wait_for_slave_sql_error.inc
drop table t1, t2;
}
connection master;
@@ -180,11 +170,12 @@ CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
--error ER_DUP_ENTRY
eval $UPPER_STMT_HEAD INFILE "../../std_data/words.dat" INTO TABLE t1;
-DROP TABLE IF EXISTS t1;
+DROP TABLE t1;
# BUG#48297: Schema name is ignored when LOAD DATA is written into binlog,
# replication aborts
--- source include/master-slave-reset.inc
+-- let $rpl_only_running_threads= 1
+-- source include/rpl_reset.inc
-- let $db1= b48297_db1
-- let $db2= b42897_db2
@@ -245,8 +236,7 @@ connect (conn2,localhost,root,,*NO-ONE*);
-- sync_slave_with_master
-- eval use $db1
-let $diff_table_1=master:$db1.t1;
-let $diff_table_2=slave:$db1.t1;
+let $diff_tables= master:$db1.t1, slave:$db1.t1;
source include/diff_tables.inc;
-- connection master
@@ -257,7 +247,7 @@ source include/diff_tables.inc;
-- sync_slave_with_master
# BUG#49479: LOAD DATA INFILE is binlogged without escaping field names
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
use test;
CREATE TABLE t1 (`key` TEXT, `text` TEXT);
@@ -268,6 +258,5 @@ SELECT * FROM t1;
-- sync_slave_with_master
-- connection master
DROP TABLE t1;
--- sync_slave_with_master
-# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test
index da251068ba1..892d926a156 100644
--- a/mysql-test/extra/rpl_tests/rpl_log.test
+++ b/mysql-test/extra/rpl_tests/rpl_log.test
@@ -126,7 +126,7 @@ DROP TABLE t3;
# Reset binlog so that show binlog events will not show the tests
# above.
-source include/master-slave-reset.inc;
+source include/rpl_reset.inc;
connection master;
create table t1(a int auto_increment primary key, b int);
diff --git a/mysql-test/extra/rpl_tests/rpl_max_relay_size.test b/mysql-test/extra/rpl_tests/rpl_max_relay_size.test
index 8415522ec92..d8cd4f2d284 100644
--- a/mysql-test/extra/rpl_tests/rpl_max_relay_size.test
+++ b/mysql-test/extra/rpl_tests/rpl_max_relay_size.test
@@ -6,9 +6,6 @@
# Requires statement logging
-- source include/master-slave.inc
-# We have to sync with master, to ensure slave had time to start properly
-# before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log.
-sync_slave_with_master;
connection slave;
stop slave;
connection master;
@@ -117,3 +114,4 @@ set global max_binlog_size= @my_max_binlog_size;
--echo #
--echo # End of 4.1 tests
--echo #
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_multi_query.test b/mysql-test/extra/rpl_tests/rpl_multi_query.test
index 2438556450d..ae2a3aa45d2 100644
--- a/mysql-test/extra/rpl_tests/rpl_multi_query.test
+++ b/mysql-test/extra/rpl_tests/rpl_multi_query.test
@@ -7,9 +7,6 @@
# PS doesn't support multi-statements
--disable_ps_protocol
-- source include/master-slave.inc
---disable_warnings
-drop database if exists mysqltest;
---enable_warnings
create database mysqltest;
delimiter /;
@@ -25,4 +22,5 @@ select * from mysqltest.t1;
connection master;
source include/show_binlog_events.inc;
drop database mysqltest;
-sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_multi_update.test b/mysql-test/extra/rpl_tests/rpl_multi_update.test
index 121ae18daa8..bf7707f9d6d 100644
--- a/mysql-test/extra/rpl_tests/rpl_multi_update.test
+++ b/mysql-test/extra/rpl_tests/rpl_multi_update.test
@@ -19,12 +19,11 @@ SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
UPDATE t1, t2 SET t1.b = t2.b WHERE t1.a = t2.a;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
# End of 4.1 tests
connection master;
drop table t1, t2;
-sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test b/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test
index 40439d59dee..bba860ab9aa 100644
--- a/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test
+++ b/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test
@@ -230,7 +230,7 @@ connection master;
# Reset both slave and master
# This should reset binlog to #1
---source include/master-slave-reset.inc
+--source include/rpl_reset.inc
--echo
diff --git a/mysql-test/extra/rpl_tests/rpl_not_null.test b/mysql-test/extra/rpl_tests/rpl_not_null.test
index 58dbd9ce29f..cbb6b787f11 100644
--- a/mysql-test/extra/rpl_tests/rpl_not_null.test
+++ b/mysql-test/extra/rpl_tests/rpl_not_null.test
@@ -71,12 +71,10 @@ INSERT INTO t4(a) VALUES (5);
sync_slave_with_master;
--echo TABLES t1 and t2 must be equal otherwise an error will be thrown.
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
--echo TABLES t2 and t3 must be different.
@@ -101,8 +99,7 @@ REPLACE INTO t1(a,b,c) VALUES (2, NULL, 300);
sync_slave_with_master;
--echo TABLES t1 and t2 must be equal otherwise an error will be thrown.
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
--echo ************* CLEANING *************
@@ -154,8 +151,7 @@ REPLACE INTO t1(a,b,c) VALUES (2, NULL, b'00');
--echo ************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
--echo TABLES t1 and t2 must be equal otherwise an error will be thrown.
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
connection master;
@@ -177,7 +173,7 @@ sync_slave_with_master;
#--source include/wait_for_slave_to_start.inc
#
#let $y=0;
-#while (`select $y < 6`)
+#while ($y < 6)
#{
# connection master;
#
@@ -202,21 +198,21 @@ sync_slave_with_master;
# `c` INT DEFAULT 500,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
#
-# if (`select $y=0`)
+# if ($y==0)
# {
# --echo ************* EXECUTION WITH INSERTS *************
# connection master;
# INSERT INTO t1(a) VALUES (1);
# }
#
-# if (`select $y=1`)
+# if ($y==1)
# {
# --echo ************* EXECUTION WITH INSERTS *************
# connection master;
# INSERT INTO t1(a, b) VALUES (1, NULL);
# }
#
-# if (`select $y=2`)
+# if ($y==2)
# {
# --echo ************* EXECUTION WITH UPDATES *************
# connection master;
@@ -225,14 +221,14 @@ sync_slave_with_master;
# UPDATE t3 SET b = NULL where a= 1;
# }
#
-# if (`select $y=3`)
+# if ($y==3)
# {
# --echo ************* EXECUTION WITH INSERTS/REPLACES *************
# connection master;
# REPLACE INTO t3(a, b) VALUES (1, null);
# }
#
-# if (`select $y=4`)
+# if ($y==4)
# {
# --echo ************* EXECUTION WITH UPDATES/REPLACES *************
# connection master;
@@ -240,7 +236,7 @@ sync_slave_with_master;
# REPLACE INTO t3(a, b) VALUES (1, null);
# }
#
-# if (`select $y=5`)
+# if ($y==5)
# {
# --echo ************* EXECUTION WITH MULTI-ROW INSERTS *************
# connection master;
@@ -273,7 +269,7 @@ sync_slave_with_master;
# SELECT * FROM t3 ORDER BY a;
# connection slave;
# SELECT * FROM t3 ORDER BY a;
-# --source include/reset_master_and_slave.inc
+# --source include/rpl_reset.inc
#
# connection master;
#
diff --git a/mysql-test/extra/rpl_tests/rpl_record_compare.test b/mysql-test/extra/rpl_tests/rpl_record_compare.test
index dc27dcb1f9d..210aee025d0 100644
--- a/mysql-test/extra/rpl_tests/rpl_record_compare.test
+++ b/mysql-test/extra/rpl_tests/rpl_record_compare.test
@@ -4,7 +4,7 @@
#
-- echo ## case #1 - last_null_bit_pos==0 in record_compare without X bit
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
-- eval CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 varchar(1) DEFAULT '', c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0, c8 bigint(20) DEFAULT 0) ENGINE=$engine DEFAULT CHARSET=latin1
@@ -16,8 +16,7 @@ UPDATE t1 SET c5 = 'a';
-- enable_warnings
-- sync_slave_with_master
--- let $diff_table_1= master:test.t1
--- let $diff_table_2= slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
--connection master
@@ -26,7 +25,7 @@ DROP TABLE t1;
-- echo ## case #1.1 - last_null_bit_pos==0 in record_compare with X bit
-- echo ## (1 column less and no varchar)
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
-- eval CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 bigint(20) DEFAULT 0, c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0) ENGINE=$engine DEFAULT CHARSET=latin1
@@ -38,8 +37,7 @@ UPDATE t1 SET c5 = 'a';
-- enable_warnings
-- sync_slave_with_master
--- let $diff_table_1= master:test.t1
--- let $diff_table_2= slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
--connection master
@@ -48,7 +46,7 @@ DROP TABLE t1;
-- echo ## case #2 - X bit is wrongly set.
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
-- eval CREATE TABLE t1 (c1 int, c2 varchar(1) default '') ENGINE=$engine DEFAULT CHARSET= latin1
@@ -57,12 +55,31 @@ INSERT INTO t1(c1) VALUES (NULL);
UPDATE t1 SET c1= 0;
-- sync_slave_with_master
--- let $diff_table_1= master:test.t1
--- let $diff_table_2= slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
DROP TABLE t1;
-- sync_slave_with_master
+#
+# BUG#11766865: 60091: RBR + NO PK + UPDATE NULL VALUE --> SLAVE BREAK WITH ERROR HA_ERR_END_OF_
+#
+
+--connection master
+--source include/rpl_reset.inc
+--connection master
+
+--eval CREATE TABLE t1 (c1 int(11) NOT NULL, c2 int(11) NOT NULL, c3 int(11) DEFAULT '-1') ENGINE=$engine DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (1,2,NULL);
+UPDATE t1 SET c1=1, c2=2, c3=-1 WHERE c1=1 AND c2=2 AND ISNULL(c3);
+
+--sync_slave_with_master
+
+--let $diff_tables=master:test.t1, slave:test.t1
+--source include/diff_tables.inc
+
+--connection master
+DROP TABLE t1;
+--sync_slave_with_master
diff --git a/mysql-test/extra/rpl_tests/rpl_reset_slave.test b/mysql-test/extra/rpl_tests/rpl_reset_slave.test
index e76cf1530ee..14b457f601e 100644
--- a/mysql-test/extra/rpl_tests/rpl_reset_slave.test
+++ b/mysql-test/extra/rpl_tests/rpl_reset_slave.test
@@ -55,9 +55,9 @@ source include/check_slave_no_error.inc;
change master to master_user='impossible_user_name';
start slave;
let $slave_io_errno= 1045;
-source include/wait_for_slave_io_error.inc;
+--source include/wait_for_slave_io_error.inc
+--source include/stop_slave_sql.inc
-stop slave;
change master to master_user='root';
source include/start_slave.inc;
source include/check_slave_no_error.inc;
@@ -70,8 +70,12 @@ stop slave;
change master to master_user='impossible_user_name';
start slave;
let $slave_io_errno= 1045;
-source include/wait_for_slave_io_error.inc;
+--source include/wait_for_slave_io_error.inc
+--source include/stop_slave_sql.inc
-stop slave;
reset slave;
source include/check_slave_no_error.inc;
+change master to master_user='root';
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_row_UUID.test b/mysql-test/extra/rpl_tests/rpl_row_UUID.test
index 9f2dbb4ce4b..368596d4fbc 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_UUID.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_UUID.test
@@ -75,5 +75,3 @@ diff_files $MYSQLTEST_VARDIR/tmp/rpl_row_UUID_master.sql $MYSQLTEST_VARDIR/tmp/r
# this cleanup as no other test will use these files and they'll
# be removed at next testsuite run.
-# End of 5.0 test case
--- source include/master-slave-end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_row_basic.test b/mysql-test/extra/rpl_tests/rpl_row_basic.test
index 72d4a8ac759..fee0cace294 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_basic.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_basic.test
@@ -158,8 +158,8 @@ SELECT * FROM t5,t2,t3 WHERE t5.C2='Q' AND t2.c12='R' AND t3.C3 ='S' ORDER BY t5
#
if (`select char_length('$bit_field_special') > 0`) {
- SET @saved_slave_type_conversions = @@SLAVE_TYPE_CONVERSIONS;
connection slave;
+ SET @saved_slave_type_conversions = @@SLAVE_TYPE_CONVERSIONS;
eval SET GLOBAL SLAVE_TYPE_CONVERSIONS = '$bit_field_special';
}
@@ -252,7 +252,7 @@ DELETE FROM t1;
sync_slave_with_master;
# Just to get a clean binary log
-source include/reset_master_and_slave.inc;
+--source include/rpl_reset.inc
--echo **** On Master ****
connection master;
@@ -368,8 +368,7 @@ INSERT INTO t1 VALUES (1, "", 1);
INSERT INTO t1 VALUES (2, repeat(_utf8'a', 16), 2);
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
--echo [expecting slave to replicate correctly]
@@ -378,20 +377,17 @@ INSERT INTO t2 VALUES (1, "", 1);
INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2);
sync_slave_with_master;
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
connection slave;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, Error_code: 1677");
-connection master;
-RESET MASTER;
-connection slave;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
+--let $rpl_only_running_threads= 1
+--source include/rpl_reset.inc
--echo [expecting slave to replicate correctly]
connection master;
@@ -399,8 +395,7 @@ INSERT INTO t4 VALUES (1, "", 1);
INSERT INTO t4 VALUES (2, repeat(_utf8'a', 128), 2);
sync_slave_with_master;
-let $diff_table_1=master:test.t4;
-let $diff_table_2=slave:test.t4;
+let $diff_tables= master:t4, slave:t4;
source include/diff_tables.inc;
--echo [expecting slave to stop]
@@ -413,13 +408,8 @@ connection slave;
--let $slave_sql_errno= 1677
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
-connection master;
-RESET MASTER;
-connection slave;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
+
+--source include/rpl_reset.inc
--echo [expecting slave to stop]
connection master;
@@ -431,13 +421,8 @@ connection slave;
--let $slave_sql_errno= 1677
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
-connection master;
-RESET MASTER;
-connection slave;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
+
+--source include/rpl_reset.inc
--echo [expecting slave to replicate correctly]
connection master;
@@ -445,8 +430,7 @@ INSERT INTO t7 VALUES (1, "", 1);
INSERT INTO t7 VALUES (2, repeat(_utf8'a', 255), 2);
sync_slave_with_master;
-let $diff_table_1=master:test.t7;
-let $diff_table_2=slave:test.t7;
+let $diff_tables= master:t7, slave:t7;
source include/diff_tables.inc;
connection master;
@@ -466,8 +450,7 @@ UPDATE t1 SET a = 10;
INSERT INTO t1 VALUES (4);
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
connection master;
@@ -545,8 +528,7 @@ UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6;
--sync_slave_with_master
--echo *** results: t2 must be consistent ****
-let $diff_table_1=master:test.t2;
-let $diff_table_2=master:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
--connection master
@@ -584,8 +566,7 @@ UPDATE t1 SET a = 8 WHERE a < 5;
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
connection master;
@@ -604,8 +585,8 @@ connection master;
# Since t1 contain a bit field, we have to do this trick to handle InnoDB
if (`select char_length('$bit_field_special') > 0`) {
- SET @saved_slave_type_conversions = @@SLAVE_TYPE_CONVERSIONS;
connection slave;
+ SET @saved_slave_type_conversions = @@SLAVE_TYPE_CONVERSIONS;
eval SET GLOBAL SLAVE_TYPE_CONVERSIONS = '$bit_field_special';
}
@@ -659,8 +640,7 @@ if (`select char_length('$bit_field_special') > 0`) {
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
}
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
connection master;
diff --git a/mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test b/mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test
index 214027160a9..bad308ff814 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test
@@ -14,9 +14,8 @@ flush tables;
SELECT * FROM t1 ORDER BY a;
sync_slave_with_master;
-connection master;
-sync_slave_with_master;
SELECT * FROM t1 ORDER BY a;
connection master;
drop table t1;
-sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_row_sp002.test b/mysql-test/extra/rpl_tests/rpl_row_sp002.test
index 5a2ab1912b8..90c273eb026 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_sp002.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_sp002.test
@@ -1,9 +1,6 @@
#############################################################################
# This test is being created to test out the non deterministic items with #
# row based replication. #
-# Original Author: JBM #
-# Original Date: Aug/09/2005 #
-# Updated: Aug/29/2005 #
#############################################################################
# Test: Contains two stored procedures test one that insert data into tables#
# and use the LAST_INSERTED_ID() on tables with FOREIGN KEY(a) #
@@ -13,9 +10,6 @@
# the table depending on the CASE outcome. The test uses this SP in a#
# transaction first rolling back and then commiting, #
#############################################################################
-# Mod Date: 08/22/2005 #
-# TEST: Added test to include UPDATE CASCADE on table with FK per Trudy #
-#############################################################################
@@ -23,19 +17,6 @@
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
-
-# Begin clean up test section
-connection master;
---disable_warnings
-DROP PROCEDURE IF EXISTS test.p1;
-DROP PROCEDURE IF EXISTS test.p2;
-DROP PROCEDURE IF EXISTS test.p3;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
---enable_warnings
-# End of cleanup
-
# Begin test section 1
eval CREATE TABLE test.t1 (a INT AUTO_INCREMENT KEY, t CHAR(6)) ENGINE=$engine_type;
@@ -71,9 +52,7 @@ SELECT * FROM test.t2;
let $message=< -- test 1 select slave after p1 -- >;
--source include/show_msg.inc
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
SELECT * FROM test.t1;
SELECT * FROM test.t2;
@@ -86,9 +65,7 @@ SELECT * FROM test.t2;
let $message=< -- test 1 select slave after p2 -- >;
--source include/show_msg.inc
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
SELECT * FROM test.t1;
SELECT * FROM test.t2;
@@ -136,9 +113,7 @@ SELECT * FROM test.t2;
let $message=< -- test 2 select Slave after p1 -- >;
--source include/show_msg.inc
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
SELECT * FROM test.t1;
SELECT * FROM test.t2;
@@ -153,9 +128,7 @@ SELECT * FROM test.t2;
let $message=< -- test 1 select Slave after p2 -- >;
--source include/show_msg.inc
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
SELECT * FROM test.t1;
SELECT * FROM test.t2;
@@ -195,9 +168,7 @@ while ($n)
ROLLBACK;
select * from test.t3;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from test.t3;
connection master;
@@ -216,9 +187,7 @@ while ($n)
COMMIT;
select * from test.t3;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select * from test.t3;
connection master;
@@ -228,12 +197,12 @@ connection master;
# First lets cleanup
SET AUTOCOMMIT=1;
SET FOREIGN_KEY_CHECKS=0;
-DROP PROCEDURE IF EXISTS test.p3;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP PROCEDURE IF EXISTS test.p2;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-sync_slave_with_master;
+DROP PROCEDURE test.p3;
+DROP PROCEDURE test.p1;
+DROP PROCEDURE test.p2;
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP TABLE test.t3;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_row_sp003.test b/mysql-test/extra/rpl_tests/rpl_row_sp003.test
index 7bc326a3791..d2c2ea0caf3 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_sp003.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_sp003.test
@@ -35,10 +35,23 @@ connection master1;
send CALL test.p1();
connection master;
-# To make sure tha the call on master1 arrived at the get_lock
-sleep 1;
+# Make sure that the call on master1 arrived at the get_lock.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = 'User lock' and
+ info = 'SELECT get_lock("test", 100)';
+--source include/wait_condition.inc
CALL test.p2();
SELECT release_lock("test");
+
+connection master1;
+# Reap CALL test.p1() to ensure that it has fully completed
+# before doing any selects on test.t1.
+--reap
+# Release lock acquired by it.
+SELECT release_lock("test");
+
+connection master;
SELECT * FROM test.t1;
#show binlog events;
--source include/wait_for_ndb_to_binlog.inc
@@ -51,6 +64,7 @@ DROP TABLE IF EXISTS test.t1;
eval CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=$engine_type;
CALL test.p2();
CALL test.p1();
+SELECT release_lock("test");
SELECT * FROM test.t1;
sync_slave_with_master;
diff --git a/mysql-test/extra/rpl_tests/rpl_row_sp007.test b/mysql-test/extra/rpl_tests/rpl_row_sp007.test
index 8f2b72e4d32..492cd2d88f1 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_sp007.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_sp007.test
@@ -1,8 +1,4 @@
#############################################################################
-# Original Author: JBM #
-# Original Date: Aug/15/2005 #
-# Updated: 08/29/2005 Remove sleeps #
-#############################################################################
# TEST: SP that creates table, starts tranaction inserts. Save point, insert#
# rollback to save point and then commits. #
#############################################################################
@@ -10,14 +6,6 @@
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
-# Begin clean up test section
-connection master;
---disable_warnings
-DROP PROCEDURE IF EXISTS test.p1;
-DROP TABLE IF EXISTS test.t1;
---enable_warnings
-# End of cleanup
-
# Begin test section 1
delimiter |;
eval CREATE PROCEDURE test.p1(IN i INT)
@@ -42,9 +30,7 @@ SELECT * FROM test.t1;
let $message=< ---- Slave selects-- >;
--source include/show_msg.inc
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
SELECT * FROM test.t1;
let $message=< ---- Master selects-- >;
@@ -55,16 +41,15 @@ SELECT * FROM test.t1;
let $message=< ---- Slave selects-- >;
--source include/show_msg.inc
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
SELECT * FROM test.t1;
connection master;
#show binlog events;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP TABLE IF EXISTS test.t1;
+DROP PROCEDURE test.p1;
+DROP TABLE test.t1;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test b/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
index 9e752e4b69f..76432febd5e 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_tabledefs.test
@@ -147,6 +147,8 @@ sync_slave_with_master;
connection master;
INSERT INTO t4 VALUES (4);
connection slave;
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* Error_code: 1677");
--let $slave_skip_counter= 2
--let $slave_sql_errno= 1677
--let $show_slave_sql_error= 1
diff --git a/mysql-test/extra/rpl_tests/rpl_set_null.test b/mysql-test/extra/rpl_tests/rpl_set_null.test
index f2aba089279..3755c8bbfa5 100644
--- a/mysql-test/extra/rpl_tests/rpl_set_null.test
+++ b/mysql-test/extra/rpl_tests/rpl_set_null.test
@@ -29,7 +29,7 @@
# BUG#49481: RBR: MyISAM and bit fields may cause slave to stop on
# delete cant find record
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
-- eval CREATE TABLE t1 (c1 BIT, c2 INT) Engine=$engine
@@ -37,8 +37,7 @@ INSERT INTO `t1` VALUES ( 1, 1 );
UPDATE t1 SET c1=NULL where c2=1;
-- sync_slave_with_master
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
@@ -46,15 +45,14 @@ UPDATE t1 SET c1=NULL where c2=1;
DELETE FROM t1 WHERE c2=1 LIMIT 1;
-- sync_slave_with_master
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
DROP TABLE t1;
-- sync_slave_with_master
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
@@ -68,8 +66,7 @@ SELECT * FROM t1;
UPDATE t1 SET c1=NULL WHERE c1='w';
-- sync_slave_with_master
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
@@ -77,8 +74,7 @@ UPDATE t1 SET c1=NULL WHERE c1='w';
DELETE FROM t1 LIMIT 2;
-- sync_slave_with_master
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
diff --git a/mysql-test/extra/rpl_tests/rpl_show_binlog_events.inc b/mysql-test/extra/rpl_tests/rpl_show_binlog_events.inc
new file mode 100644
index 00000000000..4530f8c639a
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_show_binlog_events.inc
@@ -0,0 +1,17 @@
+# Include file for rpl_show_relaylog_events.inc
+
+--let $log_type= BINLOG
+if ($is_relay_log) {
+ --let $log_type= RELAYLOG
+}
+--let $args=
+if ($binlog_file != '') {
+ --let $args= IN <FILE>
+}
+if ($binlog_limit) {
+ --let $args= $args LIMIT $binlog_limit
+}
+--echo ******** [$CURRENT_CONNECTION] SHOW $log_type EVENTS $args ********
+--source include/show_events.inc
+
+
diff --git a/mysql-test/extra/rpl_tests/rpl_show_log_events_with_varying_options.inc b/mysql-test/extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
new file mode 100644
index 00000000000..411f388aaf3
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
@@ -0,0 +1,11 @@
+# Include file for rpl_show_log_events.inc
+
+--let $binlog_limit=
+--source extra/rpl_tests/rpl_show_binlog_events.inc
+--let $binlog_limit= 1
+--source extra/rpl_tests/rpl_show_binlog_events.inc
+--let $binlog_limit= 1,3
+--source extra/rpl_tests/rpl_show_binlog_events.inc
+--let $binlog_limit=
+--let $binlog_file=
+--source extra/rpl_tests/rpl_show_binlog_events.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc b/mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc
index d32dd485e19..a56e08ece42 100644
--- a/mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc
+++ b/mysql-test/extra/rpl_tests/rpl_show_relaylog_events.inc
@@ -1,103 +1,62 @@
-- connection master
+-- source include/rpl_reset.inc
+
+-- connection master
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-
--- echo [MASTER] ********* SOW BINLOG EVENTS IN ... *********
--- source include/show_binlog_events.inc
-
--- echo [MASTER] ********* SOW BINLOG EVENTS *********
-let $binlog_file= ;
--- source include/show_binlog_events.inc
-
--- echo [MASTER] ********* SOW BINLOG EVENTS ... LIMIT rows *********
-let $binlog_limit= 3;
--- source include/show_binlog_events.inc
-
--- echo [MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
-let $binlog_limit= 1,4;
--- source include/show_binlog_events.inc
-
-# clear show_binlog_event/show_relaylog_events parameters
-let $binlog_limit= ;
-
--- sync_slave_with_master
-
--- echo [SLAVE] ********* SOW BINLOG EVENTS IN ... *********
--- source include/show_binlog_events.inc
-
--- echo [SLAVE] ********* SOW BINLOG EVENTS *********
-let $binlog_file= ;
--- source include/show_binlog_events.inc
-
--- echo [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT rows *********
-let $binlog_limit= 3;
--- source include/show_binlog_events.inc
-
--- echo [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
-let $binlog_limit= 1,4;
--- source include/show_binlog_events.inc
-
-# clear show_binlog_event/show_relaylog_events parameters
-let $binlog_limit= ;
-
--- echo [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
-let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
--- source include/show_relaylog_events.inc
-
--- echo [SLAVE] ********* SOW RELAYLOG EVENTS *********
-let $binlog_file= ;
--- source include/show_relaylog_events.inc
--- echo [MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT rows *********
-let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
-let $binlog_limit= 3;
--- source include/show_relaylog_events.inc
-
--- echo [MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT offset,rows *********
-let $binlog_limit= 1,3;
--- source include/show_relaylog_events.inc
+# PART I
+#
+# SHOWs contents of binary logs on the master and both, binary and
+# relay logs, on the slave.
+#
+
+--let $is_relay_log= 0
+--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+--source extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
+
+--sync_slave_with_master
+--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+--source extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
+
+--let $is_relay_log= 1
+--let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1)
+--source extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
+
+#
+# PART II
+#
+# Although this second part of the test may seem redudant it is
+# actually needed to assert that SHOW RELAYLOG EVENTS works properly
+# with respect to the ordering of the relay log in relay-log.index.
+#
+# If no file is specified with "IN" then first relay log file in
+# relay-log.index (ie, the oldest one) should be picked and its
+# contents displayed. The same happens for SHOW BINLOG EVENTS, so we
+# show them both. All in all, this is the reason for re-assert after
+# MASTER and SLAVE's FLUSH LOGS operations.
+#
FLUSH LOGS;
-let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
-
-- connection master
FLUSH LOGS;
DROP TABLE t1;
-# clear show_binlog_event/show_relaylog_events parameters
-let $binlog_file= ;
-let $binlog_limit= ;
-
--- echo [MASTER] ********* SOW BINLOG EVENTS IN ... *********
-let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
--- source include/show_binlog_events.inc
-
--- echo [MASTER] ********* SOW BINLOG EVENTS *********
-let $binlog_file= ;
--- source include/show_binlog_events.inc
+--let $is_relay_log= 0
+--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+--source extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
--- sync_slave_with_master
+--sync_slave_with_master
+--let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+--source extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
--- echo [SLAVE] ********* SOW BINLOG EVENTS IN ... *********
-let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
--- source include/show_binlog_events.inc
+--let $is_relay_log= 1
+--let $binlog_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1)
+--source extra/rpl_tests/rpl_show_log_events_with_varying_options.inc
--- echo [SLAVE] ********* SOW BINLOG EVENTS *********
-let $binlog_file= ;
--- source include/show_binlog_events.inc
-
--- echo [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
--- source include/show_relaylog_events.inc
-
--- echo [SLAVE] ********* SOW RELAYLOG EVENTS *********
-let $binlog_file= ;
--- source include/show_relaylog_events.inc
# clear show_binlog_event/show_relaylog_events parameters
let $binlog_file= ;
diff --git a/mysql-test/extra/rpl_tests/rpl_start_stop_slave.test b/mysql-test/extra/rpl_tests/rpl_start_stop_slave.test
index f7e4f204afa..e42affebaed 100644
--- a/mysql-test/extra/rpl_tests/rpl_start_stop_slave.test
+++ b/mysql-test/extra/rpl_tests/rpl_start_stop_slave.test
@@ -125,4 +125,58 @@ drop table t1i, t2m;
sync_slave_with_master;
-# End of tests
+--echo #
+--echo # Bug#56096 STOP SLAVE hangs if executed in parallel with user sleep
+--echo #
+
+--connection master
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (a INT );
+
+sync_slave_with_master;
+
+--connection slave1
+--echo # Slave1: lock table for synchronization
+LOCK TABLES t1 WRITE;
+
+--connection master
+--echo # Master: insert into the table
+INSERT INTO t1 SELECT SLEEP(4);
+
+--connection slave
+--echo # Slave: wait for the insert
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE STATE = "Waiting for table metadata lock"
+ AND INFO = "INSERT INTO t1 SELECT SLEEP(4)";
+--source include/wait_condition.inc
+
+--echo # Slave: send slave stop
+--send STOP SLAVE
+
+--connection slave1
+--echo # Slave1: wait for stop slave
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE INFO = "STOP SLAVE";
+--source include/wait_condition.inc
+
+--echo # Slave1: unlock the table
+UNLOCK TABLES;
+
+--connection slave
+--echo # Slave: wait for the slave to stop
+--reap
+--source include/wait_for_slave_to_stop.inc
+
+--echo # Start slave again
+--source include/start_slave.inc
+
+--echo # Clean up
+--connection master
+DROP TABLE t1;
+sync_slave_with_master;
diff --git a/mysql-test/extra/rpl_tests/rpl_stm_000001.test b/mysql-test/extra/rpl_tests/rpl_stm_000001.test
deleted file mode 100644
index 175d80aa183..00000000000
--- a/mysql-test/extra/rpl_tests/rpl_stm_000001.test
+++ /dev/null
@@ -1,131 +0,0 @@
-# Requires binlog_format=statement format since query involving
-# get_lock() is logged in row format if binlog_format=mixed or row.
--- source include/have_binlog_format_statement.inc
--- source include/master-slave.inc
-
-CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
-# Load some data into t1
-create table t1 (word char(20) not null);
-load data infile '../../std_data/words.dat' into table t1;
---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
-select * from t1 limit 10;
-
-#
-# Test slave with wrong password
-#
-sync_slave_with_master;
-stop slave;
-connection master;
-set password for root@"localhost" = password('foo');
-connection slave;
-start slave;
-connection master;
-#
-# Give slave time to do at last one failed connect retry
-# This one must be short so that the slave will not stop retrying
-real_sleep 2;
-set password for root@"localhost" = password('');
-# Give slave time to connect (will retry every second)
-sleep 2;
-
-create table t3(n int);
-insert into t3 values(1),(2);
-sync_slave_with_master;
-select * from t3;
-select sum(length(word)) from t1;
-connection master;
-drop table t1,t3;
-sync_slave_with_master;
-
-# Test if the slave SQL thread can be more than 16K behind the slave
-# I/O thread (> IO_SIZE)
-
-connection master;
-# we'll use table-level locking to delay slave SQL thread
-eval create table t1 (n int) engine=$engine_type;
-sync_slave_with_master;
-connection master;
-reset master;
-connection slave;
-stop slave;
-reset slave;
-
-connection master;
-let $1=5000;
-# Generate 16K of relay log
-disable_query_log;
-while ($1)
-{
- eval insert into t1 values($1);
- dec $1;
-}
-enable_query_log;
-
-# Try to cause a large relay log lag on the slave by locking t1
-connection slave;
-lock tables t1 read;
-start slave;
-connection master;
---source include/sync_slave_io_with_master.inc
-unlock tables;
-
-#test handling of aborted connection in the middle of update
-
-connection master;
-create table t2(id int);
-insert into t2 values(connection_id());
-
-connection master1;
-# Avoid generating result
-create temporary table t3(n int);
---disable_warnings
-insert into t3 select get_lock('crash_lock%20C', 1) from t2;
---enable_warnings
-
-connection master;
-send update t1 set n = n + get_lock('crash_lock%20C', 2);
-connection master1;
-sleep 3;
-select (@id := id) - id from t2;
-kill @id;
-# We don't drop t3 as this is a temporary table
-drop table t2;
-connection master;
-# The get_lock function causes warning for unsafe statement.
---disable_warnings
---error 1317,2013
-reap;
---enable_warnings
-connection slave;
-# The SQL slave thread should now have stopped because the query was killed on
-# the master (so it has a non-zero error code in the binlog).
---source include/wait_for_slave_sql_to_stop.inc
-
-# The following test can't be done because the result of Pos will differ
-# on different computers
-# --replace_result $MASTER_MYPORT MASTER_PORT
-# show slave status;
-
-set global sql_slave_skip_counter=1;
-start slave;
-select count(*) from t1;
-connection master1;
-drop table t1;
-create table t1 (n int);
-insert into t1 values(3456);
-insert into mysql.user (Host, User, Password)
- VALUES ("10.10.10.%", "blafasel2", password("blafasel2"));
-select select_priv,user from mysql.user where user = _binary'blafasel2';
-update mysql.user set Select_priv = "Y" where User= _binary"blafasel2";
-select select_priv,user from mysql.user where user = _binary'blafasel2';
-sync_slave_with_master;
-select n from t1;
-select select_priv,user from mysql.user where user = _binary'blafasel2';
-connection master1;
-drop table t1;
-delete from mysql.user where user="blafasel2";
-sync_slave_with_master;
-
-# End of 4.1 tests
diff --git a/mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test b/mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test
index 2c396c9a209..cc69c08fe7c 100644
--- a/mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test
+++ b/mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test
@@ -25,11 +25,17 @@ drop table t1;
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.* error code=1062.*Error on slave:.* Error_code: 0");
let $error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
let $errno= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
--echo Error: "$error" (expected different error codes on master and slave)
--echo Errno: "$errno" (expected 0)
drop table t1;
+--source include/stop_slave.inc
+# Clear error messages.
+RESET SLAVE;
# End of 4.1 tests
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test b/mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test
new file mode 100644
index 00000000000..cecbd45c02a
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_stm_create_if_not_exists.test
@@ -0,0 +1,268 @@
+--echo
+--echo
+connection master;
+
+if ($is_temporary)
+{
+ --let $_temporary=TEMPORARY
+}
+
+CREATE TABLE t2(c1 INT, c2 char(10));
+INSERT INTO t2 VALUES(1, 'abc'), (2, 'abc');
+
+--echo
+--echo # The original query should be binlogged if the table does not exist.
+--echo # ------------------------------------------------------------------
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1 (c1 INT , c2 INT, c3 char(10), c4 INT KEY)
+ SELECT 'abc' AS c3, 1 AS c4;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+--echo
+--echo # The statement should be binlogged as two events. one is
+--echo # 'CREATE $_temporary TABLE IF NOT EXISTS ..', another one is
+--echo # 'INSERT ... SELECT'.
+--echo # ------------------------------------------------------------------
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ SELECT 'abc', 2;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+--echo
+--echo # Verify if it can be binlogged with right database name when the table
+--echo # is not in the default database
+--echo
+--disable_warnings
+DROP DATABASE IF EXISTS db1;
+--enable_warnings
+CREATE DATABASE db1;
+USE db1;
+
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+eval CREATE $_temporary TABLE IF NOT EXISTS test.t1
+ SELECT 'abc', 20;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:test.t1,slave:test.t1
+ --source include/diff_tables.inc
+}
+USE test;
+DROP DATABASE db1;
+
+--echo
+--echo # It should be binlogged as 'REPLACE ... SELECT'
+--echo # if the original statement has option REPLACE
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ REPLACE SELECT '123', 2;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+--echo
+--echo # It should be binlogged as 'INSERT IGNORE... SELECT'
+--echo # if the original statement has option IGNORE
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ IGNORE SELECT '123', 2;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+--echo
+--echo # Nothing should be binlogged if error happens and no any row is inserted
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+--error ER_DUP_ENTRY
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ SELECT '123', 2;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+--echo
+--echo # Verify it can binlog well when there are some braces('(')
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ (SELECT '123', 3) UNION (SELECT '123', 4);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ REPLACE (SELECT 'abc', 3) UNION (SELECT 'abc', 4);
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ IGNORE (SELECT '123', 3) UNION (SELECT '123', 4);
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+if (!$is_temporary)
+{
+ --echo
+ --echo # Throw a warning that table already exists and don't insert anything
+ --echo
+ CREATE VIEW t3 AS SELECT * FROM t2;
+ let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+ CREATE TABLE IF NOT EXISTS t3
+ SELECT '123', 2;
+ source include/show_binlog_events.inc;
+ DROP VIEW t3;
+}
+
+--echo
+--echo # The statement can be binlogged correctly when it is in a SP/EVENT/TRIGGER
+--echo
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS p1;
+--enable_warnings
+eval CREATE PROCEDURE p1(IN a INT)
+ CREATE $_temporary TABLE IF NOT EXISTS t1 SELECT '123', a;
+
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+call p1(500);
+call p1(600);
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+DROP PROCEDURE p1;
+
+--echo
+--echo # The statement can be binlogged correctly when it is in a prepared statement
+--echo
+eval PREPARE stm FROM "CREATE $_temporary TABLE IF NOT EXISTS t1 SELECT '123', ?";
+
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+SET @a= 700;
+EXECUTE stm USING @a;
+SET @a= 800;
+EXECUTE stm USING @a;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+--echo
+--echo # The statement can be binlogged correctly when it is in a conditional comment
+--echo
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo # The whole statement in a conditional comment
+eval /*!CREATE $_temporary TABLE IF NOT EXISTS t1
+ SELECT 'abc', 900*/;
+source include/show_binlog_events.inc;
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # There is an long comment before SELECT
+eval /*!CREATE $_temporary /*blabla*/ TABLE IF NOT EXISTS t1
+ SELECT 'abc', 901*/;
+source include/show_binlog_events.inc;
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # Conditional comment starts just from SELECT
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ /*!SELECT 'abc',*/ 902;
+source include/show_binlog_events.inc;
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # Only SELECT keyword is in the conditional comment
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ /*!SELECT*/ /*!'abc',*/ 904;
+source include/show_binlog_events.inc;
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # Conditional comment is after SELECT keyword
+eval CREATE $_temporary TABLE IF NOT EXISTS t1
+ SELECT /*!'abc',*/ 903;
+source include/show_binlog_events.inc;
+let binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # Conditional comment ends just before SELECT keyword
+eval /*!CREATE $_temporary TABLE IF NOT EXISTS t1
+ */SELECT 'abc', 905;
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+--connection master
+
+if (!$is_temporary)
+{
+ --let $diff_tables= master:t1,slave:t1
+ --source include/diff_tables.inc
+}
+
+DROP TABLE t2;
+eval DROP $_temporary TABLE t1;
+
diff --git a/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test b/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test
index d0f19e6d913..977d93ec36d 100644
--- a/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test
+++ b/mysql-test/extra/rpl_tests/rpl_stop_middle_group.test
@@ -23,6 +23,8 @@ insert into tm set a=null; # to simulate killed status on the slave
commit;
connection slave;
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+call mtr.add_suppression("Slave SQL.*Slave SQL Thread stopped with incomplete event group having non-transactional changes");
# slave will catch the killed status but won't shut down immediately
# only after the whole group has done (commit)
@@ -139,9 +141,10 @@ set @@global.debug="-d";
# clean-up
#
-connection master;
-drop table tm, ti;
+# the sql thread has an error, so reset replication state
+--let $rpl_only_running_threads= 1
+--source include/rpl_reset.inc
-connection slave; # slave SQL thread is stopped
-source include/stop_slave.inc;
+connection master;
drop table tm, ti;
+--sync_slave_with_master
diff --git a/mysql-test/extra/rpl_tests/rpl_stop_slave.test b/mysql-test/extra/rpl_tests/rpl_stop_slave.test
new file mode 100644
index 00000000000..64e69cebc32
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_stop_slave.test
@@ -0,0 +1,60 @@
+#
+# Auxiliary file which is used to test BUG#56118
+#
+# Slave should apply all statements in the transaction before stop if any
+# temporary table is created or dropped.
+#
+# USEAGE:
+# --let $tmp_table_stm= a SQL statement
+# --source extra/rpl_tests/rpl_stop_slave.test
+#
+
+if (!$tmp_table_stm)
+{
+ --echo \$tmp_table_stm is NULL
+ --die $tmp_table_stm is NULL
+}
+
+--echo
+--echo [ On Master ]
+connection master;
+BEGIN;
+DELETE FROM t1;
+eval $tmp_table_stm;
+INSERT INTO t1 VALUES (1);
+DROP TEMPORARY TABLE tt1;
+COMMIT;
+
+--echo
+--echo [ On Slave ]
+connection slave;
+
+# To check if slave SQL thread is applying INSERT statement
+let $show_statement= SHOW PROCESSLIST;
+let $field= Info;
+let $condition= LIKE 'INSERT%';
+source include/wait_show_condition.inc;
+
+send STOP SLAVE SQL_THREAD;
+
+--echo
+--echo [ On Slave1 ]
+connection slave1;
+--echo # To resume slave SQL thread
+SET DEBUG_SYNC= 'now SIGNAL signal.continue';
+SET DEBUG_SYNC= 'RESET';
+
+--echo
+--echo [ On Slave ]
+connection slave;
+reap;
+source include/wait_for_slave_sql_to_stop.inc;
+
+--echo # Slave should stop after the transaction has committed.
+--echo # So t1 on master is same to t1 on slave.
+--let $diff_tables= master:t1, slave:t1
+--source include/diff_tables.inc
+
+connection slave;
+START SLAVE SQL_THREAD;
+source include/wait_for_slave_sql_to_start.inc;
diff --git a/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test b/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test
index 3b6fe7a0ef4..1687a233914 100644
--- a/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test
+++ b/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test
@@ -1,12 +1,3 @@
-####################
-# Change Author: JBM
-# Change Date: 2006-01-17
-# Change: Added order by in select
-####################
-# Change Date: 2006-02-02
-# Change: renamed to make bettre sense,
-# and wrapped per Engine test
-############################
source include/master-slave.inc;
#
@@ -30,6 +21,5 @@ sync_slave_with_master;
SELECT * FROM t1 ORDER BY id;
connection master;
DROP TABLE t1;
-sync_slave_with_master;
-# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_test_framework.inc b/mysql-test/extra/rpl_tests/rpl_test_framework.inc
new file mode 100644
index 00000000000..fb42d2efb9a
--- /dev/null
+++ b/mysql-test/extra/rpl_tests/rpl_test_framework.inc
@@ -0,0 +1,86 @@
+# ==== Purpose ====
+#
+# Auxiliary file used by suite/rpl/t/rpl_test_framework.test
+#
+# The purpose is to check that the sync chain generated in
+# rpl_change_topology.inc (invoked from rpl_init.inc) is correct. This
+# is done in two ways:
+# (1) Print the sync chain.
+# (2) Execute a statement and verify that it replicates to all slaves.
+#
+#
+# ==== Implementation ====
+#
+# Does this:
+# (1) Set up a given replication topology (rpl_init.inc)
+# (2) Print $rpl_sync_chain
+# (3) Execute "DELETE FROM t1" and then "INSERT INTO t1" on the master
+# (4) Sync and compare all servers.
+# (5) Clean up the replication topology (rpl_end.inc)
+#
+# (Technical detail: Since DELETE FROM t1 is not executed at the end,
+# some servers may have rows left in t1 from a previous invocation of
+# rpl_test_framework.inc. Therefore, this file will only work in
+# statement mode where "DELETE FROM t1" removes rows that exist on
+# slave but not on master.)
+#
+#
+# ==== Usage ====
+#
+# --let $rpl_server_count= <number>
+# --let $rpl_topology= <topology specification>
+# --let $masters= <list of masters>
+# [--let $rpl_diff_servers= <list of servers>]
+# --source extra/rpl_tests/rpl_test_framework.inc
+#
+# Parameters:
+# $next_number
+# The INSERT statement will insert $next_number into t1, and
+# $next_number will increase by 1.
+#
+# $rpl_server_count, $rpl_topology:
+# See include/rpl_init.inc
+#
+# $masters
+# This should be a list of numbers, each identifying a server.
+# The DELETE and INSERT statements will be executed on all servers
+# in the list.
+#
+# $rpl_diff_servers
+# See include/rpl_diff.inc
+
+--source include/rpl_init.inc
+--source include/rpl_generate_sync_chain.inc
+--echo rpl_sync_chain= '$rpl_sync_chain'
+
+--inc $next_number
+
+# Iterate over masters
+while ($masters)
+{
+ --let $master_i= `SELECT SUBSTRING_INDEX('$masters', ',', 1)`
+ --let $masters= `SELECT SUBSTRING('$masters', LENGTH('$master_i') + 2)`
+
+ # Connect to master and execute statement
+ --let $rpl_connection_name= server_$master_i
+ --source include/rpl_connection.inc
+ DELETE FROM t1;
+ --eval INSERT INTO t1 VALUES ($next_number)
+}
+
+--source include/rpl_sync.inc
+
+# Compare all servers.
+--let $diff_tables= server_$rpl_server_count:t1
+--let $server_i= $rpl_server_count
+--dec $server_i
+while ($server_i)
+{
+ --let $diff_tables= server_$server_i:t1,$diff_tables
+ --dec $server_i
+}
+--source include/diff_tables.inc
+
+--let $diff_servers=
+--let $masters=
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_truncate.test b/mysql-test/extra/rpl_tests/rpl_truncate.test
index 7036ab126e1..c1d70b4dab2 100644
--- a/mysql-test/extra/rpl_tests/rpl_truncate.test
+++ b/mysql-test/extra/rpl_tests/rpl_truncate.test
@@ -1,11 +1,6 @@
-#
-# Copyright 2006 MySQL. All rights reserved.
-#
# Test to check for the different version of truncating a table.
# The statements are "TRUNCATE tbl" and "DELETE FROM tbl". We check
# the behaviour of each possible value for BINLOG_FORMAT.
-#
-# Author(s): Mats Kindahl
--source include/master-slave.inc
@@ -14,3 +9,5 @@ let $trunc_stmt = TRUNCATE TABLE;
let $trunc_stmt = DELETE FROM;
--source extra/rpl_tests/rpl_truncate_helper.test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/extra/rpl_tests/rpl_truncate_helper.test b/mysql-test/extra/rpl_tests/rpl_truncate_helper.test
index cd1ce93177a..d1d0e06e32f 100644
--- a/mysql-test/extra/rpl_tests/rpl_truncate_helper.test
+++ b/mysql-test/extra/rpl_tests/rpl_truncate_helper.test
@@ -1,4 +1,4 @@
-source include/reset_master_and_slave.inc;
+--source include/rpl_reset.inc
--echo **** On Master ****
connection master;
@@ -10,8 +10,7 @@ connection master;
eval $trunc_stmt t1;
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
--echo ==== Test using a table with delete triggers ====
@@ -26,8 +25,7 @@ connection master;
eval $trunc_stmt t1;
sync_slave_with_master;
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
connection master;
diff --git a/mysql-test/extra/rpl_tests/type_conversions.test b/mysql-test/extra/rpl_tests/type_conversions.test
index 731eef8f41e..0096fda3174 100644
--- a/mysql-test/extra/rpl_tests/type_conversions.test
+++ b/mysql-test/extra/rpl_tests/type_conversions.test
@@ -876,7 +876,5 @@ let $can_convert = $if_is_lossy;
source extra/rpl_tests/check_type.inc;
-disable_warnings;
-source include/reset_master_and_slave.inc;
-enable_warnings;
+--source include/rpl_reset.inc
enable_query_log;
diff --git a/mysql-test/include/analyze-sync_with_master.test b/mysql-test/include/analyze-sync_with_master.test
index 684c0dbbab7..27b5a56c6b1 100644
--- a/mysql-test/include/analyze-sync_with_master.test
+++ b/mysql-test/include/analyze-sync_with_master.test
@@ -1,6 +1,9 @@
-SHOW PROCESSLIST;
+# ==== Purpose ====
+#
+# This is an auxiliary file that mysqltest executes when
+# sync_slave_with_master or sync_with_master fails. The purpose is to
+# print debug information.
-let $binlog_name= query_get_value("SHOW MASTER STATUS", File, 1);
-eval SHOW BINLOG EVENTS IN '$binlog_name';
-
-exit; \ No newline at end of file
+--let $rpl_server_count= 0
+--let $rpl_only_current_connection= 1
+--source include/show_rpl_debug_info.inc
diff --git a/mysql-test/include/assert.inc b/mysql-test/include/assert.inc
new file mode 100644
index 00000000000..34cc71e7c25
--- /dev/null
+++ b/mysql-test/include/assert.inc
@@ -0,0 +1,175 @@
+# ==== Purpose ====
+#
+# Check if a condition holds, fail with debug info if not.
+#
+# The condition is parsed before executed. The following constructs
+# are supported:
+#
+# [SQL_STATEMENT, COLUMN, ROW]
+# The square bracket is replaced by the result from SQL_STATEMENT,
+# in the given COLUMN and ROW.
+#
+# Optionally, SQL_STATEMENT may have the form:
+# connection:SQL_STATEMENT
+# In this case, SQL_STATEMENT is executed on the named connection.
+# All other queries executed by this script will be executed on
+# the connection that was in use when this script was started.
+# The current connection will also be restored at the end of this
+# script.
+#
+# Nested sub-statements on this form are not allowed.
+#
+# <1>
+# This is a shorthand for the result of the first executed square
+# bracket. <2> is a shorthand for the second executed square
+# bracket, and so on.
+#
+# ==== Usage ====
+#
+# --let $assert_text= Relay_Log_Pos must be between min_pos and max_pos
+# --let $assert_cond= [SHOW SLAVE STATUS, Relay_Log_Pos, 1] >= $min_pos AND <1> <= $max_pos
+# [--let $assert_quiet= 1]
+# [--let $rpl_debug= 1]
+# --source include/assert.inc
+#
+# Parameters:
+#
+# $assert_text
+# Text that describes what is being checked. This text is written to
+# the query log so it should not contain non-deterministic elements.
+#
+# $assert_cond
+# Condition to check. See above for details about the format. The
+# condition will be executed as `SELECT $assert_cond`.
+#
+# Both $assert_cond and the result from any substatement on the
+# form [SQL_STATEMENT, COLUMN, ROW] will be used in SQL statements,
+# inside single quotes (as in '$assert_text'). So any single quotes
+# in these texts must be escaped or replaced by double quotes.
+#
+# $rpl_debug
+# Print extra debug info.
+
+
+--let $include_filename= assert.inc [$assert_text]
+--source include/begin_include_file.inc
+
+if ($rpl_debug)
+{
+ --echo # debug: assert_text='$assert_text' assert_cond='$assert_cond'
+}
+
+# Sanity-check input
+if (!$assert_text)
+{
+ --die ERROR IN TEST: the mysqltest variable rpl_test must be set
+}
+
+--let $_assert_old_connection= $CURRENT_CONNECTION
+
+# Evaluate square brackets in cond.
+--let $_assert_substmt_number= 1
+--let $_assert_cond_interp= '$assert_cond'
+--let $_assert_lbracket= `SELECT LOCATE('[', $_assert_cond_interp)`
+while ($_assert_lbracket)
+{
+ # Get position of right bracket
+ --let $_assert_rbracket= `SELECT LOCATE(']', $_assert_cond_interp)`
+ if (!$_assert_rbracket)
+ {
+ --echo BUG IN TEST: Mismatching square brackets in assert_cond.
+ --echo Original assert_cond='$assert_cond'
+ --echo Interpolated assert_cond=$_assert_cond_interp
+ --die BUG IN TEST: Mismatching square brackets in $assert_cond
+ }
+
+ # Get sub-statement from statement. Preserve escapes for single quotes.
+ --let $_assert_full_substmt= `SELECT QUOTE(SUBSTRING($_assert_cond_interp, $_assert_lbracket + 1, $_assert_rbracket - $_assert_lbracket - 1))`
+
+ # Get connection from sub-statement
+ --let $_assert_colon= `SELECT IF($_assert_full_substmt REGEXP '^[a-zA-Z_][a-zA-Z_0-9]*:', LOCATE(':', $_assert_full_substmt), 0)`
+ --let $_assert_connection=
+ --let $_assert_substmt= $_assert_full_substmt
+ if ($_assert_colon)
+ {
+ --let $_assert_connection= `SELECT SUBSTRING($_assert_substmt, 1, $_assert_colon - 1)`
+ # Preserve escapes for single quotes.
+ --let $_assert_substmt= `SELECT QUOTE(SUBSTRING($_assert_substmt, $_assert_colon + 1))`
+ }
+
+ # Interpolate escapes before using condition outside string context.
+ --let $_assert_substmt_interp= `SELECT $_assert_substmt`
+
+ # Execute and get result from sub-statement
+ if ($_assert_connection)
+ {
+ if ($rpl_debug)
+ {
+ --echo # debug: connection='$_assert_connection' sub-statement=$_assert_substmt
+ }
+ --let $rpl_connection_name= $_assert_connection
+ --source include/rpl_connection.inc
+ --let $_assert_substmt_result= query_get_value($_assert_substmt_interp)
+ --let $rpl_connection_name= $_assert_old_connection
+ --source include/rpl_connection.inc
+ }
+ if (!$_assert_connection)
+ {
+ if ($rpl_debug)
+ {
+ --echo # debug: old connection, sub-statement=$_assert_substmt
+ }
+ --let $_assert_substmt_result= query_get_value($_assert_substmt_interp)
+ }
+ if ($rpl_debug)
+ {
+ --echo # debug: result of sub-statement='$_assert_substmt_result'
+ }
+
+ # Replace sub-statement by its result
+ --let $_assert_cond_interp= `SELECT QUOTE(REPLACE($_assert_cond_interp, CONCAT('[', $_assert_full_substmt, ']'), '$_assert_substmt_result'))`
+ # Replace result references by result
+ --let $_assert_cond_interp= `SELECT QUOTE(REPLACE($_assert_cond_interp, '<$_assert_substmt_number>', '$_assert_substmt_result'))`
+
+ --let $_assert_lbracket= `SELECT LOCATE('[', $_assert_cond_interp)`
+
+ --inc $_assert_substmt_number
+}
+
+# Interpolate escapes before using condition outside string context.
+--let $_assert_cond_interp= `SELECT $_assert_cond_interp`
+
+if ($rpl_debug)
+{
+ --echo # debug: interpolated_cond='$_assert_cond_interp'
+}
+
+# Execute.
+--let $_assert_result= `SELECT $_assert_cond_interp`
+
+if ($rpl_debug)
+{
+ --echo # debug: result='$_assert_result'
+}
+
+# Check.
+if (!$_assert_result)
+{
+ --echo ######## Test assertion failed: $assert_text ########
+ --echo Dumping debug info:
+ if ($rpl_inited)
+ {
+ --source include/show_rpl_debug_info.inc
+ }
+ --echo Assertion text: '$assert_text'
+ --echo Assertion condition: '$assert_cond'
+ --echo Assertion condition, interpolated: '$_assert_cond_interp'
+ --echo Assertion result: '$_assert_result'
+ --die Test assertion failed in assertion.inc
+}
+
+--let $include_filename= assert.inc [$assert_text]
+--source include/end_include_file.inc
+
+--let $assert_text=
+--let $assert_cond=
diff --git a/mysql-test/include/begin_include_file.inc b/mysql-test/include/begin_include_file.inc
new file mode 100644
index 00000000000..1b69fb0e52d
--- /dev/null
+++ b/mysql-test/include/begin_include_file.inc
@@ -0,0 +1,83 @@
+# ==== Purpose ====
+#
+# This is an auxiliary file that facilitates writing include/*.inc
+# files. It has three purposes:
+#
+# 1. Store mtr's state at the beginning of the .inc file and restore
+# the state at the end. The following status is restored:
+#
+# disable_warnings
+# disable_query_log
+# disable_result_log
+# disable_abort_on_errors
+# Current connection
+#
+# 2. This file also prints the name of the .inc file that sources
+# it. Only the name of the top-level .inc file is printed: if
+# file_1.inc sources file_2.inc, then this file only prints
+# file_1.inc.
+#
+# 3. If the mysqltest variable $rpl_debug is set, then
+# this file will print:
+#
+# ==== BEGIN include/<filename> ====
+#
+# and end_include_file.inc will print
+#
+# ==== END include/<filename> ====
+#
+# These printouts are indented to make it easier to read the
+# result log.
+#
+#
+# ==== Usage ====
+#
+# # At the beginning of include/my_file.inc:
+# --let $include_filename= my_file.inc
+# [--let $rpl_debug= 1]
+# --source include/begin_include_file.inc
+#
+# # At the end of include/my_file.inc:
+# --let $include_filename= my_file.inc
+# --source include/end_include_file.inc
+#
+# Parameters:
+# $include_filename
+# The basename of the file: a file named /path/to/my_file.inc
+# should set $include_filename=my_file.inc. This parameter
+# must be provided both for begin_include_file.inc and
+# end_include_file.inc.
+#
+# $rpl_debug
+# If set, this script will print the following text:
+# ==== BEGIN include/$include_filename.inc ====
+
+
+# Print 'include/$include_filename', but only when invoked from
+# the top-level. We don't want to print
+# 'include/$include_filename' from all files included
+# recursively.
+if (!$_include_file_depth)
+{
+ --echo include/$include_filename
+ --let $_include_file_depth= 0
+}
+--inc $_include_file_depth
+if ($rpl_debug)
+{
+ --echo $_include_file_indent==== BEGIN include/$include_filename ====
+}
+
+--let $_include_file_enabled_warnings= $ENABLED_WARNINGS$_include_file_enabled_warnings
+--let $_include_file_enabled_query_log= $ENABLED_QUERY_LOG$_include_file_enabled_query_log
+--let $_include_file_enabled_result_log= $ENABLED_RESULT_LOG$_include_file_enabled_result_log
+--let $_include_file_enabled_abort_on_error= $ENABLED_ABORT_ON_ERROR$_include_file_enabled_abort_on_error
+--let $_include_file_connection= $CURRENT_CONNECTION,$_include_file_connection
+
+if ($rpl_debug)
+{
+ --echo $_include_file_indent con='$CURRENT_CONNECTION' warn='$ENABLED_WARNINGS' qlog='$ENABLED_QUERY_LOG' rlog='$ENABLED_RESULT_LOG' aborterr='$ENABLED_ABORT_ON_ERROR'
+}
+
+--let $include_filename=
+--let $_include_file_indent= .$_include_file_indent
diff --git a/mysql-test/include/check-testcase.test b/mysql-test/include/check-testcase.test
index 6dcb01c13cf..858a89f706c 100644
--- a/mysql-test/include/check-testcase.test
+++ b/mysql-test/include/check-testcase.test
@@ -1,15 +1,73 @@
-
-#
-# This test is executed twice for each test case if mysql-test-run is passed
-# the flag --check-testcase. Before every testcase it is run with mysqltest
-# in record mode and will thus produce an output file that can be compared
-# to output from after the tescase.
-# In that way its possible to check that a testcase does not have
-# any unwanted side affects.
+# ==== Purpose ====
#
+# This test is executed twice for each test case. Before every
+# testcase it is run with mysqltest in record mode and will thus
+# produce an output file that can be compared to output from after the
+# tescase. In that way, it is possible to check that a testcase does
+# not have any unwanted side affects.
+
--disable_query_log
-call mtr.check_testcase();
---enable_query_log
+# We want to ensure all slave configuration is restored. But SHOW
+# SLAVE STATUS returns nothing for servers not configured as slaves,
+# and (after BUG#28796 was fixed) there is no way to de-configure a
+# slave. Hence, it's impossible to clean up the replication state at
+# the end. But we want to check that the slave is stopped, there is
+# no error, and a few other invariants. So we issue SHOW SLAVE
+# STATUS, and if it returns no rows we fake the result.
+--let $tmp= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1)
+--let $tmp= `SELECT '$tmp' = 'No such row'`
+if ($tmp)
+{
+ # Note: after WL#5177, fields 13-18 shall not be filtered-out.
+ --echo Slave_IO_State
+ --echo Master_Host 127.0.0.1
+ --echo Master_User root
+ --echo Master_Port #
+ --echo Connect_Retry #
+ --echo Master_Log_File #
+ --echo Read_Master_Log_Pos #
+ --echo Relay_Log_File #
+ --echo Relay_Log_Pos #
+ --echo Relay_Master_Log_File #
+ --echo Slave_IO_Running No
+ --echo Slave_SQL_Running No
+ --echo Replicate_Do_DB #
+ --echo Replicate_Ignore_DB #
+ --echo Replicate_Do_Table #
+ --echo Replicate_Ignore_Table #
+ --echo Replicate_Wild_Do_Table #
+ --echo Replicate_Wild_Ignore_Table #
+ --echo Last_Errno 0
+ --echo Last_Error
+ --echo Skip_Counter 0
+ --echo Exec_Master_Log_Pos #
+ --echo Relay_Log_Space #
+ --echo Until_Condition #
+ --echo Until_Log_File #
+ --echo Until_Log_Pos #
+ --echo Master_SSL_Allowed No
+ --echo Master_SSL_CA_File
+ --echo Master_SSL_CA_Path
+ --echo Master_SSL_Cert
+ --echo Master_SSL_Cipher
+ --echo Master_SSL_Key
+ --echo Seconds_Behind_Master NULL
+ --echo Master_SSL_Verify_Server_Cert No
+ --echo Last_IO_Errno 0
+ --echo Last_IO_Error
+ --echo Last_SQL_Errno 0
+ --echo Last_SQL_Error
+ --echo Replicate_Ignore_Server_Ids
+ --echo Master_Server_Id #
+}
+if (!$tmp) {
+ # Note: after WL#5177, fields 13-18 shall not be filtered-out.
+ --replace_column 4 # 5 # 6 # 7 # 8 # 9 # 10 # 13 # 14 # 15 # 16 # 17 # 18 # 22 # 23 # 24 # 25 # 26 # 40 #
+ query_vertical
+ SHOW SLAVE STATUS;
+}
+call mtr.check_testcase();
+--enable_query_log
diff --git a/mysql-test/include/check_concurrent_insert.inc b/mysql-test/include/check_concurrent_insert.inc
index f4bec3c9cdb..62de485d8f1 100644
--- a/mysql-test/include/check_concurrent_insert.inc
+++ b/mysql-test/include/check_concurrent_insert.inc
@@ -23,7 +23,7 @@
# Reset DEBUG_SYNC facility for safety.
set debug_sync= "RESET";
-if (`SELECT '$restore_table' <> ''`)
+if ($restore_table)
{
--eval create temporary table t_backup select * from $restore_table;
}
@@ -82,7 +82,7 @@ connection default;
--eval delete from $table where i = 0;
-if (`SELECT '$restore_table' <> ''`)
+if ($restore_table)
{
--eval truncate table $restore_table;
--eval insert into $restore_table select * from t_backup;
diff --git a/mysql-test/include/check_ftwrl_compatible.inc b/mysql-test/include/check_ftwrl_compatible.inc
new file mode 100644
index 00000000000..200f8cd3d8a
--- /dev/null
+++ b/mysql-test/include/check_ftwrl_compatible.inc
@@ -0,0 +1,158 @@
+#
+# SUMMARY
+# Check that a statement is compatible with FLUSH TABLES WITH READ LOCK.
+#
+# PARAMETERS
+# $con_aux1 Name of the 1st aux connection to be used by this script.
+# $con_aux2 Name of the 2nd aux connection to be used by this script.
+# $statement The statement to be checked.
+# $cleanup_stmt The statement to be run in order to revert effects of
+# the statement to be checked.
+# $skip_3rd_chk Skip the 3rd stage of checking. The purpose of the third
+# stage is to check that metadata locks taken by this
+# statement are compatible with metadata locks taken
+# by FTWRL.
+#
+# EXAMPLE
+# flush_read_lock.test
+#
+--disable_result_log
+--disable_query_log
+
+# Reset DEBUG_SYNC facility for safety.
+set debug_sync= "RESET";
+
+#
+# First, check that the statement can be run under FTWRL.
+#
+flush tables with read lock;
+--disable_abort_on_error
+--eval $statement
+--enable_abort_on_error
+let $err= $mysql_errno;
+if (!$err)
+{
+--echo Success: Was able to run '$statement' under FTWRL.
+unlock tables;
+if ($cleanup_stmt)
+{
+--eval $cleanup_stmt;
+}
+}
+if ($err)
+{
+--echo Error: Wasn't able to run '$statement' under FTWRL!
+unlock tables;
+}
+
+#
+# Then check that this statement won't be blocked by FTWRL
+# that is active in another connection.
+#
+connection $con_aux1;
+flush tables with read lock;
+
+connection default;
+--send_eval $statement;
+
+connection $con_aux1;
+
+--enable_result_log
+--enable_query_log
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where info = "$statement";
+--source include/wait_condition.inc
+--disable_result_log
+--disable_query_log
+
+if ($success)
+{
+--echo Success: Was able to run '$statement' with FTWRL active in another connection.
+
+connection default;
+# Apparently statement was successfully executed and so
+# was not blocked by FTWRL.
+# To be safe against wait_condition.inc succeeding due to
+# races let us first reap the statement being checked to
+# ensure that it has been successfully executed.
+--reap
+
+connection $con_aux1;
+unlock tables;
+
+connection default;
+}
+if (!$success)
+{
+--echo Error: Wasn't able to run '$statement' with FTWRL active in another connection!
+unlock tables;
+connection default;
+--reap
+}
+
+if ($cleanup_stmt)
+{
+--eval $cleanup_stmt;
+}
+
+if (!$skip_3rd_check)
+{
+#
+# Finally, let us check that FTWRL will succeed if this statement
+# is active but has already closed its tables.
+#
+connection default;
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send_eval $statement;
+
+connection $con_aux1;
+set debug_sync="now WAIT_FOR parked";
+--send flush tables with read lock
+
+connection $con_aux2;
+--enable_result_log
+--enable_query_log
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where info = "flush tables with read lock";
+--source include/wait_condition.inc
+--disable_result_log
+--disable_query_log
+
+if ($success)
+{
+--echo Success: Was able to run FTWRL while '$statement' was active in another connection.
+connection $con_aux1;
+# Apparently FTWRL was successfully executed and so was not blocked by
+# the statement being checked. To be safe against wait_condition.inc
+# succeeding due to races let us first reap the FTWRL to ensure that it
+# has been successfully executed.
+--reap
+unlock tables;
+set debug_sync="now SIGNAL go";
+connection default;
+--reap
+}
+if (!$success)
+{
+--echo Error: Wasn't able to run FTWRL while '$statement' was active in another connection!
+set debug_sync="now SIGNAL go";
+connection default;
+--reap
+connection $con_aux1;
+--reap
+unlock tables;
+connection default;
+}
+
+set debug_sync= "RESET";
+if ($cleanup_stmt)
+{
+--eval $cleanup_stmt;
+}
+
+}
+
+--enable_result_log
+--enable_query_log
diff --git a/mysql-test/include/check_ftwrl_incompatible.inc b/mysql-test/include/check_ftwrl_incompatible.inc
new file mode 100644
index 00000000000..4787a69ea9c
--- /dev/null
+++ b/mysql-test/include/check_ftwrl_incompatible.inc
@@ -0,0 +1,155 @@
+#
+# SUMMARY
+# Check that a statement is incompatible with FLUSH TABLES WITH READ LOCK.
+#
+# PARAMETERS
+# $con_aux1 Name of the 1st aux connection to be used by this script.
+# $con_aux2 Name of the 2nd aux connection to be used by this script.
+# $statement The statement to be checked.
+# $cleanup_stmt1 The 1st statement to be run in order to revert effects
+# of statement to be checked.
+# $cleanup_stmt2 The 2nd statement to be run in order to revert effects
+# of statement to be checked.
+# $skip_3rd_chk Skip the 3rd stage of checking. The purpose of the third
+# stage is to check that metadata locks taken by this
+# statement are incompatible with metadata locks taken
+# by FTWRL.
+#
+# EXAMPLE
+# flush_read_lock.test
+#
+--disable_result_log
+--disable_query_log
+
+# Reset DEBUG_SYNC facility for safety.
+set debug_sync= "RESET";
+
+#
+# First, check that the statement cannot be run under FTWRL.
+#
+flush tables with read lock;
+--disable_abort_on_error
+--eval $statement
+--enable_abort_on_error
+let $err= $mysql_errno;
+if ($err)
+{
+--echo Success: Was not able to run '$statement' under FTWRL.
+unlock tables;
+}
+if (!$err)
+{
+--echo Error: Was able to run '$statement' under FTWRL!
+unlock tables;
+if ($cleanup_stmt1)
+{
+--eval $cleanup_stmt1;
+}
+if ($cleanup_stmt2)
+{
+--eval $cleanup_stmt2;
+}
+}
+
+
+#
+# Then check that this statement is blocked by FTWRL
+# that is active in another connection.
+#
+connection $con_aux1;
+flush tables with read lock;
+
+connection default;
+--send_eval $statement;
+
+connection $con_aux1;
+
+--enable_result_log
+--enable_query_log
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where (state = "Waiting for global read lock" or
+ state = "Waiting for commit lock") and
+ info = "$statement";
+--source include/wait_condition.inc
+--disable_result_log
+--disable_query_log
+
+if ($success)
+{
+--echo Success: '$statement' is blocked by FTWRL active in another connection.
+}
+if (!$success)
+{
+--echo Error: '$statement' wasn't blocked by FTWRL active in another connection!
+}
+unlock tables;
+
+connection default;
+--reap
+
+if ($cleanup_stmt1)
+{
+--eval $cleanup_stmt1;
+}
+if ($cleanup_stmt2)
+{
+--eval $cleanup_stmt2;
+}
+
+if (!$skip_3rd_check)
+{
+#
+# Finally, let us check that FTWRL will not succeed if this
+# statement is active but has already closed its tables.
+#
+connection default;
+--eval set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send_eval $statement;
+
+connection $con_aux1;
+set debug_sync="now WAIT_FOR parked";
+--send flush tables with read lock
+
+connection $con_aux2;
+--enable_result_log
+--enable_query_log
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where (state = "Waiting for global read lock" or
+ state = "Waiting for commit lock") and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+--disable_result_log
+--disable_query_log
+
+if ($success)
+{
+--echo Success: FTWRL is blocked when '$statement' is active in another connection.
+}
+if (!$success)
+{
+--echo Error: FTWRL isn't blocked when '$statement' is active in another connection!
+}
+set debug_sync="now SIGNAL go";
+connection default;
+--reap
+connection $con_aux1;
+--reap
+unlock tables;
+connection default;
+
+set debug_sync= "RESET";
+
+if ($cleanup_stmt1)
+{
+--eval $cleanup_stmt1;
+}
+if ($cleanup_stmt2)
+{
+--eval $cleanup_stmt2;
+}
+}
+
+--enable_result_log
+--enable_query_log
diff --git a/mysql-test/include/check_no_concurrent_insert.inc b/mysql-test/include/check_no_concurrent_insert.inc
index c615ebd02cd..ea3187d9b41 100644
--- a/mysql-test/include/check_no_concurrent_insert.inc
+++ b/mysql-test/include/check_no_concurrent_insert.inc
@@ -23,7 +23,7 @@
# Reset DEBUG_SYNC facility for safety.
set debug_sync= "RESET";
-if (`SELECT '$restore_table' <> ''`)
+if ($restore_table)
{
--eval create temporary table t_backup select * from $restore_table;
}
@@ -68,7 +68,7 @@ if (!$success)
--eval delete from $table where i = 0;
-if (`SELECT '$restore_table' <> ''`)
+if ($restore_table)
{
--eval truncate table $restore_table;
--eval insert into $restore_table select * from t_backup;
diff --git a/mysql-test/include/check_slave_is_running.inc b/mysql-test/include/check_slave_is_running.inc
index 5fbbe0d684c..88664da7fa7 100644
--- a/mysql-test/include/check_slave_is_running.inc
+++ b/mysql-test/include/check_slave_is_running.inc
@@ -2,17 +2,29 @@
#
# Assert that the slave threads are running and don't have any errors.
#
+#
# ==== Usage ====
#
-# --source include/check_slave_running.inc
+# [--let $rpl_debug= 1]
+# --source include/check_slave_is_running.inc
+#
+# Parameters:
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= check_slave_is_running.inc
+--source include/begin_include_file.inc
+
+
+--let $slave_param= Slave_IO_Running
+--let $slave_param_value= Yes
+--source include/check_slave_param.inc
---echo Checking that both slave threads are running.
+--let $slave_param= Slave_SQL_Running
+--let $slave_param_value= Yes
+--source include/check_slave_param.inc
---let $slave_sql_running = query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1)
---let $slave_io_running = query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1)
-if (`SELECT '$slave_sql_running' != 'Yes' OR '$slave_io_running' != 'Yes'`) {
- --echo Slave not running: Slave_SQL_Running = $slave_sql_running Slave_IO_Running = $slave_io_running
- --source include/show_rpl_debug_info.inc
- --die Expected slave to be running, but it was not running.
-}
+--let $include_filename= check_slave_is_running.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/check_slave_no_error.inc b/mysql-test/include/check_slave_no_error.inc
index 371db5ed6a0..9922b426ed6 100644
--- a/mysql-test/include/check_slave_no_error.inc
+++ b/mysql-test/include/check_slave_no_error.inc
@@ -1,12 +1,22 @@
# ==== Purpose ====
#
-# Assert that Slave_SQL_Error and Slave_IO_Error are empty.
+# Assert that Slave_SQL_Errno = Slave_IO_Errno = 0 in the output from
+# SHOW SLAVE STATUS.
+#
#
# ==== Usage ====
#
-# --let $slave_param= Exec_Master_Log_Pos
-# --let $slave_param_value= 4711
-# --source include/check_slave_running.inc
+# [--let $rpl_debug= 1]
+# --source include/check_slave_no_error.inc
+#
+# Parameters:
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= check_slave_no_error.inc
+--source include/begin_include_file.inc
+
--let $slave_param= Last_SQL_Errno
--let $slave_param_value= 0
@@ -15,3 +25,7 @@
--let $slave_param= Last_IO_Errno
--let $slave_param_value= 0
--source include/check_slave_param.inc
+
+
+--let $include_filename= check_slave_no_error.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/check_slave_param.inc b/mysql-test/include/check_slave_param.inc
index d82c26851ea..243e87a9b65 100644
--- a/mysql-test/include/check_slave_param.inc
+++ b/mysql-test/include/check_slave_param.inc
@@ -4,13 +4,33 @@
#
# ==== Usage ====
#
-# --let $slave_param= Exec_Master_Log_Pos
-# --let $slave_param_value= 4711
+# --let $slave_param= COLUMN_NAME
+# --let $slave_param_value= VALUE
+# [--let $rpl_debug= 1]
# --source include/check_slave_param.inc
+#
+# Parameters:
+# $slave_param, $slave_param_value
+# Column name in output of SHOW SLAVE STATUS that should be checked,
+# and the expected value. Example:
+# --let $slave_param= Exec_Master_Log_Pos
+# --let $slave_param_value= 4711
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= check_slave_param.inc [$slave_param]
+--source include/begin_include_file.inc
+
--let $_param_value= query_get_value(SHOW SLAVE STATUS, $slave_param, 1)
-if (`SELECT '$_param_value' != '$slave_param_value'`) {
- --echo Wrong value for $slave_param. Expected '$slave_param_value', got '$_param_value'
+if ($_param_value != $slave_param_value) {
--source include/show_rpl_debug_info.inc
+ --echo Wrong value for $slave_param. Expected '$slave_param_value', got '$_param_value'
--die Wrong value for slave parameter
}
+
+
+--let $include_filename= check_slave_param.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/circular_rpl_for_4_hosts_init.inc b/mysql-test/include/circular_rpl_for_4_hosts_init.inc
deleted file mode 100644
index ac6654777db..00000000000
--- a/mysql-test/include/circular_rpl_for_4_hosts_init.inc
+++ /dev/null
@@ -1,130 +0,0 @@
-#############################################################
-#
-# Author: Serge Kozlov <skozlov@mysql.com>
-# Date: 03/11/2008
-# Purpose: Set up circular replication based on schema
-# A->B->C->D->A
-#
-# Notes:
-# 1. --slave-num=3 must be added to *-master.opt file
-# 2. Even the test uses new names for servers but file names
-# of log files are still old:
-# master_a -> master.[log|err]
-# master_b -> slave.[log|err]
-# master_c -> slave1.[log|err]
-# master_d -> slave2.[log|err]
-#
-#############################################################
---source include/master-slave.inc
-
-#
-# Set up circular ring by schema A->B->C->D->A
-#
-
---connection slave
-STOP SLAVE;
-RESET SLAVE;
-
-# master a
---connection master
---disconnect master
-connect (master_a,127.0.0.1,root,,test,$MASTER_MYPORT,);
-RESET MASTER;
---disable_warnings
-STOP SLAVE;
---enable_warnings
-RESET SLAVE;
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 1;
-let $_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
-
-# master b
---connection slave
---disconnect slave
-connect (master_b,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-RESET MASTER;
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_A_PORT $_binlog_file MASTER_A_LOG_FILE
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$MASTER_MYPORT,master_user='root',MASTER_LOG_FILE='$_binlog_file'
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 2;
-let $_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
-
-# master c
---connection slave1
---disconnect slave1
-connect (master_c,127.0.0.1,root,,test,$SLAVE_MYPORT1,);
-RESET MASTER;
---disable_warnings
-STOP SLAVE;
---enable_warnings
-RESET SLAVE;
---replace_result $SLAVE_MYPORT MASTER_B_PORT $_binlog_file MASTER_B_LOG_FILE
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SLAVE_MYPORT,master_user='root',MASTER_LOG_FILE='$_binlog_file'
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 3;
-let $_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
-
-# master d
-connect (master_d,127.0.0.1,root,,test,$SLAVE_MYPORT2,);
-RESET MASTER;
---disable_warnings
-STOP SLAVE;
---enable_warnings
-RESET SLAVE;
---replace_result $SLAVE_MYPORT1 MASTER_C_PORT $_binlog_file MASTER_C_LOG_FILE
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SLAVE_MYPORT1,master_user='root',MASTER_LOG_FILE='$_binlog_file'
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 4;
-let $_binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
-
-# master a
---connection master_a
---replace_result $SLAVE_MYPORT2 MASTER_D_PORT $_binlog_file MASTER_D_LOG_FILE
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SLAVE_MYPORT2,master_user='root',MASTER_LOG_FILE='$_binlog_file'
-
-
-
-# Check server_ids: they should be different
---connection master_a
-let $_id_a= query_get_value(SHOW VARIABLES LIKE 'server_id', Value, 1);
-SHOW VARIABLES LIKE 'auto_increment_%';
---connection master_b
-let $_id_b= query_get_value(SHOW VARIABLES LIKE 'server_id', Value, 1);
-SHOW VARIABLES LIKE 'auto_increment_%';
---connection master_c
-let $_id_c= query_get_value(SHOW VARIABLES LIKE 'server_id', Value, 1);
-SHOW VARIABLES LIKE 'auto_increment_%';
---connection master_d
-let $_id_d= query_get_value(SHOW VARIABLES LIKE 'server_id', Value, 1);
-SHOW VARIABLES LIKE 'auto_increment_%';
---connection master_a
-let $_compared_ids= (($_id_a <> $_id_b) AND ($_id_a <> $_id_c) AND ($_id_a <> $_id_d) AND ($_id_b <> $_id_c) AND ($_id_b <> $_id_d) AND ($_id_c <> $_id_d)) AS a;
-let $_compared_ids_result= query_get_value(SELECT $_compared_ids, a, 1);
---echo $_compared_ids_result
-
-# Start ring
---connection master_a
-connect(slave,127.0.0.1,root,,test,$MASTER_MYPORT);
-START SLAVE;
---source include/wait_for_slave_to_start.inc
---disconnect slave
-
---connection master_b
-connect(slave,127.0.0.1,root,,test,$SLAVE_MYPORT1);
-START SLAVE;
---source include/wait_for_slave_to_start.inc
---disconnect slave
-
---connection master_c
-connect(slave,127.0.0.1,root,,test,$SLAVE_MYPORT);
-START SLAVE;
---source include/wait_for_slave_to_start.inc
---disconnect slave
-
---connection master_d
-connect(slave,127.0.0.1,root,,test,$SLAVE_MYPORT2);
-START SLAVE;
---source include/wait_for_slave_to_start.inc
---disconnect slave
-
diff --git a/mysql-test/include/circular_rpl_for_4_hosts_sync.inc b/mysql-test/include/circular_rpl_for_4_hosts_sync.inc
deleted file mode 100644
index 68aede76913..00000000000
--- a/mysql-test/include/circular_rpl_for_4_hosts_sync.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-#############################################################
-#
-# Author: Serge Kozlov <skozlov@mysql.com>
-# Date: 03/11/2008
-# Purpose: Sync all hosts for circular replication based on
-# schema A->B->C->D->A
-#
-# Notes: see include/circular_rpl_for_4_hosts_init.inc
-#
-#############################################################
-
-# Make the full loop of sync
---connection master_a
---disable_query_log
---sync_slave_with_master master_b
---sync_slave_with_master master_c
---sync_slave_with_master master_d
---sync_slave_with_master master_a
---sync_slave_with_master master_b
---sync_slave_with_master master_c
---save_master_pos
---connection master_a
---enable_query_log
diff --git a/mysql-test/include/cleanup_fake_relay_log.inc b/mysql-test/include/cleanup_fake_relay_log.inc
index 269cd04ca34..921484ec695 100644
--- a/mysql-test/include/cleanup_fake_relay_log.inc
+++ b/mysql-test/include/cleanup_fake_relay_log.inc
@@ -1,17 +1,28 @@
# ==== Purpose ====
#
-# Clean up files create by setup_fake_relay_log.inc.
+# Clean up files created by setup_fake_relay_log.inc.
#
# ==== Usage ====
#
# See setup_fake_relay_log.inc
---echo Cleaning up after setup_fake_relay_log.inc
+--let $include_filename= cleanup_fake_relay_log.inc
+--source include/begin_include_file.inc
+
--disable_query_log
---disable_warnings
-STOP SLAVE SQL_THREAD;
RESET SLAVE;
+
+# Assert that the fake relay log files are gone (RESET SLAVE should
+# have removed them).
+--let $file_does_not_exist= $_fake_relay_log
+--source include/file_does_not_exist.inc
+
+# Revert variables.
eval SET @@global.relay_log_purge= $_fake_relay_log_purge;
---enable_warnings
---enable_query_log
+
+eval CHANGE MASTER TO MASTER_HOST = '$_fake_old_master_host';
+
+
+--let $include_filename= cleanup_fake_relay_log.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/commit.inc b/mysql-test/include/commit.inc
index 81fbdb03bca..9df1571a849 100644
--- a/mysql-test/include/commit.inc
+++ b/mysql-test/include/commit.inc
@@ -502,16 +502,16 @@ call p_verify_status_increment(2, 2, 2, 2);
--echo # 12. Read-write statement: IODKU, change 0 rows.
--echo #
insert t1 set a=2 on duplicate key update a=2;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
commit;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
--echo # 13. Read-write statement: INSERT IGNORE, change 0 rows.
--echo #
insert ignore t1 set a=2;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
commit;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
--echo # 14. Read-write statement: INSERT IGNORE, change 1 row.
--echo #
diff --git a/mysql-test/include/ctype_8bit.inc b/mysql-test/include/ctype_8bit.inc
new file mode 100644
index 00000000000..7259db54d05
--- /dev/null
+++ b/mysql-test/include/ctype_8bit.inc
@@ -0,0 +1,46 @@
+#
+# Test Unicode conversion, upper, lower
+#
+SELECT @@collation_connection;
+CREATE TABLE t1 AS SELECT ' ' AS a LIMIT 0;
+INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
+INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
+INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
+INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
+INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
+INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
+INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
+INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
+INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
+INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
+INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
+INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
+INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
+INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
+INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
+INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
+INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
+INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
+INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
+INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
+INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
+INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
+INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
+INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
+INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
+INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
+INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
+INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
+INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
+INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
+INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
+INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
+SELECT
+ HEX(a) AS chr,
+ HEX(LOWER(a)) AS upper,
+ HEX(LOWER(a)) AS lower,
+ HEX(@utf8:=CONVERT(a USING utf8)) AS utf8,
+ HEX(@roundtrip:=CAST(@utf8 AS CHAR)) AS roundtrip,
+ if(a=BINARY @roundtrip,'','Round trip unsafe') AS issafe
+FROM t1 ORDER BY chr;
+DROP TABLE t1;
diff --git a/mysql-test/include/ctype_czech.inc b/mysql-test/include/ctype_czech.inc
new file mode 100644
index 00000000000..bc83d462a22
--- /dev/null
+++ b/mysql-test/include/ctype_czech.inc
@@ -0,0 +1,12 @@
+SELECT @@collation_connection;
+--echo #
+--echo # Bug#57737 Character sets: search fails with like, contraction, index
+--echo #
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
+SELECT * FROM t1 WHERE s1 LIKE 'ch';
+DROP TABLE t1;
diff --git a/mysql-test/include/ctype_like_ignorable.inc b/mysql-test/include/ctype_like_ignorable.inc
new file mode 100644
index 00000000000..9f2fa7ae741
--- /dev/null
+++ b/mysql-test/include/ctype_like_ignorable.inc
@@ -0,0 +1,11 @@
+SELECT @@collation_connection;
+--echo #
+--echo # Bug#57737 Character sets: search fails with like, contraction, index
+--echo # Part#2 - ignorable characters
+--echo #
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+DROP TABLE t1;
diff --git a/mysql-test/include/ctype_numconv.inc b/mysql-test/include/ctype_numconv.inc
index e32ed4103b5..1329bebb31f 100644
--- a/mysql-test/include/ctype_numconv.inc
+++ b/mysql-test/include/ctype_numconv.inc
@@ -1637,12 +1637,7 @@ CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
-if (`SELECT @@character_set_connection != 'ucs2'`)
-{
- # Temporarily disable for ucs2
- # For details, see Bug#55744 GROUP_CONCAT + CASE + ucs return garbage
- SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
-}
+SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
--enable_metadata
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
--disable_metadata
@@ -1730,6 +1725,66 @@ DROP TABLE t1;
--echo #
+--echo # Bug#58190 BETWEEN no longer uses indexes for date or datetime fields
+--echo #
+SELECT @@collation_connection;
+CREATE TABLE t1 (
+ id INT(11) DEFAULT NULL,
+ date_column DATE DEFAULT NULL,
+ KEY(date_column));
+INSERT INTO t1 VALUES (1,'2010-09-01'),(2,'2010-10-01');
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+ALTER TABLE t1 MODIFY date_column DATETIME DEFAULT NULL;
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug #31384 DATE_ADD() and DATE_SUB() return binary data
+--echo #
+SELECT @@collation_connection, @@character_set_results;
+CREATE TABLE t1 AS
+SELECT
+ DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
+ DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+ DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+ DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+--enable_metadata
+# PS protocol gives different "Max length" value for DATETIME.
+--disable_ps_protocol
+SELECT
+ DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
+ DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+ DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+ DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+--disable_metadata
+--enable_ps_protocol
+SELECT
+ HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
+ HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
+ HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
+ HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
+
+--echo #
+--echo # Bug#11926811 / Bug#60625 Illegal mix of collations
+--echo #
+SELECT @@collation_connection;
+DELIMITER //;
+CREATE PROCEDURE p1()
+BEGIN
+ DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
+ SELECT v_LastPaymentDate < NOW();
+ EXPLAIN EXTENDED SELECT v_LastPaymentDate < NOW();
+ SHOW WARNINGS;
+ EXPLAIN EXTENDED SELECT CONCAT(v_LastPaymentDate, NOW());
+END//
+DELIMITER ;//
+CALL p1;
+DROP PROCEDURE p1;
+
+--echo #
--echo # Bug#52159 returning time type from function and empty left join causes debug assertion
--echo #
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
diff --git a/mysql-test/include/diff_master_slave.inc b/mysql-test/include/diff_master_slave.inc
deleted file mode 100644
index b6d79190671..00000000000
--- a/mysql-test/include/diff_master_slave.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-# ==== Purpose ====
-#
-# Diff the output of a statement on master and slave
-#
-# ==== Usage =====
-#
-# let $diff_statement= SELECT * FROM t1 WHERE a < 100;
-# source include/diff_master_slave.inc;
-
---echo source include/diff_master_slave.inc;
-disable_query_log;
-disable_result_log;
-
-exec $MYSQL test -e "$diff_statement" > $MYSQLTEST_VARDIR/tmp/diff_master.out;
-sync_slave_with_master;
-exec $MYSQL_SLAVE test -e "$diff_statement" > $MYSQLTEST_VARDIR/tmp/diff_slave.out;
-
-diff_files $MYSQLTEST_VARDIR/tmp/diff_master.out $MYSQLTEST_VARDIR/tmp/diff_slave.out;
-
-enable_result_log;
-enable_query_log;
diff --git a/mysql-test/include/diff_tables.inc b/mysql-test/include/diff_tables.inc
index 28ed6a1d137..5f88d8d3073 100644
--- a/mysql-test/include/diff_tables.inc
+++ b/mysql-test/include/diff_tables.inc
@@ -1,35 +1,41 @@
# ==== Purpose ====
#
-# Check if the two given tables (possibly residing on different
-# master/slave servers) are equal.
+# Check if all tables in the given list are equal. The tables may have
+# different names, exist in different connections, and/or reside in
+# different databases.
+#
#
# ==== Usage ====
#
-# The tables to check are given by the test language variables
-# $diff_table_1 and $diff_table_2. They must be of the
-# following form:
+# --let $diff_tables= [con1:][db1.]t1, [con2:][db2.]t2, ... , [conN:][dbN.]tN
+# [--let $rpl_debug= 1]
+# --source include/diff_tables.inc
+#
+# Parameters:
+# $diff_tables
+# Comma-separated list of tables to compare. Each table has the form
+#
+# [CONNECTION:][DATABASE.]table
#
-# [master:|slave:]database.table
+# If CONNECTION is given, then that connection is used. If
+# CONNECTION is not given, then the connection of the previous
+# table is used (or the current connection, if this is the first
+# table). If DATABASE is given, the table is read in that
+# database. If DATABASE is not given, the table is read in the
+# connection's current database.
+#
+# $rpl_debug
+# See include/rpl_init.inc
#
-# I.e., both database and table must be speicified. Optionally, you
-# can prefix the name with 'master:' (to read the table on master) or
-# with 'slave:' (to read the table on slave). If no prefix is given,
-# reads the table from the current connection. If one of these
-# variables has a prefix, both should have a prefix.
#
# ==== Side effects ====
#
-# - Prints "Comparing tables $diff_table_1 and $diff_tables_2".
+# - Prints "include/diff_tables.inc [$diff_tables]".
#
# - If the tables are different, prints the difference in a
# system-specific format (unified diff if supported) and generates
# an error.
#
-# - If $diff_table_1 or $diff_table_2 begins with 'master:' or
-# 'slave:', it will stay connected to one of those hosts after
-# execution. The host is only guaranteed to remain unchanged if
-# none of $diff_table_1 or $diff_table_2 begins with 'master:' or
-# 'slave:'.
#
# ==== Bugs ====
#
@@ -50,69 +56,135 @@
# by character case.
+--let $include_filename= diff_tables.inc [$diff_tables]
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+# Check sanity
+if (`SELECT LOCATE(',', '$diff_tables') = 0`)
+{
+ --die ERROR IN TEST: $diff_tables must contain at least two tables (separated by comma)
+}
+
+
# ==== Save both tables to file ====
---echo Comparing tables $diff_table_1 and $diff_table_2
-disable_query_log;
---error 0,1
---remove_file $MYSQLTEST_VARDIR/tmp/diff_table_1
---error 0,1
---remove_file $MYSQLTEST_VARDIR/tmp/diff_table_2
-
-
-let $_diff_table=$diff_table_2;
-let $_diff_i=2;
-while ($_diff_i) {
-
- # Parse out any leading "master:" or "slave:" from the table specification
-# and connect the appropriate server.
- let $_pos= `SELECT LOCATE(':', '$_diff_table')`;
- let $_diff_conn=`SELECT SUBSTR('$_diff_table', 1, $_pos-1)`;
- if (`SELECT 'XX$_diff_conn' <> 'XX'`) {
- let $_diff_table=`SELECT SUBSTR('$_diff_table', $_pos+1)`;
- connection $_diff_conn;
+# Trim off whitespace
+--let $_dt_tables= `SELECT REPLACE('$diff_tables', ' ', '')`
+
+# Iterate over all tables
+--let $_dt_outfile=
+--let $_dt_prev_outfile=
+while ($_dt_tables)
+{
+ --let $_dt_table= `SELECT SUBSTRING_INDEX('$_dt_tables', ',', 1)`
+ --let $_dt_tables= `SELECT SUBSTRING('$_dt_tables', LENGTH('$_dt_table') + 2)`
+
+ # Parse connection, if any
+ --let $_dt_colon_index= `SELECT LOCATE(':', '$_dt_table')`
+ if ($_dt_colon_index)
+ {
+ --let $_dt_connection= `SELECT SUBSTRING('$_dt_table', 1, $_dt_colon_index - 1)`
+ --let $_dt_table= `SELECT SUBSTRING('$_dt_table', $_dt_colon_index + 1)`
+ --let $rpl_connection_name= $_dt_connection
+ --source include/rpl_connection.inc
+ }
+
+ # Parse database name, if any
+ --let $_dt_database_index= `SELECT LOCATE('.', '$_dt_table')`
+ if ($_dt_database_index)
+ {
+ --let $_dt_database= `SELECT SUBSTRING('$_dt_table', 1, $_dt_database_index - 1)`
+ --let $_dt_table= `SELECT SUBSTRING('$_dt_table', $_dt_database_index + 1)`
+ }
+ if (!$_dt_database_index)
+ {
+ --let $_dt_database= `SELECT DATABASE()`
}
- # Sanity-check the input.
- let $_diff_error= `SELECT '$_diff_table' NOT LIKE '_%._%'`;
- if ($_diff_error) {
- --echo !!!ERROR IN TEST: \$diff_table_$_diff_i='$_diff_table' is not in the form database.table
- exit;
+ if ($rpl_debug)
+ {
+ --echo con='$_dt_connection' db='$_dt_database' table='$_dt_table'
+ --echo rest of tables='$_dt_tables'
}
- # We need the output files to be sorted (so that diff_files does not
- # think the files are different just because they are differently
- # ordered). To this end, we first generate a query that sorts the
- # table by all columns. Since ORDER BY accept column indices, we
- # just generate a comma-separated list of all numbers from 1 to the
- # number of columns in the table.
- let $_diff_column_index=`SELECT MAX(ordinal_position)
- FROM information_schema.columns
- WHERE CONCAT(table_schema, '.', table_name) =
- '$_diff_table'`;
- let $_diff_column_list=$_diff_column_index;
- dec $_diff_column_index;
- while ($_diff_column_index) {
- let $_diff_column_list=$_diff_column_index, $_diff_column_list;
- dec $_diff_column_index;
+ # We need to sort the output files so that diff_files does not think
+ # the tables are different just because the rows are differently
+ # ordered. To this end, we first generate a string containing a
+ # comma-separated list of all column names. This is used in the
+ # ORDER BY clause of the following SELECT statement. We get the
+ # column names from INFORMATION_SCHEMA.COLUMNS, and we concatenate
+ # them with GROUP_CONCAT. Since GROUP_CONCAT is limited by the
+ # @@SESSION.group_concat_max_len, which is only 1024 by default, we
+ # first compute the total size of all columns and then increase this
+ # limit if needed. We restore the limit afterwards so as not to
+ # interfere with the test case.
+
+ # Compute length of ORDER BY clause.
+ let $_dt_order_by_length=
+ `SELECT SUM(LENGTH(column_name) + 3) FROM information_schema.columns
+ WHERE table_schema = '$_dt_database' AND table_name = '$_dt_table'`;
+ if (!$_dt_order_by_length)
+ {
+ --echo ERROR IN TEST: table $_dt_database.$_dt_table not found in INFORMATION_SCHEMA.COLUMNS. Did you misspell it?
+ --die ERROR IN TEST: table not found in INFORMATION_SCHEMA. Did you misspell it?
+ }
+ --let $_dt_old_group_concat_max_len=
+ # Increase group_concat_max_len if needed.
+ if (`SELECT $_dt_order_by_length > @@SESSION.group_concat_max_len`)
+ {
+ --let $_dt_old_group_concat_max_len= `SELECT @@SESSION.group_concat_max_len`
+ --eval SET SESSION group_concat_max_len = $_dt_order_by_length;
+ if ($rpl_debug)
+ {
+ --echo # increasing group_concat_max_len from $_dt_old_group_concat_max_len to $_dt_order_by_length
+ }
+ }
+ # Generate ORDER BY clause.
+ # It would be better to do GROUP_CONCAT(CONCAT('`', column_name, '`')) but
+ # BUG#58087 prevents us from returning strings that begin with backticks.
+ let $_dt_column_list=
+ `SELECT GROUP_CONCAT(column_name ORDER BY ORDINAL_POSITION SEPARATOR '`,`')
+ FROM information_schema.columns
+ WHERE table_schema = '$_dt_database' AND table_name = '$_dt_table'`;
+ # Restore group_concat_max_len.
+ if ($_dt_old_group_concat_max_len)
+ {
+ --let $_dt_dummy= `SET SESSION group_concat_max_len = $_dt_old_group_concat_max_len
+ }
+ if ($rpl_debug)
+ {
+ --echo using ORDER BY clause '`$_dt_column_list`'
}
# Now that we have the comma-separated list of columns, we can write
# the table to a file.
- eval SELECT * FROM $_diff_table ORDER BY $_diff_column_list
- INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/diff_table_$_diff_i';
+ --let $_dt_outfile= `SELECT @@datadir`
+ --let $_dt_outfile= $_dt_outfile/diff_table-$_dt_connection-$_dt_database-$_dt_table
+ eval SELECT * FROM $_dt_database.$_dt_table ORDER BY `$_dt_column_list` INTO OUTFILE '$_dt_outfile';
- # Do the same for $diff_table_1.
- dec $_diff_i;
- let $_diff_table=$diff_table_1;
+ # Compare files.
+ if ($_dt_prev_outfile)
+ {
+ if ($rpl_debug)
+ {
+ --echo # diffing $_dt_prev_outfile vs $_dt_outfile
+ }
+ --diff_files $_dt_prev_outfile $_dt_outfile
+ # Remove previous outfile. Keep current file for comparison with next table.
+ --remove_file $_dt_prev_outfile
+ }
+ --let $_dt_prev_outfile= $_dt_outfile
}
+--remove_file $_dt_prev_outfile
-# ==== Compare the generated files ====
-
-diff_files $MYSQLTEST_VARDIR/tmp/diff_table_1 $MYSQLTEST_VARDIR/tmp/diff_table_2;
-
---remove_file $MYSQLTEST_VARDIR/tmp/diff_table_1
---remove_file $MYSQLTEST_VARDIR/tmp/diff_table_2
-enable_query_log;
+--let $include_filename= diff_tables.inc [$diff_tables]
+--source include/end_include_file.inc
diff --git a/mysql-test/include/end_include_file.inc b/mysql-test/include/end_include_file.inc
new file mode 100644
index 00000000000..1e546c1215b
--- /dev/null
+++ b/mysql-test/include/end_include_file.inc
@@ -0,0 +1,79 @@
+# ==== Purpose ====
+#
+# See include/begin_include_file.inc
+#
+#
+# ==== Usage ====
+#
+# # At the end of include/my_file.inc:
+# --let $include_filename= my_file.inc
+# [--let $skip_restore_connection= 1]
+# [--let $rpl_debug= 1]
+# --source include/begin_include_file.inc
+#
+# Parameters:
+# $include_filename
+# Name of file that sources this file.
+#
+# $skip_restore_connection
+# By default, this script restores the connection that was active
+# when begin_include_file.inc was sourced. If
+# $skip_restore_connection is set, then this step is skipped and
+# end_include_file.inc leaves the connection as it was before
+# end_include_file.inc was sourced.
+
+--let $_tmp= `SELECT SUBSTRING('$_include_file_enabled_warnings', 1, 1)`
+--let $_include_file_enabled_warnings= `SELECT SUBSTRING('$_include_file_enabled_warnings', 2)`
+if ($_tmp) {
+ --enable_warnings
+}
+if (!$_tmp) {
+ --disable_warnings
+}
+
+--let $_tmp= `SELECT SUBSTRING('$_include_file_enabled_query_log', 1, 1)`
+--let $_include_file_enabled_query_log= `SELECT SUBSTRING('$_include_file_enabled_query_log', 2)`
+if ($_tmp) {
+ --enable_query_log
+}
+if (!$_tmp) {
+ --disable_query_log
+}
+
+--let $_tmp= `SELECT SUBSTRING('$_include_file_enabled_result_log', 1, 1)`
+--let $_include_file_enabled_result_log= `SELECT SUBSTRING('$_include_file_enabled_result_log', 2)`
+if ($_tmp) {
+ --enable_result_log
+}
+if (!$_tmp) {
+ --disable_result_log
+}
+
+--let $_tmp= `SELECT SUBSTRING('$_include_file_enabled_abort_on_error', 1, 1)`
+--let $_include_file_enabled_abort_on_error= `SELECT SUBSTRING('$_include_file_enabled_abort_on_error', 2)`
+if ($_tmp) {
+ --enable_abort_on_error
+}
+if (!$_tmp) {
+ --disable_abort_on_error
+}
+
+--let $_include_file_rpl_connection_name= `SELECT SUBSTRING_INDEX('$_include_file_connection', ',', 1)`
+--let $_include_file_connection= `SELECT SUBSTRING('$_include_file_connection', LENGTH('$_include_file_rpl_connection_name') + 2)`
+if (!$skip_restore_connection)
+{
+ --let $rpl_connection_name= $_include_file_rpl_connection_name
+ --source include/rpl_connection.inc
+}
+--let $skip_restore_connection= 0
+
+
+--dec $_include_file_depth
+--let $_include_file_indent= `SELECT REPEAT('.', $_include_file_depth)`
+
+if ($rpl_debug)
+{
+ --echo $_include_file_indent==== END include/$include_filename ====
+ --echo $_include_file_indent con='$CURRENT_CONNECTION' warn='$ENABLED_WARNINGS' qlog='$ENABLED_QUERY_LOG' rlog='$ENABLED_RESULT_LOG' aborterr='$ENABLED_ABORT_ON_ERROR'
+}
+--let $include_filename=
diff --git a/mysql-test/include/file_does_not_exist.inc b/mysql-test/include/file_does_not_exist.inc
new file mode 100644
index 00000000000..0b02c63a0a9
--- /dev/null
+++ b/mysql-test/include/file_does_not_exist.inc
@@ -0,0 +1,17 @@
+# ==== Purpose ====
+#
+# Checks that a given file does not exist. If the file exists, the
+# test fails.
+#
+# ==== Usage ====
+#
+# --let $file_does_not_exist= /path/to/file
+# --source include/file_does_not_exist.inc
+
+# Will fail if file exists.
+--write_file $file_does_not_exist
+tmp
+EOF
+
+# Remove file again.
+--remove_file $file_does_not_exist
diff --git a/mysql-test/include/force_restart.inc b/mysql-test/include/force_restart.inc
new file mode 100644
index 00000000000..d058e85df45
--- /dev/null
+++ b/mysql-test/include/force_restart.inc
@@ -0,0 +1,17 @@
+# ==== Purpose ====
+#
+# Tell mtr that all servers must be restarted after the test has
+# finished.
+#
+# ==== Usage ====
+#
+# --source include/force_restart.inc
+#
+# ==== See also ====
+#
+# include/force_restart_if_skipped.inc
+
+--let $_force_restart_datadir= `SELECT @@datadir`
+--append_file $_force_restart_datadir/mtr/force_restart
+1
+EOF
diff --git a/mysql-test/include/force_restart_if_skipped.inc b/mysql-test/include/force_restart_if_skipped.inc
new file mode 100644
index 00000000000..228e094e932
--- /dev/null
+++ b/mysql-test/include/force_restart_if_skipped.inc
@@ -0,0 +1,17 @@
+# ==== Purpose ====
+#
+# Tell mtr that all servers must be restarted in case the test is
+# skipped.
+#
+# ==== Usage ====
+#
+# --source include/force_restart_if_skipped.inc
+#
+# ==== See also ====
+#
+# include/force_restart.inc
+
+--let $_force_restart_datadir= `SELECT @@datadir`
+--append_file $_force_restart_datadir/mtr/force_restart_if_skipped
+1
+EOF
diff --git a/mysql-test/include/get_relay_log_pos.inc b/mysql-test/include/get_relay_log_pos.inc
index 7ce36fd3c50..61ee07fc655 100644
--- a/mysql-test/include/get_relay_log_pos.inc
+++ b/mysql-test/include/get_relay_log_pos.inc
@@ -10,12 +10,12 @@
# # at this point, get_relay_log_pos.inc sets $relay_log_pos. echo position
# # in $relay_log_file: $relay_log_pos.
-if (`SELECT '$relay_log_file' = ''`)
+if (!$relay_log_file)
{
--die 'variable $relay_log_file is null'
}
-if (`SELECT '$master_log_pos' = ''`)
+if (!$master_log_pos)
{
--die 'variable $master_log_pos is null'
}
diff --git a/mysql-test/include/gis_keys.inc b/mysql-test/include/gis_keys.inc
index c75311f062a..ad00c7e1ef9 100644
--- a/mysql-test/include/gis_keys.inc
+++ b/mysql-test/include/gis_keys.inc
@@ -44,3 +44,19 @@ SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
DROP TABLE t1, t2;
--echo End of 5.0 tests
+
+
+--echo #
+--echo # Test for bug #58650 "Failing assertion: primary_key_no == -1 ||
+--echo # primary_key_no == 0".
+--echo #
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+--echo # The minimal test case.
+create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a));
+drop table t1;
+--echo # The original test case.
+create table t1 (a int not null, b linestring not null, unique key b (b(12)));
+create unique index a on t1(a);
+drop table t1;
diff --git a/mysql-test/include/handler.inc b/mysql-test/include/handler.inc
index 65e9e61d077..57d368960bf 100644
--- a/mysql-test/include/handler.inc
+++ b/mysql-test/include/handler.inc
@@ -1545,8 +1545,6 @@ lock table not_exists_write read;
--echo # We still have the read lock.
--error ER_CANT_UPDATE_WITH_READLOCK
drop table t1;
-handler t1 read next;
-handler t1 close;
handler t1 open;
select a from t2;
handler t1 read next;
@@ -1809,9 +1807,32 @@ CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (1);
HANDLER t1 OPEN;
# This used to cause the assert
---error ER_NO_SUCH_TABLE
+--error ER_NOT_SUPPORTED_YET
HANDLER t1 READ FIRST WHERE f1() = 1;
HANDLER t1 CLOSE;
DROP FUNCTION f1;
DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#54920 Stored functions are allowed in HANDLER statements,
+--echo # but broken.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2);
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+HANDLER t1 OPEN;
+
+--error ER_NOT_SUPPORTED_YET
+HANDLER t1 READ FIRST WHERE f1() = 1;
+
+HANDLER t1 CLOSE;
+DROP FUNCTION f1;
+DROP TABLE t1;
diff --git a/mysql-test/include/have_archive_plugin.inc b/mysql-test/include/have_archive_plugin.inc
index 98e146ca20b..566e2c49211 100644
--- a/mysql-test/include/have_archive_plugin.inc
+++ b/mysql-test/include/have_archive_plugin.inc
@@ -2,4 +2,3 @@ if (`select plugin_library IS NULL from information_schema.plugins where plugin_
{
--skip archive plugin not available
}
-
diff --git a/mysql-test/include/have_blackhole_plugin.inc b/mysql-test/include/have_blackhole_plugin.inc
index 749efd343d6..b5a3aa2c342 100644
--- a/mysql-test/include/have_blackhole_plugin.inc
+++ b/mysql-test/include/have_blackhole_plugin.inc
@@ -2,4 +2,3 @@ if (`select plugin_library IS NULL from information_schema.plugins where plugin_
{
--skip blackhole plugin not available;
}
-
diff --git a/mysql-test/include/have_dbi_dbd-mysql.inc b/mysql-test/include/have_dbi_dbd-mysql.inc
new file mode 100644
index 00000000000..212e36ac353
--- /dev/null
+++ b/mysql-test/include/have_dbi_dbd-mysql.inc
@@ -0,0 +1,78 @@
+#
+# Originally created by John Embretsen, 2011-01-26.
+#
+# Checks for the existence of Perl modules DBI and DBD::mysql as seen from the
+# perl installation used by "external" executable perl scripts, i.e. scripts
+# that are executed as standalone scripts interpreted by the perl installation
+# specified by the "shebang" line in the top of these scripts.
+#
+# If either module is not found, the test will be skipped.
+#
+# For use in tests that call perl scripts that require these modules.
+#
+# This file is intended to work on Unix. Windows may need different treatment.
+# Reasoning:
+# - "shebangs" are not relevant on Windows, but need to be handled here.
+# - Perl scripts cannot be made executable on Windows, interpreter must be
+# specified.
+#
+# Note that if there are multiple perl installations and not all have the
+# required modules, this check may fail even if the perl in path does have
+# the modules available. This may happen if the perl specified by the script's
+# shebang (e.g. #!/usr/bin/perl) does not have these modules, and script is
+# called without specifying the perl interpreter. However, this will be
+# a correct result in cases where a test calls a script with a similar shebang.
+#
+################################################################################
+
+--source include/not_windows.inc
+
+# We jump through some hoops since there is no direct way to check if an
+# external command went OK or not from a mysql-test file:
+#
+# - In theory, we could do as simple as "exec perl -MDBI -MDBD::mysql -e 1",
+# however we cannot check the result (exit code) from within a test script.
+# Also, this may not yield the same result as other uses of perl due to the
+# shebang issue mentioned above.
+# - Instead we use a separate helper perl script that checks for the modules.
+# - If the modules are found, the perl script leaves a file which sets a
+# variable that can be read by this file.
+# If the modules are not found, the perl script does not set this variable,
+# but leaves an empty file instead.
+#
+# This is done because there is apparently no direct way to transfer
+# information from perl to the test script itself.
+
+--disable_query_log
+--disable_result_log
+--disable_warnings
+
+# We do not use embedded perl in this script because that would not have yielded
+# correct results for a situation where an external Perl script is called like
+# "scriptname" instead of "perl scriptname" and the shebang in the script points
+# to a specific perl that may be different than the perl in PATH.
+#
+# Instead, we call a separate helper script which checks for the modules in its
+# own environment. We call it without "perl" in front.
+
+--let $perlChecker= $MYSQLTEST_VARDIR/std_data/checkDBI_DBD-mysql.pl
+--let $resultFile= $MYSQL_TMP_DIR/dbidbd-mysql.txt
+
+# Make the script executable and execute it.
+--chmod 0755 $perlChecker
+--exec $perlChecker
+
+# Source the resulting temporary file and look for a variable being set.
+--source $resultFile
+
+if (!$dbidbd) {
+ --skip Test needs Perl modules DBI and DBD::mysql
+}
+
+# Clean up
+--remove_file $resultFile
+
+--enable_query_log
+--enable_result_log
+--enable_warnings
+
diff --git a/mysql-test/include/have_example_plugin.inc b/mysql-test/include/have_example_plugin.inc
index bb84313eb4d..5571c345850 100644
--- a/mysql-test/include/have_example_plugin.inc
+++ b/mysql-test/include/have_example_plugin.inc
@@ -6,8 +6,9 @@ if (`SELECT @@have_dynamic_loading != 'YES'`) {
}
#
-# Check if the variable HA_EXAMPLE_SO is set
+# Check if the variable EXAMPLE_PLUGIN is set
#
-if (`SELECT LENGTH('$HA_EXAMPLE_SO') = 0`) {
+if (!$HA_EXAMPLE_SO) {
--skip Need example plugin
}
+
diff --git a/mysql-test/include/have_innodb.inc b/mysql-test/include/have_innodb.inc
index c3c8b5cc4f2..fa3e586834c 100644
--- a/mysql-test/include/have_innodb.inc
+++ b/mysql-test/include/have_innodb.inc
@@ -1,5 +1,4 @@
-if (!`SELECT count(*) FROM information_schema.engines WHERE
- (support = 'YES' OR support = 'DEFAULT') AND
- engine = 'innodb'`){
- skip Needs innodb engine;
+if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'innodb' AND support IN ('YES', 'DEFAULT', 'ENABLED')`)
+{
+ --skip Test requires InnoDB.
}
diff --git a/mysql-test/include/have_plugin_auth.inc b/mysql-test/include/have_plugin_auth.inc
new file mode 100644
index 00000000000..44ff4c2520d
--- /dev/null
+++ b/mysql-test/include/have_plugin_auth.inc
@@ -0,0 +1,5 @@
+disable_query_log;
+--require r/true.require
+select (PLUGIN_LIBRARY LIKE 'auth_test_plugin%') as `TRUE` FROM INFORMATION_SCHEMA.PLUGINS
+ WHERE PLUGIN_NAME='test_plugin_server';
+enable_query_log;
diff --git a/mysql-test/include/have_plugin_interface.inc b/mysql-test/include/have_plugin_interface.inc
new file mode 100644
index 00000000000..afe8ffad40d
--- /dev/null
+++ b/mysql-test/include/have_plugin_interface.inc
@@ -0,0 +1,5 @@
+--disable_query_log
+--require r/true.require
+select (PLUGIN_LIBRARY LIKE 'qa_auth_interface%') as `TRUE` FROM INFORMATION_SCHEMA.PLUGINS
+ WHERE PLUGIN_NAME='qa_auth_interface';
+--enable_query_log
diff --git a/mysql-test/include/have_plugin_server.inc b/mysql-test/include/have_plugin_server.inc
new file mode 100644
index 00000000000..aad1f026b44
--- /dev/null
+++ b/mysql-test/include/have_plugin_server.inc
@@ -0,0 +1,5 @@
+--disable_query_log
+--require r/true.require
+select (PLUGIN_LIBRARY LIKE 'qa_auth_server%') as `TRUE` FROM INFORMATION_SCHEMA.PLUGINS
+ WHERE PLUGIN_NAME='qa_auth_server';
+--enable_query_log
diff --git a/mysql-test/include/have_semisync_plugin.inc b/mysql-test/include/have_semisync_plugin.inc
index 62dbf878825..8a1679de636 100644
--- a/mysql-test/include/have_semisync_plugin.inc
+++ b/mysql-test/include/have_semisync_plugin.inc
@@ -8,7 +8,7 @@ if (`SELECT @@have_dynamic_loading != 'YES'`) {
#
# Check if the variable SEMISYNC_MASTER_SO is set
#
-if (`select LENGTH('$SEMISYNC_MASTER_SO') = 0`)
+if (!$SEMISYNC_MASTER_SO)
{
skip Need semisync plugins;
}
diff --git a/mysql-test/include/have_simple_parser.inc b/mysql-test/include/have_simple_parser.inc
index 100c8fc7a5a..0c20c43eb3e 100644
--- a/mysql-test/include/have_simple_parser.inc
+++ b/mysql-test/include/have_simple_parser.inc
@@ -6,8 +6,9 @@ if (`SELECT @@have_dynamic_loading != 'YES'`) {
}
#
-# Check if the variable MYPLUGLIB_SO is set
+# Check if the variable SIMPLE_PARSER is set
#
-if (`SELECT LENGTH('$MYPLUGLIB_SO') = 0`) {
+if (!$MYPLUGLIB_SO) {
--skip simple parser is not built (no mypluglib.so)
}
+
diff --git a/mysql-test/include/have_udf.inc b/mysql-test/include/have_udf.inc
index 1953cb4b303..be7390f854a 100644
--- a/mysql-test/include/have_udf.inc
+++ b/mysql-test/include/have_udf.inc
@@ -6,9 +6,9 @@ if (`SELECT @@have_dynamic_loading != 'YES'`) {
}
#
-# Check if the variable UDF_EXAMPLE_SO is set
+# Check if the variable UDF_EXAMPLE_LIB is set
#
-#
-if (`SELECT LENGTH('$UDF_EXAMPLE_SO') = 0`) {
+if (!$UDF_EXAMPLE_SO) {
--skip Need udf example
}
+
diff --git a/mysql-test/include/index_merge2.inc b/mysql-test/include/index_merge2.inc
index 9b98eb3ebf2..23c8c6466c7 100644
--- a/mysql-test/include/index_merge2.inc
+++ b/mysql-test/include/index_merge2.inc
@@ -351,3 +351,115 @@ explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 4
select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
drop table t1;
+--echo #
+--echo # Bug#56423: Different count with SELECT and CREATE SELECT queries
+--echo #
+
+CREATE TABLE t1 (
+ a INT,
+ b INT,
+ c INT,
+ d INT,
+ PRIMARY KEY (a),
+ KEY (c),
+ KEY bd (b,d)
+);
+
+INSERT INTO t1 VALUES
+(1, 0, 1, 0),
+(2, 1, 1, 1),
+(3, 1, 1, 1),
+(4, 0, 1, 1);
+
+EXPLAIN
+SELECT a
+FROM t1
+WHERE c = 1 AND b = 1 AND d = 1;
+
+CREATE TABLE t2 ( a INT )
+SELECT a
+FROM t1
+WHERE c = 1 AND b = 1 AND d = 1;
+
+SELECT * FROM t2;
+
+DROP TABLE t1, t2;
+
+CREATE TABLE t1( a INT, b INT, KEY(a), KEY(b) );
+INSERT INTO t1 VALUES (1, 2), (1, 2), (1, 2), (1, 2);
+SELECT * FROM t1 FORCE INDEX(a, b) WHERE a = 1 AND b = 2;
+
+DROP TABLE t1;
+
+--echo # Code coverage of fix.
+CREATE TABLE t1 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT);
+INSERT INTO t1 (b) VALUES (1);
+UPDATE t1 SET b = 2 WHERE a = 1;
+SELECT * FROM t1;
+
+CREATE TABLE t2 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(1) );
+INSERT INTO t2 (b) VALUES ('a');
+UPDATE t2 SET b = 'b' WHERE a = 1;
+SELECT * FROM t2;
+
+DROP TABLE t1, t2;
+
+# The test was inactive for InnoDB at the time of pushing. The following is
+# expected result for the Bug#56423 test. It can be uncommented and pasted
+# into result file when reactivating the test.
+
+##
+## Bug#56423: Different count with SELECT and CREATE SELECT queries
+##
+#CREATE TABLE t1 (
+#a INT,
+#b INT,
+#c INT,
+#d INT,
+#PRIMARY KEY (a),
+#KEY (c),
+#KEY bd (b,d)
+#);
+#INSERT INTO t1 VALUES
+#(1, 0, 1, 0),
+#(2, 1, 1, 1),
+#(3, 1, 1, 1),
+#(4, 0, 1, 1);
+#EXPLAIN
+#SELECT a
+#FROM t1
+#WHERE c = 1 AND b = 1 AND d = 1;
+#id select_type table type possible_keys key key_len ref rows Extra
+#1 SIMPLE t1 ref c,bd bd 10 const,const 2 Using where
+#CREATE TABLE t2 ( a INT )
+#SELECT a
+#FROM t1
+#WHERE c = 1 AND b = 1 AND d = 1;
+#SELECT * FROM t2;
+#a
+#2
+#3
+#DROP TABLE t1, t2;
+#CREATE TABLE t1( a INT, b INT, KEY(a), KEY(b) );
+#INSERT INTO t1 VALUES (1, 2), (1, 2), (1, 2), (1, 2);
+#SELECT * FROM t1 FORCE INDEX(a, b) WHERE a = 1 AND b = 2;
+#a b
+#1 2
+#1 2
+#1 2
+#1 2
+#DROP TABLE t1;
+## Code coverage of fix.
+#CREATE TABLE t1 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT);
+#INSERT INTO t1 (b) VALUES (1);
+#UPDATE t1 SET b = 2 WHERE a = 1;
+#SELECT * FROM t1;
+#a b
+#1 2
+#CREATE TABLE t2 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(1) );
+#INSERT INTO t2 (b) VALUES ('a');
+#UPDATE t2 SET b = 'b' WHERE a = 1;
+#SELECT * FROM t2;
+#a b
+#1 b
+#DROP TABLE t1, t2;
diff --git a/mysql-test/include/io_thd_fault_injection.inc b/mysql-test/include/io_thd_fault_injection.inc
new file mode 100644
index 00000000000..7cbe055dbf6
--- /dev/null
+++ b/mysql-test/include/io_thd_fault_injection.inc
@@ -0,0 +1,21 @@
+#
+# Takes the flag as an argument:
+# -- let $io_thd_injection_fault_flag=+d,fault_injection_new_file_rotate_event
+# -- source include/io_thd_fault_injection.inc
+#
+
+SET @old_debug=@@global.debug;
+-- disable_warnings
+-- source include/stop_slave.inc
+-- enable_warnings
+-- eval SET GLOBAL debug="+d,$io_thd_injection_fault_flag"
+
+START SLAVE io_thread;
+-- source include/wait_for_slave_io_error.inc
+
+-- eval SET GLOBAL debug="-d,$io_thd_injection_fault_flag"
+SET GLOBAL debug=@old_debug;
+
+# restart because slave is in bad shape
+--let $rpl_server_number= 2
+--source include/rpl_restart_server.inc
diff --git a/mysql-test/include/kill_query.inc b/mysql-test/include/kill_query.inc
index b303ed0ec39..1c949d3cbad 100644
--- a/mysql-test/include/kill_query.inc
+++ b/mysql-test/include/kill_query.inc
@@ -44,7 +44,7 @@ connection master;
# kill the query that is waiting
eval kill query $connection_id;
-if (`SELECT '$debug_lock' != ''`)
+if ($debug_lock)
{
# release the lock to allow binlog continue
eval SELECT RELEASE_LOCK($debug_lock);
@@ -57,7 +57,7 @@ reap;
connection master;
-if (`SELECT '$debug_lock' != ''`)
+if ($debug_lock)
{
# get lock again to make the next query wait
eval SELECT GET_LOCK($debug_lock, 10);
diff --git a/mysql-test/include/kill_query_and_diff_master_slave.inc b/mysql-test/include/kill_query_and_diff_master_slave.inc
index 611d6929c99..59588551af5 100644
--- a/mysql-test/include/kill_query_and_diff_master_slave.inc
+++ b/mysql-test/include/kill_query_and_diff_master_slave.inc
@@ -9,35 +9,35 @@
# connection <CONNECTION>;
# let $connection_name=<CONNECTION>
# let $connection_id=`SELECT CONNECTION_ID()`;
-# let $diff_statement=<SQL COMMAND>;
+# let $rpl_diff_statement=<SQL COMMAND>;
# send <SQL COMMAND>;
# source include/kill_query_and_diff_master_slave.inc;
#
# Note: <CONNECTION> must not be 'master'.
#
-# See also kill_query.inc and diff_master_slave.inc for more
+# See also kill_query.inc and rpl_diff.inc for more
# information
source include/kill_query.inc;
# Release the debug lock if used, so that the statements in
-# diff_master_slave.inc will not be blocked.
+# rpl_diff.inc will not be blocked.
connection master;
disable_query_log;
disable_result_log;
-if (`SELECT '$debug_lock' != ''`)
+if ($debug_lock)
{
eval SELECT RELEASE_LOCK($debug_lock);
}
enable_result_log;
enable_query_log;
-source include/diff_master_slave.inc;
+--source include/rpl_diff.inc
# Acquire the debug lock again if used
connection master;
-disable_query_log; disable_result_log; if (`SELECT '$debug_lock' !=
-''`) { eval SELECT GET_LOCK($debug_lock, 10); } enable_result_log;
-enable_query_log;
+disable_query_log; disable_result_log;
+if ($debug_lock) { eval SELECT GET_LOCK($debug_lock, 10); }
+enable_result_log; enable_query_log;
connection $connection_name;
diff --git a/mysql-test/include/master-slave-end.inc b/mysql-test/include/master-slave-end.inc
deleted file mode 100644
index 74e4c7b608a..00000000000
--- a/mysql-test/include/master-slave-end.inc
+++ /dev/null
@@ -1,6 +0,0 @@
---connection master
---sync_slave_with_master
---connection slave
---disable_query_log
-STOP SLAVE;
---enable_query_log
diff --git a/mysql-test/include/master-slave-reset.inc b/mysql-test/include/master-slave-reset.inc
deleted file mode 100644
index f54f5b83eb5..00000000000
--- a/mysql-test/include/master-slave-reset.inc
+++ /dev/null
@@ -1,75 +0,0 @@
-# Reset the master and the slave to start fresh.
-#
-# It is necessary to execute RESET MASTER and RESET SLAVE on both
-# master and slave since the replication setup might be circular.
-#
-# Since we expect STOP SLAVE to produce a warning as the slave is
-# stopped (the server was started with skip-slave-start), we disable
-# warnings when doing STOP SLAVE.
-#
-# $no_change_master If true, no change master will be done nor any reset slave.
-# This is to avoid touching the relay-log.info file allowing
-# the test to create one itself.
-# $skip_slave_start If true, the slave will not be started
-
-connection slave;
-
-#we expect STOP SLAVE to produce a warning as the slave is stopped
-#(the server was started with skip-slave-start)
---disable_warnings
-stop slave;
---disable_query_log
-if (!$no_change_master) {
- eval CHANGE MASTER TO MASTER_USER='root',
- MASTER_CONNECT_RETRY=1,
- MASTER_HOST='127.0.0.1',
- MASTER_PORT=$MASTER_MYPORT;
-}
---enable_query_log
-source include/wait_for_slave_to_stop.inc;
---enable_warnings
-
-connection master;
---disable_warnings
---disable_query_log
-use test;
---enable_query_log
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-reset master;
-
---disable_query_log
-if (!$no_change_master) {
- reset slave;
-}
---enable_query_log
-connection slave;
-
---disable_warnings
-# the first RESET SLAVE may produce a warning about non-existent
-# 'ndb_apply_status' table, because this table is created
-# asynchronously at the server startup and may not exist yet
-# if RESET SLAVE comes too soon after the server startup
-if (!$no_change_master) {
- reset slave;
-}
---enable_warnings
-
-# Clean up old test tables
---disable_warnings
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-
---disable_query_log
-#eval CHANGE MASTER TO MASTER_USER='root',
-# MASTER_CONNECT_RETRY=1,
-# MASTER_HOST='127.0.0.1',
-# MASTER_PORT=$MASTER_MYPORT;
-reset master;
---enable_query_log
-
-if (!$skip_slave_start) {
- start slave;
- source include/wait_for_slave_to_start.inc;
-}
-
diff --git a/mysql-test/include/master-slave.inc b/mysql-test/include/master-slave.inc
index 134bb61ddab..9ed206b2c22 100644
--- a/mysql-test/include/master-slave.inc
+++ b/mysql-test/include/master-slave.inc
@@ -1,19 +1,63 @@
-# Replication tests need binlog
+# ==== Purpose ====
#
-# $skip_slave_start If true, the slave will not be started
-source include/have_log_bin.inc;
-
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
+# Configure two servers to be replication master and slave.
+#
+# ==== Usage ====
+#
+# [--let $rpl_server_count= N]
+# [--let $rpl_check_server_ids= 1]
+# [--let $rpl_skip_reset_master_and_slave= 1]
+# [--let $rpl_skip_change_master= 1]
+# [--let $rpl_skip_start_slave= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/master-slave.inc
+#
+# Parameters:
+# $rpl_check_server_ids, $rpl_skip_reset_master_and_slave,
+# $rpl_skip_change_master, $rpl_skip_start_slave, $rpl_debug,
+# $slave_timeout
+# See include/rpl_init.inc
+#
+# $rpl_server_count
+# By default, two servers are configured. You can configure more
+# servers (servers 3, 4, etc are neither masters nor slaves) by
+# setting this variable. See also include/rpl_init.inc
--- source include/master-slave-reset.inc
-if (!$skip_slave_start) {
- connection master;
- sync_slave_with_master;
+--let $include_filename= master-slave.inc
+if ($rpl_server_count)
+{
+ --let $include_filename= master-slave.inc [rpl_server_count=$rpl_server_count]
}
+--source include/begin_include_file.inc
+
+
+--let $rpl_topology= 1->2
+--source include/rpl_init.inc
+
+--let $rpl_connection_name= master
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= master1
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= slave
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= slave1
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
+
+
+--let $include_filename= master-slave.inc
+--source include/end_include_file.inc
+
-# Set the default connection to 'master'
-connection master;
+# Set the default connection to 'master'. Do this after
+# end_include_file.inc, so that it gets printed to the query log.
+--let $rpl_connection_name= master
+--source include/rpl_connection.inc
diff --git a/mysql-test/include/mix1.inc b/mysql-test/include/mix1.inc
index 0449bae2790..c5995987914 100644
--- a/mysql-test/include/mix1.inc
+++ b/mysql-test/include/mix1.inc
@@ -634,6 +634,10 @@ drop table t1;
drop table bug29807;
create table bug29807 (a int);
drop table bug29807;
+--disable_query_log
+call mtr.add_suppression("InnoDB: Error: table .test...bug29807. does not exist in the InnoDB internal");
+call mtr.add_suppression("Cannot find or open table test\/bug29807 from");
+--enable_query_log
#
diff --git a/mysql-test/include/mtr_check.sql b/mysql-test/include/mtr_check.sql
index 798b0774849..a5654d3596c 100644
--- a/mysql-test/include/mtr_check.sql
+++ b/mysql-test/include/mtr_check.sql
@@ -59,13 +59,3 @@ BEGIN
mysql.user;
END||
-
---
--- Procedure used by test case used to force all
--- servers to restart after testcase and thus skipping
--- check test case after test
---
-CREATE DEFINER=root@localhost PROCEDURE force_restart()
-BEGIN
- SELECT 1 INTO OUTFILE 'force_restart';
-END||
diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql
index 0a43d11f327..7446504424b 100644
--- a/mysql-test/include/mtr_warnings.sql
+++ b/mysql-test/include/mtr_warnings.sql
@@ -16,6 +16,12 @@ CREATE TABLE test_suppressions (
-- no invalid patterns can be inserted
-- into test_suppressions
--
+SET @character_set_client_saved = @@character_set_client||
+SET @character_set_results_saved = @@character_set_results||
+SET @collation_connection_saved = @@collation_connection||
+SET @@character_set_client = latin1||
+SET @@character_set_results = latin1||
+SET @@collation_connection = latin1_swedish_ci||
/*!50002
CREATE DEFINER=root@localhost TRIGGER ts_insert
BEFORE INSERT ON test_suppressions
@@ -24,6 +30,9 @@ FOR EACH ROW BEGIN
SELECT "" REGEXP NEW.pattern INTO dummy;
END
*/||
+SET @@character_set_client = @character_set_client_saved||
+SET @@character_set_results = @character_set_results_saved||
+SET @@collation_connection = @collation_connection_saved||
--
@@ -38,6 +47,12 @@ CREATE TABLE global_suppressions (
-- no invalid patterns can be inserted
-- into global_suppressions
--
+SET @character_set_client_saved = @@character_set_client||
+SET @character_set_results_saved = @@character_set_results||
+SET @collation_connection_saved = @@collation_connection||
+SET @@character_set_client = latin1||
+SET @@character_set_results = latin1||
+SET @@collation_connection = latin1_swedish_ci||
/*!50002
CREATE DEFINER=root@localhost TRIGGER gs_insert
BEFORE INSERT ON global_suppressions
@@ -46,6 +61,9 @@ FOR EACH ROW BEGIN
SELECT "" REGEXP NEW.pattern INTO dummy;
END
*/||
+SET @@character_set_client = @character_set_client_saved||
+SET @@character_set_results = @character_set_results_saved||
+SET @@collation_connection = @collation_connection_saved||
@@ -53,7 +71,7 @@ END
-- Insert patterns that should always be suppressed
--
INSERT INTO global_suppressions VALUES
- ("'SELECT UNIX_TIMESTAMP\\(\\)' failed on master"),
+ (".SELECT UNIX_TIMESTAMP... failed on master"),
("Aborted connection"),
("Client requested master to start replication from impossible position"),
("Could not find first log file name in binary log"),
@@ -107,11 +125,9 @@ INSERT INTO global_suppressions VALUES
("Slave: The incident LOST_EVENTS occured on the master"),
("Slave: Unknown error.* 1105"),
("Slave: Can't drop database.* database doesn't exist"),
- ("Slave SQL:.*(Error_code: \[\[:digit:\]\]+|Query:.*)"),
("Sort aborted"),
("Time-out in NDB"),
("Warning:\s+One can only use the --user.*root"),
- ("Warning:\s+Setting lower_case_table_names=2"),
("Warning:\s+Table:.* on (delete|rename)"),
("You have an error in your SQL syntax"),
("deprecated"),
@@ -124,56 +140,20 @@ INSERT INTO global_suppressions VALUES
("slave SQL thread aborted"),
("Slave: .*Duplicate entry"),
- /*
- Special case, made as specific as possible, for:
- Bug #28436: Incorrect position in SHOW BINLOG EVENTS causes
- server coredump
- */
-
- ("Error in Log_event::read_log_event\\\(\\\): 'Sanity check failed', data_len: 258, event_type: 49"),
-
("Statement may not be safe to log in statement format"),
- /* test case for Bug#bug29807 copies a stray frm into database */
- ("InnoDB: Error: table `test`.`bug29807` does not exist in the InnoDB internal"),
- ("Cannot find or open table test\/bug29807 from"),
-
/* innodb foreign key tests that fail in ALTER or RENAME produce this */
("InnoDB: Error: in ALTER TABLE `test`.`t[123]`"),
("InnoDB: Error: in RENAME TABLE table `test`.`t1`"),
("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"),
- /* Test case for Bug#14233 produces the following warnings: */
- ("Stored routine 'test'.'bug14233_1': invalid value in column mysql.proc"),
- ("Stored routine 'test'.'bug14233_2': invalid value in column mysql.proc"),
- ("Stored routine 'test'.'bug14233_3': invalid value in column mysql.proc"),
-
/*
BUG#32080 - Excessive warnings on Solaris: setrlimit could not
change the size of core files
*/
("setrlimit could not change the size of core files to 'infinity'"),
- /*
- rpl_extrColmaster_*.test, the slave thread produces warnings
- when it get updates to a table that has more columns on the
- master
- */
- ("Slave: Unknown column 'c7' in 't15' Error_code: 1054"),
- ("Slave: Can't DROP 'c7'.* 1091"),
- ("Slave: Key column 'c6'.* 1072"),
("The slave I.O thread stops because a fatal error is encountered when it try to get the value of SERVER_ID variable from master."),
- (".SELECT UNIX_TIMESTAMP... failed on master, do not trust column Seconds_Behind_Master of SHOW SLAVE STATUS"),
-
- /* Test case for Bug#31590 in order_by.test produces the following error */
- ("Out of sort memory; increase server sort buffer size"),
-
- /* Special case for Bug #26402 in show_check.test
- - Question marks are not valid file name parts on Windows. Ignore
- this error message.
- */
- ("Can't find file: '.\\\\test\\\\\\?{8}.frm'"),
- ("Slave: Unknown table 't1' Error_code: 1051"),
/* Added 2009-08-XX after fixing Bug #42408 */
@@ -213,14 +193,6 @@ INSERT INTO global_suppressions VALUES
("==[0-9]*== Warning: invalid file descriptor -1 in syscall read()"),
/*
- Transient network failures that cause warnings on reconnect.
- BUG#47743 and BUG#47983.
- */
- ("Slave I/O: Get master SERVER_ID failed with error:.*"),
- ("Slave I/O: Get master clock failed with error:.*"),
- ("Slave I/O: Get master COLLATION_SERVER failed with error:.*"),
- ("Slave I/O: Get master TIME_ZONE failed with error:.*"),
- /*
BUG#42147 - Concurrent DML and LOCK TABLE ... READ for InnoDB
table cause warnings in errlog
Note: This is a temporary suppression until Bug#42147 can be
diff --git a/mysql-test/include/mysql_upgrade_preparation.inc b/mysql-test/include/mysql_upgrade_preparation.inc
index 5de8a79d6e0..a3c81c4c1e7 100644
--- a/mysql-test/include/mysql_upgrade_preparation.inc
+++ b/mysql-test/include/mysql_upgrade_preparation.inc
@@ -17,7 +17,7 @@ select LENGTH("$MYSQL_UPGRADE")>0 as have_mysql_upgrade;
# Therefore, truncate the log table in advance and issue a statement
# that should be logged.
#
-if (`SELECT $VALGRIND_TEST`)
+if ($VALGRIND_TEST)
{
--disable_query_log
--disable_result_log
diff --git a/mysql-test/include/mysqld--help.inc b/mysql-test/include/mysqld--help.inc
index 36e9af6d429..a39615d6011 100644
--- a/mysql-test/include/mysqld--help.inc
+++ b/mysql-test/include/mysqld--help.inc
@@ -7,15 +7,27 @@
# force lower-case-table-names=1 (linux/macosx have different defaults)
# force symbolic-links=0 (valgrind build has a different default)
#
+
exec $MYSQLD_BOOTSTRAP_CMD --symbolic-links=0 --lower-case-table-names=1 --help --verbose > $MYSQL_TMP_DIR/mysqld--help.txt 2>&1;
+# The inline perl code below will copy $MYSQL_TMP_DIR/mysqld--help.txt
+# to output, but filter away some variable stuff (e.g. paths).
+
perl;
+ # Variables which we don't want to display in the result file since
+ # their paths may vary:
@skipvars=qw/basedir open-files-limit general-log-file log plugin-dir
log-slow-queries pid-file slow-query-log-file
- datadir slave-load-tmpdir tmpdir/;
+ datadir slave-load-tmpdir tmpdir socket/;
+
+ # Plugins which may or may not be there:
@plugins=qw/innodb ndb archive blackhole federated partition ndbcluster debug temp-pool ssl des-key-file
thread-concurrency super-large-pages mutex-deadlock-detector null-audit maria aria pbxt oqgraph sphinx/;
- @env=qw/MYSQLTEST_VARDIR MYSQL_TEST_DIR MYSQL_LIBDIR MYSQL_CHARSETSDIR MYSQL_SHAREDIR /;
+
+ # And substitute the content some environment variables with their
+ # names:
+ @env=qw/MYSQLTEST_VARDIR MYSQL_TEST_DIR MYSQL_LIBDIR MYSQL_CHARSETSDIR MYSQL_SHAREDIR/;
+
$re1=join('|', @skipvars, @plugins);
$re2=join('|', @plugins);
$skip=0;
diff --git a/mysql-test/include/mysqldump.inc b/mysql-test/include/mysqldump.inc
index 6227138b012..3a53bf8e3bd 100644
--- a/mysql-test/include/mysqldump.inc
+++ b/mysql-test/include/mysqldump.inc
@@ -41,8 +41,7 @@ eval ALTER TABLE $table_name RENAME to $orig_table_name;
--echo # Compare original and recreated tables
--echo # Recreated table: $table_name
--echo # Original table: $orig_table_name
-let $diff_table_1 = $table_name;
-let $diff_table_2 = $orig_table_name;
+let $diff_tables = $table_name, $orig_table_name;
--source include/diff_tables.inc
--echo # Cleanup
--remove_file $mysqldumpfile
diff --git a/mysql-test/include/mysqlhotcopy.inc b/mysql-test/include/mysqlhotcopy.inc
index 2ea017fe8da..779ed7f36e0 100644
--- a/mysql-test/include/mysqlhotcopy.inc
+++ b/mysql-test/include/mysqlhotcopy.inc
@@ -4,12 +4,26 @@
--source include/not_windows.inc
--source include/not_embedded.inc
+--source include/have_dbi_dbd-mysql.inc
if (!$MYSQLHOTCOPY)
{
+ # Fail the test if the mysqlhotcopy script is missing.
+ # If the tool's location changes, mysql-test-run.pl must be updated to
+ # reflect this (look for "MYSQLHOTCOPY").
die due to missing mysqlhotcopy tool;
}
+# NOTE (johnemb, 2011-01-26):
+# In this test mysqlhotcopy (a perl script) is executed as a standalone
+# executable, i.e. not necessarily using the perl interpreter in PATH,
+# because that is how the documentation demonstrates it.
+#
+# We include have_dbi_dbd-mysql.inc above so that the test will
+# be skipped if Perl modules required by the mysqlhotcopy tool are not
+# found when the script is run this way.
+
+
let $MYSQLD_DATADIR= `SELECT @@datadir`;
--disable_warnings
DROP DATABASE IF EXISTS hotcopy_test;
@@ -95,7 +109,7 @@ DROP DATABASE hotcopy_save;
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
--list_files $MYSQLD_DATADIR/hotcopy_save
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
---error 9,2304
+--error 9,11,2304
--exec $MYSQLHOTCOPY --quiet -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
--exec $MYSQLHOTCOPY --quiet --allowold -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
diff --git a/mysql-test/include/ndb_master-slave.inc b/mysql-test/include/ndb_master-slave.inc
index 0bf4b701f0c..8305a310953 100644
--- a/mysql-test/include/ndb_master-slave.inc
+++ b/mysql-test/include/ndb_master-slave.inc
@@ -1,10 +1,4 @@
-# Replication tests need binlog
-source include/have_log_bin.inc;
-
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
+--source include/master-slave.inc
connection slave;
# Check that server is compiled and started with support for NDB
@@ -14,7 +8,5 @@ select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schem
--source include/ndb_not_readonly.inc
enable_query_log;
--- source include/master-slave-reset.inc
-
# Set the default connection to 'master'
connection master;
diff --git a/mysql-test/include/ndb_master-slave_2ch.inc b/mysql-test/include/ndb_master-slave_2ch.inc
index 52a06c01d86..17017d2b801 100644
--- a/mysql-test/include/ndb_master-slave_2ch.inc
+++ b/mysql-test/include/ndb_master-slave_2ch.inc
@@ -1,7 +1,6 @@
-#############################################################
-# Author: Serge Kozlov <skozlov@mysql.com>
-# Date: 03/17/2008
-# Purpose: Set up circular cluster replication where each
+# ==== Purpose ====
+#
+# Set up circular cluster replication where each
# cluster has two mysqlds and replication directions are
# following:
# master ---> slave
@@ -9,128 +8,60 @@
# cluster A cluster B
# \ /
# master1 <--- slave1
-#############################################################
-
---source include/have_log_bin.inc
+#
+# ==== Usage ====
+#
+# [--let $rpl_server_count= N]
+# [--let $rpl_skip_check_server_ids= 1]
+# [--let $rpl_skip_reset_master_and_slave= 1]
+# [--let $rpl_skip_change_master= 1]
+# [--let $rpl_skip_start_slave= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/ndb_master-slave_2ch.inc
+#
+# Parameters:
+# $rpl_server_count, $rpl_skip_check_server_ids,
+# $rpl_skip_reset_master_and_slave, $rpl_skip_change_master,
+# $rpl_skip_start_slave, $rpl_debug, $slave_timeout
+# See include/master-slave.inc
+
+--let $rpl_topology= 1->2,4->3
+--let $rpl_skip_check_server_ids= 1
+--source include/rpl_init.inc
# Make connections to mysqlds
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT1,);
-connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT1,);
-
-# Check that all mysqld compiled with ndb support
-
---connection master
---disable_query_log
---require r/true.require
-SELECT (support = 'YES' or support = 'DEFAULT') AS `TRUE` FROM information_schema.engines WHERE engine = 'ndbcluster';
---source include/ndb_not_readonly.inc
---enable_query_log
-
---connection master1
---disable_query_log
---require r/true.require
-SELECT (support = 'YES' or support = 'DEFAULT') AS `TRUE` FROM information_schema.engines WHERE engine = 'ndbcluster';
---source include/ndb_not_readonly.inc
---enable_query_log
-
---connection slave
---disable_query_log
---require r/true.require
-SELECT (support = 'YES' or support = 'DEFAULT') AS `TRUE` FROM information_schema.engines WHERE engine = 'ndbcluster';
---source include/ndb_not_readonly.inc
---enable_query_log
-
---connection slave1
---disable_query_log
---require r/true.require
-SELECT (support = 'YES' or support = 'DEFAULT') AS `TRUE` FROM information_schema.engines WHERE engine = 'ndbcluster';
---source include/ndb_not_readonly.inc
---enable_query_log
-
-# Stop slaves
-
---connection master
---disable_warnings
-STOP SLAVE;
---wait_for_slave_to_stop
---enable_warnings
+--let $rpl_connection_name= master
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
---connection master1
---disable_warnings
-STOP SLAVE;
---wait_for_slave_to_stop
---enable_warnings
+--let $rpl_connection_name= master1
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
---connection slave
---disable_warnings
-STOP SLAVE;
---wait_for_slave_to_stop
---enable_warnings
+--let $rpl_connection_name= slave
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
---connection slave1
---disable_warnings
-STOP SLAVE;
---wait_for_slave_to_stop
---enable_warnings
+--let $rpl_connection_name= slave1
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
-# Reset masters
---connection master
---disable_warnings
---disable_query_log
-USE test;
---enable_query_log
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-RESET MASTER;
-
---connection master1
---disable_warnings
---disable_query_log
-USE test;
---enable_query_log
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-RESET MASTER;
-
---connection slave
---disable_warnings
---disable_query_log
-USE test;
---enable_query_log
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-RESET MASTER;
-
---connection slave1
---disable_warnings
---disable_query_log
-USE test;
---enable_query_log
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-RESET MASTER;
-
-# Start slaves
-
---connection slave
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_MYPORT
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$MASTER_MYPORT,master_user='root'
-START SLAVE;
---source include/wait_for_slave_to_start.inc
-
---connection master1
-RESET SLAVE;
---replace_result $SLAVE_MYPORT1 SLAVE_MYPORT1
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SLAVE_MYPORT1,master_user='root'
-START SLAVE;
---source include/wait_for_slave_to_start.inc
+# Check that all mysqld are compiled with ndb support
+--let $_rpl_server= 4
+while ($_rpl_server)
+{
+ --connection server_$_rpl_server
+ if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'ndbcluster' AND (support = 'YES' OR support = 'DEFAULT')`)
+ {
+ --skip Test requires NDB.
+ }
+ --source include/ndb_not_readonly.inc
+ --dec $_rpl_server
+}
# Set the default connection to 'master' (cluster A)
connection master;
-
diff --git a/mysql-test/include/ndb_not_readonly.inc b/mysql-test/include/ndb_not_readonly.inc
index f50ca0cab66..ebb343bb18d 100644
--- a/mysql-test/include/ndb_not_readonly.inc
+++ b/mysql-test/include/ndb_not_readonly.inc
@@ -2,6 +2,9 @@
#
# wait for server to connect properly to cluster
#
+
+--disable_query_log
+
set @saved_log = @@sql_log_bin;
set sql_log_bin = 0;
--error 0,ER_NO_SUCH_TABLE,ER_OPEN_AS_READONLY,ER_GET_ERRMSG,ER_KEY_NOT_FOUND
@@ -25,6 +28,9 @@ while ($mysql_errno)
}
delete from mysql.ndb_apply_status where server_id=0;
set sql_log_bin = @saved_log;
+
+--enable_query_log
+
#
# connected
#
diff --git a/mysql-test/include/no_valgrind_without_big.inc b/mysql-test/include/no_valgrind_without_big.inc
index 743e974daec..ea1f2ac91ab 100644
--- a/mysql-test/include/no_valgrind_without_big.inc
+++ b/mysql-test/include/no_valgrind_without_big.inc
@@ -5,8 +5,9 @@
# Therefore we require that the option "--big-test" is also set.
#
-if (`SELECT $VALGRIND_TEST <> 0 AND '$BIG_TEST' = ''`)
-{
- --skip Need "--big-test" when running with Valgrind
+if ($VALGRIND_TEST) {
+ if (!$BIG_TEST)
+ {
+ --skip Need "--big-test" when running with Valgrind
+ }
}
-
diff --git a/mysql-test/include/not_crashrep.inc b/mysql-test/include/not_crashrep.inc
new file mode 100644
index 00000000000..e126f339a5f
--- /dev/null
+++ b/mysql-test/include/not_crashrep.inc
@@ -0,0 +1,24 @@
+# Check if CrashReporter is enabled and would open a window
+
+perl;
+sub skip_test {
+ # Only relevant on Mac OS X
+ return 0 unless $^O eq 'darwin';
+ my $crep= `defaults read com.apple.CrashReporter DialogType`;
+ return 0 if $?;
+ chomp ($crep);
+ $crep= lc $crep;
+ return ($crep eq 'basic' || $crep eq 'developer');
+}
+my $skip= skip_test();
+open (F, ">" . $ENV{'MYSQL_TMP_DIR'} . "/crashrep.inc");
+print F "let \$crashrep= $skip;\n";
+close F;
+EOF
+
+--source $MYSQL_TMP_DIR/crashrep.inc
+--remove_file $MYSQL_TMP_DIR/crashrep.inc
+
+if ($crashrep) {
+ --skip CrashReporter would popup a window
+}
diff --git a/mysql-test/include/not_parallel.inc b/mysql-test/include/not_parallel.inc
index 39432c59813..615bdf68453 100644
--- a/mysql-test/include/not_parallel.inc
+++ b/mysql-test/include/not_parallel.inc
@@ -1,3 +1,3 @@
-if (`SELECT '$MTR_PARALLEL' > 1`) {
+if ($MTR_PARALLEL > 1) {
--skip test requires --parallel=1
}
diff --git a/mysql-test/include/not_threadpool.inc b/mysql-test/include/not_threadpool.inc
new file mode 100644
index 00000000000..a49c8cfcc32
--- /dev/null
+++ b/mysql-test/include/not_threadpool.inc
@@ -0,0 +1,5 @@
+if (`SELECT count(*) FROM information_schema.GLOBAL_VARIABLES WHERE
+ VARIABLE_NAME = 'THREAD_HANDLING' AND
+ VARIABLE_VALUE = 'loaded-dynamically'`){
+ skip Test requires: 'not_threadpool';
+}
diff --git a/mysql-test/include/plugin.defs b/mysql-test/include/plugin.defs
new file mode 100644
index 00000000000..e07c603c8e5
--- /dev/null
+++ b/mysql-test/include/plugin.defs
@@ -0,0 +1,41 @@
+# Definition file for plugins.
+#
+# <lib name> <directory> <variable> [<plugin name>,...]
+#
+# The following variables will be set for a plugin, where PLUGVAR
+# represents the variable name given as the 3rd item
+#
+# PLUGVAR: name of plugin file including extension .so or .dll
+# PLUGVAR_DIR: name of directory where plugin was found
+# PLUGVAR_OPT: mysqld option --plugin_dir=....
+# PLUGVAR_LOAD: option --plugin_load=.... if the 4th element is present
+#
+# If a listed plugin is not found, the corresponding variables will be
+# set to empty, they will not be unset.
+#
+# The PLUGVAR variable is not quoted, so you must remember to quote it
+# when using it in an INSTALL PLUGIN command.
+#
+# The envorinment variables can be used in tests. If adding a new plugin,
+# you are free to pick your variable name, but please keep it upper
+# case for consistency.
+#
+# The _LOAD variable will have a form
+#
+# --plugin_load=<name1>=<lib_name>;<name2>=<lib_name>.....
+#
+# with name1, name2 etc from the comma separated list of plugin names
+# in the optional 4th argument.
+
+auth_test_plugin plugin/auth PLUGIN_AUTH test_plugin_server,cleartext_plugin_server
+qa_auth_interface plugin/auth PLUGIN_AUTH_INTERFACE qa_auth_interface
+qa_auth_server plugin/auth PLUGIN_AUTH_SERVER qa_auth_server
+qa_auth_client plugin/auth PLUGIN_AUTH_CLIENT qa_auth_client
+udf_example sql UDF_EXAMPLE_LIB
+ha_example storage/example EXAMPLE_PLUGIN EXAMPLE
+semisync_master plugin/semisync SEMISYNC_MASTER_PLUGIN
+semisync_slave plugin/semisync SEMISYNC_SLAVE_PLUGIN
+ha_archive storage/archive ARCHIVE_PLUGIN
+ha_blackhole storage/blackhole BLACKHOLE_PLUGIN
+ha_federated storage/federated FEDERATED_PLUGIN
+mypluglib plugin/fulltext SIMPLE_PARSER
diff --git a/mysql-test/include/report-features.test b/mysql-test/include/report-features.test
index 1e4ab232490..75879f67165 100644
--- a/mysql-test/include/report-features.test
+++ b/mysql-test/include/report-features.test
@@ -9,4 +9,4 @@ show engines;
show variables;
--echo ===== STOP =====
--enable_query_log
-exit; \ No newline at end of file
+exit;
diff --git a/mysql-test/include/reset_master_and_slave.inc b/mysql-test/include/reset_master_and_slave.inc
deleted file mode 100644
index 30ba1f07a40..00000000000
--- a/mysql-test/include/reset_master_and_slave.inc
+++ /dev/null
@@ -1,8 +0,0 @@
---echo **** Resetting master and slave ****
-connection slave;
-source include/stop_slave.inc;
-RESET SLAVE;
-connection master;
-RESET MASTER;
-connection slave;
-source include/start_slave.inc;
diff --git a/mysql-test/include/restart_mysqld.inc b/mysql-test/include/restart_mysqld.inc
index 0f363ff1ee3..7cb9c7994d8 100644
--- a/mysql-test/include/restart_mysqld.inc
+++ b/mysql-test/include/restart_mysqld.inc
@@ -1,18 +1,24 @@
+if ($rpl_inited)
+{
+ if (!$allow_rpl_inited)
+ {
+ --die ERROR IN TEST: When using the replication test framework (master-slave.inc, rpl_init.inc etc), use rpl_restart_server.inc instead of restart_mysqld.inc. If you know what you are doing and you really have to use restart_mysqld.inc, set allow_rpl_inited=1 before you source restart_mysqld.inc
+ }
+}
+
# Write file to make mysql-test-run.pl expect the "crash", but don't start
# it until it's told to
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--let $_server_id= `SELECT @@server_id`
+--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
+--exec echo "wait" > $_expect_file_name
# Send shutdown to the connected server and give
# it 10 seconds to die before zapping it
shutdown_server 10;
# Write file to make mysql-test-run.pl start up the server again
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $_expect_file_name
# Turn on reconnect
--enable_reconnect
diff --git a/mysql-test/include/restart_slave_sql.inc b/mysql-test/include/restart_slave_sql.inc
new file mode 100644
index 00000000000..ee6c6d7ced6
--- /dev/null
+++ b/mysql-test/include/restart_slave_sql.inc
@@ -0,0 +1,43 @@
+# ==== Purpose ====
+#
+# Provide a earier way to restart SQL thread when you want to stop sql thread
+# and then start it immediately.
+#
+# Sources stop_slave_sql.inc to stop SQL thread on the current connection.
+# Then issues START SLAVE SQL_THREAD and then waits until
+# the SQL threads have started, or until a timeout is reached.
+#
+# Please use this instead of 'STOP|START SLAVE SQL_THREAD', to reduce the risk of
+# test case bugs.
+#
+#
+# ==== Usage ====
+#
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/restart_slave_sql.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= restart_slave.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+source include/stop_slave_sql.inc;
+START SLAVE SQL_THREAD;
+source include/wait_for_slave_sql_to_start.inc;
+
+
+--let $include_filename= restart_slave.inc
+--source include/end_include_file.inc \ No newline at end of file
diff --git a/mysql-test/include/rpl_change_topology.inc b/mysql-test/include/rpl_change_topology.inc
new file mode 100644
index 00000000000..799262986e6
--- /dev/null
+++ b/mysql-test/include/rpl_change_topology.inc
@@ -0,0 +1,247 @@
+# ==== Purpose ====
+#
+# Changes replication topology. This file is normally sourced from
+# include/rpl_init.inc, but test cases can also source it if they
+# need to change topology after they have sourced include/rpl_init.inc
+#
+# This file sets up variables needed by include/rpl_sync.inc and many
+# other replication scripts in the include/ directory. It also issues
+# CHANGE MASTER on all servers where the configuration changes from
+# what it was before. It does not issue START SLAVE (use
+# include/rpl_start_slaves.inc for that).
+#
+# Note: it is not currently possible to change the number of servers
+# after the rpl_init.inc, without first calling rpl_end.inc. So the
+# test has to set $rpl_server_count to the total number of servers
+# that the test uses, before it sources include/rpl_init.inc. After
+# that, $rpl_server_count must not change until after next time the
+# test sources include/rpl_end.inc.
+#
+# Note: Since this script issues CHANGE MASTER, the test case must
+# ensure that all slaves where the configuration changes have stopped
+# both the IO thread and the SQL thread before this script is sourced.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_server_count= 7]
+# --let $rpl_topology= 1->2->3->1->4, 2->5, 6->7
+# [--let $rpl_skip_change_master= 1]
+# [--let $rpl_master_log_file= 1:master-bin.000001,3:master-bin.000003]
+# [--let $rpl_master_log_pos= 1:4711,3:107]
+# [--let $rpl_debug= 1]
+# --source include/rpl_change_topology.inc
+#
+# Parameters:
+# $rpl_master_log_file
+# By default, CHANGE MASTER is executed with MASTER_LOG_FILE set
+# to the name of the last binlog file on the master (retrieved by
+# executing SHOW MASTER STATUS). This variable can be set to
+# specify another filename. This variable should be a
+# comma-separated list of the following form:
+#
+# SERVER_NUMBER_1:FILE_NAME_1,SERVER_NUMBER_2:FILE_NAME_2,...
+#
+# Before CHANGE MASTER is executed on server N, this script checks
+# if $rpl_master_log_file contains the text N:FILE_NAME. If it
+# does, then MASTER_LOG_FILE is set to FILE_NAME. Otherwise,
+# MASTER_LOG_FILE is set to the last binlog on the master. For
+# example, to specify that server_1 should start replicate from
+# master-bin.000007 and server_5 should start replicate from
+# master-bin.012345, do:
+# --let $rpl_master_log_file= 1:master-bin.000007,5:master-bin.012345
+#
+# $rpl_master_log_pos
+# By default, CHANGE MASTER is executed without specifying the
+# MASTER_LOG_POS parameter. This variable can be set to set a
+# specific position. It has the same form as $rpl_master_log_file
+# (see above). For example, to specify that server_3 should start
+# replicate from position 4711 of its master, do:
+# --let $rpl_master_log_pos= 3:4711
+#
+# $rpl_server_count, $rpl_topology, $rpl_debug, $rpl_skip_change_master
+# See include/rpl_init.inc
+#
+#
+# ==== Internal variables configured by this file ====
+#
+# This file sets up the following variables, which are used by other
+# low-level replication files such as:
+# include/rpl_sync.inc
+# include/rpl_start_slaves.inc
+# include/rpl_stop_slaves.inc
+# include/rpl_end.inc
+#
+# $rpl_server_count_length:
+# Set to LENGTH($rpl_server_count). So if $rpl_server_count < 10,
+# then $rpl_server_count_length = 1; if 10 <= $rpl_server_count <
+# 100, then $rpl_server_count_length = 2, etc.
+#
+# $rpl_master_list
+# Set to a string consisting of $rpl_server_count numbers, each one
+# whitespace-padded to $rpl_server_count_length characters. If
+# server N is a slave, then the N'th number is the master of server
+# N. If server N is not a slave, then the N'th number is just spaces
+# (so in fact it is not a number). For example, if $rpl_topology is
+# '1->2,2->3,3->1,2->4,5->6', then $rpl_master_list is '3122 6'.
+#
+# $rpl_sync_chain_dirty
+# This variable is set to 1. This tells include/rpl_sync.inc to
+# compute a new value for $rpl_sync_chain next time that
+# include/rpl_sync.inc is sourced. See
+# include/rpl_generate_sync_chain.inc and include/rpl_sync.inc for
+# details.
+
+
+# Remove whitespace from $rpl_topology
+--let $rpl_topology= `SELECT REPLACE('$rpl_topology', ' ', '')`
+
+--let $include_filename= rpl_change_topology.inc [new topology=$rpl_topology]
+--source include/begin_include_file.inc
+
+
+if ($rpl_debug)
+{
+ --echo ---- Check input ----
+}
+
+
+if (`SELECT '$rpl_topology' = '' OR '$rpl_server_count' = ''`)
+{
+ --die You must set $rpl_topology and $rpl_server_count before you source rpl_change_topology.inc. If you really want to change to the empty topology, set $rpl_topology= none
+}
+--let $_rpl_topology= $rpl_topology
+if ($_rpl_topology == 'none')
+{
+ --let $_rpl_topology=
+}
+if ($rpl_master_list == '')
+{
+ --die You must source include/rpl_init.inc before you source include/rpl_change_topology.inc
+}
+--let $_rpl_old_master_list= $rpl_master_list
+
+if ($rpl_debug)
+{
+ --echo \$rpl_server_count='$rpl_server_count'
+ --echo \$rpl_server_count_length='$rpl_server_count_length'
+ --echo new \$rpl_topology='$_rpl_topology'
+ --echo old \$rpl_master_list='$rpl_master_list'
+ --echo old \$rpl_sync_chain='$rpl_sync_chain'
+}
+
+
+if ($rpl_debug)
+{
+ --echo ---- Generate \$rpl_server_count_length and \$rpl_master_list ----
+}
+
+--let $rpl_server_count_length= `SELECT LENGTH('$rpl_server_count')`
+--let $rpl_master_list=
+--let $_rpl_no_server= `SELECT REPEAT(' ', $rpl_server_count_length)`
+--let $rpl_master_list= `SELECT REPEAT('$_rpl_no_server', $rpl_server_count)`
+while ($_rpl_topology)
+{
+ # Get 's1->s2' from 's1->s2->s3->...' or from 's1->s2,s3->s4,...'
+ --let $_rpl_master_slave= `SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('$_rpl_topology', ',', 1), '->', 2)`
+ # Modify $_rpl_topology as follows:
+ # - If it starts with 's1->s2,', remove 's1->s2,'
+ # - If it starts with 's1->s2->', remove 's1->'
+ # - If it is equal to 's1->s2', remove 's1->s2'
+ --let $_rpl_topology= `SELECT SUBSTR('$_rpl_topology', IF(SUBSTR('$_rpl_topology', LENGTH('$_rpl_master_slave') + 1, 2) != '->', LENGTH('$_rpl_master_slave'), LOCATE('->', '$_rpl_master_slave')) + 2)`
+ # Get 's1' from 's1->s2'
+ --let $_rpl_master= `SELECT SUBSTRING_INDEX('$_rpl_master_slave', '->', 1)`
+ # Get 's2' from 's1->s2'
+ --let $_rpl_slave= `SELECT SUBSTRING('$_rpl_master_slave', LENGTH('$_rpl_master') + 3)`
+ # Check that s2 does not have another master.
+ if (`SELECT SUBSTR('$rpl_master_list', 1 + ($_rpl_slave - 1) * $rpl_server_count_length, $rpl_server_count_length) != '$_rpl_no_server'`)
+ {
+ --echo ERROR IN TEST: Server '$_rpl_slave' has more than one master in topology '$rpl_topology'
+ --die ERROR IN TEST: found a server with more than one master in the $rpl_topology variable
+ }
+ # Save 's1' at position 's2' in $rpl_master_list
+ --let $rpl_master_list= `SELECT INSERT('$rpl_master_list', 1 + ($_rpl_slave - 1) * $rpl_server_count_length, $rpl_server_count_length, RPAD('$_rpl_master', $rpl_server_count_length, ' '))`
+}
+
+if ($rpl_debug)
+{
+ --echo new \$rpl_server_count_length = '$rpl_server_count_length'
+ --echo new \$rpl_master_list = '$rpl_master_list'
+}
+
+if (!$rpl_skip_change_master)
+{
+ if ($rpl_debug)
+ {
+ --echo ---- Execute CHANGE MASTER on all servers ----
+ }
+
+ if (!$rpl_debug)
+ {
+ --disable_query_log
+ }
+
+ --let $_rpl_server= $rpl_server_count
+ while ($_rpl_server)
+ {
+ # The following statement evaluates to:
+ # 0, if server_$_rpl_server has the same master as before.
+ # The master's server, if server_$_rpl_server is a slave.
+ # The empty string, if server_$_rpl_server is not a slave.
+ --let $_rpl_master= `SELECT TRIM(IFNULL(NULLIF(SUBSTRING('$rpl_master_list', 1 + ($_rpl_server - 1) * $rpl_server_count_length, $rpl_server_count_length), SUBSTRING('$_rpl_old_master_list', 1 + ($_rpl_server - 1) * $rpl_server_count_length, $rpl_server_count_length)), 0))`
+ if ($rpl_debug)
+ {
+ --echo \$_rpl_server='$_rpl_server' \$_rpl_master='$_rpl_master'
+ }
+ if ($_rpl_master)
+ {
+ # Get port number
+ --let $_rpl_port= \$SERVER_MYPORT_$_rpl_master
+ # Get MASTER_LOG_FILE
+ --let $_rpl_master_log_file_index= `SELECT LOCATE('$_rpl_server:', '$rpl_master_log_file')`
+ if ($_rpl_master_log_file_index)
+ {
+ # Get text from after ':' and before ',', starting at
+ # $_rpl_master_log_file
+ --let $_rpl_master_log_file= `SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING('$rpl_master_log_file', $_rpl_master_log_file_index), ',', 1), ':', -1)`
+ }
+ if (!$_rpl_master_log_file_index)
+ {
+ --let $rpl_connection_name= server_$_rpl_master
+ --source include/rpl_connection.inc
+ --let $_rpl_master_log_file= query_get_value(SHOW MASTER STATUS, File, 1)
+ }
+ # Change connection.
+ --let $rpl_connection_name= server_$_rpl_server
+ --source include/rpl_connection.inc
+ # Get MASTER_LOG_POS
+ --let $_rpl_master_log_pos_index= `SELECT LOCATE('$_rpl_server:', '$rpl_master_log_pos')`
+ if ($_rpl_master_log_pos_index)
+ {
+ --let $_rpl_master_log_pos= `SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING('$rpl_master_log_pos', $_rpl_master_log_pos_index), ',', 1), ':', -1)`
+ --let $_rpl_master_log_pos= , MASTER_LOG_POS = $_rpl_master_log_pos
+ }
+ if (!$_rpl_master_log_pos_index)
+ {
+ --let $_rpl_master_log_pos=
+ }
+ eval CHANGE MASTER TO MASTER_HOST = '127.0.0.1', MASTER_PORT = $_rpl_port, MASTER_USER = 'root', MASTER_LOG_FILE = '$_rpl_master_log_file'$_rpl_master_log_pos, MASTER_CONNECT_RETRY = 1;
+ }
+ if ($_rpl_master == '')
+ {
+ # This un-configures the server so that it's not a slave.
+ # After BUG#28796, such configuration is not possible any more.
+ #--let $rpl_connection_name= server_$_rpl_server
+ #--source include/rpl_connection.inc
+ #CHANGE MASTER TO MASTER_HOST = '';
+ }
+ --dec $_rpl_server
+ }
+}
+
+
+--let $rpl_sync_chain_dirty= 1
+
+
+--let $include_filename= rpl_change_topology.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_connect.inc b/mysql-test/include/rpl_connect.inc
new file mode 100644
index 00000000000..95912d57469
--- /dev/null
+++ b/mysql-test/include/rpl_connect.inc
@@ -0,0 +1,58 @@
+# ==== Purpose ====
+#
+# Create a connection to a given numbered server.
+#
+# This script is normally used internally by rpl_init.inc and
+# master-slave.inc, but it can also be used in test cases that need to
+# create more connections or re-create connections after disconnect.
+#
+#
+# ==== Usage ====
+#
+# --let $rpl_connection_name= <connection_name>
+# --let $rpl_server_number= <server_number>
+# [--let $rpl_debug= 1]
+# --source include/rpl_connect.inc
+#
+# Parameters:
+# $rpl_connection_name
+# The name of the connection to create.
+#
+# $rpl_server_number
+# The number of the server to connect to.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= rpl_connect.inc [creating $rpl_connection_name]
+--source include/begin_include_file.inc
+
+
+if (!$rpl_server_number)
+{
+ --die ERROR IN TEST: You must set $rpl_server_number before sourcing include/rpl_connect.inc
+}
+if (!$rpl_connection_name)
+{
+ --die ERROR IN TEST: You must set $rpl_connection_name before sourcing include/rpl_connect.inc
+}
+
+# Get port number
+--let $_rpl_port= \$SERVER_MYPORT_$rpl_server_number
+if (!$_rpl_port)
+{
+ --echo Bug in test case: '\$SERVER_MYPORT_$rpl_server_number' not initialized. Check the test's .cfg file.
+ --die Not all SERVER_MYPORT_* environment variables are setup correctly.
+}
+
+# Create connection.
+if ($rpl_debug)
+{
+ --echo connect ($rpl_connection_name,127.0.0.1,root,,test,$_rpl_port,)
+}
+--connect ($rpl_connection_name,127.0.0.1,root,,test,$_rpl_port,)
+
+
+--let $include_filename= rpl_connect.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_connection.inc b/mysql-test/include/rpl_connection.inc
new file mode 100644
index 00000000000..1988568a4d2
--- /dev/null
+++ b/mysql-test/include/rpl_connection.inc
@@ -0,0 +1,47 @@
+# ==== Purpose ====
+#
+# The same as 'connection $rpl_connection_name', but it can also
+# prints the connection name. The connection is printed if $rpl_debug
+# is set, or if rpl_connection.inc is not called between two
+# invocations of begin_include_file.inc/end_include_file.inc.
+# Otherwise the connection name is not printed.
+#
+#
+# ==== Usage ====
+#
+# --let $rpl_connection_name= master
+# [--let $rpl_debug= 1]
+# --source include/rpl_connection.inc
+#
+# Parameters:
+# $rpl_connection_name
+# Name of the connection to connect to.
+#
+# $rpl_debug
+# By default, the connection name is printed only when this file
+# is sourced from a top-level test script. If $rpl_debug is set,
+# the connection name is also printed whenever auxiliary files
+# like rpl_init.inc change connection.
+
+
+if (!$rpl_connection_name)
+{
+ --die ERROR IN TEST: you must set $rpl_connection_name before sourcing rpl_connection.inc
+}
+
+# This is the same as "if (!$_rpl_include_file_depth || $rpl_debug)",
+# but the mysqltest language doesn't have boolean operations.
+
+if (!$_include_file_depth)
+{
+ --echo [connection $rpl_connection_name]
+}
+if ($_include_file_depth)
+{
+ if ($rpl_debug)
+ {
+ --echo [connection $rpl_connection_name]
+ }
+}
+--connection $rpl_connection_name
+--let $rpl_connection_name=
diff --git a/mysql-test/include/rpl_connection_master.inc b/mysql-test/include/rpl_connection_master.inc
new file mode 100644
index 00000000000..e54e34071c8
--- /dev/null
+++ b/mysql-test/include/rpl_connection_master.inc
@@ -0,0 +1,2 @@
+let $rpl_connection_name= master;
+source include/rpl_connection.inc; \ No newline at end of file
diff --git a/mysql-test/include/rpl_connection_slave.inc b/mysql-test/include/rpl_connection_slave.inc
new file mode 100644
index 00000000000..ef3876394d6
--- /dev/null
+++ b/mysql-test/include/rpl_connection_slave.inc
@@ -0,0 +1,2 @@
+let $rpl_connection_name= slave;
+source include/rpl_connection.inc; \ No newline at end of file
diff --git a/mysql-test/include/rpl_connection_slave1.inc b/mysql-test/include/rpl_connection_slave1.inc
new file mode 100644
index 00000000000..8aee6defbdd
--- /dev/null
+++ b/mysql-test/include/rpl_connection_slave1.inc
@@ -0,0 +1,2 @@
+let $rpl_connection_name= slave1;
+source include/rpl_connection.inc; \ No newline at end of file
diff --git a/mysql-test/include/rpl_diff.inc b/mysql-test/include/rpl_diff.inc
new file mode 100644
index 00000000000..72da06cc533
--- /dev/null
+++ b/mysql-test/include/rpl_diff.inc
@@ -0,0 +1,118 @@
+# ==== Purpose ====
+#
+# Diff the output of a statement on all configured servers (usually
+# master and slave).
+#
+#
+# ==== Usage =====
+#
+# --let $rpl_diff_statement= SELECT * FROM t1 WHERE a < 100
+# [--let $rpl_diff_servers= <server1>,<server2>,...<serverN>]
+# --source include/rpl_diff.inc
+#
+# Parameters:
+# $rpl_diff_statement
+# Statement to check. For each compared server, this script will
+# start a new client and pass this statement to the client.
+# Note: This string will be evaluated as a single-quote-escaped
+# SQL string and hence must be quoted as such. In particular, any
+# single quotes in this string must be escaped.
+#
+# $rpl_diff_servers
+# By default, this file compares all servers configured by
+# rpl_init.inc. You can set $diff_servers to a comma-separated
+# list of numbers: only the servers identified by these numbers
+# will be compared.
+#
+# $rpl_diff_database
+# By default, the statement will be executed on the database
+# 'test'. If $rpl_diff_database is set, the statement will be
+# executed on the database named $rpl_diff_database instead.
+
+
+--let $include_filename= rpl_diff.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_diff_statement)
+{
+ --die ERROR IN TEST: you must set $rpl_diff_statement before you source include/rpl_diff.inc
+}
+
+
+# Sync.
+--source include/rpl_sync.inc
+
+
+# Get database name.
+--let $_rpl_diff_database= $rpl_diff_database
+if (!$_rpl_diff_database)
+{
+ --let $_rpl_diff_database= test
+}
+
+
+# Generate list of servers.
+--let $_rpl_diff_servers= $rpl_diff_servers
+if (!$_rpl_diff_servers)
+{
+ --let $_rpl_server_i= $rpl_server_count
+ --let $_rpl_diff_servers=
+ while ($_rpl_server_i)
+ {
+ --let $_rpl_diff_servers= $_rpl_server_i,$_rpl_diff_servers
+ --dec $_rpl_server_i
+ }
+}
+if ($rpl_debug)
+{
+ --echo \$rpl_diff_servers= '$_rpl_diff_servers'
+}
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+# Generate file containing $rpl_diff_statement. We don't pass the
+# statement on the command line, because it would be subject to shell
+# substitutions.
+--let $write_to_file= GENERATE
+--let $write_var= $rpl_diff_statement
+--source include/write_var_to_file.inc
+--let $_rpl_diff_statement_file= $write_to_file
+
+
+# Compare all servers.
+--let $_rpl_diff_first= 1
+while ($_rpl_diff_servers)
+{
+ # Set $_rpl_diff_server_i to the first number in the list
+ --let $_rpl_diff_server_i= `SELECT SUBSTRING_INDEX('$_rpl_diff_servers', ',', 1)`
+ # Remove $_rpl_diff_server_i from the list
+ --let $_rpl_diff_servers= `SELECT SUBSTRING('$_rpl_diff_servers', LENGTH('$_rpl_diff_server_i') + 2)`
+
+ # Execute statement
+ --let $_rpl_diff_file= $MYSQLTEST_VARDIR/tmp/_rpl_diff_server-$_rpl_diff_server_i.tmp
+ --exec $MYSQL --defaults-group-suffix=.$_rpl_diff_server_i $_rpl_diff_database < $_rpl_diff_statement_file > $_rpl_diff_file
+
+ # Compare
+ if (!$_rpl_diff_first)
+ {
+ if ($rpl_debug)
+ {
+ --echo diffing $_rpl_diff_file and $_rpl_diff_prev_file
+ }
+ --diff_files $_rpl_diff_file $_rpl_diff_prev_file
+ --remove_file $_rpl_diff_prev_file
+ }
+ --let $_rpl_diff_prev_file= $_rpl_diff_file
+ --let $_rpl_diff_first= 0
+}
+--remove_file $_rpl_diff_prev_file
+
+
+--let $include_filename= rpl_diff.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_diff_tables.inc b/mysql-test/include/rpl_diff_tables.inc
deleted file mode 100644
index c3a45578a79..00000000000
--- a/mysql-test/include/rpl_diff_tables.inc
+++ /dev/null
@@ -1,35 +0,0 @@
-# #############################################################################
-# Check whether the given table is consistent between different master and
-# slaves
-#
-# Usage:
-# --let $diff_table= test.t1
-# --let $diff_server_list= master, slave, slave2
-# --source include/rpl_diff_tables.inc
-# #############################################################################
-
-if (`SELECT "XX$diff_table" = "XX"`)
-{
- --die diff_table is null.
-}
-
---let $_servers= master, slave
-if (`SELECT "XX$diff_server_list" <> "XX"`)
-{
- --let $_servers= $diff_server_list
-}
-
---let $_master= `SELECT SUBSTRING_INDEX('$_servers', ',', 1)`
---let $_servers= `SELECT LTRIM(SUBSTRING('$_servers', LENGTH('$_master') + 2))`
-connection $_master;
-while (`SELECT "XX$_servers" <> "XX"`)
-{
- --let $_slave= `SELECT SUBSTRING_INDEX('$_servers', ',', 1)`
- --let $_servers= `SELECT LTRIM(SUBSTRING('$_servers', LENGTH('$_slave') + 2))`
-
- --sync_slave_with_master $_slave
- --let $diff_table_1= $_master:$diff_table
- --let $diff_table_2= $_slave:$diff_table
- --source include/diff_tables.inc
- connection $_slave;
-}
diff --git a/mysql-test/include/rpl_end.inc b/mysql-test/include/rpl_end.inc
new file mode 100644
index 00000000000..f671c442153
--- /dev/null
+++ b/mysql-test/include/rpl_end.inc
@@ -0,0 +1,103 @@
+# ==== Purpose ====
+#
+# Shut down replication initialized by include/rpl_init.inc.
+#
+# This syncs all servers, executes STOP SLAVE on all servers, executes
+# CHANGE MASTER on all servers, and disconnects all connections
+# configured by rpl_init.inc.
+#
+# It does not execute RESET MASTER or RESET SLAVE, because that would
+# remove binlogs which are possibly useful debug information in case
+# the test case later fails with a result mismatch. If you need that,
+# source include/rpl_reset.inc before you source this file.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_only_running_threads= 1]
+# [--let $rpl_debug= 1]
+# --source include/rpl_end.inc
+#
+# Parameters:
+# $rpl_only_running_threads
+# If one or both of the IO and SQL threads is stopped, sync and
+# stop only the threads that are running. See
+# include/rpl_sync.inc and include/stop_slave.inc for details.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+#
+# Note:
+# This script will fail if Last_SQL_Error or Last_IO_Error is
+# nonempty. If you expect an error in the SQL thread, you should
+# normally call this script as follows:
+#
+# --source include/wait_for_slave_sql_error.inc
+# --source include/stop_slave_io.inc
+# RESET SLAVE;
+# --let $rpl_only_running_threads= 1
+# --source include/rpl_end.inc
+#
+#
+# ==== Side effects ====
+#
+# Changes the current connection to 'default'.
+
+
+--let $include_filename= rpl_end.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_inited)
+{
+ --die ERROR IN TEST: rpl_end.inc was sourced when replication was not configured. Most likely, rpl_end.inc was sourced twice or rpl_init.inc has not been sourced.
+}
+
+
+if ($rpl_debug)
+{
+ --echo ---- Check that no slave thread has an error ----
+}
+
+--let $_rpl_server= $rpl_server_count
+while ($_rpl_server)
+{
+ --let $rpl_connection_name= server_$_rpl_server
+ --source include/rpl_connection.inc
+
+ # Only check slave threads for error on hosts that were at some
+ # point configured as slave.
+ --let $_tmp= query_get_value(SHOW SLAVE STATUS, Master_Host, 1)
+ if ($_tmp != 'No such row')
+ {
+ --source include/check_slave_no_error.inc
+ }
+
+ --dec $_rpl_server
+}
+
+--source include/rpl_sync.inc
+--source include/rpl_stop_slaves.inc
+
+# mtr configures server 2 to be a slave before it runs the test. We
+# have to restore that state now, so we change topology to 1->2.
+--let $rpl_topology= none
+--source include/rpl_change_topology.inc
+
+
+--connection default
+--let $_rpl_server= $rpl_server_count
+--let $_rpl_one= _1
+while ($_rpl_server)
+{
+ --disconnect server_$_rpl_server
+ --disconnect server_$_rpl_server$_rpl_one
+ --dec $_rpl_server
+}
+
+--let $rpl_inited= 0
+
+# Do not restore connection, because we have disconnected it.
+--let $skip_restore_connection= 1
+--let $include_filename= rpl_end.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_for_each_slave.inc b/mysql-test/include/rpl_for_each_slave.inc
new file mode 100644
index 00000000000..65d242cf894
--- /dev/null
+++ b/mysql-test/include/rpl_for_each_slave.inc
@@ -0,0 +1,39 @@
+# ==== Purpose ====
+#
+# Execute a .inc file once for each server that was configured as a
+# slave by rpl_init.inc
+#
+#
+# ==== Usage ====
+#
+# --let $rpl_source_file
+# [--let $rpl_debug= 1]
+# --source include/rpl_for_each_slave.inc
+#
+# Parameters:
+# $rpl_source_file
+# The file that will be sourced.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= rpl_for_each_file.inc [$rpl_source_file]
+--source include/begin_include_file.inc
+
+--let $_rpl_server= $rpl_server_count
+while ($_rpl_server)
+{
+ --let $_rpl_has_master= `SELECT SUBSTRING('$rpl_master_list', 1 + ($_rpl_server - 1) * $rpl_server_count_length, $rpl_server_count_length) != ''`
+ if ($_rpl_has_master)
+ {
+ --let $rpl_connection_name= server_$_rpl_server
+ --source include/rpl_connection.inc
+ --source $rpl_source_file
+ }
+ --dec $_rpl_server
+}
+
+
+--let $include_filename= rpl_for_each_file.inc [$rpl_source_file]
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_generate_sync_chain.inc b/mysql-test/include/rpl_generate_sync_chain.inc
new file mode 100644
index 00000000000..9104c21c3b8
--- /dev/null
+++ b/mysql-test/include/rpl_generate_sync_chain.inc
@@ -0,0 +1,122 @@
+# ==== Purpose ====
+#
+# Setup $rpl_sync_chain, which is used by rpl_sync.inc. You normally
+# don't need to source this file, it should only be sourced by
+# rpl_sync.inc.
+#
+# $rpl_sync_chain is set to a string that specifies in what order
+# servers should be synchronized in include/rpl_sync.inc. This has the
+# form of a sequence of "chains" (with no separator between two
+# chains). Each chain begins with $rpl_server_count_length space
+# characters, followed by a sequence of numbers, each number
+# whitespace-padded to $rpl_server_count_length characters. Each
+# number in the sequence denotes a server, and the N'th server is a
+# master of the (N+1)'th server. For example, if $rpl_topology is
+# '1->2,2->3,3->1,2->4,5->6', then $rpl_sync_chain is ' 56 123124'.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_debug= 1]
+# --source include/rpl_generate_sync_chain.inc
+#
+# Parameters:
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= rpl_generate_sync_chain.inc
+--source include/begin_include_file.inc
+
+
+# Algorithm:
+# 0. Mark all servers as unseen and unsynced.
+# 1. Let S be a server that is marked unseen.
+# 2. Append S to the list of seen servers.
+# 3. Check how S is marked:
+# 3.1. If S has no master: append the list of seen servers (in
+# order from grand-master to grand-slave) to the end of
+# $rpl_sync_chain. Go to 3.
+# 3.2. Elseif S is marked as synced: append the list of seen
+# servers (in order from grand-master to grand-slave) to the
+# end of $rpl_sync_chain. Go to 3.
+# 3.3. Elseif S is marked as unsynced but seen: This means that the
+# graph of visited servers has a "6-shape": it is a loop with
+# a tail, such as 1->2->3->1->4->5. We should first sync the
+# loop, and then the tail. To ensure all servers in the loop
+# are synced, we must sync the loop two turns minus two
+# servers. For example, the loop 1->2->3->4->5->1 is fully
+# synced by this sequence of 1-step synchronizations:
+# 1->2->3->4->5->1->2->3->4. Hence we do this: in the list of
+# traversed servers (in order from grand-master to
+# grand-slave), find the first occurrence of S. Take the
+# sub-list starting at the 3rd server and ending at the first
+# occurrence of S. Append this sub-list it to the end of
+# $rpl_sync_chain. Then append the entire list of traversed
+# servers (in order from grand-master to grand-slave) to
+# $rpl_sync_chain. Go to 3.
+# 3.4. Else (i.e., S has a master and is not marked as seen or
+# synced): Mark S as seen. Set S=master(S) and go back to 2.
+# 4. For each server that is marked as seen, mark it as synced.
+# 5. If there are unseen servers, go back to 1.
+
+# $_rpl_server_marks holds the marks of all servers. The i'th character
+# corresponds to the mark of server i:
+# '0' = unseen & unmarked, '1' = seen & unsynced, '2' = seen & synced.
+--let $_rpl_server_marks= `SELECT REPEAT('0', $rpl_server_count)`
+--let $_rpl_start_server= $rpl_server_count
+--let $rpl_sync_chain=
+while ($_rpl_start_server)
+{
+ --let $_rpl_server= `SELECT RPAD('$_rpl_start_server', $rpl_server_count_length, ' ')`
+ --let $_rpl_seen_list=
+ --let $_rpl_continue_loop= 1
+ while ($_rpl_continue_loop)
+ {
+ --let $_rpl_master= `SELECT SUBSTRING('$rpl_master_list', 1 + ($_rpl_server - 1) * $rpl_server_count_length, $rpl_server_count_length)`
+ # We need to delimit elements of $_rpl_seen_list with commas, so
+ # that LOCATE() below will not find spurious matches that begin in
+ # the middle of one element and end in the middle of next element.
+ --let $_rpl_seen_list= $_rpl_server,$_rpl_seen_list
+ # If server is marked seen or synced, or has no master
+ if (`SELECT SUBSTRING('$_rpl_server_marks', $_rpl_server, 1) != 0 OR '$_rpl_master' = ''`)
+ {
+ # If server is marked seen but not synced.
+ if (`SELECT SUBSTRING('$_rpl_server_marks', $_rpl_server, 1) = 1`)
+ {
+ # Get sub-list of servers to prepend to server list.
+ # E.g., if topology is 1->2->3->4->1->5, then at this point
+ # $_rpl_seen_list='1,2,3,4,1,5,' and we have to prepend '4,3,'
+ # to it. Hence, the sub-list starts at position
+ # 1+2*($rpl_server_count_length+1) and ends at the first
+ # occurrence of ',1,' in the list.
+ --let $_rpl_extra_list= `SELECT SUBSTRING('$_rpl_seen_list', 1 + 2 * ($rpl_server_count_length + 1), LOCATE(',$_rpl_server,', '$_rpl_seen_list') - 2 * ($rpl_server_count_length + 1))`
+ --let $_rpl_seen_list= $_rpl_extra_list$_rpl_seen_list
+ }
+ # Append the seen servers. Only need to append if the list
+ # contains at least two elements.
+ if (`SELECT LENGTH('$_rpl_seen_list') > $rpl_server_count_length + 1`)
+ {
+ --let $rpl_sync_chain= $rpl_sync_chain$_rpl_no_server$_rpl_seen_list
+ }
+ --let $_rpl_continue_loop= 0
+ }
+ --let $_rpl_server_marks= `SELECT INSERT('$_rpl_server_marks', $_rpl_server, 1, '1')`
+ --let $_rpl_server= $_rpl_master
+ }
+ # Mark seen servers as synced
+ --let $_rpl_server_marks= `SELECT REPLACE('$_rpl_server_marks', '1', '2')`
+ # Get highest-numbered unmarked server.
+ --let $_rpl_start_server= `SELECT IFNULL(NULLIF($rpl_server_count + 1 - LOCATE('0', REVERSE('$_rpl_server_marks')), $rpl_server_count + 1), 0)`
+}
+# Strip commas: they were only needed temporarily.
+--let $rpl_sync_chain= `SELECT REPLACE('$rpl_sync_chain', ',', '')`
+
+if ($rpl_debug)
+{
+ --echo Generated \$rpl_sync_chain = '$rpl_sync_chain'
+}
+
+
+--let $include_filename= rpl_generate_sync_chain.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_init.inc b/mysql-test/include/rpl_init.inc
new file mode 100644
index 00000000000..6419682e650
--- /dev/null
+++ b/mysql-test/include/rpl_init.inc
@@ -0,0 +1,242 @@
+# ==== Purpose ====
+#
+# Set up replication on several servers in a specified topology.
+#
+# By default, this script does the following:
+# - Creates the connections server_1, server_2, ..., server_N, as
+# well as extra connections server_1_1, server_2_1, ...,
+# server_N_1. server_I and server_I_1 are connections to the same
+# server.
+# - Sets up @@auto_increment_increment and @@auto_increment_increment.
+# - Verifies that @@server_id of all servers are different.
+# - Calls RESET MASTER, RESET SLAVE, USE test, CHANGE MASTER, START SLAVE.
+# - Sets the connection to server_1 before exiting.
+#
+# ==== Usage ====
+#
+# 1. If you are going to use more than two servers, create
+# rpl_test.cfg with the following contents:
+#
+# !include ../my.cnf
+# [mysqld.1]
+# log-slave-updates
+# [mysqld.2]
+# log-slave-updates
+# ...
+# [mysqld.N]
+# log-slave-updates
+#
+# [ENV]
+# SERVER_MYPORT_3= @mysqld.3.port
+# SERVER_MYPORT_4= @mysqld.4.port
+# SERVER_MYPORT_5= @mysqld.5.port
+# ...
+# SERVER_MYPORT_N= @mysqld.N.port
+#
+# (It is allowed, but not required, to configure SERVER_MYPORT_1
+# and SERVER_MYPORT_2 too. If these variables are not set, the
+# variables MASTER_MYPORT and SLAVE_MYPORT, configured in the
+# default my.cnf used by the rpl and rpl_ndb suites, are used
+# instead. In addition, in the rpl_ndb suite, SERVER_MYPORT_3 is
+# not needed since MASTER_MYPORT1 can be used instead.)
+#
+# 2. Execute the following near the top of the test:
+#
+# [--let $rpl_server_count= 7]
+# --let $rpl_topology= 1->2->3->1->4, 2->5, 6->7
+# [--let $rpl_check_server_ids= 1]
+# [--let $rpl_skip_change_master= 1]
+# [--let $rpl_skip_start_slave= 1]
+# [--let $rpl_skip_reset_master_and_slave= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/rpl_init.inc
+#
+# Parameters:
+#
+# $rpl_server_count
+# The number of servers to configure. If this is not set, the largest
+# number in $rpl_topology will be used.
+#
+# $rpl_topology
+# A comma-separated list of replication chain
+# specifications. Each replication chain specification has the
+# form S1->S2->...->Sn, where 1 <= S1,...Sn <= $rpl_server_count.
+# This file will configure S(i+1) to be a slave of S(i). If you
+# want to specify the empty topology (no server replicates at
+# all), you have to set $rpl_topology=none.
+#
+# $rpl_check_server_ids
+# If $rpl_check_server_ids is set, this script checks that the
+# @@server_id of all servers are different. This is normally
+# guaranteed by mtr, so it is only useful for debugging.
+#
+# $rpl_skip_reset_master_and_slave
+# By default, this script issues RESET MASTER and RESET SLAVE
+# before CHANGE MASTER and START SLAVE. RESET MASTER and RESET
+# SLAVE are suppressed if $rpl_skip_reset_master_and_slave is
+# set.
+#
+# $rpl_skip_change_master
+# By default, this script issues CHANGE MASTER so that all slaves
+# are ready to run as specified by $rpl_topology. CHANGE MASTER
+# is suppressed if $rpl_skip_change_master is set.
+#
+# $rpl_skip_start_slave
+# By default, this script issues START SLAVE on all slaves
+# specified by $rpl_topology. START SLAVE is suppressed if
+# $rpl_skip_change_master is set.
+#
+# $rpl_debug
+# By default, this script only outputs a static text that says
+# that rpl_init.inc was invoked. If $rpl_debug is set, additional
+# debug info is printed. The debug info may be nondeterministic,
+# so no test case should be checked in with $rpl_debug set.
+#
+# $slave_timeout
+# Timeout used when waiting for the slave threads to start.
+# See include/wait_for_slave_param.inc
+#
+#
+# ==== Side effects ====
+#
+# Changes current connection to server_1.
+
+--source include/have_log_bin.inc
+
+
+--let $include_filename= rpl_init.inc [topology=$rpl_topology]
+--source include/begin_include_file.inc
+
+
+if ($rpl_debug)
+{
+ --echo ---- Check input ----
+ --echo MASTER_MYPORT='$MASTER_MYPORT' SLAVE_MYPORT='$SLAVE_MYPORT' MASTER_MYPORT1='$MASTER_MYPORT1' SLAVE_MYPORT1='$SLAVE_MYPORT1'
+}
+
+# Allow $MASTER_MYPORT as alias for $SERVER_MYPORT_1
+if (!$SERVER_MYPORT_1)
+{
+ --let SERVER_MYPORT_1= $MASTER_MYPORT
+}
+# Allow $SLAVE_MYPORT as alias for $SERVER_MYPORT_2
+if (!$SERVER_MYPORT_2)
+{
+ --let SERVER_MYPORT_2= $SLAVE_MYPORT
+}
+# Allow $MASTER_MYPORT1 as alias for $SERVER_MYPORT_3
+# (this alias is used by rpl_ndb tests)
+if (!$SERVER_MYPORT_3)
+{
+ --let SERVER_MYPORT_3= $MASTER_MYPORT1
+}
+# Allow $SLAVE_MYPORT1 as alias for $SERVER_MYPORT_4
+# (this alias is used by rpl_ndb tests)
+if (!$SERVER_MYPORT_4)
+{
+ --let SERVER_MYPORT_4= $SLAVE_MYPORT1
+}
+# Check that $rpl_server_count is set
+if (!$rpl_server_count)
+{
+ --let $_compute_rpl_server_count= `SELECT REPLACE('$rpl_topology', '->', ',')`
+ --let $rpl_server_count= `SELECT GREATEST($_compute_rpl_server_count)`
+}
+
+
+if ($rpl_debug)
+{
+ --echo ---- Setup connections and reset each server ----
+}
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+# Create two connections to each server; reset master/slave, select
+# database, set autoinc variables.
+--let $_rpl_server= $rpl_server_count
+--let $_rpl_one= _1
+while ($_rpl_server)
+{
+ # Connect.
+ --let $rpl_server_number= $_rpl_server
+ --let $rpl_connection_name= server_$_rpl_server
+ --source include/rpl_connect.inc
+ --let $rpl_connection_name= server_$_rpl_server$_rpl_one
+ --source include/rpl_connect.inc
+
+ # Configure server.
+ --let $rpl_connection_name= server_$_rpl_server
+ --source include/rpl_connection.inc
+ USE test;
+ if (!$rpl_skip_reset_master_and_slave)
+ {
+ RESET MASTER;
+ RESET SLAVE;
+ }
+ eval SET auto_increment_increment= $rpl_server_count;
+ eval SET auto_increment_offset= $_rpl_server;
+
+ --dec $_rpl_server
+}
+
+
+# Signal that initialization is done and all connections created.
+--let $rpl_inited= 1
+
+# Signal that the server is in a dirty state and needs to be restarted
+# if the test is skipped. If the test is not skipped, it will continue
+# to the end and execute its cleanup section (and check-testcase will
+# report if you forget to clean up).
+--source include/force_restart_if_skipped.inc
+
+
+# Assert that all hosts have different server_ids
+if ($rpl_check_server_ids)
+{
+ if ($rpl_debug)
+ {
+ --echo ---- Check that @@server_id is distinct for all servers ----
+ }
+
+ --let $_rpl_server= $rpl_server_count
+ while ($_rpl_server)
+ {
+ --let $_rpl_server2= $_rpl_server
+ --dec $_rpl_server2
+ while ($_rpl_server2)
+ {
+ --let $assert_text= Servers $_rpl_server and $_rpl_server2 should have different @@server_id
+ --let $assert_condition= [$_rpl_server:SELECT @@server_id AS i, i, 1] != [$_rpl_server2:SELECT @@server_id AS i, i, 1]
+
+ --source include/assert.inc
+ --dec $_rpl_server2
+ }
+ --dec $_rpl_server
+ }
+}
+
+# $rpl_master_list must be set so that include/rpl_change_topology.inc
+# knows which servers are initialized and not.
+--let $rpl_master_list= `SELECT REPEAT('x', $rpl_server_count * LENGTH($rpl_server_count))`
+--source include/rpl_change_topology.inc
+
+
+if (!$rpl_skip_start_slave)
+{
+ --source include/rpl_start_slaves.inc
+}
+
+
+--let $rpl_connection_name= server_1
+--source include/rpl_connection.inc
+
+
+--let $skip_restore_connection= 1
+--let $include_filename= rpl_init.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_reconnect.inc b/mysql-test/include/rpl_reconnect.inc
new file mode 100644
index 00000000000..cdbbd0a1bf1
--- /dev/null
+++ b/mysql-test/include/rpl_reconnect.inc
@@ -0,0 +1,132 @@
+# ==== Purpose ====
+#
+# After a server has restarted, this waits for all clients configured
+# by rpl_init.inc and/or master-slave.inc to reconnect again.
+#
+# For each connection, it issues this:
+# --enable_reconnect
+# --source include/wait_until_connected_again.inc
+# --disable_reconnect
+#
+#
+# ==== Usage ====
+#
+# --let $rpl_server_number= N
+# [--let $rpl_debug= 1]
+# --source include/rpl_reconnect.inc
+#
+# Parameters:
+# $rpl_server_number
+# Number to identify the server that needs to reconnect. 1 is the
+# master server, 2 the slave server, 3 the 3rd server, and so on.
+# Cf. include/rpl_init.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+--let $include_filename= rpl_reconnect.inc
+--source include/begin_include_file.inc
+
+if (!$rpl_server_number)
+{
+ --die ERROR IN TEST: you must set $rpl_server_number before you source rpl_connect.inc
+}
+
+
+if ($rpl_debug)
+{
+ --echo ---- Enable reconnect ----
+}
+
+--let $_rpl_server_number= $rpl_server_number
+
+--dec $_rpl_server_number
+if (!$_rpl_server_number)
+{
+ --let $rpl_connection_name= default
+ --source include/rpl_connection.inc
+ --enable_reconnect
+
+ --let $rpl_connection_name= master
+ --source include/rpl_connection.inc
+ --enable_reconnect
+
+ --let $rpl_connection_name= master1
+ --source include/rpl_connection.inc
+ --enable_reconnect
+}
+
+--dec $_rpl_server_number
+if (!$_rpl_server_number)
+{
+ --let $rpl_connection_name= slave
+ --source include/rpl_connection.inc
+ --enable_reconnect
+
+ --let $rpl_connection_name= slave1
+ --source include/rpl_connection.inc
+ --enable_reconnect
+}
+
+--let $rpl_connection_name= server_$rpl_server_number
+--source include/rpl_connection.inc
+--enable_reconnect
+
+--let $_rpl_one= _1
+--let $rpl_connection_name= server_$rpl_server_number$_rpl_one
+--source include/rpl_connection.inc
+--enable_reconnect
+
+if ($rpl_debug)
+{
+ --echo ---- Wait for reconnect and disable reconnect on all connections ----
+}
+
+--let $_rpl_server_number= $rpl_server_number
+
+--dec $_rpl_server_number
+if (!$_rpl_server_number)
+{
+ --let $rpl_connection_name= default
+ --source include/rpl_connection.inc
+ --source include/wait_until_connected_again.inc
+ --disable_reconnect
+
+ --let $rpl_connection_name= master
+ --source include/rpl_connection.inc
+ --source include/wait_until_connected_again.inc
+ --disable_reconnect
+
+ --let $rpl_connection_name= master1
+ --source include/rpl_connection.inc
+ --source include/wait_until_connected_again.inc
+ --disable_reconnect
+}
+
+--dec $_rpl_server_number
+if (!$_rpl_server_number)
+{
+ --let $rpl_connection_name= slave
+ --source include/rpl_connection.inc
+ --source include/wait_until_connected_again.inc
+ --disable_reconnect
+
+ --let $rpl_connection_name= slave1
+ --source include/rpl_connection.inc
+ --source include/wait_until_connected_again.inc
+ --disable_reconnect
+}
+
+--let $rpl_connection_name= server_$rpl_server_number
+--source include/rpl_connection.inc
+--source include/wait_until_connected_again.inc
+--disable_reconnect
+
+--let $rpl_connection_name= server_$rpl_server_number$_rpl_one
+--source include/rpl_connection.inc
+--source include/wait_until_connected_again.inc
+--disable_reconnect
+
+
+--let $include_filename= rpl_reconnect.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_reset.inc b/mysql-test/include/rpl_reset.inc
new file mode 100644
index 00000000000..a94371c38fc
--- /dev/null
+++ b/mysql-test/include/rpl_reset.inc
@@ -0,0 +1,81 @@
+# ==== Purpose ====
+#
+# Reset all replication servers to a clean state:
+#
+# - sync all slaves,
+# - stop all slaves (STOP SLAVE),
+# - remove all binlogs and relay logs (RESET MASTER and RESET SLAVE),
+# - start all slaves again (START SLAVE).
+#
+# It does not execute CHANGE MASTER, so the replication topology is
+# kept intact.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_only_running_threads= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/rpl_end.inc
+#
+# Parameters:
+# $rpl_only_running_threads
+# If one or both of the IO and SQL threads is stopped, sync and
+# stop only the threads that are running. See
+# include/rpl_sync.inc and include/stop_slave.inc for details.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+#
+# $slave_timeout
+# Set the timeout when waiting for slave threads to stop and
+# start, respectively. See include/wait_for_slave_param.inc
+#
+# Note:
+# This script will fail if Last_SQL_Error or Last_IO_Error is
+# nonempty. If you expect an error in the SQL thread, you should
+# normally do this before you source include/rpl_reset.inc:
+#
+# --source include/wait_for_slave_sql_error.inc
+# --source include/stop_slave_io.inc
+# RESET SLAVE;
+
+--let $include_filename= rpl_reset.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+--source include/rpl_sync.inc
+
+
+if ($rpl_debug)
+{
+ --echo ---- Stop and reset all servers ----
+}
+--let $_rpl_server= $rpl_server_count
+while ($_rpl_server)
+{
+ --let $rpl_connection_name= server_$_rpl_server
+ --source include/rpl_connection.inc
+
+ # Check if this server is configured to have a master
+ if (`SELECT SUBSTRING('$rpl_master_list', 1 + ($_rpl_server - 1) * $rpl_server_count_length, $rpl_server_count_length) != ''`)
+ {
+ --source include/stop_slave.inc
+ RESET SLAVE;
+ }
+ RESET MASTER;
+ --dec $_rpl_server
+}
+
+
+--source include/rpl_start_slaves.inc
+
+
+--let $include_filename= rpl_reset.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_restart_server.inc b/mysql-test/include/rpl_restart_server.inc
new file mode 100644
index 00000000000..5df2c67d3da
--- /dev/null
+++ b/mysql-test/include/rpl_restart_server.inc
@@ -0,0 +1,39 @@
+# ==== Purpose ====
+#
+# Shut down and shut up the server given by $rpl_server_number. This
+# is equivalent to rpl_stop_server.inc followed by rpl_start_server.inc
+#
+# ==== Usage ====
+#
+# --let $rpl_server_number= N
+# [--let $rpl_server_parameters= --flag1 --flag2 ...]
+# [--let $rpl_debug= 1]
+# --source include/rpl_restart_server.inc
+#
+# Parameters:
+#
+# $rpl_server_number, $rpl_server_parameters
+# See include/rpl_start_server.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+#
+# ==== See also ====
+#
+# rpl_start_server.inc
+# rpl_stop_server.inc
+
+
+--let $_rpl_restart_server_args= [server_number=$rpl_server_number]
+if ($rpl_server_parameters)
+{
+ --let $_rpl_restart_server_args= [server_number=$rpl_server_number parameters: $rpl_server_parameters]
+}
+--let $include_filename= rpl_restart_server.inc $_rpl_restart_server_args
+--source include/begin_include_file.inc
+
+--source include/rpl_stop_server.inc
+--source include/rpl_start_server.inc
+
+--let $include_filename= rpl_restart_server.inc $_rpl_restart_server_args
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_start_server.inc b/mysql-test/include/rpl_start_server.inc
new file mode 100644
index 00000000000..c59c7759910
--- /dev/null
+++ b/mysql-test/include/rpl_start_server.inc
@@ -0,0 +1,54 @@
+# ==== Purpose ====
+#
+# Start the server given by $rpl_server_number. This should normally
+# be invoked after rpl_stop_server.inc.
+#
+# ==== Usage ====
+#
+# --let $rpl_server_number= N
+# [--let $rpl_server_parameters= --flag1 --flag2 ...]
+# [--let $rpl_debug= 1]
+# --source include/rpl_start_server.inc
+#
+# Parameters:
+#
+# $rpl_server_number
+# Number to identify the server that needs to reconnect. 1 is the
+# master server, 2 the slave server, 3 the 3rd server, and so on.
+# Cf. include/rpl_init.inc
+#
+# $rpl_server_parameters
+# If set, extra parameters given by this variable are passed to
+# mysqld.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+#
+# ==== See also ====
+#
+# rpl_stop_server.inc
+# rpl_restart_server.inc
+
+
+--let $_rpl_start_server_command= restart
+--let $_rpl_start_server_args= [server_number=$rpl_server_number]
+if ($rpl_server_parameters)
+{
+ --let $_rpl_start_server_command= restart:$rpl_server_parameters
+ --let $_rpl_start_server_args= [server_number=$rpl_server_number parameters: $rpl_server_parameters]
+}
+
+--let $include_filename= rpl_start_server.inc $_rpl_start_server_args
+--source include/begin_include_file.inc
+
+--let $rpl_connection_name= server_$rpl_server_number
+--source include/rpl_connection.inc
+
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "$_rpl_start_server_command" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
+
+--source include/rpl_reconnect.inc
+
+
+--let $include_filename= rpl_start_server.inc $_rpl_start_server_args
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_start_slaves.inc b/mysql-test/include/rpl_start_slaves.inc
new file mode 100644
index 00000000000..fdd90eb12c5
--- /dev/null
+++ b/mysql-test/include/rpl_start_slaves.inc
@@ -0,0 +1,32 @@
+# ==== Purpose ====
+#
+# Start all slaves configured by rpl_init.inc and wait for the slave
+# threads to start.
+#
+# Note that rpl_init.inc calls this file automatically, so you only
+# need to source this file if the slaves have stopped after that.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/rpl_start_slaves.inc
+#
+# Parameters:
+# $rpl_debug
+# See include/rpl_init.inc
+#
+# $slave_timeout
+# Set the timeout when waiting for slave threads to stop and
+# start, respectively. See include/wait_for_slave_param.inc
+
+
+--let $include_filename= rpl_start_slaves.inc
+--source include/begin_include_file.inc
+
+--let $rpl_source_file= include/start_slave.inc
+--source include/rpl_for_each_slave.inc
+
+--let $include_filename= rpl_start_slaves.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_stop_server.inc b/mysql-test/include/rpl_stop_server.inc
new file mode 100644
index 00000000000..e1f8839dd69
--- /dev/null
+++ b/mysql-test/include/rpl_stop_server.inc
@@ -0,0 +1,63 @@
+# ==== Purpose ====
+#
+# Stop the server given by $rpl_server_number.
+#
+# ==== Usage ====
+#
+# --let $rpl_server_number= N
+# [--let $rpl_debug= 1]
+# --source include/rpl_stop_server.inc
+#
+# Parameters:
+#
+# $rpl_server_number
+# Number to identify the server that needs to reconnect. 1 is the
+# master server, 2 the slave server, 3 the 3rd server, and so on.
+# Cf. include/rpl_init.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+#
+# ==== See also ====
+#
+# rpl_start_server.inc
+# rpl_restart_server.inc
+
+
+# Can't use begin_include_file / end_include_file because they require
+# executing on a server and the server will go down after this script.
+if (!$_include_file_depth)
+{
+ --echo include/rpl_stop_server.inc [server_number=$rpl_server_number]
+}
+--inc $_include_file_depth
+--let $_rpl_stop_server_old_connection= $CURRENT_CONNECTION
+if ($rpl_debug)
+{
+ --echo $_include_file_indent con='$CURRENT_CONNECTION' warn='$ENABLED_WARNINGS' qlog='$ENABLED_QUERY_LOG' rlog='$ENABLED_RESULT_LOG' aborterr='$ENABLED_ABORT_ON_ERROR'
+ --echo $_include_file_indent==== BEGIN include/$include_filename ====
+}
+
+
+--let $rpl_connection_name= server_$rpl_server_number
+--source include/rpl_connection.inc
+
+# Write file to make mysql-test-run.pl expect the "crash", but don't start
+# it until it's told to
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
+
+# Send shutdown to the connected server and give
+# it 10 seconds to die before zapping it
+shutdown_server 10;
+
+--source include/wait_until_disconnected.inc
+
+
+--let $rpl_connection_name= $_rpl_stop_server_old_connection
+--source include/rpl_connection.inc
+--dec $_include_file_depth
+if ($rpl_debug)
+{
+ --echo $_include_file_indent==== END include/rpl_stop_server.inc [server_number=$rpl_server_number] ====
+ --echo $_include_file_indent con='$CURRENT_CONNECTION' warn='$ENABLED_WARNINGS' qlog='$ENABLED_QUERY_LOG' rlog='$ENABLED_RESULT_LOG' aborterr='$ENABLED_ABORT_ON_ERROR'
+}
diff --git a/mysql-test/include/rpl_stop_slaves.inc b/mysql-test/include/rpl_stop_slaves.inc
new file mode 100644
index 00000000000..2b9199739dd
--- /dev/null
+++ b/mysql-test/include/rpl_stop_slaves.inc
@@ -0,0 +1,33 @@
+# ==== Purpose ====
+#
+# Stop all slaves configured by rpl_init.inc and waits for the slave
+# threads to stop.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_only_running_threads= 1]
+# [--let $rpl_debug= 1]
+# [--let $rpl_timeout= NUMBER]
+# --source include/rpl_stop_slaves.inc
+#
+# Parameters:
+# $rpl_only_running_threads
+# See include/stop_slave.inc
+#
+# $slave_timeout
+# Set the timeout when waiting for slave threads to stop. See
+# include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= rpl_stop_slaves.inc
+--source include/begin_include_file.inc
+
+--let $rpl_source_file= include/stop_slave.inc
+--source include/rpl_for_each_slave.inc
+
+--let $include_filename= rpl_stop_slaves.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/rpl_sync.inc b/mysql-test/include/rpl_sync.inc
new file mode 100644
index 00000000000..be2904528ff
--- /dev/null
+++ b/mysql-test/include/rpl_sync.inc
@@ -0,0 +1,153 @@
+# ==== Purpose ====
+#
+# Sync all servers in an arbitrary replication topology. This works
+# only if the servers have been configured with rpl_init.inc (and
+# possibly rpl_change_topology.inc).
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_only_running_threads= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/rpl_sync.inc
+#
+# Parameters:
+# $rpl_only_running_threads
+# By default, this script assumes that both the IO thread and the
+# SQL thread are running and fails if one of them is stopped. If
+# $rpl_only_running_threads is set, this script first checks
+# which slave threads are running:
+# - If both threads are running, sync both threads with master.
+# - If only IO thread is running, sync IO thread with master.
+# - If only SQL thread is running, sync SQL thread with IO thread.
+# - If no thread is running, don't sync.
+#
+# $slave_timeout
+# Set the timeout when waiting for threads to sync. See
+# include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+#
+#
+# ==== Side effects ====
+#
+# Does not change the current connection (note that this is different
+# from mysqltest's built-in sync_slave_with_master command).
+
+
+--let $include_filename= rpl_sync.inc
+--source include/begin_include_file.inc
+
+
+# Compute $rpl_sync_chain if needed. We could have done this in
+# rpl_change_topology.inc, but instead we do it here because that
+# means we only compute $rpl_sync_chain when it is needed.
+if ($rpl_sync_chain_dirty)
+{
+ --source include/rpl_generate_sync_chain.inc
+ --let $rpl_sync_chain_dirty= 0
+}
+
+
+if ($rpl_debug)
+{
+ --echo \$rpl_sync_chain = '$rpl_sync_chain' \$rpl_only_running_threads= $rpl_only_running_threads
+}
+
+if (!$rpl_server_count_length)
+{
+ --die \$rpl_server_count_length is not set. Did you call rpl_init.inc?
+}
+
+
+--let $_rpl_i= 1
+--let $_rpl_connect= 0
+while ($_rpl_i) {
+ # $rpl_sync_chain consists of a sequence of sync chains. Each sync
+ # chain has the form:
+ #
+ # <space><server1_1><server1_2>...<server1_N>
+ #
+ # So the space character indicates that a new sync chain starts.
+ --let $_rpl_server= `SELECT TRIM(SUBSTR('$rpl_sync_chain', 1 + ($_rpl_i - 1) * $rpl_server_count_length, $rpl_server_count_length))`
+
+ if ($_rpl_server)
+ {
+ if ($rpl_debug)
+ {
+ --echo [sync server_$_rpl_prev_server -> server_$_rpl_server]
+ }
+ if ($rpl_only_running_threads)
+ {
+ --connection server_$_rpl_server
+ --let $_rpl_slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1)
+ --let $_rpl_slave_sql_running= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1)
+ if ($rpl_debug)
+ {
+ --echo Sync IO: $_rpl_slave_io_running; Sync SQL: $_rpl_slave_sql_running
+ }
+ --let $_rpl_slave_io_running= `SELECT IF('$_rpl_slave_io_running' != 'No', 1, '')`
+ --let $_rpl_slave_sql_running= `SELECT IF('$_rpl_slave_sql_running' = 'Yes', 1, '')`
+ if ($_rpl_slave_io_running)
+ {
+ --connection server_$_rpl_prev_server
+ if ($_rpl_slave_sql_running)
+ {
+ if ($rpl_debug)
+ {
+ --let $_rpl_master_file= query_get_value("SHOW MASTER STATUS", File, 1)
+ --let $_rpl_master_pos= query_get_value("SHOW MASTER STATUS", Position, 1)
+ --echo syncing master_file='$_rpl_master_file' master_pos='$_rpl_master_pos'
+ }
+ --sync_slave_with_master server_$_rpl_server
+ }
+ if (!$_rpl_slave_sql_running)
+ {
+ --let $sync_slave_connection= server_$_rpl_server
+ --source include/sync_slave_io_with_master.inc
+ }
+ }
+ if (!$_rpl_slave_io_running)
+ {
+ if ($_rpl_slave_sql_running)
+ {
+ --source include/sync_slave_sql_with_io.inc
+ }
+ }
+ }
+ if (!$rpl_only_running_threads)
+ {
+ --connection server_$_rpl_prev_server
+ if ($rpl_debug)
+ {
+ --let $_rpl_master_file= query_get_value("SHOW MASTER STATUS", File, 1)
+ --let $_rpl_master_pos= query_get_value("SHOW MASTER STATUS", Position, 1)
+ --echo syncing master_file='$_rpl_master_file' master_pos='$_rpl_master_pos'
+ }
+ --sync_slave_with_master server_$_rpl_server
+ }
+ }
+
+ # This happens at the beginning of a new sync subchain and at the
+ # end of the full sync chain.
+ if (!$_rpl_server)
+ {
+ --inc $_rpl_i
+ --let $_rpl_server= `SELECT TRIM(SUBSTR('$rpl_sync_chain', 1 + ($_rpl_i - 1) * $rpl_server_count_length, $rpl_server_count_length))`
+
+ if (!$_rpl_server)
+ {
+ # terminate loop
+ --let $_rpl_i= -1
+ }
+ }
+
+ --let $_rpl_prev_server= $_rpl_server
+ --inc $_rpl_i
+}
+
+
+--let $include_filename= rpl_sync.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/save_master_pos.inc b/mysql-test/include/save_master_pos.inc
new file mode 100644
index 00000000000..2c176d160cc
--- /dev/null
+++ b/mysql-test/include/save_master_pos.inc
@@ -0,0 +1,33 @@
+# ==== Purpose ====
+#
+# Save the current binlog position on the master, just like the
+# built-in mysqltest command save_master_pos. The advantage of this
+# script is that the saved position is available to the test script.
+#
+#
+# ==== Usage ====
+#
+# [--let $rpl_debug= 1]
+# --source include/save_master_pos.inc
+#
+# Typically, you would use this script together with
+# include/sync_io_with_master.inc
+#
+# Parameters:
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= save_master_pos.inc
+--source include/begin_include_file.inc
+
+let $_master_file= query_get_value("SHOW MASTER STATUS", File, 1);
+let $_master_pos= query_get_value("SHOW MASTER STATUS", Position, 1);
+
+if ($rpl_debug)
+{
+ --echo save_master_pos saved file='$_master_file', pos='$_master_pos'
+}
+
+--let $include_filename= save_master_pos.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/setup_fake_relay_log.inc b/mysql-test/include/setup_fake_relay_log.inc
index 86a5da328af..4f1d4f6f162 100644
--- a/mysql-test/include/setup_fake_relay_log.inc
+++ b/mysql-test/include/setup_fake_relay_log.inc
@@ -29,52 +29,55 @@
# Creates a binlog file and a binlog index file, and sets
# @@global.relay_log_purge=1. All this is restored when you call
# cleanup_fake_relay_log.inc.
-#
-# Enables the query log.
---disable_query_log
+--let $include_filename= setup_fake_relay_log.inc
+--source include/begin_include_file.inc
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
# Print message.
let $_fake_relay_log_printable= `SELECT REPLACE('$fake_relay_log', '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')`;
--echo Setting up fake replication from $_fake_relay_log_printable
# Sanity check.
+let $running= 0;
let $_sql_running= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
let $_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1);
-if (`SELECT "$_sql_running" = "Yes" OR "$_io_running" = "Yes"`) {
+if ($_sql_running == Yes) {
+ let $running= 1;
+}
+if ($_io_running == Yes) {
+ let $running= 1;
+}
+if ($running) {
--echo Error: Slave was running when test case sourced
--echo include/setup_fake_replication.inc
--echo Slave_IO_Running = $_io_running; Slave_SQL_Running = $_sql_running
- --echo Printing some debug info:
- SHOW SLAVE STATUS;
- SHOW MASTER STATUS;
- SHOW BINLOG EVENTS;
- SHOW PROCESSLIST;
+ --source include/show_rpl_debug_info.inc
+ --die
}
# Read server variables.
-let $MYSQLD_DATADIR= `SELECT @@datadir`;
+let $_fake_datadir= `SELECT @@datadir`;
let $_fake_filename= query_get_value(SHOW VARIABLES LIKE 'relay_log', Value, 1);
-if (`SELECT '$_fake_filename' = ''`) {
- --echo Badly written test case: relay_log variable is empty. Please use the
- --echo server option --relay-log=FILE.
+if (!$_fake_filename) {
+ --die ERROR IN TEST: relay_log variable is empty. Please use the server option --relay-log=FILE.
}
-let $_fake_relay_log= $MYSQLD_DATADIR/$_fake_filename-fake.000001;
-let $_fake_relay_index= $MYSQLD_DATADIR/$_fake_filename.index;
+let $_fake_relay_log= $_fake_datadir/$_fake_filename-fake.000001;
+let $_fake_relay_index= $_fake_datadir/$_fake_filename.index;
# Need to restore relay_log_purge in cleanup_fake_relay_log.inc, since
# CHANGE MASTER modifies it (see the manual for CHANGE MASTER).
let $_fake_relay_log_purge= `SELECT @@global.relay_log_purge`;
-# Reset slave and remove relay log and index files if they exist
RESET SLAVE;
-error 0,1;
-remove_file $MYSQLD_DATADIR/$_fake_filename.000001;
-error 0,1;
-remove_file $MYSQLD_DATADIR/$_fake_filename.index;
+let $_orphan_relay_file= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
# Create relay log file.
-copy_file $fake_relay_log $_fake_relay_log;
+--copy_file $fake_relay_log $_fake_relay_log
# Create relay log index.
@@ -83,17 +86,25 @@ copy_file $fake_relay_log $_fake_relay_log;
# relay log before comparison, thus we need to added the directory
# part (./ on unix .\ on windows) when faking the relay-log-bin.index.
-if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`)
-{
- eval select './$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index';
-}
+# mysqltest currently parses backslash escapes wrong, so any sequence
+# of N backslashes is collapsed to just one backslash. So we use the
+# SQL function CHAR() to generate a backslash character instead. Since
+# the string is interpreted in SQL context, we to escape it, so we use
+# two backslashes.
-if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`)
-{
- eval select '.\\\\$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index';
-}
+--let $_fake_dir= `select IF(convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows"), CONCAT('.', CHAR(92), CHAR(92)), './')`
+--let $write_var= $_fake_dir$_fake_filename-fake.000001\n
+--let $write_to_file= $_fake_relay_index
+--source include/write_var_to_file.inc
+
+# Remember old settings.
+--let $_fake_old_master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1)
# Setup replication from existing relay log.
eval CHANGE MASTER TO MASTER_HOST='dummy.localdomain', RELAY_LOG_FILE='$_fake_filename-fake.000001', RELAY_LOG_POS=4;
---enable_query_log
+# remove the orphan log file (became spurious)
+-- remove_file $_fake_datadir/$_orphan_relay_file
+
+--let $include_filename= setup_fake_relay_log.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/show_events.inc b/mysql-test/include/show_events.inc
index 2fd0bc6dbd8..ff5a7105c24 100644
--- a/mysql-test/include/show_events.inc
+++ b/mysql-test/include/show_events.inc
@@ -18,13 +18,15 @@ if ($is_relay_log)
--let $_statement=show relaylog events
}
-if (`SELECT '$binlog_file' <> ''`)
+if ($binlog_file)
{
--let $_statement= $_statement in '$binlog_file'
}
--let $_statement= $_statement from $binlog_start
+# Cannot use if($binlog_limit) since the variable may begin with a 0
+
if (`SELECT '$binlog_limit' <> ''`)
{
--let $_statement= $_statement limit $binlog_limit
diff --git a/mysql-test/include/show_rpl_debug_info.inc b/mysql-test/include/show_rpl_debug_info.inc
index 148d11f3b02..1b2b7360970 100644
--- a/mysql-test/include/show_rpl_debug_info.inc
+++ b/mysql-test/include/show_rpl_debug_info.inc
@@ -3,87 +3,109 @@
# Print status information for replication, typically used to debug
# test failures.
#
-# First, the following is printed on slave:
+# The following is printed on the current connection:
#
+# SELECT NOW()
# SHOW SLAVE STATUS
+# SHOW MASTER STATUS
# SHOW PROCESSLIST
# SHOW BINLOG EVENTS IN <binlog_name>
#
# Where <binlog_name> is the currently active binlog.
#
-# Then, the following is printed on master:
-#
-# SHOW MASTER STATUS
-# SHOW PROCESSLIST
-# SHOW BINLOG EVENTS IN <sql_binlog_name>
-# SHOW BINLOG EVENTS IN <io_binlog_name>
+# Then, the same is printed from all connections configured by
+# rpl_init.inc - i.e., on connection server_N, where
+# 1 <= N <= $rpl_server_count
#
-# Where <sql_binlog_name> is the binlog name that the slave sql thread
-# is currently reading from and <io_binlog_name> is the binlog that
-# the slave IO thread is currently reading from.
#
# ==== Usage ====
#
-# [let $master_connection= <connection>;]
-# source include/show_rpl_debug_info.inc;
+# [--let $rpl_only_current_connection= 1]
+# --source include/show_rpl_debug_info.inc
+#
+# Parameters:
+# $rpl_only_current_connection
+# By default, debug info is printed from all connections, starting
+# with the current connection. If this variable is set, debug
+# info is printed only for the current connection.
+#
+#
+# ==== Side effects ====
+#
+# Turns on enable_query_log, enable_result_log, enable_warnings,
+# horizontal_results, and enable_abort_on_error.
#
-# If $master_connection is set, debug info will be retrieved from the
-# connection named $master_connection. Otherwise, it will be
-# retrieved from the 'master' connection if the current connection is
-# 'slave'.
+# Prints non-deterministic output to the query log. This file should
+# never be called in a test that does not fail.
-let $_con= $CURRENT_CONNECTION;
---echo
---echo [on $_con]
---echo
-SELECT NOW();
---echo **** SHOW SLAVE STATUS on $_con ****
-query_vertical SHOW SLAVE STATUS;
---echo
---echo **** SHOW PROCESSLIST on $_con ****
-SHOW PROCESSLIST;
---echo
---echo **** SHOW BINLOG EVENTS on $_con ****
-let $binlog_name= query_get_value("SHOW MASTER STATUS", File, 1);
-eval SHOW BINLOG EVENTS IN '$binlog_name';
-let $_master_con= $master_connection;
-if (`SELECT '$_master_con' = ''`)
+--enable_query_log
+--enable_result_log
+--enable_warnings
+--disable_abort_on_error
+--horizontal_results
+
+
+--let $_rpl_old_con= $CURRENT_CONNECTION
+--let $_rpl_is_first_server= 1
+--let $_rpl_server= $rpl_server_count
+--inc $_rpl_server
+
+
+while ($_rpl_server)
{
- if (`SELECT '$_con' = 'slave'`)
- {
- let $_master_con= master;
- }
- if (`SELECT '$_master_con' = ''`)
+ if (!$_rpl_is_first_server)
{
- --echo Unable to determine master connection. No debug info printed for master.
- --echo Please fix the test case by setting $master_connection before sourcing
- --echo show_rpl_debug_info.inc.
+ --connection server_$_rpl_server
}
-}
-
-if (`SELECT '$_master_con' != ''`)
-{
- let $master_binlog_name_io= query_get_value("SHOW SLAVE STATUS", Master_Log_File, 1);
- let $master_binlog_name_sql= query_get_value("SHOW SLAVE STATUS", Relay_Master_Log_File, 1);
--echo
- --echo [on $_master_con]
- connection $_master_con;
+ --echo ############################## $CURRENT_CONNECTION ##############################
+ --echo
+ --echo **** SHOW WARNINGS on $CURRENT_CONNECTION ****
+ SHOW WARNINGS;
--echo
- SELECT NOW();
- --echo **** SHOW MASTER STATUS on $_master_con ****
+ --echo **** SELECT replication-related variables on $CURRENT_CONNECTION ****
+ SELECT NOW(), @@SERVER_ID;
+ --echo
+ --echo **** SHOW SLAVE STATUS on $CURRENT_CONNECTION ****
+ query_vertical SHOW SLAVE STATUS;
+ --echo
+ --echo **** SHOW MASTER STATUS on $CURRENT_CONNECTION ****
query_vertical SHOW MASTER STATUS;
--echo
- --echo **** SHOW PROCESSLIST on $_master_con ****
+ --echo **** SHOW SLAVE HOSTS on $CURRENT_CONNECTION ****
+ query_vertical SHOW SLAVE HOSTS;
+ --echo
+ --echo **** SHOW PROCESSLIST on $CURRENT_CONNECTION ****
SHOW PROCESSLIST;
--echo
- --echo **** SHOW BINLOG EVENTS on $_master_con ****
- eval SHOW BINLOG EVENTS IN '$master_binlog_name_sql';
- if (`SELECT '$master_binlog_name_io' != '$master_binlog_name_sql'`)
+ --echo **** SHOW BINARY LOGS on $CURRENT_CONNECTION ****
+ SHOW BINARY LOGS;
+ --echo
+ --echo **** SHOW BINLOG EVENTS on $CURRENT_CONNECTION ****
+ let $binlog_name= query_get_value("SHOW MASTER STATUS", File, 1);
+ --echo binlog_name = '$binlog_name'
+ eval SHOW BINLOG EVENTS IN '$binlog_name';
+ --echo
+ --echo **** SHOW RELAYLOG EVENTS on $CURRENT_CONNECTION ****
+ let $relaylog_name= query_get_value(SHOW SLAVE STATUS, Relay_Log_File, 1);
+ --echo relaylog_name = '$relaylog_name'
+ eval SHOW RELAYLOG EVENTS IN '$relaylog_name';
+
+
+ --let $_rpl_is_first_server= 0
+ --dec $_rpl_server
+ # Don't use same connection twice.
+ if (`SELECT 'server_$_rpl_server' = '$_rpl_old_con'`)
{
- eval SHOW BINLOG EVENTS IN '$master_binlog_name_io';
+ --dec $_rpl_server
+ if ($rpl_only_current_connection)
+ {
+ --let $_rpl_server= 0
+ }
}
-
- connection $_con;
}
+
+--connection $_rpl_old_con
+--enable_abort_on_error
diff --git a/mysql-test/include/show_slave_status.inc b/mysql-test/include/show_slave_status.inc
index d66c068e19b..67b1c987954 100644
--- a/mysql-test/include/show_slave_status.inc
+++ b/mysql-test/include/show_slave_status.inc
@@ -1,25 +1,75 @@
-# Include file to show the slave status, masking out some information
-# that varies depending on where the test is executed.
+# ==== Purpose ====
+#
+# Show selected columns of output from SHOW SLAVE STATUS.
+#
+# Note: test cases should never call SHOW SLAVE STATUS directly,
+# because that outputs more information to the query log than what is
+# needed for the property that is being tested. That would cause
+# maintenance problems, because (1) it is hard for a human to
+# understand what property is being tested; (2) the output of many of
+# the fields is non-deterministic (e.g., Slave_IO_State) or changes
+# frequently (e.g., binlog positions).
+#
+# Instead, what you want most of the time is to source one of the
+# following scripts:
+#
+# include/check_slave_no_error.inc
+# Assert that Slave_SQL_Errno = Slave_IO_Errno = 0.
+#
+# include/check_slave_is_running.inc
+# Assert that Slave_IO_Running = Slave_SQL_Running = 'Yes'.
+#
+# include/wait_for_slave_sql_error.inc
+# Wait for the SQL thread to get a given error (and assert that
+# it has this error).
+#
+# include/wait_for_slave_io_error.inc
+# Wait for the IO thread to get a given error (and assert that
+# it has this error).
+#
+# include/wait_for_slave_sql_to_stop.inc
+# include/wait_for_slave_io_to_stop.inc
+# include/wait_for_slave_to_stop.inc
+# Wait for the SQL thread, the IO thread, or both to stop (and
+# assert they stop).
+#
+# When none of the above applies, you may use this script instead.
+# However, take care so that the test never contains explicit binlog
+# coordinates. Usually you can read the binlog coordinates into a
+# variable and compare it to some other coordinates.
+#
+#
+# ==== Usage ====
+#
+# --let $status_items= Column_Name[, Column_Name[, ...]]
+# --source include/show_slave_status.inc
+#
+# Parameters:
+# $status_items
+# Set to the name of the column in the output of SHOW SLAVE STATUS
+# that you want to display. Example:
+#
+# --let $status_items= Master_SSL_Allowed
+#
+# You can show multiple columns by setting $status_items to a
+# comma-separated list. Example:
+#
+# --let $status_items= Master_Log_File, Relay_Master_Log_File
---let $_items=$status_items
-if (`SELECT "XX$status_items" = "XX"`)
+
+--let $_show_slave_status_items=$status_items
+if (!$status_items)
{
- --die 'Variable status_items is NULL'
+ --die Bug in test case: The mysqltest variable $status_items is not set.
}
---disable_query_log
---vertical_results
-while (`SELECT "XX$_items" <> "XX"`)
+while ($_show_slave_status_items)
{
- --let $_name= `SELECT SUBSTRING_INDEX('$_items', ',', 1)`
- --let $_items= `SELECT LTRIM(SUBSTRING('$_items', LENGTH('$_name') + 2))`
-
- --let $_value= query_get_value(SHOW SLAVE STATUS, $_name, 1)
+ --let $_show_slave_status_name= `SELECT SUBSTRING_INDEX('$_show_slave_status_items', ',', 1)`
+ --let $_show_slave_status_items= `SELECT LTRIM(SUBSTRING('$_show_slave_status_items', LENGTH('$_show_slave_status_name') + 2))`
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --eval SELECT "$_value" AS $_name
+ --let $_show_slave_status_value= query_get_value(SHOW SLAVE STATUS, $_show_slave_status_name, 1)
+ --let $_show_slave_status_value= `SELECT REPLACE("$_show_slave_status_value", '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')`
+ --echo $_show_slave_status_name = '$_show_slave_status_value'
}
-
---horizontal_results
---enable_query_log
diff --git a/mysql-test/include/start_slave.inc b/mysql-test/include/start_slave.inc
index 78a02736de8..d01978037b4 100644
--- a/mysql-test/include/start_slave.inc
+++ b/mysql-test/include/start_slave.inc
@@ -6,16 +6,34 @@
# Please use this instead of 'START SLAVE', to reduce the risk of test
# case bugs.
#
+#
# ==== Usage ====
#
-# source include/wait_for_slave_to_start.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/start_slave.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= start_slave.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
---disable_query_log
START SLAVE;
---enable_query_log
---echo include/start_slave.inc
source include/wait_for_slave_to_start.inc;
+
+
+--let $include_filename= start_slave.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/stop_slave.inc b/mysql-test/include/stop_slave.inc
index 7161e6fe739..64cc0d5b322 100644
--- a/mysql-test/include/stop_slave.inc
+++ b/mysql-test/include/stop_slave.inc
@@ -3,19 +3,86 @@
# Issues STOP SLAVE on the current connection. Then waits until both
# the IO and SQL threads have stopped, or until a timeout is reached.
#
-# Please use this instead of 'STOP SLAVE', to reduce the risk of test
-# case bugs.
+# Please use this instead of 'STOP SLAVE', to reduce the risk of races
+# in test cases.
+#
+# This will fail if the slave IO or SQL thread has an error. If you
+# expect an error in the IO thread, use
+# include/wait_for_slave_io_error.inc and include/stop_slave_sql.inc.
+#
#
# ==== Usage ====
#
-# source include/wait_for_slave_to_start.inc;
+# [--let $rpl_only_running_threads= 1]
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/stop_slave.inc
+#
+# Parameters:
+# $rpl_only_running_threads
+# By default, this script executes STOP SLAVE unconditionally.
+# This generates a warnings if one or both slave threads are
+# already stopped. If $rpl_only_running_threads is set, this
+# script checks which slave threads are running, and issues either
+# STOP SLAVE, STOP SLAVE SQL_THREAD, STOP SLAVE IO_THREAD, or
+# nothing.
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= stop_slave.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+if ($rpl_only_running_threads)
+{
+ --let $_slave_sql_running= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1)
+ --let $_slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1)
+ if ($rpl_debug)
+ {
+ --echo Stop SQL: $_slave_sql_running; Stop IO: $_slave_io_running
+ }
+
+ --let $_slave_running_bits= `SELECT IF('$_slave_io_running' = 'Yes', 1, 0) + IF('$_slave_sql_running' = 'Yes', 2, 0)`
+ if ($_slave_running_bits)
+ {
+ --dec $_slave_running_bits
+ # $_slave_running_bits=1: io thread running
+ if (!$_slave_running_bits)
+ {
+ --source include/stop_slave_io.inc
+ }
+ --dec $_slave_running_bits
+ # $_slave_running_bits=2: sql thread running
+ if (!$_slave_running_bits)
+ {
+ --source include/stop_slave_sql.inc
+ }
+ --dec $_slave_running_bits
+ # $_slave_running_bits=2: both threads running
+ if (!$_slave_running_bits)
+ {
+ STOP SLAVE;
+ --source include/wait_for_slave_to_stop.inc
+ }
+ }
+}
+if (!$rpl_only_running_threads)
+{
+ STOP SLAVE;
+ --source include/wait_for_slave_to_stop.inc
+}
+
---disable_query_log
-STOP SLAVE;
---enable_query_log
---echo include/stop_slave.inc
-source include/wait_for_slave_to_stop.inc;
+--let $include_filename= stop_slave.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/stop_slave_io.inc b/mysql-test/include/stop_slave_io.inc
new file mode 100644
index 00000000000..ddc83782311
--- /dev/null
+++ b/mysql-test/include/stop_slave_io.inc
@@ -0,0 +1,43 @@
+# ==== Purpose ====
+#
+# Issues STOP SLAVE IO_THREAD on the current connection. Then waits
+# until the IO thread has stopped, or until a timeout is reached.
+#
+# This will fail if the slave IO thread has an error. If you expect an
+# error in the IO thread, use include/wait_for_slave_io_error.inc
+# instead.
+#
+# Please use this instead of 'STOP SLAVE IO_THREAD', to reduce the
+# risk of races in test cases.
+#
+#
+# ==== Usage ====
+#
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/stop_slave_io.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= stop_slave_io.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+STOP SLAVE IO_THREAD;
+--source include/wait_for_slave_io_to_stop.inc
+
+
+--let $include_filename= stop_slave_io.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/stop_slave_sql.inc b/mysql-test/include/stop_slave_sql.inc
new file mode 100644
index 00000000000..f5075b32fda
--- /dev/null
+++ b/mysql-test/include/stop_slave_sql.inc
@@ -0,0 +1,41 @@
+# ==== Purpose ====
+#
+# Issues STOP SLAVE SQL_THREAD on the current connection. Then waits
+# until the SQL thread has stopped, or until a timeout is reached.
+#
+# Please use this instead of 'STOP SLAVE SQL_THREAD', to reduce the
+# risk of races in test cases.
+#
+# This will fail if the SQL thread has an error.
+#
+#
+# ==== Usage ====
+#
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/stop_slave_sql.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= stop_slave_sql.inc
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
+
+STOP SLAVE SQL_THREAD;
+--source include/wait_for_slave_sql_to_stop.inc
+
+
+--let $include_filename= stop_slave_sql.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/sync_io_with_master.inc b/mysql-test/include/sync_io_with_master.inc
new file mode 100644
index 00000000000..34906c416f5
--- /dev/null
+++ b/mysql-test/include/sync_io_with_master.inc
@@ -0,0 +1,46 @@
+# ==== Purpose ====
+#
+# Waits until the slave IO thread on the current connection has been
+# synced up to the point saved by the last call to
+# include/save_master_pos.inc (i.e., until the IO thead has copied up
+# to the saved position). Does not wait for the SQL thread.
+#
+#
+# ==== Usage ====
+#
+# On master:
+# --source include/save_master_pos.inc
+#
+# On slave:
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/sync_slave_io_with_master.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= sync_io_with_master.inc
+--source include/begin_include_file.inc
+
+
+--let $_old_slave_error_param= $slave_error_param
+--let $slave_error_param= Last_IO_Errno
+
+--let $slave_param= Master_Log_File
+--let $slave_param_value= $_master_file
+source include/wait_for_slave_param.inc;
+
+let $slave_param= Read_Master_Log_Pos;
+let $slave_param_value= $_master_pos;
+source include/wait_for_slave_param.inc;
+
+--let $slave_error_param= $_old_slave_error_param
+
+
+--let $include_filename= sync_io_with_master.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/sync_slave_io_with_master.inc b/mysql-test/include/sync_slave_io_with_master.inc
index f7dd563039c..d0fcef90cae 100644
--- a/mysql-test/include/sync_slave_io_with_master.inc
+++ b/mysql-test/include/sync_slave_io_with_master.inc
@@ -2,35 +2,49 @@
#
# Waits until the slave IO thread has been synced, i.e., all events
# have been copied over to slave. Does not care if the SQL thread is
-# in sync.
+# in sync (or even running).
#
#
# ==== Usage ====
#
-# source include/sync_slave_io_with_master.inc;
+# [--let $sync_slave_connection= <connection_name>]
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/sync_slave_io_with_master.inc
#
-# Syncs to the current position on master, as found by SHOW MASTER
-# STATUS.
+# Syncs slave to the current position on master, as found by SHOW
+# MASTER STATUS.
#
# Must be called on the master. Will change connection to the slave.
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# Parameters:
+# $sync_slave_connection
+# By default, this script switches connection to 'slave'. If
+# $sync_slave_connection is set, then '$sync_slave_connection' is
+# used instead of 'slave'.
+#
+# $slave_timeout
+# See include/wait_for_slave_param.inc.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+--let $include_filename= sync_slave_io_with_master.inc
+--source include/begin_include_file.inc
-let $_master_file= query_get_value("SHOW MASTER STATUS", File, 1);
-let $_master_pos= query_get_value("SHOW MASTER STATUS", Position, 1);
-connection slave;
+--source include/save_master_pos.inc
-let $slave_error_message= Failed while waiting for slave IO thread to sync;
+--let $rpl_connection_name= slave
+if ($sync_slave_connection)
+{
+ --let $rpl_connection_name= $sync_slave_connection
+}
+--source include/rpl_connection.inc
-let $slave_param= Master_Log_File;
-let $slave_param_value= $_master_file;
-source include/wait_for_slave_param.inc;
+--source include/sync_io_with_master.inc
-let $slave_param= Read_Master_Log_Pos;
-let $slave_param_value= $_master_pos;
-source include/wait_for_slave_param.inc;
-let $slave_error_message= ;
+--let $include_filename= sync_slave_io_with_master.inc
+--let $skip_restore_connection= 1
+--source include/end_include_file.inc
diff --git a/mysql-test/include/sync_slave_sql_with_io.inc b/mysql-test/include/sync_slave_sql_with_io.inc
new file mode 100644
index 00000000000..8048f7a177c
--- /dev/null
+++ b/mysql-test/include/sync_slave_sql_with_io.inc
@@ -0,0 +1,50 @@
+# ==== Purpose ====
+#
+# Sync the slave SQL thread with the IO thread.
+#
+# ==== Usage ====
+#
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/sync_slave_sql_with_io.inc
+#
+# Parameters:
+# $slave_timeout
+# By default, the synchronization timeouts after 300 seconds. If
+# $slave_timeout is set, the synchronization timeouts after
+# $slave_timeout seconds.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= sync_slave_sql_with_io.inc
+--source include/begin_include_file.inc
+
+
+let $_slave_timeout= $slave_timeout;
+if (!$_slave_timeout)
+{
+ let $_slave_timeout= 300;
+}
+
+--let $_master_log_file= query_get_value(SHOW SLAVE STATUS, Master_Log_File, 1)
+--let $_master_log_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1)
+
+if ($rpl_debug)
+{
+ --echo Master_Log_File='$_master_log_file' Read_Master_Log_Pos='$_master_log_pos' \$slave_timeout='$_slave_timeout'
+}
+
+--let $_sync_slave_sql_with_io_errno= `SELECT MASTER_POS_WAIT('$_master_log_file', $_master_log_pos, $_slave_timeout)`
+if (`SELECT IFNULL($_sync_slave_sql_with_io_errno, -1) < 0`)
+{
+ --echo #### Failed to sync slave SQL thread with slave IO thread. ####
+ --echo MASTER_POS_WAIT('$_master_log_file', $_master_log_pos, $_slave_timeout) returned $_sync_slave_sql_with_io_errno
+ --source include/show_rpl_debug_info.inc
+ --die Failed to sync slave SQL thread with slave IO thread.
+}
+
+
+--let $include_filename= sync_slave_sql_with_io.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/truncate_file.inc b/mysql-test/include/truncate_file.inc
index c82108681bd..2326d6c0b94 100644
--- a/mysql-test/include/truncate_file.inc
+++ b/mysql-test/include/truncate_file.inc
@@ -1,6 +1,6 @@
# truncate a giving file, all contents of the file are be cleared
-if (`SELECT 'x$file' = 'x'`)
+if (!$file)
{
--echo Please assign a file name to $file!!
exit;
diff --git a/mysql-test/include/wait_for_binlog_event.inc b/mysql-test/include/wait_for_binlog_event.inc
index 7a55c8c2182..b251ae226d3 100644
--- a/mysql-test/include/wait_for_binlog_event.inc
+++ b/mysql-test/include/wait_for_binlog_event.inc
@@ -24,7 +24,7 @@ while (`SELECT INSTR("$_last_event","$wait_binlog_event") = 0`)
real_sleep 0.1;
let $_event= query_get_value(SHOW BINLOG EVENTS, Info, $_event_pos);
let $_last_event= $_event;
- while (`SELECT "$_event" != "No such row"`)
+ while ($_event != "No such row")
{
inc $_event_pos;
let $_last_event= $_event;
diff --git a/mysql-test/include/wait_for_query_to_fail.inc b/mysql-test/include/wait_for_query_to_fail.inc
new file mode 100644
index 00000000000..471813026ee
--- /dev/null
+++ b/mysql-test/include/wait_for_query_to_fail.inc
@@ -0,0 +1,25 @@
+#
+# Run a query over and over until it fails or timeout occurs
+#
+
+
+let $counter= 100;
+
+disable_abort_on_error;
+disable_query_log;
+disable_result_log;
+eval $query;
+while (!$mysql_errno)
+{
+ eval $query;
+ sleep 0.1;
+ dec $counter;
+
+ if (!$counter)
+ {
+ --die "Waited too long for query to fail";
+ }
+}
+enable_abort_on_error;
+enable_query_log;
+enable_result_log;
diff --git a/mysql-test/include/wait_for_slave_io_error.inc b/mysql-test/include/wait_for_slave_io_error.inc
index 34cbf20a73b..e1609113b8f 100644
--- a/mysql-test/include/wait_for_slave_io_error.inc
+++ b/mysql-test/include/wait_for_slave_io_error.inc
@@ -4,56 +4,86 @@
# error, or until a timeout is reached. Also waits until the IO
# thread has completely stopped.
#
-# ==== Usage ====
#
-# # Wait several errors.
-# let $slave_io_errno= 1, 2, 3;
-# source include/wait_for_slave_io_error.inc;
+# ==== Usage ====
#
-# # Print error message
-# let $slave_io_errno= 1;
-# let $show_slave_io_error= 1;
-# source include/wait_for_slave_io_error.inc;
+# --let $slave_io_errno= NUMBER [, NUMBER ...]
+# [--let $show_slave_io_error= 1]
+# [--let $slave_io_error_is_nonfatal= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/wait_for_slave_io_error.inc
#
# Parameters:
+# $slave_io_errno
+# The expected IO error numbers. This can be either a single
+# number, or a comma-separated list of numbers. Examples:
+# --let $slave_io_errno= 1040, 1053, 2002, 2003, 2006, 2013
+# --let $slave_io_errno= 1045
+# (After BUG#41956 has been fixed, this will be required to be
+# symbolic names instead of numbers.)
#
-# $slave_io_errno
-# The expected IO error numbers. This is required.
-# (After BUG#41956 has been fixed, this will be required to be a
-# symbolic name instead of a numbers.)
+# $show_slave_io_error
+# If set, will print the error to the query log.
#
-# $show_slave_io_error
-# If set, will print the error to the query log.
+# $slave_io_error_is_nonfatal
+# By default, we wait for the slave IO thread to stop completely
+# (i.e., until Slave_IO_State is empty). If this variable is set,
+# then we don't wait. This is useful if the error is non-fatal
+# (e.g., temporary connection error) and does not cause the slave
+# IO thread to stop.
#
-# $slave_timeout
-# See wait_for_slave_param.inc for description.
+# $slave_timeout
+# See include/wait_for_slave_param.inc
#
-# $master_connection
-# See wait_for_slave_param.inc for description.
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_io_error.inc [errno=$slave_io_errno]
+--source include/begin_include_file.inc
-if (`SELECT '$slave_io_errno' = ''`) {
- --die !!!ERROR IN TEST: you must set \$slave_io_errno before sourcing wait_for_slave_io_error.inc
-}
let $old_slave_param_comparison= $slave_param_comparison;
let $slave_param= Last_IO_Errno;
let $slave_param_comparison= !=;
let $slave_param_value= 0;
-let $slave_error_message= Failed while waiting for slave to produce an error in its sql thread;
source include/wait_for_slave_param.inc;
-let $slave_error_message= ;
let $slave_param_comparison= $old_slave_param_comparison;
-let $_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
-if (`SELECT $_error NOT IN ($slave_io_errno)`) {
- --echo **** Slave stopped with wrong error code: $_error (expected $slave_io_errno) ****
+let $_wfsie_errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
+
+if ($slave_io_errno == '') {
+ --echo !!!ERROR IN TEST: you must set \$slave_io_errno before you source
+ --echo !!!wait_for_slave_sql_error.inc. The error we got this time was '$_wfsie_errno',
+ --echo !!!so you probably want to add the following line to your test case:
+ --echo !!! --let \$slave_io_errno= $_wfsie_errno
+ --die !!!ERROR IN TEST: you must set \$slave_io_errno before sourcing wait_for_slave_io_error.inc
+}
+
+if (`SELECT $_wfsie_errno NOT IN ($slave_io_errno)`) {
+ --echo **** Slave stopped with wrong error code: $_wfsie_errno (expected $slave_io_errno) ****
source include/show_rpl_debug_info.inc;
- --echo **** Slave stopped with wrong error code: $_error (expected $slave_io_errno) ****
+ --echo **** Slave stopped with wrong error code: $_wfsie_errno (expected $slave_io_errno) ****
--die Slave stopped with wrong error code
}
if ($show_slave_io_error)
{
- let $error= query_get_value("SHOW SLAVE STATUS", Last_IO_Error, 1);
- echo Last_IO_Error = $error;
+ --let $_wait_for_slave_io_error_old_status_items= $status_items
+ --let $status_items= Last_IO_Error
+ --source include/show_slave_status.inc
+ --let $status_items= $_wait_for_slave_io_error_old_status_items
}
+
+if (!$slave_io_error_is_nonfatal)
+{
+ --let $slave_param= Slave_IO_State
+ --let $slave_param_value=
+ --source include/wait_for_slave_param.inc
+}
+--let $slave_io_error_is_nonfatal= 0
+
+
+--let $include_filename= wait_for_slave_io_error.inc [errno=$slave_io_errno]
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_io_to_start.inc b/mysql-test/include/wait_for_slave_io_to_start.inc
index abdc8339290..cd8e5d374a4 100644
--- a/mysql-test/include/wait_for_slave_io_to_start.inc
+++ b/mysql-test/include/wait_for_slave_io_to_start.inc
@@ -4,16 +4,43 @@
# connected to the master (i.e., until SHOW SLAVE STATUS returns Yes
# in the Slave_IO_Running field), or until a timeout is reached.
#
+#
# ==== Usage ====
#
-# source include/wait_for_slave_io_to_start.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# [--let $rpl_allow_error= 1]
+# --source include/wait_for_slave_io_to_start.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# $rpl_allow_error
+# By default, this file fails if there is an error in the IO
+# thread. However, the IO thread can recover and reconnect after
+# certain errors. If such an error is expected, can set
+# $rpl_allow_error=1. This will prevent this file from failing if
+# there is an error in the IO thread.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_io_to_start.inc
+--source include/begin_include_file.inc
+
let $slave_param= Slave_IO_Running;
let $slave_param_value= Yes;
-let $slave_error_message= Failed while waiting for slave IO thread to start;
+if (!$rpl_allow_error)
+{
+ --let $slave_error_param= Last_IO_Errno
+}
source include/wait_for_slave_param.inc;
-let $slave_error_message= ;
+--let $slave_error_param=
+--let $rpl_allow_error= 0
+
+
+--let $include_filename= wait_for_slave_io_to_start.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_io_to_stop.inc b/mysql-test/include/wait_for_slave_io_to_stop.inc
index f61b0db1ed7..d25c2ac071d 100644
--- a/mysql-test/include/wait_for_slave_io_to_stop.inc
+++ b/mysql-test/include/wait_for_slave_io_to_stop.inc
@@ -1,24 +1,40 @@
# ==== Purpose ====
#
-# Waits until the IO thread of the current connection has stopped, or
-# until a timeout is reached.
+# Waits until the IO thread of the current connection has stopped
+# gracefully.
+#
+# Note: this script will fail if the IO thread stops with an error.
+# If you expect an error in the IO thread, use
+# include/wait_for_slave_io_error.inc instead.
+#
+# This script also fails if a timeout is reached (default 300
+# seconds).
+#
#
# ==== Usage ====
#
-# source include/wait_for_slave_io_to_stop.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/wait_for_slave_io_to_stop.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc.
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_io_to_stop.inc
+--source include/begin_include_file.inc
+
+
+--let $slave_param= Slave_IO_Running
+--let $slave_param_value= No
+--let $slave_error_param= Last_IO_Errno
+--source include/wait_for_slave_param.inc
+--let $slave_error_param=
+
-# if server has not used CHANGE MASTER to initiate slave, SHOW SLAVE
-# STATUS will return an empty set.
-let $_slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
-if (`SELECT '$_slave_io_running' != 'No such row'`)
-{
- let $slave_param= Slave_IO_Running;
- let $slave_param_value= No;
- let $slave_error_message= Failed while waiting for slave IO thread to stop;
- source include/wait_for_slave_param.inc;
- let $slave_error_message= ;
-}
+--let $include_filename= wait_for_slave_io_to_stop.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_param.inc b/mysql-test/include/wait_for_slave_param.inc
index b0989c3264e..131d91a8440 100644
--- a/mysql-test/include/wait_for_slave_param.inc
+++ b/mysql-test/include/wait_for_slave_param.inc
@@ -3,11 +3,16 @@
# Waits until SHOW SLAVE STATUS has returned a specified value, or
# until a timeout is reached.
#
+#
# ==== Usage ====
#
-# let $slave_param= Slave_SQL_Running;
-# let $slave_param_value= No;
-# source include/slave_wait_param.inc;
+# --let $slave_param= Slave_SQL_Running
+# --let $slave_param_value= No
+# [--let $slave_param_comparison= [ < | <= | >= | > | = | != ]]
+# [--let $slave_timeout= NUMBER]
+# [--let $slave_error_param= [Slave_SQL_Errno | Slave_IO_Errno]]
+# [--let $rpl_debug= 1]
+# --source include/slave_wait_param.inc
#
# Parameters:
#
@@ -21,64 +26,94 @@
# $slave_param_value. If you want to wait until $slave_param
# becomes *unequal* to $slave_param_value, set this parameter to the
# string '!=', like this:
-# let $slave_param_comparison= !=;
+# --let $slave_param_comparison= !=
#
# $slave_timeout
# The default timeout is 5 minutes. You can change the timeout by
-# setting $slave_timeout. The unit is tenths of seconds.
+# setting $slave_timeout. The unit is seconds.
#
-# $master_connection
-# If the timeout is reached, debug info is given by calling SHOW
-# SLAVE STATUS, SHOW PROCESSLIST, and SHOW BINLOG EVENTS. Then, a
-# 'connection master' is then issued, and more debug info is given
-# by calling SHOW MASTER STATUS, SHOW PROCESSLIST, and SHOW BINLOG
-# EVENTS. If $master_connection is set, the latter three commands
-# will be issued on $master_connection instead of on the host named
-# 'master'. See also show_rpl_debug_info.inc
+# $slave_error_param
+# If set, this script will check if the column of the output from
+# SHOW SLAVE STATUS named $slave_error_param is nonzero. If it is,
+# this script will faile immediately. Typically, this should be set
+# to Last_IO_Errno or Last_SQL_Errno.
#
-# $slave_error_message
-# If set, this is printed when a timeout occurs. This is primarily
-# intended to be used by other wait_for_slave_* macros, to indicate
-# what the purpose of the wait was. (A very similar error message is
-# given by default, but the wait_for_slave_* macros use this to give
-# an error message identical to that in previous versions, so that
-# errors are easier searchable in the pushbuild history.)
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_param.inc [$slave_param]
+--source include/begin_include_file.inc
+
+
+let $_slave_timeout= $slave_timeout;
+if (!$_slave_timeout)
+{
+ let $_slave_timeout= 300;
+}
-let $_slave_timeout_counter= $slave_timeout;
-if (!$_slave_timeout_counter)
+if ($slave_error_param == '')
{
- let $_slave_timeout_counter= 3000;
+ --let $slave_error_param= 1
}
-# Save resulting counter for later use.
-let $slave_tcnt= $_slave_timeout_counter;
let $_slave_param_comparison= $slave_param_comparison;
-if (`SELECT '$_slave_param_comparison' = ''`)
+if (!$_slave_param_comparison)
{
let $_slave_param_comparison= =;
}
-let $_show_slave_status_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1);
-while (`SELECT NOT('$_show_slave_status_value' $_slave_param_comparison '$slave_param_value') AND $_slave_timeout_counter > 0`)
+if ($rpl_debug)
{
- dec $_slave_timeout_counter;
- if ($_slave_timeout_counter)
- {
- sleep 0.1;
- let $_show_slave_status_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1);
- }
+ --echo Waiting until '$slave_param' $_slave_param_comparison '$slave_param_value' [timeout='$_slave_timeout', \$slave_error_param='$slave_error_param']
+}
+
+--let $_slave_check_configured= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1)
+
+if ($_slave_check_configured == 'No such row')
+{
+ --echo **** ERROR: SHOW SLAVE STATUS returned empty result set. Slave not configured. ****
+ --source include/show_rpl_debug_info.inc
+ --die SHOW SLAVE STATUS returned empty result set. Slave not configured.
}
-# This has to be outside the loop until BUG#41913 has been fixed
-if (!$_slave_timeout_counter)
+# mysqltest doesn't provide any better way to multiply by 10
+--let $_wait_for_slave_param_zero= 0
+--let $_slave_timeout_counter= $_slave_timeout$zero
+--let $_slave_continue= 1
+while ($_slave_continue)
{
- --echo **** ERROR: timeout after $slave_tcnt deci-seconds while waiting for slave parameter $slave_param $_slave_param_comparison $slave_param_value ****
- if (`SELECT '$slave_error_message' != ''`)
+ --let $_show_slave_status_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1)
+
+ # Check if an error condition is reached.
+ if (!$slave_error_param)
+ {
+ --let $_show_slave_status_error_value= query_get_value("SHOW SLAVE STATUS", $slave_error_param, 1)
+ if ($_show_slave_status_error_value)
+ {
+ --echo **** ERROR: $slave_error_param = '$_show_slave_status_error_value' while waiting for slave parameter $slave_param $_slave_param_comparison $slave_param_value ****
+ --source include/show_rpl_debug_info.inc
+ --die Error condition reached in include/wait_for_slave_param.inc
+ }
+ }
+
+ # Check if the termination condition is reached.
+ --let $_slave_continue= `SELECT NOT('$_show_slave_status_value' $_slave_param_comparison '$slave_param_value')`
+
+ # Decrease timer, and check if the timeout is reached.
+ if ($_slave_continue)
{
- --echo Message: $slave_error_message
+ --dec $_slave_timeout_counter
+ if (!$_slave_timeout_counter)
+ {
+ --echo **** ERROR: timeout after $_slave_timeout seconds while waiting for slave parameter $slave_param $_slave_param_comparison $slave_param_value ****
+ --source include/show_rpl_debug_info.inc
+ --die Timeout in include/wait_for_slave_param.inc
+ }
+ --sleep 0.1
}
- --echo Current connection is '$CURRENT_CONNECTION'
- echo Note: the following output may have changed since the failure was detected;
- source include/show_rpl_debug_info.inc;
- die;
}
+
+
+--let $include_filename= wait_for_slave_param.inc [$slave_param]
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_sql_error.inc b/mysql-test/include/wait_for_slave_sql_error.inc
index aab04036eea..4ecc8f2a5ec 100644
--- a/mysql-test/include/wait_for_slave_sql_error.inc
+++ b/mysql-test/include/wait_for_slave_sql_error.inc
@@ -6,43 +6,65 @@
#
# ==== Usage ====
#
-# source include/wait_for_slave_sql_error.inc;
+# --let $slave_sql_errno= NUMBER
+# [--let $show_slave_sql_error= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/wait_for_slave_sql_error.inc
#
# Parameters:
+# $slave_sql_errno
+# The expected SQL error number. This is required.
+# (After BUG#41956 has been fixed, this will be required to be a
+# symbolic name instead of a number.)
#
-# $slave_sql_errno
-# The expected SQL error number. This is required.
-# (After BUG#41956 has been fixed, this will be required to be a
-# symbolic name instead of a number.)
-#
-# $show_slave_sql_error
-# If set, will print the error to the query log.
+# $show_slave_sql_error
+# If set, will print the error to the query log.
#
-# $slave_timeout
-# See wait_for_slave_param.inc for description.
+# $slave_timeout
+# See include/wait_for_slave_param.inc
#
-# $master_connection
-# See wait_for_slave_param.inc for description.
+# $rpl_debug
+# See include/rpl_init.inc
-if (`SELECT '$slave_sql_errno' = ''`) {
- --die !!!ERROR IN TEST: you must set \$slave_sql_errno before sourcing wait_for_slave_sql_error.inc
-}
+--let $include_filename= wait_for_slave_sql_error.inc [errno=$slave_sql_errno]
+--source include/begin_include_file.inc
+
+
+# Note: here, we should not wait for Slave_SQL_Errno!=0.
+# Slave_SQL_Errno and Slave_SQL_Running are not set atomically.
+# Slave_SQL_Errno is set first, then Slave_SQL_Running. So we wait
+# until Slave_SQL_Running=No to be sure that both conditions hold.
let $slave_param= Slave_SQL_Running;
let $slave_param_value= No;
-let $slave_error_message= Failed while waiting for slave to stop the SQL thread (expecting error in the SQL thread);
source include/wait_for_slave_param.inc;
-let $_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
-if (`SELECT '$_error' != '$slave_sql_errno'`) {
- --echo **** Slave stopped with wrong error code: $_error (expected $slave_sql_errno) ****
+let $_wfsse_errno= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
+
+if ($slave_sql_errno == '') {
+ --echo !!!ERROR IN TEST: you must set \$slave_sql_errno before you source
+ --echo !!!wait_for_slave_sql_error.inc. The error we got this time was '$_wfsse_errno',
+ --echo !!!so you probably want to add the following line to your test case:
+ --echo !!! --let \$slave_sql_errno= $_wfsse_errno
+ --die !!!ERROR IN TEST: you must set \$slave_sql_errno before sourcing wait_for_slave_sql_error.inc
+}
+
+if (`SELECT $_wfsse_errno NOT IN ($slave_sql_errno)`) {
+ --echo **** Slave stopped with wrong error code: $_wfsse_errno (expected $slave_sql_errno) ****
source include/show_rpl_debug_info.inc;
- --echo **** Slave stopped with wrong error code: $_error (expected $slave_sql_errno) ****
+ --echo **** Slave stopped with wrong error code: $_wfsse_errno (expected $slave_sql_errno) ****
--die Slave stopped with wrong error code
}
if ($show_slave_sql_error)
{
- let $error= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
- echo Last_SQL_Error = $error;
+ --let $_wait_for_slave_sql_error_old_status_items= $status_items
+ --let $status_items= Last_SQL_Error
+ --source include/show_slave_status.inc
+ --let $status_items= $_wait_for_slave_sql_error_old_status_items
}
+
+
+--let $include_filename= wait_for_slave_sql_error.inc [errno=$slave_sql_errno]
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_sql_error_and_skip.inc b/mysql-test/include/wait_for_slave_sql_error_and_skip.inc
index 11c02c0b490..9246c1839af 100644
--- a/mysql-test/include/wait_for_slave_sql_error_and_skip.inc
+++ b/mysql-test/include/wait_for_slave_sql_error_and_skip.inc
@@ -5,38 +5,58 @@
#
# ==== Usage ====
#
-# let $slave_sql_error= <ERRNO>;
-# source include/wait_for_slave_sql_error_and_skip.inc;
+# --let $slave_sql_error= NUMBER
+# [--let $show_sql_error= 1]
+# [--let $slave_skip_counter= 1]
+# [--let $not_switch_connection= 1]
+# [--let $rpl_debug= 1]
+# [--let $slave_timeout= NUMBER]
+# --source include/wait_for_slave_sql_error_and_skip.inc
#
# Parameters:
#
-# $slave_sql_errno
-# The error number to wait for. This is required. (See
-# wait_for_slave_sql_error.inc)
+# $slave_sql_errno
+# The error number to wait for. This is required. (See
+# wait_for_slave_sql_error.inc)
#
-# $show_sql_error
-# If set, will print the error to the query log.
-#
-# $slave_timeout
-# See wait_for_slave_param.inc for description.
+# $show_sql_error
+# If set, will print the error to the query log.
#
-# $master_connection
-# See wait_for_slave_param.inc for description.
+# $slave_skip_counter
+# If set, skip this number of events. If not set, skip one event.
#
-# $slave_skip_counter
-# If set, skip this number of events. If not set, skip one event.
+# $not_switch_connection
+# By default, this script executes on the connection 'slave'. If
+# $not_switch_connection is set, this script executes on the current
+# connection. In any case, the original connection is restored.
#
-# $not_switch_connection If set, don't switch to slave and don't switch back
-# master.
+# $slave_timeout
+# See include/wait_for_slave_param.inc
#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_sql_error_and_skip.inc [errno=$slave_sql_errno]
+--source include/begin_include_file.inc
+
+
+if (!$rpl_debug)
+{
+ --disable_query_log
+}
+
-echo --source include/wait_for_slave_sql_error_and_skip.inc;
if (!$not_switch_connection)
{
- connection slave;
+ --let $rpl_connection_name= slave
+ --source include/rpl_connection.inc
}
+
+
source include/wait_for_slave_sql_error.inc;
+
# skip the erroneous statement
if ($slave_skip_counter) {
eval SET GLOBAL SQL_SLAVE_SKIP_COUNTER= $slave_skip_counter;
@@ -45,7 +65,7 @@ if (!$slave_skip_counter) {
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
}
source include/start_slave.inc;
-if (!$not_switch_connection)
-{
- connection master;
-}
+
+
+--let $include_filename= wait_for_slave_sql_error_and_skip.inc [errno=$slave_sql_errno]
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_sql_to_start.inc b/mysql-test/include/wait_for_slave_sql_to_start.inc
index 48744f5dd13..4aea9fba569 100644
--- a/mysql-test/include/wait_for_slave_sql_to_start.inc
+++ b/mysql-test/include/wait_for_slave_sql_to_start.inc
@@ -5,13 +5,33 @@
#
# ==== Usage ====
#
-# source include/wait_for_slave_sql_to_start.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/wait_for_slave_sql_to_start.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_sql_to_start.inc
+--source include/begin_include_file.inc
+
let $slave_param= Slave_SQL_Running;
let $slave_param_value= Yes;
-let $slave_error_message= Failed while waiting for slave SQL to start;
+
+# Unfortunately, the slave sql thread sets Slave_SQL_Running=Yes
+# *before* it clears Last_SQL_Errno. So we have to allow errors in
+# the SQL thread here.
+
+#--let $slave_error_param= Last_SQL_Errno
source include/wait_for_slave_param.inc;
+#--let $slave_error_param=
+
+
+--let $include_filename= wait_for_slave_sql_to_start.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_sql_to_stop.inc b/mysql-test/include/wait_for_slave_sql_to_stop.inc
index 6992613b646..492b3237be5 100644
--- a/mysql-test/include/wait_for_slave_sql_to_stop.inc
+++ b/mysql-test/include/wait_for_slave_sql_to_stop.inc
@@ -1,24 +1,40 @@
# ==== Purpose ====
#
-# Waits the SQL thread of the current connection has stopped, or until
-# a timeout is reached.
+# Waits until the SQL thread of the current connection has stopped
+# gracefully.
+#
+# Note: this script will fail if the SQL thread stops with an error.
+# If you expect an error in the SQL thread, use
+# include/wait_for_slave_io_error.inc instead.
+#
+# This script also fails if a timeout is reached (default 300
+# seconds).
+#
#
# ==== Usage ====
#
-# source include/wait_for_slave_sql_to_stop.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/wait_for_slave_sql_to_stop.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_sql_to_stop.inc
+--source include/begin_include_file.inc
+
+
+--let $slave_param= Slave_SQL_Running
+--let $slave_param_value= No
+--let $slave_error_param= Last_SQL_Errno
+--source include/wait_for_slave_param.inc
+--let $slave_error_param=
+
-# if server has not used CHANGE MASTER to initiate slave, SHOW SLAVE
-# STATUS will return an empty set.
-let $_slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
-if (`SELECT '$_slave_io_running' != 'No such row'`)
-{
- let $slave_param= Slave_SQL_Running;
- let $slave_param_value= No;
- let $slave_error_message= Failed while waiting for slave SQL thread to stop;
- source include/wait_for_slave_param.inc;
- let $slave_error_message= ;
-}
+--let $include_filename= wait_for_slave_sql_to_stop.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_to_start.inc b/mysql-test/include/wait_for_slave_to_start.inc
index 567950cc6d7..a916e2ea615 100644
--- a/mysql-test/include/wait_for_slave_to_start.inc
+++ b/mysql-test/include/wait_for_slave_to_start.inc
@@ -3,22 +3,28 @@
# Waits until both the IO and SQL threads of the current connection
# have started, or until a timeout is reached.
#
+#
# ==== Usage ====
#
-# source include/wait_for_slave_to_start.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/wait_for_slave_to_start.inc
+#
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_to_start.inc
+--source include/begin_include_file.inc
-let $slave_error_message= Failed while waiting for slave to start;
-let $slave_param= Slave_IO_Running;
-let $slave_param_value= Yes;
-source include/wait_for_slave_param.inc;
+--source include/wait_for_slave_io_to_start.inc
+--source include/wait_for_slave_sql_to_start.inc
-let $slave_param= Slave_SQL_Running;
-let $slave_param_value= Yes;
-source include/wait_for_slave_param.inc;
-let $slave_error_message= ;
+--let $include_filename= wait_for_slave_to_start.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_slave_to_stop.inc b/mysql-test/include/wait_for_slave_to_stop.inc
index 56d0e7b0c91..1bfd16067c5 100644
--- a/mysql-test/include/wait_for_slave_to_stop.inc
+++ b/mysql-test/include/wait_for_slave_to_stop.inc
@@ -1,30 +1,38 @@
# ==== Purpose ====
#
# Waits until both the IO and SQL threads of the current connection
-# have stopped, or until a timeout is reached.
+# have stopped gracefully.
+#
+# Note: this script will fail if one of the threads stops with an
+# error. If you expect an error in one of the threads, use
+# include/wait_for_slave_io_error.inc or
+# include/wait_for_slave_sql_error.inc instead.
+#
+# This script also fails if a timeout is reached (default 300
+# seconds).
+#
#
# ==== Usage ====
#
-# source include/wait_for_slave_to_stop.inc;
+# [--let $slave_timeout= NUMBER]
+# [--let $rpl_debug= 1]
+# --source include/wait_for_slave_to_stop.inc
#
-# Parameters to this macro are $slave_timeout and
-# $master_connection. See wait_for_slave_param.inc for
-# descriptions.
+# Parameters:
+# $slave_timeout
+# See include/wait_for_slave_param.inc
+#
+# $rpl_debug
+# See include/rpl_init.inc
+
+
+--let $include_filename= wait_for_slave_to_stop.inc
+--source include/begin_include_file.inc
-# if server has not used CHANGE MASTER to initiate slave, SHOW SLAVE
-# STATUS will return an empty set.
-let $_slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
-if (`SELECT '$_slave_io_running' != 'No such row'`)
-{
- let $slave_error_message= Failed while waiting for slave to stop;
- let $slave_param= Slave_IO_Running;
- let $slave_param_value= No;
- source include/wait_for_slave_param.inc;
+--source include/wait_for_slave_sql_to_stop.inc
+--source include/wait_for_slave_io_to_stop.inc
- let $slave_param= Slave_SQL_Running;
- let $slave_param_value= No;
- source include/wait_for_slave_param.inc;
- let $slave_error_message= ;
-}
+--let $include_filename= wait_for_slave_to_stop.inc
+--source include/end_include_file.inc
diff --git a/mysql-test/include/wait_for_status_var.inc b/mysql-test/include/wait_for_status_var.inc
index b8b4fa20b86..33338c588c1 100644
--- a/mysql-test/include/wait_for_status_var.inc
+++ b/mysql-test/include/wait_for_status_var.inc
@@ -45,14 +45,28 @@ if (!$_status_timeout_counter)
}
let $_status_var_comparsion= $status_var_comparsion;
-if (`SELECT '$_status_var_comparsion' = ''`)
+if (!$_status_var_comparsion)
{
let $_status_var_comparsion= =;
}
+# Get type of variable
+let $_is_number= 0;
+if (`SELECT '$status_var_value' REGEXP '^[\+\-]*[0-9]+(\.[0-9]+)*\$'`)
+{
+ let $_is_number= 1;
+}
+
let $_show_status_value= query_get_value("SHOW $status_type STATUS LIKE '$status_var'", Value, 1);
-while (`SELECT NOT('$_show_status_value' $_status_var_comparsion '$status_var_value')`)
+# Set way of comparing
+let $_query= SELECT NOT('$_show_status_value' $_status_var_comparsion '$status_var_value');
+if ($_is_number)
+{
+ let $_query= SELECT NOT($_show_status_value $_status_var_comparsion $status_var_value);
+}
+
+while (`$_query`)
{
if (!$_status_timeout_counter)
{
@@ -66,4 +80,9 @@ while (`SELECT NOT('$_show_status_value' $_status_var_comparsion '$status_var_va
dec $_status_timeout_counter;
sleep 0.1;
let $_show_status_value= query_get_value("SHOW $status_type STATUS LIKE '$status_var'", Value, 1);
+ let $_query= SELECT NOT('$_show_status_value' $_status_var_comparsion '$status_var_value');
+ if ($_is_number)
+ {
+ let $_query= SELECT NOT($_show_status_value $_status_var_comparsion $status_var_value);
+ }
}
diff --git a/mysql-test/include/wait_show_condition.inc b/mysql-test/include/wait_show_condition.inc
index f683ca7b47b..ae1600a7e30 100644
--- a/mysql-test/include/wait_show_condition.inc
+++ b/mysql-test/include/wait_show_condition.inc
@@ -31,6 +31,21 @@
# Created: 2009-02-18 mleich
#
+if (!$condition)
+{
+ --die ERROR IN TEST: the "condition" variable must be set
+}
+
+if (!$field)
+{
+ --die ERROR IN TEST: the "field" variable must be set
+}
+
+if (!$show_statement)
+{
+ --die ERROR IN TEST: the "show_statement" variable must be set
+}
+
let $max_run_time= 30;
if ($wait_timeout)
{
@@ -50,7 +65,7 @@ inc $max_run_time;
let $found= 0;
let $max_end_time= `SELECT UNIX_TIMESTAMP() + $max_run_time`;
-if (`SELECT '$wait_for_all' != '1'`)
+if ($wait_for_all != 1)
{
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
{
@@ -58,24 +73,27 @@ if (`SELECT '$wait_for_all' != '1'`)
real_sleep 0.2;
let $rowno= 1;
let $process_result= 1;
- while (`SELECT $process_result = 1 AND $found = 0`)
+ let $do_loop= 1;
+ while ($do_loop)
{
let $field_value= query_get_value($show_statement, $field, $rowno);
if (`SELECT '$field_value' $condition`)
{
let $found= 1;
+ let $do_loop= 0;
}
- if (`SELECT '$field_value' = 'No such row'`)
+ if ($field_value == No such row)
{
# We are behind the last row of the result set.
let $process_result= 0;
+ let $do_loop= 0;
}
inc $rowno;
}
}
}
-if (`SELECT '$wait_for_all' = '1'`)
+if ($wait_for_all == 1)
{
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
{
@@ -83,16 +101,19 @@ if (`SELECT '$wait_for_all' = '1'`)
real_sleep 0.2;
let $rowno= 1;
let $process_result= 1;
- while (`SELECT $process_result = 1 AND $found = 0`)
+ let $do_loop= 1;
+ while ($do_loop)
{
let $field_value= query_get_value($show_statement, $field, $rowno);
- if (`SELECT '$field_value' = 'No such row'`)
+ if ($field_value == No such row)
{
let $found= 1;
+ let $do_loop= 0;
}
if (`SELECT $found = 0 AND NOT '$field_value' $condition`)
{
let process_result= 0;
+ let $do_loop= 0;
}
inc $rowno;
}
@@ -101,7 +122,7 @@ if (`SELECT '$wait_for_all' = '1'`)
if (!$found)
{
- echo # Timeout in include/wait_show_condition.inc for $wait_condition;
+ echo # Timeout in include/wait_show_condition.inc for $condition;
echo # show_statement : $show_statement;
echo # field : $field;
echo # condition : $condition;
diff --git a/mysql-test/include/write_var_to_file.inc b/mysql-test/include/write_var_to_file.inc
new file mode 100644
index 00000000000..08de195ccbb
--- /dev/null
+++ b/mysql-test/include/write_var_to_file.inc
@@ -0,0 +1,57 @@
+# ==== Purpose ====
+#
+# Write the contents of $write_var to file $write_to_file.
+#
+#
+# ==== Usage ====
+#
+# --let $write_var = <value>
+# --let $write_to_file = [<file>|GENERATE]
+# --source include/write_var_to_file.inc
+#
+# $write_var is evaluated in sql 'string' context, so escapes like \n
+# are interpolated.
+#
+# $write_to_file can be either a filename, or the special string
+# GENERATE. If it is GENERATE, a unique filename is generated (based
+# on UUID()). The filename is saved in $write_to_file so that it can
+# be retrieved later.
+#
+#
+# ==== Implementation ====
+#
+# We can't use mysqltest's write_file because it does not evaluate
+# variables. We can't use '--exec echo $write_var > $write_file'
+# because it will use \n\r line terminator under windows. So the only
+# working way is mysql's SELECT INTO DUMPFILE, which is subject to
+# @@secure_file_priv. That makes this more complex than you might
+# expect.
+
+if (!$write_to_file)
+{
+ --die You must set the mysqltest variable \$write_to_file before you source include/write_var_to_file.inc
+}
+
+if ($write_to_file == 'GENERATE')
+{
+ --let $_wvtf_suffix= `SELECT UUID()`
+ --let $write_to_file= $MYSQLTEST_VARDIR/tmp/_var_file_$_wvtf_suffix.inc
+}
+
+--error 0,1
+--remove_file $write_to_file
+
+if (`SELECT LENGTH(@@secure_file_priv) > 0`)
+{
+ --let $_wvtf_secure_file_priv= `SELECT @@secure_file_priv`
+ --let $_wvtf_suffix= `SELECT UUID()`
+ --let $_wvtf_tmp_file= $_wvtf_secure_file_priv/_wvtf_$_wvtf_suffix
+
+ --eval SELECT '$write_var' INTO DUMPFILE '$_wvtf_tmp_file'
+ --copy_file $_wvtf_tmp_file $write_to_file
+ --remove_file $_wvtf_tmp_file
+}
+if (`SELECT LENGTH(@@secure_file_priv) = 0`)
+{
+ --eval SELECT '$write_var' INTO DUMPFILE '$write_to_file'
+}
diff --git a/mysql-test/lib/My/ConfigFactory.pm b/mysql-test/lib/My/ConfigFactory.pm
index 8fb0e27eb77..e672b094405 100644
--- a/mysql-test/lib/My/ConfigFactory.pm
+++ b/mysql-test/lib/My/ConfigFactory.pm
@@ -1,4 +1,20 @@
# -*- cperl -*-
+# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
package My::ConfigFactory;
use strict;
@@ -130,7 +146,11 @@ sub fix_tmpdir {
sub fix_log_error {
my ($self, $config, $group_name, $group)= @_;
my $dir= $self->{ARGS}->{vardir};
- return "$dir/log/$group_name.err";
+ if ( $::opt_valgrind and $::opt_debug ) {
+ return "$dir/log/$group_name.trace";
+ } else {
+ return "$dir/log/$group_name.err";
+ }
}
sub fix_log {
diff --git a/mysql-test/lib/My/CoreDump.pm b/mysql-test/lib/My/CoreDump.pm
index 3ac9e385070..b0c4a1337d8 100644
--- a/mysql-test/lib/My/CoreDump.pm
+++ b/mysql-test/lib/My/CoreDump.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,6 +21,7 @@ use Carp;
use My::Platform;
use File::Temp qw/ tempfile tempdir /;
+use mtr_results;
my $hint_mysqld; # Last resort guess for executable path
@@ -80,7 +81,7 @@ sub _gdb {
return if $? >> 8;
return unless $gdb_output;
- print <<EOF, $gdb_output, "\n";
+ resfile_print <<EOF, $gdb_output, "\n";
Output from gdb follows. The first stack trace is from the failing thread.
The following stack traces are from all threads (so the failing one is
duplicated).
@@ -124,7 +125,7 @@ sub _dbx {
return if $? >> 8;
return unless $dbx_output;
- print <<EOF, $dbx_output, "\n";
+ resfile_print <<EOF . $dbx_output . "\n";
Output from dbx follows. Stack trace is printed for all threads in order,
above this you should see info about which thread was the failing one.
----------------------------
@@ -244,7 +245,7 @@ sub _cdb {
$cdb_output=~ s/^Child\-SP RetAddr Call Site//gm;
$cdb_output=~ s/\+0x([0-9a-fA-F]+)//gm;
- print <<EOF, $cdb_output, "\n";
+ resfile_print <<EOF, $cdb_output, "\n";
Output from cdb follows. Faulting thread is printed twice,with and without function parameters
Search for STACK_TEXT to see the stack trace of
the faulting thread. Callstacks of other threads are printed after it.
diff --git a/mysql-test/lib/My/File/Path.pm b/mysql-test/lib/My/File/Path.pm
index 6e6d23ad9f0..14fb43e8d98 100644
--- a/mysql-test/lib/My/File/Path.pm
+++ b/mysql-test/lib/My/File/Path.pm
@@ -1,4 +1,19 @@
# -*- cperl -*-
+# Copyright (C) 2008 MySQL AB, 2009 Sun Microsystems, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
package My::File::Path;
use strict;
diff --git a/mysql-test/lib/My/Find.pm b/mysql-test/lib/My/Find.pm
index b2fec0d77b8..9d1d2915012 100644
--- a/mysql-test/lib/My/Find.pm
+++ b/mysql-test/lib/My/Find.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,8 +28,6 @@ use My::Platform;
use base qw(Exporter);
our @EXPORT= qw(my_find_bin my_find_dir my_find_file NOT_REQUIRED);
-our $vs_config_dir;
-
my $bin_extension= ".exe" if IS_WINDOWS;
# Helper function to be used for fourth parameter to find functions
@@ -158,7 +156,7 @@ sub my_find_paths {
# User can select to look in a special build dir
# which is a subdirectory of any of the paths
my @extra_dirs;
- my $build_dir= $vs_config_dir || $ENV{MTR_VS_CONFIG} || $ENV{MTR_BUILD_DIR};
+ my $build_dir= $::opt_vs_config || $ENV{MTR_VS_CONFIG} || $ENV{MTR_BUILD_DIR};
push(@extra_dirs, $build_dir) if defined $build_dir;
if (defined $extension){
diff --git a/mysql-test/lib/My/Options.pm b/mysql-test/lib/My/Options.pm
index 3bfbe1fc90e..dcd934084e2 100644
--- a/mysql-test/lib/My/Options.pm
+++ b/mysql-test/lib/My/Options.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (C) 2008 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/My/Platform.pm b/mysql-test/lib/My/Platform.pm
index 371120ab644..cbe8f929d71 100644
--- a/mysql-test/lib/My/Platform.pm
+++ b/mysql-test/lib/My/Platform.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (C) 2008 MySQL AB, 2009 Sun Microsystems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/My/SafeProcess.pm b/mysql-test/lib/My/SafeProcess.pm
index 59186f50703..45a37c35ded 100644
--- a/mysql-test/lib/My/SafeProcess.pm
+++ b/mysql-test/lib/My/SafeProcess.pm
@@ -1,14 +1,15 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
@@ -138,6 +139,7 @@ sub new {
my $host = delete($opts{'host'});
my $shutdown = delete($opts{'shutdown'});
my $user_data= delete($opts{'user_data'});
+ my $envs = delete($opts{'envs'});
# if (defined $host) {
# $safe_script= "lib/My/SafeProcess/safe_process_cpcd.pl";
@@ -160,6 +162,13 @@ sub new {
# Point the safe_process at the right parent if running on cygwin
push(@safe_args, "--parent-pid=".Cygwin::pid_to_winpid($$)) if IS_CYGWIN;
+ foreach my $env_var (@$envs) {
+ croak("Missing = in env string") unless $env_var =~ /=/;
+ croak("Env string $env_var seen, probably missing value for --mysqld-env")
+ if $env_var =~ /^--/;
+ push @safe_args, "--env $env_var";
+ }
+
push(@safe_args, "--");
push(@safe_args, $path); # The program safe_process should execute
diff --git a/mysql-test/lib/My/SafeProcess/Base.pm b/mysql-test/lib/My/SafeProcess/Base.pm
index 9a6871264b8..c0c70e48082 100644
--- a/mysql-test/lib/My/SafeProcess/Base.pm
+++ b/mysql-test/lib/My/SafeProcess/Base.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (C) 2008 MySQL AB, 2009 Sun Microsystems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/My/SafeProcess/Makefile.am b/mysql-test/lib/My/SafeProcess/Makefile.am
deleted file mode 100644
index 33cab066611..00000000000
--- a/mysql-test/lib/My/SafeProcess/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2000-2006 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-testroot = $(prefix)
-safedir = $(testroot)/mysql-test/lib/My/SafeProcess
-#nobase_bin_PROGRAMS = ...
-safe_PROGRAMS = my_safe_process
-
-my_safe_process_SOURCES = safe_process.cc
-
-EXTRA_DIST = safe_kill_win.cc \
- safe_process_win.cc \
- CMakeLists.txt
diff --git a/mysql-test/lib/My/SafeProcess/safe_kill_win.cc b/mysql-test/lib/My/SafeProcess/safe_kill_win.cc
index f72b851d0b6..72fe874e621 100644
--- a/mysql-test/lib/My/SafeProcess/safe_kill_win.cc
+++ b/mysql-test/lib/My/SafeProcess/safe_kill_win.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 MySQL AB
+/* Copyright (C) 2008 MySQL AB, 2009 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/My/SafeProcess/safe_process.cc b/mysql-test/lib/My/SafeProcess/safe_process.cc
index 12b335ec444..2f90b65f62e 100644
--- a/mysql-test/lib/My/SafeProcess/safe_process.cc
+++ b/mysql-test/lib/My/SafeProcess/safe_process.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008 MySQL AB
+/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -176,7 +176,7 @@ int main(int argc, char* const argv[] )
} else {
if ( strcmp(arg, "--verbose") == 0 )
verbose++;
- else if ( strncmp(arg, "--parent-pid", 10) == 0 )
+ else if ( strncmp(arg, "--parent-pid", 12) == 0 )
{
/* Override parent_pid with a value provided by user */
const char* start;
@@ -185,10 +185,15 @@ int main(int argc, char* const argv[] )
start++; /* Step past = */
if ((parent_pid= atoi(start)) == 0)
die("Invalid value '%s' passed to --parent-id", start);
- } else if ( strcmp(arg, "--nocore") == 0 )
+ }
+ else if ( strcmp(arg, "--nocore") == 0 )
{
nocore = true; // Don't allow the process to dump core
}
+ else if ( strncmp (arg, "--env ", 6) == 0 )
+ {
+ putenv(strdup(arg+6));
+ }
else
die("Unknown option: %s", arg);
}
diff --git a/mysql-test/lib/My/SafeProcess/safe_process.pl b/mysql-test/lib/My/SafeProcess/safe_process.pl
index e3114a749d3..54b0073f8df 100644
--- a/mysql-test/lib/My/SafeProcess/safe_process.pl
+++ b/mysql-test/lib/My/SafeProcess/safe_process.pl
@@ -94,7 +94,7 @@ eval {
local $SIG{INT}= \&handle_signal;
local $SIG{CHLD}= sub {
message("Got signal @_");
- kill(9, -$child_pid);
+ kill('KILL', -$child_pid);
my $ret= waitpid($child_pid, 0);
if ($? & 127){
exit(65); # Killed by signal
@@ -134,7 +134,7 @@ if ( $@ ) {
# Use negative pid in order to kill the whole
# process group
#
-my $ret= kill(9, -$child_pid);
+my $ret= kill('KILL', -$child_pid);
message("Killed child: $child_pid, ret: $ret");
if ($ret > 0) {
message("Killed child: $child_pid");
diff --git a/mysql-test/lib/My/SafeProcess/safe_process_win.cc b/mysql-test/lib/My/SafeProcess/safe_process_win.cc
index 8fffede0b62..7e0ae68b4de 100644
--- a/mysql-test/lib/My/SafeProcess/safe_process_win.cc
+++ b/mysql-test/lib/My/SafeProcess/safe_process_win.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004 MySQL AB
+/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -220,6 +220,10 @@ int main(int argc, const char** argv )
{
nocore= TRUE;
}
+ else if ( strncmp (arg, "--env ", 6) == 0 )
+ {
+ putenv(strdup(arg+6));
+ }
else
die("Unknown option: %s", arg);
}
diff --git a/mysql-test/lib/My/SysInfo.pm b/mysql-test/lib/My/SysInfo.pm
index f1ba5fb610f..b8569e415e8 100644
--- a/mysql-test/lib/My/SysInfo.pm
+++ b/mysql-test/lib/My/SysInfo.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (C) 2008 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/My/Test.pm b/mysql-test/lib/My/Test.pm
index c8bfbd34521..f9eed945e41 100644
--- a/mysql-test/lib/My/Test.pm
+++ b/mysql-test/lib/My/Test.pm
@@ -1,4 +1,18 @@
# -*- cperl -*-
+# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
@@ -10,6 +24,7 @@ use strict;
use warnings;
use Carp;
use Storable();
+use mtr_results;
sub new {
@@ -47,9 +62,26 @@ sub is_failed {
}
+my %result_names= (
+ 'MTR_RES_PASSED' => 'pass',
+ 'MTR_RES_FAILED' => 'fail',
+ 'MTR_RES_SKIPPED' => 'skipped',
+ );
+
sub write_test {
my ($test, $sock, $header)= @_;
+ if ($::opt_resfile && defined $test->{'result'}) {
+ resfile_test_info("result", $result_names{$test->{'result'}});
+ if ($test->{'timeout'}) {
+ resfile_test_info("comment", "Timeout");
+ } elsif (defined $test->{'comment'}) {
+ resfile_test_info("comment", $test->{'comment'});
+ }
+ resfile_test_info("result", "warning") if defined $test->{'check'};
+ resfile_to_test($test);
+ }
+
# Give the test a unique key before serializing it
$test->{key}= "$test" unless defined $test->{key};
@@ -67,8 +99,8 @@ sub read_test {
my $test= Storable::thaw($serialized);
die "wrong class (hack attempt?)"
unless ref($test) eq 'My::Test';
+ resfile_from_test($test) if $::opt_resfile;
return $test;
}
-
1;
diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm
index 631a5d8c348..5b091193bff 100644
--- a/mysql-test/lib/mtr_cases.pm
+++ b/mysql-test/lib/mtr_cases.pm
@@ -1,6 +1,6 @@
# -*- cperl -*-
-# Copyright (C) 2005-2006 MySQL AB
-#
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
@@ -130,7 +130,7 @@ sub collect_test_cases ($$$$) {
{
last unless $opt_reorder;
# test->{name} is always in suite.name format
- if ( $test->{name} =~ /.*\.$tname/ )
+ if ( $test->{name} =~ /^$sname.*\.$tname$/ )
{
$found= 1;
last;
@@ -157,8 +157,6 @@ sub collect_test_cases ($$$$) {
if ( $opt_reorder && !$quick_collect)
{
# Reorder the test cases in an order that will make them faster to run
- my %sort_criteria;
-
# Make a mapping of test name to a string that represents how that test
# should be sorted among the other tests. Put the most important criterion
# first, then a sub-criterion, then sub-sub-criterion, etc.
@@ -170,24 +168,31 @@ sub collect_test_cases ($$$$) {
# Append the criteria for sorting, in order of importance.
#
push(@criteria, "ndb=" . ($tinfo->{'ndb_test'} ? "A" : "B"));
+ push(@criteria, $tinfo->{template_path});
# Group test with equal options together.
# Ending with "~" makes empty sort later than filled
my $opts= $tinfo->{'master_opt'} ? $tinfo->{'master_opt'} : [];
push(@criteria, join("!", sort @{$opts}) . "~");
+ # Add slave opts if any
+ if ($tinfo->{'slave_opt'})
+ {
+ push(@criteria, join("!", sort @{$tinfo->{'slave_opt'}}));
+ }
+ # This sorts tests with force-restart *before* identical tests
+ push(@criteria, $tinfo->{force_restart} ? "force-restart" : "no-restart");
- $sort_criteria{$tinfo->fullname()} = join(" ", @criteria);
+ $tinfo->{criteria}= join(" ", @criteria);
}
- @$cases = sort {
- $sort_criteria{$a->fullname()} . $a->fullname() cmp
- $sort_criteria{$b->fullname()} . $b->fullname() } @$cases;
+ @$cases = sort {$a->{criteria} cmp $b->{criteria}; } @$cases;
# For debugging the sort-order
# foreach my $tinfo (@$cases)
# {
- # print $sort_criteria{$tinfo->fullname()}," -> \t",$tinfo->fullname(),"\n";
+ # my $tname= $tinfo->{name} . ' ' . $tinfo->{combination};
+ # my $crit= $tinfo->{criteria};
+ # print("$tname\n\t$crit\n");
# }
-
}
if (defined $print_testcases){
@@ -204,8 +209,11 @@ sub collect_test_cases ($$$$) {
sub split_testname {
my ($test_name)= @_;
- # Get rid of directory part and split name on .'s
- my @parts= split(/\./, basename($test_name));
+ # If .test file name is used, get rid of directory part
+ $test_name= basename($test_name) if $test_name =~ /\.test$/;
+
+ # Now split name on .'s
+ my @parts= split(/\./, $test_name);
if (@parts == 1){
# Only testname given, ex: alias
@@ -259,9 +267,11 @@ sub collect_one_suite
"mysql-test/suite",
"mysql-test",
# Look in storage engine specific suite dirs
- "storage/*/mysql-test-suites"
+ "storage/*/mtr",
+ # Look in plugin specific suite dir
+ "plugin/$suite/tests",
],
- [$suite]);
+ [$suite, "mtr"]);
}
mtr_verbose("suitedir: $suitedir");
}
diff --git a/mysql-test/lib/mtr_gcov.pl b/mysql-test/lib/mtr_gcov.pl
index 2f211b7566d..a6e1f8efd5f 100644
--- a/mysql-test/lib/mtr_gcov.pl
+++ b/mysql-test/lib/mtr_gcov.pl
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004, 2006 MySQL AB
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ sub gcov_prepare ($) {
#
# Collect gcov statistics.
# Arguments:
-# $dir basedir, normally source directory
+# $dir basedir, normally build directory
# $gcov gcov utility program [path] name
# $gcov_msg message file name
# $gcov_err error file name
@@ -45,31 +45,26 @@ sub gcov_collect ($$$) {
my $start_dir= cwd();
print "Collecting source coverage info using '$gcov'...$basedir\n";
- -f "$start_dir/$gcov_msg" and unlink("$start_dir/$gcov_msg");
- -f "$start_dir/$gcov_err" and unlink("$start_dir/$gcov_err");
+ -f "$dir/$gcov_msg" and unlink("$dir/$gcov_msg");
+ -f "$dir/$gcov_err" and unlink("$dir/$gcov_err");
my @dirs= `find "$dir" -type d -print | sort`;
#print "List of directories:\n@dirs\n";
foreach my $d ( @dirs ) {
- my $dir_reported= 0;
chomp($d);
chdir($d) or next;
- foreach my $f ( (glob("*.h"), glob("*.cc"), glob("*.c")) ) {
- $f =~ /(.*)\.[ch]c?/;
- -f "$1.gcno" or next;
- if (!$dir_reported) {
- print "Collecting in '$d'...\n";
- $dir_reported= 1;
- }
- system("$gcov $f 2>>$start_dir/$gcov_err >>$start_dir/$gcov_msg");
- system("perl", "$basedir/mysql-test/lib/process-purecov-annotations.pl", "$f.gcov");
+ my @flist= glob("*.*.gcno");
+ print ("Collecting in '$d'...\n") if @flist;
+ foreach my $f (@flist) {
+ system("$gcov $f 2>>$dir/$gcov_err >>$dir/$gcov_msg");
+ system("perl", "$basedir/mysql-test/lib/process-purecov-annotations.pl", "$f.gcov");
}
chdir($start_dir);
}
- print "gcov info in $gcov_msg, errors in $gcov_err\n";
+ print "gcov info in $dir/$gcov_msg, errors in $dir/$gcov_err\n";
}
diff --git a/mysql-test/lib/mtr_gprof.pl b/mysql-test/lib/mtr_gprof.pl
index 5820a4007b8..a5e05b28723 100644
--- a/mysql-test/lib/mtr_gprof.pl
+++ b/mysql-test/lib/mtr_gprof.pl
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004 MySQL AB
+# Copyright (C) 2004 MySQL AB, 2009 Sun Microsystems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/mtr_io.pl b/mysql-test/lib/mtr_io.pl
index 21581798ddc..6a6b3a3d028 100644
--- a/mysql-test/lib/mtr_io.pl
+++ b/mysql-test/lib/mtr_io.pl
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (C) 2004-2007 MySQL AB, 2008 Sun Microsystems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/mtr_match.pm b/mysql-test/lib/mtr_match.pm
index 40afd4e0336..6fc9832ac43 100644
--- a/mysql-test/lib/mtr_match.pm
+++ b/mysql-test/lib/mtr_match.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (C) 2004-2008 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/mtr_misc.pl b/mysql-test/lib/mtr_misc.pl
index 388d252502a..83b02525ad1 100644
--- a/mysql-test/lib/mtr_misc.pl
+++ b/mysql-test/lib/mtr_misc.pl
@@ -1,15 +1,16 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
@@ -30,9 +31,18 @@ sub mtr_script_exists(@);
sub mtr_file_exists(@);
sub mtr_exe_exists(@);
sub mtr_exe_maybe_exists(@);
+sub mtr_compress_file($);
sub mtr_milli_sleep($);
sub start_timer($);
sub has_expired($);
+sub init_timers();
+sub mark_time_used($);
+sub mark_time_idle();
+sub add_total_times($);
+sub print_times_used($$);
+sub print_total_times($);
+
+our $opt_report_times;
##############################################################################
#
@@ -190,6 +200,40 @@ sub mtr_exe_exists (@) {
}
}
+#
+# Try to compress file using tools that might be available.
+# If zip/gzip is not available, just silently ignore.
+#
+
+sub mtr_compress_file ($) {
+ my ($filename)= @_;
+
+ mtr_error ("File to compress not found: $filename") unless -f $filename;
+
+ my $did_compress= 0;
+
+ if (IS_WINDOWS)
+ {
+ # Capture stderr
+ my $ziperr= `zip $filename.zip $filename 2>&1`;
+ if ($?) {
+ print "$ziperr\n" if $ziperr !~ /recognized as an internal or external/;
+ } else {
+ unlink($filename);
+ $did_compress=1;
+ }
+ }
+ else
+ {
+ my $gzres= system("gzip $filename");
+ $did_compress= ! $gzres;
+ if ($gzres && $gzres != -1) {
+ mtr_error ("Error: have gzip but it fails to compress core file");
+ }
+ }
+ mtr_print("Compressed file $filename") if $did_compress;
+}
+
sub mtr_milli_sleep ($) {
die "usage: mtr_milli_sleep(milliseconds)" unless @_ == 1;
@@ -225,4 +269,87 @@ sub start_timer ($) { return time + $_[0]; }
sub has_expired ($) { return $_[0] && time gt $_[0]; }
+# Below code is for time usage reporting
+
+use Time::HiRes qw(gettimeofday);
+
+my %time_used= (
+ 'collect' => 0,
+ 'restart' => 0,
+ 'check' => 0,
+ 'ch-warn' => 0,
+ 'test' => 0,
+ 'init' => 0,
+ 'admin' => 0,
+);
+
+my %time_text= (
+ 'collect' => "Collecting test cases",
+ 'restart' => "Server stop/start",
+ 'check' => "Check-testcase",
+ 'ch-warn' => "Check for warnings",
+ 'test' => "Test execution",
+ 'init' => "Initialization/cleanup",
+ 'admin' => "Test administration",
+);
+
+# Counts number of reports from workers
+
+my $time_totals= 0;
+
+my $last_timer_set;
+
+sub init_timers() {
+ $last_timer_set= gettimeofday();
+}
+
+sub mark_time_used($) {
+ my ($name)= @_;
+ return unless $opt_report_times;
+ die "Unknown timer $name" unless exists $time_used{$name};
+
+ my $curr_time= gettimeofday();
+ $time_used{$name}+= int (($curr_time - $last_timer_set) * 1000 + .5);
+ $last_timer_set= $curr_time;
+}
+
+sub mark_time_idle() {
+ $last_timer_set= gettimeofday() if $opt_report_times;
+}
+
+sub add_total_times($) {
+ my ($dummy, $num, @line)= split (" ", $_[0]);
+
+ $time_totals++;
+ foreach my $elem (@line) {
+ my ($name, $spent)= split (":", $elem);
+ $time_used{$name}+= $spent;
+ }
+}
+
+sub print_times_used($$) {
+ my ($server, $num)= @_;
+ return unless $opt_report_times;
+
+ my $output= "SPENT $num";
+ foreach my $name (keys %time_used) {
+ my $spent= $time_used{$name};
+ $output.= " $name:$spent";
+ }
+ print $server $output . "\n";
+}
+
+sub print_total_times($) {
+ # Don't print if we haven't received all worker data
+ return if $time_totals != $_[0];
+
+ foreach my $name (keys %time_used)
+ {
+ my $spent= $time_used{$name}/1000;
+ my $text= $time_text{$name};
+ print ("Spent $spent seconds on $text\n");
+ }
+}
+
+
1;
diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl
index a42627c93cd..88e714f6f8d 100644
--- a/mysql-test/lib/mtr_process.pl
+++ b/mysql-test/lib/mtr_process.pl
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2004-2006 MySQL AB
+# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -116,18 +116,20 @@ sub sleep_until_file_created ($$$) {
return 1;
}
+ my $seconds= ($loop * $sleeptime) / 1000;
+
# Check if it died after the fork() was successful
if ( defined $proc and ! $proc->wait_one(0) )
{
- mtr_warning("Process $proc died");
+ mtr_warning("Process $proc died after mysql-test-run waited $seconds " .
+ "seconds for $pidfile to be created.");
return 0;
}
mtr_debug("Sleep $sleeptime milliseconds waiting for $pidfile");
# Print extra message every 60 seconds
- my $seconds= ($loop * $sleeptime) / 1000;
- if ( $seconds > 1 and int($seconds * 10) % 600 == 0 )
+ if ( $seconds > 1 && int($seconds * 10) % 600 == 0 && $seconds < $timeout )
{
my $left= $timeout - $seconds;
mtr_warning("Waited $seconds seconds for $pidfile to be created, " .
@@ -138,6 +140,8 @@ sub sleep_until_file_created ($$$) {
}
+ mtr_warning("Timeout after mysql-test-run waited $timeout seconds " .
+ "for the process $proc to create a pid file.");
return 0;
}
diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm
index a90c367178d..189ed19d801 100644
--- a/mysql-test/lib/mtr_report.pm
+++ b/mysql-test/lib/mtr_report.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright 2004-2008 MySQL AB, 2008 Sun Microsystems, Inc.
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -32,7 +32,9 @@ our @EXPORT= qw(report_option mtr_print_line mtr_print_thick_line
use mtr_match;
use My::Platform;
use POSIX qw[ _exit ];
+use IO::Handle qw[ flush ];
require "mtr_io.pl";
+use mtr_results;
my $tot_real_time= 0;
@@ -68,7 +70,7 @@ sub _mtr_report_test_name ($) {
print _name(). _timestamp();
printf "%-40s ", $tname;
my $worker = $tinfo->{worker};
- printf "w$worker " if $worker;
+ print "w$worker " if defined $worker;
return $tname;
}
@@ -91,6 +93,7 @@ sub mtr_report_test_passed ($) {
{
$timer_str= mtr_fromfile("$::opt_vardir/log/timer");
$tinfo->{timer}= $timer_str;
+ resfile_test_info('duration', $timer_str) if $::opt_resfile;
}
# Big warning if status already set
@@ -125,7 +128,8 @@ sub mtr_report_test ($) {
# Find out if this test case is an experimental one, so we can treat
# the failure as an expected failure instead of a regression.
for my $exp ( @$::experimental_test_cases ) {
- if ( $exp ne $test_name ) {
+ # Include pattern match for combinations
+ if ( $exp ne $test_name && $test_name !~ /^$exp / ) {
# if the expression is not the name of this test case, but has
# an asterisk at the end, determine if the characters up to
# but excluding the asterisk are the same
@@ -228,7 +232,8 @@ sub mtr_report_stats ($$$$) {
# Find out how we where doing
# ----------------------------------------------------------------------
- my $tot_skiped= 0;
+ my $tot_skipped= 0;
+ my $tot_skipdetect= 0;
my $tot_passed= 0;
my $tot_failed= 0;
my $tot_tests= 0;
@@ -245,8 +250,9 @@ sub mtr_report_stats ($$$$) {
}
elsif ( $tinfo->{'result'} eq 'MTR_RES_SKIPPED' )
{
- # Test was skipped
- $tot_skiped++;
+ # Test was skipped (disabled not counted)
+ $tot_skipped++ unless $tinfo->{'disable'};
+ $tot_skipdetect++ if $tinfo->{'skip_detected_by_test'};
}
elsif ( $tinfo->{'result'} eq 'MTR_RES_PASSED' )
{
@@ -296,6 +302,8 @@ sub mtr_report_stats ($$$$) {
time - $BASETIME, "seconds executing testcases");
}
+ resfile_global("duration", time - $BASETIME) if $::opt_resfile;
+
my $warnlog= "$::opt_vardir/log/warnings";
if ( ! $::glob_use_running_server && !$::opt_extern && -f $warnlog)
{
@@ -382,6 +390,9 @@ MSG
print " $_\n" for @$extra_warnings;
}
+ print "$tot_skipped tests were skipped, ".
+ "$tot_skipdetect by the test itself.\n\n" if $tot_skipped;
+
if ( $tot_failed != 0 || $found_problems)
{
mtr_error("there were failing test cases");
@@ -404,7 +415,7 @@ MSG
##############################################################################
sub mtr_print_line () {
- print '-' x 60 . "\n";
+ print '-' x 74 . "\n";
}
@@ -414,13 +425,18 @@ sub mtr_print_thick_line {
}
-sub mtr_print_header () {
+sub mtr_print_header ($) {
+ my ($wid) = @_;
print "\n";
printf "TEST";
- print " " x 38;
+ if ($wid) {
+ print " " x 34 . "WORKER ";
+ } else {
+ print " " x 38;
+ }
print "RESULT ";
- print "TIME (ms)" if $timer;
- print "\n";
+ print "TIME (ms) or " if $timer;
+ print "COMMENT\n";
mtr_print_line();
print "\n";
}
@@ -490,6 +506,7 @@ sub mtr_warning (@) {
# Print error to screen and then exit
sub mtr_error (@) {
+ IO::Handle::flush(\*STDOUT) if IS_WINDOWS;
print STDERR _name(). _timestamp().
"mysql-test-run: *** ERROR: ". join(" ", @_). "\n";
if (IS_WINDOWS)
diff --git a/mysql-test/lib/mtr_results.pm b/mysql-test/lib/mtr_results.pm
new file mode 100644
index 00000000000..92b03756c04
--- /dev/null
+++ b/mysql-test/lib/mtr_results.pm
@@ -0,0 +1,167 @@
+# -*- cperl -*-
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+package mtr_results;
+use strict;
+use IO::Handle qw[ flush ];
+
+use base qw(Exporter);
+our @EXPORT= qw(resfile_init resfile_global resfile_new_test resfile_test_info
+ resfile_output resfile_output_file resfile_print
+ resfile_print_test resfile_to_test resfile_from_test );
+
+my %curr_result; # Result for current test
+my $curr_output; # Output for current test
+my $do_resfile;
+
+END {
+ close RESF if $do_resfile;
+}
+
+sub resfile_init($)
+{
+ my $fname= shift;
+ open (RESF, " > $fname") or die ("Could not open result file $fname");
+ %curr_result= ();
+ $curr_output= "";
+ $do_resfile= 1;
+}
+
+# Strings need to be quoted if they start with white space or ",
+# or if they contain newlines. Pass a reference to the string.
+# If the string is quoted, " must be escaped, thus \ also must be escaped
+
+sub quote_value($)
+{
+ my $stref= shift;
+
+ for ($$stref) {
+ return unless /^[\s"]/ or /\n/;
+ s/\\/\\\\/g;
+ s/"/\\"/g;
+ $_= '"' . $_ . '"';
+ }
+}
+
+# Output global variable setting to result file.
+
+sub resfile_global($$)
+{
+ return unless $do_resfile;
+ my ($tag, $val) = @_;
+ $val= join (' ', @$val) if ref($val) eq 'ARRAY';
+ quote_value(\$val);
+ print RESF "$tag : $val\n";
+}
+
+# Prepare to add results for new test
+
+sub resfile_new_test()
+{
+ %curr_result= ();
+ $curr_output= "";
+}
+
+# Add (or change) one variable setting for current test
+
+sub resfile_test_info($$)
+{
+ my ($tag, $val) = @_;
+ return unless $do_resfile;
+ quote_value(\$val);
+ $curr_result{$tag} = $val;
+}
+
+# Add to output value for current test.
+# Will be quoted if necessary, truncated if length over 5000.
+
+sub resfile_output($)
+{
+ return unless $do_resfile;
+
+ for (shift) {
+ my $len= length;
+ if ($len > 5000) {
+ my $trlen= $len - 5000;
+ $_= substr($_, 0, 5000) . "\n[TRUNCATED $trlen chars removed]\n";
+ }
+ s/\\/\\\\/g;
+ s/"/\\"/g;
+ $curr_output .= $_;
+ }
+}
+
+# Add to output, read from named file
+
+sub resfile_output_file($)
+{
+ resfile_output(::mtr_grab_file(shift)) if $do_resfile;
+}
+
+# Print text, and also append to current output if we're collecting results
+
+sub resfile_print($)
+{
+ my $txt= shift;
+ print($txt);
+ resfile_output($txt) if $do_resfile;
+}
+
+# Print results for current test, then reset
+# (So calling a second time without having generated new results
+# will have no effect)
+
+sub resfile_print_test()
+{
+ return unless %curr_result;
+
+ print RESF "{\n";
+ while (my ($t, $v) = each %curr_result) {
+ print RESF "$t : $v\n";
+ }
+ if ($curr_output) {
+ chomp($curr_output);
+ print RESF " output : " . $curr_output . "\"\n";
+ }
+ print RESF "}\n";
+ IO::Handle::flush(\*RESF);
+ resfile_new_test();
+}
+
+# Add current test results to test object (to send from worker)
+
+sub resfile_to_test($)
+{
+ return unless $do_resfile;
+ my $tinfo= shift;
+ my @res_array= %curr_result;
+ $tinfo->{'resfile'}= \@res_array;
+ $tinfo->{'output'}= $curr_output if $curr_output;
+}
+
+# Get test results (from worker) from test object
+
+sub resfile_from_test($)
+{
+ return unless $do_resfile;
+ my $tinfo= shift;
+ my $res_array= $tinfo->{'resfile'};
+ return unless $res_array;
+ %curr_result= @$res_array;
+ $curr_output= $tinfo->{'output'} if defined $tinfo->{'output'};
+}
+
+1;
diff --git a/mysql-test/lib/mtr_stress.pl b/mysql-test/lib/mtr_stress.pl
index 702bc178ae5..ab4214791d0 100644
--- a/mysql-test/lib/mtr_stress.pl
+++ b/mysql-test/lib/mtr_stress.pl
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2006 MySQL AB
+# Copyright (C) 2004-2007 MySQL AB, 2009 Sun Microsystems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/lib/mtr_unique.pm b/mysql-test/lib/mtr_unique.pm
index 6b60157422d..506af448266 100644
--- a/mysql-test/lib/mtr_unique.pm
+++ b/mysql-test/lib/mtr_unique.pm
@@ -1,5 +1,5 @@
# -*- cperl -*-
-# Copyright (C) 2006 MySQL AB
+# Copyright (C) 2006-2008 MySQL AB, 2009 Sun Microsystems, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/mysql-test/mysql-stress-test.pl b/mysql-test/mysql-stress-test.pl
index a1d9669a58b..4661780b91a 100755
--- a/mysql-test/mysql-stress-test.pl
+++ b/mysql-test/mysql-stress-test.pl
@@ -1,4 +1,21 @@
#!/usr/bin/perl
+
+# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
# ======================================================================
# MySQL server stress test system
# ======================================================================
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 04833d58fd3..459c070385b 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -1,7 +1,7 @@
#!/usr/bin/perl
# -*- cperl -*-
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
##############################################################################
@@ -96,6 +96,7 @@ use mtr_cases;
use mtr_report;
use mtr_match;
use mtr_unique;
+use mtr_results;
use IO::Socket::INET;
use IO::Select;
@@ -108,6 +109,7 @@ require "lib/mtr_misc.pl";
$SIG{INT}= sub { mtr_error("Got ^C signal"); };
our $mysql_version_id;
+my $mysql_version_extra;
our $glob_mysql_test_dir;
our $basedir;
our $bindir;
@@ -160,7 +162,7 @@ our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
# If you add a new suite, please check TEST_DIRS in Makefile.am.
#
-my $DEFAULT_SUITES= "main,sys_vars,binlog,federated,rpl,maria,parts,innodb,percona,ndb,vcol,oqgraph,sphinx,perfschema";
+my $DEFAULT_SUITES= "main,sys_vars,binlog,federated,rpl,innodb,perfschema,maria,parts,percona,vcol,oqgraph,sphinx";
my $opt_suites;
our $opt_verbose= 0; # Verbose output, enable with --verbose
@@ -175,7 +177,7 @@ our $opt_staging_run= 0;
our @opt_combinations;
our @opt_extra_mysqld_opt;
-our @opt_extra_mysqltest_opt;
+our @opt_mysqld_envs;
my $opt_compress;
my $opt_ssl;
@@ -189,8 +191,15 @@ my $opt_cursor_protocol;
my $opt_view_protocol;
our $opt_debug;
+my $debug_d= "d";
+my $opt_debug_common;
+our $opt_debug_server;
our @opt_cases; # The test cases names in argv
our $opt_embedded_server;
+# -1 indicates use default, override with env.var.
+my $opt_ctest= env_or_val(MTR_UNIT_TESTS => -1);
+# Unit test report stored here for delayed printing
+my $ctest_report;
# Options used when connecting to an already running server
my %opts_extern;
@@ -199,12 +208,13 @@ sub using_extern { return (keys %opts_extern > 0);};
our $opt_fast= 0;
our $opt_force;
our $opt_mem= $ENV{'MTR_MEM'};
+our $opt_clean_vardir= $ENV{'MTR_CLEAN_VARDIR'};
our $opt_gcov;
our $opt_gcov_src_dir;
our $opt_gcov_exe= "gcov";
-our $opt_gcov_err= "mysql-test-gcov.msg";
-our $opt_gcov_msg= "mysql-test-gcov.err";
+our $opt_gcov_err= "mysql-test-gcov.err";
+our $opt_gcov_msg= "mysql-test-gcov.msg";
our $opt_gprof;
our %gprof_dirs;
@@ -212,9 +222,12 @@ our %gprof_dirs;
our $glob_debugger= 0;
our $opt_gdb;
our $opt_client_gdb;
+our $opt_dbx;
+our $opt_client_dbx;
our $opt_ddd;
our $opt_client_ddd;
our $opt_manual_gdb;
+our $opt_manual_dbx;
our $opt_manual_ddd;
our $opt_manual_debug;
our $opt_debugger;
@@ -235,11 +248,14 @@ my $build_thread= 0;
my $opt_record;
my $opt_report_features;
+our $opt_resfile= $ENV{'MTR_RESULT_FILE'} || 0;
+
my $opt_skip_core;
our $opt_check_testcases= 1;
my $opt_mark_progress;
my $opt_max_connections;
+our $opt_report_times= 0;
my $opt_sleep;
@@ -249,7 +265,6 @@ my $opt_shutdown_timeout= $ENV{MTR_SHUTDOWN_TIMEOUT} || 10; # seconds
my $opt_start_timeout = $ENV{MTR_START_TIMEOUT} || 180; # seconds
sub suite_timeout { return $opt_suite_timeout * 60; };
-sub check_timeout { return $opt_testcase_timeout * 6; };
my $opt_wait_all;
my $opt_user_args;
@@ -259,18 +274,20 @@ my $opt_retry_failure= env_or_val(MTR_RETRY_FAILURE => 2);
my $opt_reorder= 1;
my $opt_force_restart= 0;
-my $opt_strace_client;
-
our $opt_user = "root";
-my $opt_valgrind= 0;
+our $opt_valgrind= 0;
+my $opt_valgrind_mysqld= 0;
+my $opt_valgrind_mysqltest= 0;
my @default_valgrind_args= ("--show-reachable=yes");
my @valgrind_args;
our $opt_valgrind_mysqld= 0;
my $opt_valgrind_mysqltest= 0;
my $opt_strace= 0;
+my $opt_strace_client;
my @strace_args;
my $opt_valgrind_path;
+my $valgrind_reports= 0;
my $opt_callgrind;
my %mysqld_logs;
my $opt_debug_sync_timeout= 300; # Default timeout for WAIT_FOR actions.
@@ -286,14 +303,18 @@ sub testcase_timeout ($) {
return $opt_testcase_timeout * 60;
}
+sub check_timeout ($) { return testcase_timeout($_[0]) / 10; }
+
our $opt_warnings= 1;
our $opt_include_ndbcluster= 0;
our $opt_skip_ndbcluster= 1;
my $exe_ndbd;
+my $exe_ndbmtd;
my $exe_ndb_mgmd;
my $exe_ndb_waiter;
+my $exe_ndb_mgm;
our $debug_compiled_binaries;
@@ -317,6 +338,14 @@ my $opt_stop_keep_alive= $ENV{MTR_STOP_KEEP_ALIVE};
select(STDOUT);
$| = 1; # Automatically flush STDOUT
+# Used by --result-file for for formatting times
+
+sub isotime($) {
+ my ($sec,$min,$hr,$day,$mon,$yr)= gmtime($_[0]);
+ return sprintf "%d-%02d-%02dT%02d:%02d:%02dZ",
+ $yr+1900, $mon+1, $day, $hr, $min, $sec;
+}
+
main();
@@ -364,8 +393,13 @@ sub main {
print "vardir: $opt_vardir\n";
initialize_servers();
+ init_timers();
mtr_report("Checking supported features...");
+
+ # --debug[-common] implies we run debug server
+ $opt_debug_server= 1 if $opt_debug || $opt_debug_common;
+
if (using_extern())
{
# Connect to the running mysqld and find out what it supports
@@ -385,6 +419,7 @@ sub main {
mtr_report("Collecting tests...");
my $tests= collect_test_cases($opt_reorder, $opt_suites, \@opt_cases, \@opt_skip_test_list);
+ mark_time_used('collect');
if ( $opt_report_features ) {
# Put "report features" as the first test to run
@@ -436,6 +471,24 @@ sub main {
my $server_port = $server->sockport();
mtr_report("Using server port $server_port");
+ if ($opt_resfile) {
+ resfile_init("$opt_vardir/mtr-results.txt");
+ print_global_resfile();
+ }
+
+ # --------------------------------------------------------------------------
+ # Read definitions from include/plugin.defs
+ #
+ read_plugin_defs("include/plugin.defs");
+
+ # Also read from any plugin local plugin.defs
+ for (glob "$basedir/plugin/*/tests/mtr/plugin.defs") {
+ read_plugin_defs($_);
+ }
+
+ # Simplify reference to semisync plugins
+ $ENV{'SEMISYNC_PLUGIN_OPT'}= $ENV{'SEMISYNC_MASTER_PLUGIN_OPT'};
+
# Create child processes
my %children;
for my $child_num (1..$opt_parallel){
@@ -450,6 +503,7 @@ sub main {
$opt_tmpdir= "$opt_tmpdir/$child_num";
}
+ init_timers();
run_worker($server_port, $child_num);
exit(1);
}
@@ -460,7 +514,9 @@ sub main {
mtr_report();
mtr_print_thick_line();
- mtr_print_header();
+ mtr_print_header($opt_parallel > 1);
+
+ mark_time_used('init');
my ($prefix, $fail, $completed, $extra_warnings)=
run_test_server($server, $tests, $opt_parallel);
@@ -500,6 +556,29 @@ sub main {
mtr_report("Only ", int(@$completed), " of $num_tests completed.");
}
+ mark_time_used('init');
+
+ push @$completed, run_ctest() if $opt_ctest;
+
+ if ($opt_valgrind) {
+ # Create minimalistic "test" for the reporting
+ my $tinfo = My::Test->new
+ (
+ name => 'valgrind_report',
+ );
+ # Set dummy worker id to align report with normal tests
+ $tinfo->{worker} = 0 if $opt_parallel > 1;
+ if ($valgrind_reports) {
+ $tinfo->{result}= 'MTR_RES_FAILED';
+ $tinfo->{comment}= "Valgrind reported failures at shutdown, see above";
+ $tinfo->{failures}= 1;
+ } else {
+ $tinfo->{result}= 'MTR_RES_PASSED';
+ }
+ mtr_report_test($tinfo);
+ push @$completed, $tinfo;
+ }
+
mtr_print_line();
if ( $opt_gcov ) {
@@ -509,10 +588,22 @@ sub main {
mtr_report_stats($prefix, $fail, $completed, $extra_warnings);
+ if ($ctest_report) {
+ print "$ctest_report\n";
+ mtr_print_line();
+ }
+
+ print_total_times($opt_parallel) if $opt_report_times;
+
+ mtr_report_stats("Completed", $completed);
+
if ( @$completed != $num_tests)
{
mtr_error("Not all tests completed");
}
+
+ remove_vardir_subs() if $opt_clean_vardir;
+
exit(0);
}
@@ -527,8 +618,8 @@ sub run_test_server ($$$) {
my $extra_warnings= []; # Warnings found during server shutdowns
# Scheduler variables
- my $max_ndb= $childs / 2;
- $max_ndb = 4 if $max_ndb > 4;
+ my $max_ndb= $ENV{MTR_MAX_NDB} || $childs / 2;
+ $max_ndb = $childs if $max_ndb > $childs;
$max_ndb = 1 if $max_ndb < 1;
my $num_ndb_tests= 0;
@@ -550,7 +641,10 @@ sub run_test_server ($$$) {
my $suite_timeout= start_timer(suite_timeout());
}
}
+
+ mark_time_used('admin');
my @ready = $s->can_read(1); # Wake up once every second
+ mark_time_idle();
foreach my $sock (@ready) {
if ($sock == $server) {
# New client connected
@@ -620,6 +714,8 @@ sub run_test_server ($$$) {
mtr_report(" - deleting it, already saved",
"$opt_max_save_core");
unlink("$core_file");
+ } else {
+ mtr_compress_file($core_file) unless @opt_cases;
}
++$num_saved_cores;
}
@@ -628,6 +724,7 @@ sub run_test_server ($$$) {
$savedir);
}
}
+ resfile_print_test();
$num_saved_datadir++;
$num_failed_test++ unless ($result->{retries} ||
$result->{exp_fail});
@@ -636,7 +733,11 @@ sub run_test_server ($$$) {
if ( !$opt_force ) {
# Test has failed, force is off
push(@$completed, $result);
- return ("Failure", 1, $completed, $extra_warnings);
+ return ("Failure", 1, $completed, $extra_warnings)
+ unless $result->{'dont_kill_server'};
+ # Prevent kill of server, to get valgrind report
+ print $sock "BYE\n";
+ next;
}
elsif ($opt_max_test_fail > 0 and
$num_failed_test >= $opt_max_test_fail) {
@@ -647,19 +748,22 @@ sub run_test_server ($$$) {
}
}
+ resfile_print_test();
# Retry test run after test failure
my $retries= $result->{retries} || 2;
my $test_has_failed= $result->{failures} || 0;
if ($test_has_failed and $retries <= $opt_retry){
# Test should be run one more time unless it has failed
# too many times already
+ my $tname= $result->{name};
my $failures= $result->{failures};
if ($opt_retry > 1 and $failures >= $opt_retry_failure){
- mtr_report("\nTest has failed $failures times,",
+ mtr_report("\nTest $tname has failed $failures times,",
"no more retries!\n");
}
else {
- mtr_report("\nRetrying test, attempt($retries/$opt_retry)...\n");
+ mtr_report("\nRetrying test $tname, ".
+ "attempt($retries/$opt_retry)...\n");
delete($result->{result});
$result->{retries}= $retries+1;
$result->write_test($sock, 'TESTCASE');
@@ -707,7 +811,13 @@ sub run_test_server ($$$) {
# Test failure due to warnings, force is off
return ("Warnings in log", 1, $completed, $extra_warnings);
}
- } else {
+ elsif ($line =~ /^SPENT/) {
+ add_total_times($line);
+ }
+ elsif ($line eq 'VALGREP' && $opt_valgrind) {
+ $valgrind_reports= 1;
+ }
+ else {
mtr_error("Unknown response: '$line' from client");
}
@@ -739,22 +849,40 @@ sub run_test_server ($$$) {
next;
}
- # Prefer same configuration, or just use next if --noreorder
- if (!$opt_reorder or (defined $result and
- $result->{template_path} eq $t->{template_path}))
- {
- #mtr_report("Test uses same config => good match");
- # Test uses same config => good match
- $next= splice(@$tests, $i, 1);
- last;
- }
-
# Second best choice is the first that does not fulfill
# any of the above conditions
if (!defined $second_best){
#mtr_report("Setting second_best to $i");
$second_best= $i;
}
+
+ # Smart allocation of next test within this thread.
+
+ if ($opt_reorder and $opt_parallel > 1 and defined $result)
+ {
+ my $wid= $result->{worker};
+ # Reserved for other thread, try next
+ next if (defined $t->{reserved} and $t->{reserved} != $wid);
+ if (! defined $t->{reserved})
+ {
+ # Force-restart not relevant when comparing *next* test
+ $t->{criteria} =~ s/force-restart$/no-restart/;
+ my $criteria= $t->{criteria};
+ # Reserve similar tests for this worker, but not too many
+ my $maxres= (@$tests - $i) / $opt_parallel + 1;
+ for (my $j= $i+1; $j <= $i + $maxres; $j++)
+ {
+ my $tt= $tests->[$j];
+ last unless defined $tt;
+ last if $tt->{criteria} ne $criteria;
+ $tt->{reserved}= $wid;
+ }
+ }
+ }
+
+ # At this point we have found next suitable test
+ $next= splice(@$tests, $i, 1);
+ last;
}
# Use second best choice if no other test has been found
@@ -763,12 +891,14 @@ sub run_test_server ($$$) {
mtr_error("Internal error, second best too large($second_best)")
if $second_best > $#$tests;
$next= splice(@$tests, $second_best, 1);
+ delete $next->{reserved};
}
xterm_stat(scalar(@$tests));
if ($next) {
- #$next->print_test();
+ # We don't need this any more
+ delete $next->{criteria};
$next->write_test($sock, 'TESTCASE');
$running{$next->key()}= $next;
$num_ndb_tests++ if ($next->{ndb_test});
@@ -839,7 +969,9 @@ sub run_worker ($) {
# Ask server for first test
print $server "START\n";
- while(my $line= <$server>){
+ mark_time_used('init');
+
+ while (my $line= <$server>){
chomp($line);
if ($line eq 'TESTCASE'){
my $test= My::Test::read_test($server);
@@ -850,6 +982,11 @@ sub run_worker ($) {
delete($test->{'comment'});
delete($test->{'logfile'});
+ # A sanity check. Should this happen often we need to look at it.
+ if (defined $test->{reserved} && $test->{reserved} != $thread_num) {
+ my $tres= $test->{reserved};
+ mtr_warning("Test reserved for w$tres picked up by w$thread_num");
+ }
$test->{worker} = $thread_num if $opt_parallel > 1;
run_testcase($test, $server);
@@ -857,6 +994,7 @@ sub run_worker ($) {
# Send it back, now with results set
#$test->print_test();
$test->write_test($server, 'TESTRESULT');
+ mark_time_used('restart');
}
elsif ($line eq 'BYE'){
mtr_report("Server said BYE");
@@ -872,10 +1010,18 @@ sub run_worker ($) {
else {
stop_all_servers($opt_shutdown_timeout);
}
+ mark_time_used('restart');
+ my $valgrind_reports= 0;
+ if ($opt_valgrind_mysqld) {
+ $valgrind_reports= valgrind_exit_reports();
+ print $server "VALGREP\n" if $valgrind_reports;
+ }
if ( $opt_gprof ) {
gprof_collect (find_mysqld($basedir), keys %gprof_dirs);
}
- exit(0);
+ mark_time_used('admin');
+ print_times_used($server, $thread_num);
+ exit($valgrind_reports);
}
else {
mtr_error("Could not understand server, '$line'");
@@ -914,13 +1060,56 @@ sub set_vardir {
}
+sub print_global_resfile {
+ resfile_global("start_time", isotime $^T);
+ resfile_global("user_id", $<);
+ resfile_global("embedded-server", $opt_embedded_server ? 1 : 0);
+ resfile_global("ps-protocol", $opt_ps_protocol ? 1 : 0);
+ resfile_global("sp-protocol", $opt_sp_protocol ? 1 : 0);
+ resfile_global("view-protocol", $opt_view_protocol ? 1 : 0);
+ resfile_global("cursor-protocol", $opt_cursor_protocol ? 1 : 0);
+ resfile_global("ssl", $opt_ssl ? 1 : 0);
+ resfile_global("compress", $opt_compress ? 1 : 0);
+ resfile_global("parallel", $opt_parallel);
+ resfile_global("check-testcases", $opt_check_testcases ? 1 : 0);
+ resfile_global("mysqld", \@opt_extra_mysqld_opt);
+ resfile_global("debug", $opt_debug ? 1 : 0);
+ resfile_global("gcov", $opt_gcov ? 1 : 0);
+ resfile_global("gprof", $opt_gprof ? 1 : 0);
+ resfile_global("valgrind", $opt_valgrind ? 1 : 0);
+ resfile_global("callgrind", $opt_callgrind ? 1 : 0);
+ resfile_global("mem", $opt_mem ? 1 : 0);
+ resfile_global("tmpdir", $opt_tmpdir);
+ resfile_global("vardir", $opt_vardir);
+ resfile_global("fast", $opt_fast ? 1 : 0);
+ resfile_global("force-restart", $opt_force_restart ? 1 : 0);
+ resfile_global("reorder", $opt_reorder ? 1 : 0);
+ resfile_global("sleep", $opt_sleep);
+ resfile_global("repeat", $opt_repeat);
+ resfile_global("user", $opt_user);
+ resfile_global("testcase-timeout", $opt_testcase_timeout);
+ resfile_global("suite-timeout", $opt_suite_timeout);
+ resfile_global("shutdown-timeout", $opt_shutdown_timeout ? 1 : 0);
+ resfile_global("warnings", $opt_warnings ? 1 : 0);
+ resfile_global("max-connections", $opt_max_connections);
+# resfile_global("default-myisam", $opt_default_myisam ? 1 : 0);
+ resfile_global("product", "MySQL");
+ # Somewhat hacky code to convert numeric version back to dot notation
+ my $v1= int($mysql_version_id / 10000);
+ my $v2= int(($mysql_version_id % 10000)/100);
+ my $v3= $mysql_version_id % 100;
+ resfile_global("version", "$v1.$v2.$v3");
+}
+
+
+
sub command_line_setup {
my $opt_comment;
my $opt_usage;
my $opt_list_options;
# Read the command line options
- # Note: Keep list, and the order, in sync with usage at end of this file
+ # Note: Keep list in sync with usage at end of this file
Getopt::Long::Configure("pass_through");
my %options=(
# Control what engine/variation to run
@@ -956,6 +1145,7 @@ sub command_line_setup {
'combination=s' => \@opt_combinations,
'skip-combinations' => \&collect_option,
'experimental=s' => \@opt_experimentals,
+ # skip-im is deprecated and silently ignored
'skip-im' => \&ignore_option,
'staging-run' => \$opt_staging_run,
@@ -970,15 +1160,15 @@ sub command_line_setup {
# Extra options used when starting mysqld
'mysqld=s' => \@opt_extra_mysqld_opt,
-
- # Extra options used when starting mysqltest
- 'mysqltest=s' => \@opt_extra_mysqltest_opt,
+ 'mysqld-env=s' => \@opt_mysqld_envs,
# Run test on running server
'extern=s' => \%opts_extern, # Append to hash
# Debugging
'debug' => \$opt_debug,
+ 'debug-common' => \$opt_debug_common,
+ 'debug-server' => \$opt_debug_server,
'gdb' => \$opt_gdb,
'client-gdb' => \$opt_client_gdb,
'manual-gdb' => \$opt_manual_gdb,
@@ -986,6 +1176,9 @@ sub command_line_setup {
'ddd' => \$opt_ddd,
'client-ddd' => \$opt_client_ddd,
'manual-ddd' => \$opt_manual_ddd,
+ 'dbx' => \$opt_dbx,
+ 'client-dbx' => \$opt_client_dbx,
+ 'manual-dbx' => \$opt_manual_dbx,
'debugger=s' => \$opt_debugger,
'client-debugger=s' => \$opt_client_debugger,
'strace' => \$opt_strace,
@@ -1022,6 +1215,7 @@ sub command_line_setup {
'tmpdir=s' => \$opt_tmpdir,
'vardir=s' => \$opt_vardir,
'mem' => \$opt_mem,
+ 'clean-vardir' => \$opt_clean_vardir,
'client-bindir=s' => \$path_client_bindir,
'client-libdir=s' => \$path_client_libdir,
@@ -1056,9 +1250,13 @@ sub command_line_setup {
'stop-keep-alive=i' => \$opt_stop_keep_alive,
'max-connections=i' => \$opt_max_connections,
'default-myisam!' => \&collect_option,
+ 'report-times' => \$opt_report_times,
+ 'result-file' => \$opt_resfile,
+ 'unit-tests!' => \$opt_ctest,
'help|h' => \$opt_usage,
- 'list-options' => \$opt_list_options,
+ # list-options is internal, not listed in help
+ 'list-options' => \$opt_list_options,
'skip-test-list=s' => \@opt_skip_test_list
);
@@ -1169,7 +1367,7 @@ sub command_line_setup {
chomp;
# remove comments (# foo) at the beginning of the line, or after a
# blank at the end of the line
- s/( +|^)#.*$//;
+ s/(\s+|^)#.*$//;
# If @ platform specifier given, use this entry only if it contains
# @<platform> or @!<xxx> where xxx != platform
if (/\@.*/)
@@ -1180,8 +1378,8 @@ sub command_line_setup {
s/\@.*$//;
}
# remove whitespace
- s/^ +//;
- s/ +$//;
+ s/^\s+//;
+ s/\s+$//;
# if nothing left, don't need to remember this line
if ( $_ eq "" ) {
next;
@@ -1409,6 +1607,12 @@ sub command_line_setup {
$opt_ddd= undef;
}
+ if ($opt_dbx) {
+ mtr_warning("Silently converting --dbx to --client-dbx in embedded mode");
+ $opt_client_dbx= $opt_dbx;
+ $opt_dbx= undef;
+ }
+
if ($opt_debugger)
{
$opt_client_debugger= $opt_debugger;
@@ -1416,7 +1620,7 @@ sub command_line_setup {
}
if ( $opt_gdb || $opt_ddd || $opt_manual_gdb || $opt_manual_ddd ||
- $opt_manual_debug || $opt_debugger )
+ $opt_manual_debug || $opt_debugger || $opt_dbx || $opt_manual_dbx)
{
mtr_error("You need to use the client debug options for the",
"embedded server. Ex: --client-gdb");
@@ -1445,6 +1649,7 @@ sub command_line_setup {
# --------------------------------------------------------------------------
if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd ||
$opt_manual_gdb || $opt_manual_ddd || $opt_manual_debug ||
+ $opt_dbx || $opt_client_dbx || $opt_manual_dbx ||
$opt_debugger || $opt_client_debugger )
{
# Indicate that we are using debugger
@@ -1494,6 +1699,14 @@ sub command_line_setup {
}
# --------------------------------------------------------------------------
+ # Don't run ctest if tests or suites named
+ # --------------------------------------------------------------------------
+
+ $opt_ctest= 0 if $opt_ctest == -1 && ($opt_suites || @opt_cases);
+ # Override: disable if running in the PB test environment
+ $opt_ctest= 0 if $opt_ctest == -1 && defined $ENV{PB2WORKDIR};
+
+ # --------------------------------------------------------------------------
# Check use of wait-all
# --------------------------------------------------------------------------
@@ -1580,6 +1793,12 @@ sub command_line_setup {
{
push(@opt_extra_mysqld_opt, "--loose-skip-innodb-use-sys-malloc");
}
+
+ if ($opt_debug_common)
+ {
+ $opt_debug= 1;
+ $debug_d= "d,query,info,error,enter,exit";
+ }
}
@@ -1692,12 +1911,13 @@ sub collect_mysqld_features {
# Look for version
my $exe_name= basename($exe_mysqld);
mtr_verbose("exe_name: $exe_name");
- if ( $line =~ /^\S*$exe_name\s\sVer\s([0-9]*)\.([0-9]*)\.([0-9]*)/ )
+ if ( $line =~ /^\S*$exe_name\s\sVer\s([0-9]*)\.([0-9]*)\.([0-9]*)([^\s]*)/ )
{
#print "Major: $1 Minor: $2 Build: $3\n";
$mysql_version_id= $1*10000 + $2*100 + $3;
#print "mysql_version_id: $mysql_version_id\n";
mtr_report("MariaDB Version $1.$2.$3");
+ $mysql_version_extra= $4;
}
}
else
@@ -1781,12 +2001,13 @@ sub collect_mysqld_features_from_running_server ()
# Parse version
my $version_str= $mysqld_variables{'version'};
- if ( $version_str =~ /^([0-9]*)\.([0-9]*)\.([0-9]*)/ )
+ if ( $version_str =~ /^([0-9]*)\.([0-9]*)\.([0-9]*)([^\s]*)/ )
{
#print "Major: $1 Minor: $2 Build: $3\n";
$mysql_version_id= $1*10000 + $2*100 + $3;
#print "mysql_version_id: $mysql_version_id\n";
mtr_report("MySQL Version $1.$2.$3");
+ $mysql_version_extra= $4;
}
mtr_error("Could not find version of MySQL") unless $mysql_version_id;
}
@@ -1798,7 +2019,7 @@ sub find_mysqld {
my @mysqld_names= ("mysqld", "mysqld-max-nt", "mysqld-max",
"mysqld-nt");
- if ( $opt_debug ){
+ if ( $opt_debug_server ){
# Put mysqld-debug first in the list of binaries to look for
mtr_verbose("Adding mysqld-debug first in list of binaries to look for");
unshift(@mysqld_names, "mysqld-debug");
@@ -1833,18 +2054,44 @@ sub executable_setup () {
if ( ! $opt_skip_ndbcluster )
{
+ # Look for single threaded NDB
$exe_ndbd=
- my_find_bin($basedir,
+ my_find_bin($bindir,
["storage/ndb/src/kernel", "libexec", "sbin", "bin"],
"ndbd");
+ # Look for multi threaded NDB
+ $exe_ndbmtd=
+ my_find_bin($bindir,
+ ["storage/ndb/src/kernel", "libexec", "sbin", "bin"],
+ "ndbmtd", NOT_REQUIRED);
+ if ($exe_ndbmtd)
+ {
+ my $mtr_ndbmtd = $ENV{MTR_NDBMTD};
+ if ($mtr_ndbmtd)
+ {
+ mtr_report(" - multi threaded ndbd found, will be used always");
+ $exe_ndbd = $exe_ndbmtd;
+ }
+ else
+ {
+ mtr_report(" - multi threaded ndbd found, will be ".
+ "used \"round robin\"");
+ }
+ }
+
$exe_ndb_mgmd=
- my_find_bin($basedir,
+ my_find_bin($bindir,
["storage/ndb/src/mgmsrv", "libexec", "sbin", "bin"],
"ndb_mgmd");
+ $exe_ndb_mgm=
+ my_find_bin($bindir,
+ ["storage/ndb/src/mgmclient", "bin"],
+ "ndb_mgm");
+
$exe_ndb_waiter=
- my_find_bin($basedir,
+ my_find_bin($bindir,
["storage/ndb/tools/", "bin"],
"ndb_waiter");
@@ -1868,9 +2115,12 @@ sub executable_setup () {
sub client_debug_arg($$) {
my ($args, $client_name)= @_;
+ # Workaround for Bug #50627: drop any debug opt
+ return if $client_name =~ /^mysqlbinlog/;
+
if ( $opt_debug ) {
mtr_add_arg($args,
- "--debug=d:t:A,%s/log/%s.trace",
+ "--loose-debug=$debug_d:t:A,%s/log/%s.trace",
$path_vardir_trace, $client_name)
}
}
@@ -2006,7 +2256,7 @@ sub find_plugin($$)
{
my ($plugin, $location) = @_;
my $plugin_filename;
-
+
if (IS_WINDOWS)
{
$plugin_filename = $plugin.".dll";
@@ -2016,13 +2266,69 @@ sub find_plugin($$)
$plugin_filename = $plugin.".so";
}
- my $lib_example_plugin=
+ my $lib_plugin=
mtr_file_exists(vs_config_dirs($location,$plugin_filename),
"$basedir/lib/plugin/".$plugin_filename,
"$basedir/$location/.libs/".$plugin_filename,
"$basedir/lib/mysql/plugin/".$plugin_filename,
);
- return $lib_example_plugin;
+ return $lib_plugin;
+}
+
+#
+# Read plugin defintions file
+#
+
+sub read_plugin_defs($)
+{
+ my ($defs_file)= @_;
+ my $running_debug= 0;
+
+ open(PLUGDEF, '<', $defs_file)
+ or mtr_error("Can't read plugin defintions file $defs_file");
+
+ # Need to check if we will be running mysqld-debug
+ if ($opt_debug_server) {
+ $running_debug= 1 if find_mysqld($basedir) =~ /mysqld-debug/;
+ }
+
+ while (<PLUGDEF>) {
+ next if /^#/;
+ my ($plug_file, $plug_loc, $plug_var, $plug_names)= split;
+ # Allow empty lines
+ next unless $plug_file;
+ mtr_error("Lines in $defs_file must have 3 or 4 items") unless $plug_var;
+
+ # If running debug server, plugins will be in 'debug' subdirectory
+ $plug_file= "debug/$plug_file" if $running_debug;
+
+ my ($plugin)= find_plugin($plug_file, $plug_loc);
+
+ # Set env. variables that tests may use, set to empty if plugin
+ # listed in def. file but not found.
+
+ if ($plugin) {
+ $ENV{$plug_var}= basename($plugin);
+ $ENV{$plug_var.'_DIR'}= dirname($plugin);
+ $ENV{$plug_var.'_OPT'}= "--plugin-dir=".dirname($plugin);
+ if ($plug_names) {
+ my $lib_name= basename($plugin);
+ my $load_var= "--plugin_load=";
+ my $semi= '';
+ foreach my $plug_name (split (',', $plug_names)) {
+ $load_var .= $semi . "$plug_name=$lib_name";
+ $semi= ';';
+ }
+ $ENV{$plug_var.'_LOAD'}= $load_var;
+ }
+ } else {
+ $ENV{$plug_var}= "";
+ $ENV{$plug_var.'_DIR'}= "";
+ $ENV{$plug_var.'_OPT'}= "";
+ $ENV{$plug_var.'_LOAD'}= "" if $plug_names;
+ }
+ }
+ close PLUGDEF;
}
sub environment_setup {
@@ -2123,9 +2429,25 @@ sub environment_setup {
$ENV{'DEFAULT_MASTER_PORT'}= $mysqld_variables{'port'};
$ENV{'MYSQL_TMP_DIR'}= $opt_tmpdir;
$ENV{'MYSQLTEST_VARDIR'}= $opt_vardir;
+ # Used for guessing default plugin dir, we can't really know for sure
$ENV{'MYSQL_LIBDIR'}= "$basedir/lib";
+ # Override if this does not exist, but lib64 does (best effort)
+ if (! -d "$basedir/lib" && -d "$basedir/lib64") {
+ $ENV{'MYSQL_LIBDIR'}= "$basedir/lib64";
+ }
+ $ENV{'MYSQL_BINDIR'}= "$bindir";
$ENV{'MYSQL_SHAREDIR'}= $path_language;
$ENV{'MYSQL_CHARSETSDIR'}= $path_charsetsdir;
+
+ if (IS_WINDOWS)
+ {
+ $ENV{'SECURE_LOAD_PATH'}= $glob_mysql_test_dir."\\std_data";
+ }
+ else
+ {
+ $ENV{'SECURE_LOAD_PATH'}= $glob_mysql_test_dir."/std_data";
+ }
+
#
# Some stupid^H^H^H^H^H^Hignorant network providers set up "wildcard DNS"
@@ -2142,12 +2464,12 @@ sub environment_setup {
if ( ! $opt_skip_ndbcluster )
{
$ENV{'NDB_MGM'}=
- my_find_bin($basedir,
+ my_find_bin($bindir,
["storage/ndb/src/mgmclient", "bin"],
"ndb_mgm");
$ENV{'NDB_TOOLS_DIR'}=
- my_find_dir($basedir,
+ my_find_dir($bindir,
["storage/ndb/tools", "bin"]);
$ENV{'NDB_EXAMPLES_DIR'}=
@@ -2155,7 +2477,7 @@ sub environment_setup {
["storage/ndb/ndbapi-examples", "bin"]);
$ENV{'NDB_EXAMPLES_BINARY'}=
- my_find_bin($basedir,
+ my_find_bin($bindir,
["storage/ndb/ndbapi-examples/ndbapi_simple", "bin"],
"ndbapi_simple", NOT_REQUIRED);
@@ -2254,6 +2576,12 @@ sub environment_setup {
}
+sub remove_vardir_subs() {
+ foreach my $sdir ( glob("$opt_vardir/*") ) {
+ mtr_verbose("Removing subdir $sdir");
+ rmtree($sdir);
+ }
+}
#
# Remove var and any directories in var/ created by previous
@@ -2298,11 +2626,7 @@ sub remove_stale_vardir () {
mtr_error("The destination for symlink $opt_vardir does not exist")
if ! -d readlink($opt_vardir);
- foreach my $bin ( glob("$opt_vardir/*") )
- {
- mtr_verbose("Removing bin $bin");
- rmtree($bin);
- }
+ remove_vardir_subs();
}
}
else
@@ -2533,9 +2857,9 @@ sub check_debug_support ($) {
#mtr_report(" - binaries are not debug compiled");
$debug_compiled_binaries= 0;
- if ( $opt_debug )
+ if ( $opt_debug_server )
{
- mtr_error("Can't use --debug, binaries does not support it");
+ mtr_error("Can't use --debug[-server], binary does not support it");
}
return;
}
@@ -2581,6 +2905,17 @@ sub fix_vs_config_dir () {
sub check_ndbcluster_support ($) {
my $mysqld_variables= shift;
+ # Check if this is MySQL Cluster, ie. mysql version string ends
+ # with -ndb-Y.Y.Y[-status]
+ if ( defined $mysql_version_extra &&
+ $mysql_version_extra =~ /^-ndb-/ )
+ {
+ mtr_report(" - MySQL Cluster");
+ # Enable ndb engine and add more test suites
+ $opt_include_ndbcluster = 1;
+ $DEFAULT_SUITES.=",ndb";
+ }
+
if ($opt_include_ndbcluster)
{
$opt_skip_ndbcluster= 0;
@@ -2693,6 +3028,27 @@ sub ndb_mgmd_wait_started($) {
return 1;
}
+sub ndb_mgmd_stop{
+ my $ndb_mgmd= shift or die "usage: ndb_mgmd_stop(<ndb_mgmd>)";
+
+ my $host=$ndb_mgmd->value('HostName');
+ my $port=$ndb_mgmd->value('PortNumber');
+ mtr_verbose("Stopping cluster '$host:$port'");
+
+ my $args;
+ mtr_init_args(\$args);
+ mtr_add_arg($args, "--ndb-connectstring=%s:%s", $host,$port);
+ mtr_add_arg($args, "-e");
+ mtr_add_arg($args, "shutdown");
+
+ My::SafeProcess->run
+ (
+ name => "ndb_mgm shutdown $host:$port",
+ path => $exe_ndb_mgm,
+ args => \$args,
+ output => "/dev/null",
+ );
+}
sub ndb_mgmd_start ($$) {
my ($cluster, $ndb_mgmd)= @_;
@@ -2720,6 +3076,7 @@ sub ndb_mgmd_start ($$) {
error => $path_ndb_mgmd_log,
append => 1,
verbose => $opt_verbose,
+ shutdown => sub { ndb_mgmd_stop($ndb_mgmd) },
);
mtr_verbose("Started $ndb_mgmd->{proc}");
@@ -2735,6 +3092,12 @@ sub ndb_mgmd_start ($$) {
return 0;
}
+sub ndbd_stop {
+ # Intentionally left empty, ndbd nodes will be shutdown
+ # by sending "shutdown" to ndb_mgmd
+}
+
+my $exe_ndbmtd_counter= 0;
sub ndbd_start {
my ($cluster, $ndbd)= @_;
@@ -2752,17 +3115,24 @@ sub ndbd_start {
# > 5.0 { 'character-sets-dir' => \&fix_charset_dir },
+ my $exe= $exe_ndbd;
+ if ($exe_ndbmtd and ($exe_ndbmtd_counter++ % 2) == 0)
+ {
+ # Use ndbmtd every other time
+ $exe= $exe_ndbmtd;
+ }
my $path_ndbd_log= "$dir/ndbd.log";
my $proc= My::SafeProcess->new
(
name => $ndbd->after('cluster_config.'),
- path => $exe_ndbd,
+ path => $exe,
args => \$args,
output => $path_ndbd_log,
error => $path_ndbd_log,
append => 1,
verbose => $opt_verbose,
+ shutdown => sub { ndbd_stop($ndbd) },
);
mtr_verbose("Started $proc");
@@ -3131,13 +3501,19 @@ sub mysql_install_db {
if ( $opt_debug )
{
- mtr_add_arg($args, "--debug=d:t:i:A,%s/log/bootstrap.trace",
+ mtr_add_arg($args, "--debug=$debug_d:t:i:A,%s/log/bootstrap.trace",
$path_vardir_trace);
}
mtr_add_arg($args, "--lc-messages-dir=%s", $install_lang);
mtr_add_arg($args, "--character-sets-dir=%s", $install_chsdir);
+ # On some old linux kernels, aio on tmpfs is not supported
+ # Remove this if/when Bug #58421 fixes this in the server
+ if ($^O eq "linux" && $opt_mem) {
+ mtr_add_arg($args, "--loose-skip-innodb-use-native-aio");
+ }
+
# InnoDB arguments that affect file location and sizes may
# need to be given to the bootstrap process as well as the
# server process.
@@ -3384,7 +3760,7 @@ sub check_testcase($$)
# Return immediately if no check proceess was started
return 0 unless ( keys %started );
- my $timeout= start_timer(check_timeout());
+ my $timeout= start_timer(check_timeout($tinfo));
while (1){
my $result;
@@ -3412,6 +3788,7 @@ sub check_testcase($$)
if ( keys(%started) == 0){
# All checks completed
+ mark_time_used('check');
return 0;
}
# Wait for next process to exit
@@ -3427,7 +3804,8 @@ sub check_testcase($$)
"\nMTR's internal check of the test case '$tname' failed.
This means that the test case does not preserve the state that existed
before the test case was executed. Most likely the test case did not
-do a proper clean-up.
+do a proper clean-up. It could also be caused by the previous test run
+by this thread, if the server wasn't restarted.
This is the diff of the states of the servers before and after the
test case was executed:\n";
$tinfo->{check}.= $report;
@@ -3458,7 +3836,7 @@ test case was executed:\n";
}
elsif ( $proc->{timeout} ) {
$tinfo->{comment}.= "Timeout for 'check-testcase' expired after "
- .check_timeout()." seconds";
+ .check_timeout($tinfo)." seconds";
$result= 4;
}
else {
@@ -3473,6 +3851,11 @@ test case was executed:\n";
# Kill any check processes still running
map($_->kill(), values(%started));
+ mtr_warning("Check-testcase failed, this could also be caused by the" .
+ " previous test run by this worker thread")
+ if $result > 1 && $mode eq "before";
+ mark_time_used('check');
+
return $result;
}
@@ -3543,7 +3926,7 @@ sub run_on_all($$)
# Return immediately if no check proceess was started
return 0 unless ( keys %started );
- my $timeout= start_timer(check_timeout());
+ my $timeout= start_timer(check_timeout($tinfo));
while (1){
my $result;
@@ -3574,7 +3957,7 @@ sub run_on_all($$)
}
elsif ($proc->{timeout}) {
$tinfo->{comment}.= "Timeout for '$run' expired after "
- .check_timeout()." seconds";
+ .check_timeout($tinfo)." seconds";
}
else {
# Unknown process returned, most likley a crash, abort everything
@@ -3652,13 +4035,14 @@ sub find_analyze_request
# The test can leave a file in var/tmp/ to signal
# that all servers should be restarted
-sub restart_forced_by_test
+sub restart_forced_by_test($)
{
+ my $file = shift;
my $restart = 0;
foreach my $mysqld ( mysqlds() )
{
my $datadir = $mysqld->value('datadir');
- my $force_restart_file = "$datadir/mtr/force_restart";
+ my $force_restart_file = "$datadir/mtr/$file";
if ( -f $force_restart_file )
{
mtr_verbose("Restart of servers forced by test");
@@ -3754,6 +4138,18 @@ sub all_servers {
# Storage for changed environment variables
my %old_env;
+sub resfile_report_test ($) {
+ my $tinfo= shift;
+
+ resfile_new_test();
+
+ resfile_test_info("name", $tinfo->{name});
+ resfile_test_info("variation", $tinfo->{combination})
+ if $tinfo->{combination};
+ resfile_test_info("start_time", isotime time);
+}
+
+
#
# Run a single test case
#
@@ -3766,6 +4162,7 @@ sub run_testcase ($$) {
my ($tinfo, $server_socket)= @_;
mtr_verbose("Running test:", $tinfo->{name});
+ resfile_report_test($tinfo) if $opt_resfile;
# Allow only alpanumerics pluss _ - + . in combination names,
# or anything beginning with -- (the latter comes from --combination)
@@ -3878,6 +4275,7 @@ sub run_testcase ($$) {
return 1;
}
}
+ mark_time_used('restart');
# --------------------------------------------------------------------
# If --start or --start-dirty given, stop here to let user manually
@@ -3930,6 +4328,8 @@ sub run_testcase ($$) {
do_before_run_mysqltest($tinfo);
+ mark_time_used('admin');
+
if ( $opt_check_testcases and check_testcase($tinfo, "before") ){
# Failed to record state of server or server crashed
report_failure_and_restart($tinfo);
@@ -3976,6 +4376,7 @@ sub run_testcase ($$) {
}
mtr_verbose("Got $proc");
+ mark_time_used('test');
# ----------------------------------------------------
# Was it the test program that exited
# ----------------------------------------------------
@@ -3988,12 +4389,13 @@ sub run_testcase ($$) {
# Test case suceeded, but it has produced unexpected
# warnings, continue in $res == 1
$res= 1;
+ resfile_output($tinfo->{'warnings'}) if $opt_resfile;
}
if ( $res == 0 )
{
my $check_res;
- if ( restart_forced_by_test() )
+ if ( restart_forced_by_test('force_restart') )
{
stop_all_servers($opt_shutdown_timeout);
}
@@ -4015,6 +4417,7 @@ sub run_testcase ($$) {
stop_all_servers($opt_shutdown_timeout);
}
mtr_report("Resuming tests...\n");
+ resfile_output($tinfo->{'check'}) if $opt_resfile;
}
else {
# Test case check failed fatally, probably a server crashed
@@ -4032,8 +4435,11 @@ sub run_testcase ($$) {
find_testcase_skipped_reason($tinfo);
mtr_report_test_skipped($tinfo);
# Restart if skipped due to missing perl, it may have had side effects
- stop_all_servers($opt_shutdown_timeout)
- if ($tinfo->{'comment'} =~ /^perl not found/);
+ if ( restart_forced_by_test('force_restart_if_skipped') ||
+ $tinfo->{'comment'} =~ /^perl not found/ )
+ {
+ stop_all_servers($opt_shutdown_timeout);
+ }
}
elsif ( $res == 65 )
{
@@ -4073,6 +4479,9 @@ sub run_testcase ($$) {
# Save info from this testcase run to mysqltest.log
if( -f $path_current_testlog)
{
+ if ($opt_resfile && $res && $res != 62) {
+ resfile_output_file($path_current_testlog);
+ }
mtr_appendfile_to_file($path_current_testlog, $path_testlog);
unlink($path_current_testlog);
}
@@ -4084,7 +4493,6 @@ sub run_testcase ($$) {
# ----------------------------------------------------
# Check if it was an expected crash
# ----------------------------------------------------
- SRVDIED:
my $check_crash = check_expected_crash_and_restart($proc);
if ($check_crash)
{
@@ -4094,6 +4502,7 @@ sub run_testcase ($$) {
next;
}
+ SRVDIED:
# ----------------------------------------------------
# Stop the test case timer
# ----------------------------------------------------
@@ -4274,7 +4683,9 @@ sub get_log_from_proc ($$) {
foreach my $mysqld (all_servers()) {
if ($mysqld->{proc} eq $proc) {
my @srv_lines= extract_server_log($mysqld->if_exist('#log-error'), $name);
- $srv_log= "\nServer log from this test:\n" . join ("", @srv_lines);
+ $srv_log= "\nServer log from this test:\n" .
+ "----------SERVER LOG START-----------\n". join ("", @srv_lines) .
+ "----------SERVER LOG END-------------\n";
last;
}
}
@@ -4503,7 +4914,7 @@ sub check_warnings ($) {
# Return immediately if no check proceess was started
return 0 unless ( keys %started );
- my $timeout= start_timer(check_timeout());
+ my $timeout= start_timer(check_timeout($tinfo));
while (1){
my $result= 0;
@@ -4536,6 +4947,7 @@ sub check_warnings ($) {
if ( keys(%started) == 0){
# All checks completed
+ mark_time_used('ch-warn');
return $result;
}
# Wait for next process to exit
@@ -4555,7 +4967,7 @@ sub check_warnings ($) {
}
elsif ( $proc->{timeout} ) {
$tinfo->{comment}.= "Timeout for 'check warnings' expired after "
- .check_timeout()." seconds";
+ .check_timeout($tinfo)." seconds";
$result= 4;
}
else {
@@ -4569,6 +4981,7 @@ sub check_warnings ($) {
# Kill any check processes still running
map($_->kill(), values(%started));
+ mark_time_used('ch-warn');
return $result;
}
@@ -4617,8 +5030,10 @@ sub check_expected_crash_and_restart {
{
mtr_verbose("Crash was expected, file '$expect_file' exists");
- for (my $waits = 0; $waits < 50; $waits++)
+ for (my $waits = 0; $waits < 50; mtr_milli_sleep(100), $waits++)
{
+ # Race condition seen on Windows: try again until file not empty
+ next if -z $expect_file;
# If last line in expect file starts with "wait"
# sleep a little and try again, thus allowing the
# test script to control when the server should start
@@ -4627,10 +5042,11 @@ sub check_expected_crash_and_restart {
if ($last_line =~ /^wait/ )
{
mtr_verbose("Test says wait before restart") if $waits == 0;
- mtr_milli_sleep(100);
next;
}
+ # Ignore any partial or unknown command
+ next unless $last_line =~ /^restart/;
# If last line begins "restart:", the rest of the line is read as
# extra command line options to add to the restarted mysqld.
# Anything other than 'wait' or 'restart:' (with a colon) will
@@ -4755,7 +5171,12 @@ sub after_failure ($) {
sub report_failure_and_restart ($) {
my $tinfo= shift;
- stop_all_servers();
+ if ($opt_valgrind_mysqld && ($tinfo->{'warnings'} || $tinfo->{'timeout'})) {
+ # In these cases we may want valgrind report from normal termination
+ $tinfo->{'dont_kill_server'}= 1;
+ }
+ # Shotdown properly if not to be killed (for valgrind)
+ stop_all_servers($tinfo->{'dont_kill_server'} ? $opt_shutdown_timeout : 0);
$tinfo->{'result'}= 'MTR_RES_FAILED';
@@ -4857,7 +5278,13 @@ sub mysqld_arguments ($$$) {
my $mysqld= shift;
my $extra_opts= shift;
- mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+ my @defaults = grep(/^--defaults-file=/, @$extra_opts);
+ if (@defaults > 0) {
+ mtr_add_arg($args, pop(@defaults))
+ }
+ else {
+ mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
+ }
# When mysqld is run by a root user(euid is 0), it will fail
# to start unless we specify what user to run as, see BUG#30630
@@ -4877,6 +5304,13 @@ sub mysqld_arguments ($$$) {
mtr_add_arg($args, "%s--disable-sync-frm");
+ # On some old linux kernels, aio on tmpfs is not supported
+ # Remove this if/when Bug #58421 fixes this in the server
+ if ($^O eq "linux" && $opt_mem)
+ {
+ mtr_add_arg($args, "--loose-skip-innodb-use-native-aio");
+ }
+
if (!using_extern() and $mysql_version_id >= 50106 && !$opt_user_args)
{
# Turn on logging to file
@@ -4895,6 +5329,9 @@ sub mysqld_arguments ($$$) {
my $found_skip_core= 0;
foreach my $arg ( @$extra_opts )
{
+ # Skip --defaults-file option since it's handled above.
+ next if $arg =~ /^--defaults-file/;
+
# Allow --skip-core-file to be set in <testname>-[master|slave].opt file
if ($arg eq "--skip-core-file")
{
@@ -4965,12 +5402,14 @@ sub mysqld_start ($$) {
my @all_opts= @$extra_opts;
if (exists $mysqld->{'restart_opts'}) {
push (@all_opts, @{$mysqld->{'restart_opts'}});
+ mtr_verbose(My::Options::toStr("mysqld_start restart",
+ @{$mysqld->{'restart_opts'}}));
}
mysqld_arguments($args,$mysqld,\@all_opts);
if ( $opt_debug )
{
- mtr_add_arg($args, "--debug=d:t:i:A,%s/log/%s.trace",
+ mtr_add_arg($args, "--debug=$debug_d:t:i:A,%s/log/%s.trace",
$path_vardir_trace, $mysqld->name());
}
@@ -4990,6 +5429,9 @@ sub mysqld_start ($$) {
{
ddd_arguments(\$args, \$exe, $mysqld->name());
}
+ if ( $opt_dbx || $opt_manual_dbx ) {
+ dbx_arguments(\$args, \$exe, $mysqld->name());
+ }
elsif ( $opt_debugger )
{
debugger_arguments(\$args, \$exe, $mysqld->name());
@@ -5015,6 +5457,7 @@ sub mysqld_start ($$) {
unlink($mysqld->value('pid-file'));
my $output= $mysqld->value('#log-error');
+
if ( $opt_valgrind and $opt_debug )
{
# When both --valgrind and --debug is selected, send
@@ -5052,6 +5495,7 @@ sub mysqld_start ($$) {
nocore => $opt_skip_core,
host => undef,
shutdown => sub { mysqld_stop($mysqld) },
+ envs => \@opt_mysqld_envs,
);
mtr_verbose("Started $mysqld->{proc}");
}
@@ -5145,17 +5589,6 @@ sub server_need_restart {
}
}
- # Temporary re-enable the "always restart slave" hack
- # this should be removed asap, but will require that each rpl
- # testcase cleanup better after itself - ie. stop and reset
- # replication
- # Use the "#!use-slave-opt" marker to detect that this is a "slave"
- # server
- if ( $server->option("#!use-slave-opt") ){
- mtr_verbose_restart($server, "Always restart slave(s)");
- return 1;
- }
-
if ($server->name() =~ /^mysqld\./)
{
@@ -5363,6 +5796,8 @@ sub start_mysqltest ($) {
my $exe= $exe_mysqltest;
my $args;
+ mark_time_used('admin');
+
mtr_init_args(\$args);
mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
@@ -5423,10 +5858,6 @@ sub start_mysqltest ($) {
mtr_add_arg($args, "--ssl");
}
- foreach my $arg ( @opt_extra_mysqltest_opt )
- {
- mtr_add_arg($args, "%s", $arg);
- }
if ( $opt_max_connections ) {
mtr_add_arg($args, "--max-connections=%d", $opt_max_connections);
}
@@ -5456,11 +5887,6 @@ sub start_mysqltest ($) {
}
}
- foreach my $arg ( @opt_extra_mysqltest_opt )
- {
- mtr_add_arg($args, "%s", $arg);
- }
-
# ----------------------------------------------------------------------
# export MYSQL_TEST variable containing <path>/mysqltest <args>
# ----------------------------------------------------------------------
@@ -5510,6 +5936,9 @@ sub start_mysqltest ($) {
{
ddd_arguments(\$args, \$exe, "client");
}
+ if ( $opt_client_dbx ) {
+ dbx_arguments(\$args, \$exe, "client");
+ }
elsif ( $opt_client_debugger )
{
debugger_arguments(\$args, \$exe, "client");
@@ -5544,16 +5973,8 @@ sub gdb_arguments {
# Remove the old gdbinit file
unlink($gdb_init_file);
- if ( $type eq "client" )
- {
- # write init file for client
- mtr_tofile($gdb_init_file, "set args $str\n");
- }
- else
- {
- # write init file for mysqld
- mtr_tofile($gdb_init_file, "set args $str\n");
- }
+ # write init file for mysqld or client
+ mtr_tofile($gdb_init_file, "set args $str\n");
if ( $opt_manual_gdb )
{
@@ -5600,16 +6021,8 @@ sub ddd_arguments {
# Remove the old gdbinit file
unlink($gdb_init_file);
- if ( $type eq "client" )
- {
- # write init file for client
- mtr_tofile($gdb_init_file, "set args $str\n");
- }
- else
- {
- # write init file for mysqld
- mtr_tofile($gdb_init_file, "file $$exe\nset args $str\n");
- }
+ # write init file for mysqld or client
+ mtr_tofile($gdb_init_file, "file $$exe\nset args $str\n");
if ( $opt_manual_ddd )
{
@@ -5639,6 +6052,46 @@ sub ddd_arguments {
#
+# Modify the exe and args so that program is run in dbx in xterm
+#
+sub dbx_arguments {
+ my $args= shift;
+ my $exe= shift;
+ my $type= shift;
+
+ # Put $args into a single string
+ my $str= join " ", @$$args;
+
+ if ( $opt_manual_dbx ) {
+ print "\nTo start dbx for $type, type in another window:\n";
+ print "cd $glob_mysql_test_dir; dbx -c \"stop in main; " .
+ "run $str\" $$exe\n";
+
+ # Indicate the exe should not be started
+ $$exe= undef;
+ return;
+ }
+
+ $$args= [];
+ mtr_add_arg($$args, "-title");
+ mtr_add_arg($$args, "$type");
+ mtr_add_arg($$args, "-e");
+
+ if ( $exe_libtool ) {
+ mtr_add_arg($$args, $exe_libtool);
+ mtr_add_arg($$args, "--mode=execute");
+ }
+
+ mtr_add_arg($$args, "dbx");
+ mtr_add_arg($$args, "-c");
+ mtr_add_arg($$args, "stop in main; run $str");
+ mtr_add_arg($$args, "$$exe");
+
+ $$exe= "xterm";
+}
+
+
+#
# Modify the exe and args so that program is run in the selected debugger
#
sub debugger_arguments {
@@ -5669,18 +6122,6 @@ sub debugger_arguments {
$$exe= $debugger;
}
- elsif ( $debugger eq "dbx" )
- {
- # xterm -e dbx -r exe arg1 .. argn
-
- unshift(@$$args, $$exe);
- unshift(@$$args, "-r");
- unshift(@$$args, $debugger);
- unshift(@$$args, "-e");
-
- $$exe= "xterm";
-
- }
else
{
mtr_error("Unknown argument \"$debugger\" passed to --debugger");
@@ -5752,6 +6193,141 @@ sub strace_arguments {
}
}
+sub valgrind_exit_reports() {
+ my $found_err= 0;
+
+ foreach my $log_file (keys %mysqld_logs)
+ {
+ my @culprits= ();
+ my $valgrind_rep= "";
+ my $found_report= 0;
+ my $err_in_report= 0;
+
+ my $LOGF = IO::File->new($log_file)
+ or mtr_error("Could not open file '$log_file' for reading: $!");
+
+ while ( my $line = <$LOGF> )
+ {
+ if ($line =~ /^CURRENT_TEST: (.+)$/)
+ {
+ my $testname= $1;
+ # If we have a report, report it if needed and start new list of tests
+ if ($found_report)
+ {
+ if ($err_in_report)
+ {
+ mtr_print ("Valgrind report from $log_file after tests:\n",
+ @culprits);
+ mtr_print_line();
+ print ("$valgrind_rep\n");
+ $found_err= 1;
+ $err_in_report= 0;
+ }
+ # Make ready to collect new report
+ @culprits= ();
+ $found_report= 0;
+ $valgrind_rep= "";
+ }
+ push (@culprits, $testname);
+ next;
+ }
+ # This line marks the start of a valgrind report
+ $found_report= 1 if $line =~ /^==\d+== .* SUMMARY:/;
+
+ if ($found_report) {
+ $line=~ s/^==\d+== //;
+ $valgrind_rep .= $line;
+ $err_in_report= 1 if $line =~ /ERROR SUMMARY: [1-9]/;
+ $err_in_report= 1 if $line =~ /definitely lost: [1-9]/;
+ $err_in_report= 1 if $line =~ /possibly lost: [1-9]/;
+ }
+ }
+
+ $LOGF= undef;
+
+ if ($err_in_report) {
+ mtr_print ("Valgrind report from $log_file after tests:\n", @culprits);
+ mtr_print_line();
+ print ("$valgrind_rep\n");
+ $found_err= 1;
+ }
+ }
+
+ return $found_err;
+}
+
+sub run_ctest() {
+ my $olddir= getcwd();
+ chdir ($bindir) or die ("Could not chdir to $bindir");
+ my $tinfo;
+ my $no_ctest= (IS_WINDOWS) ? 256 : -1;
+ my $ctest_vs= "";
+
+ # Just ignore if not configured/built to run ctest
+ if (! -f "CTestTestfile.cmake") {
+ chdir($olddir);
+ return;
+ }
+
+ # Add vs-config option if needed
+ $ctest_vs= "-C $opt_vs_config" if $opt_vs_config;
+
+ # Also silently ignore if we don't have ctest and didn't insist
+ # Special override: also ignore in Pushbuild, some platforms may not have it
+ # Now, run ctest and collect output
+ my $ctest_out= `ctest $ctest_vs 2>&1`;
+ if ($? == $no_ctest && $opt_ctest == -1 && ! defined $ENV{PB2WORKDIR}) {
+ chdir($olddir);
+ return;
+ }
+
+ # Create minimalistic "test" for the reporting
+ $tinfo = My::Test->new
+ (
+ name => 'unit_tests',
+ );
+ # Set dummy worker id to align report with normal tests
+ $tinfo->{worker} = 0 if $opt_parallel > 1;
+
+ my $ctfail= 0; # Did ctest fail?
+ if ($?) {
+ $ctfail= 1;
+ $tinfo->{result}= 'MTR_RES_FAILED';
+ $tinfo->{comment}= "ctest failed with exit code $?, see result below";
+ $ctest_out= "" unless $ctest_out;
+ }
+ my $ctfile= "$opt_vardir/ctest.log";
+ my $ctres= 0; # Did ctest produce report summary?
+
+ open (CTEST, " > $ctfile") or die ("Could not open output file $ctfile");
+
+ # Put ctest output in log file, while analyzing results
+ for (split ('\n', $ctest_out)) {
+ print CTEST "$_\n";
+ if (/tests passed/) {
+ $ctres= 1;
+ $ctest_report .= "\nUnit tests: $_\n";
+ }
+ if ( /FAILED/ or /\(Failed\)/ ) {
+ $ctfail= 1;
+ $ctest_report .= " $_\n";
+ }
+ }
+ close CTEST;
+
+ # Set needed 'attributes' for test reporting
+ $tinfo->{comment}.= "\nctest did not pruduce report summary" if ! $ctres;
+ $tinfo->{result}= ($ctres && !$ctfail)
+ ? 'MTR_RES_PASSED' : 'MTR_RES_FAILED';
+ $ctest_report .= "Report from unit tests in $ctfile";
+ $tinfo->{failures}= ($tinfo->{result} eq 'MTR_RES_FAILED');
+
+ mark_time_used('test');
+ mtr_report_test($tinfo);
+ chdir($olddir);
+ return $tinfo;
+}
+
#
# Usage
@@ -5786,7 +6362,7 @@ Options to control what engine/variation to run
parallel=# How many parallell test should be run
defaults-file=<config template> Use fixed config template for all
tests
- defaults_extra_file=<config template> Extra config template to add to
+ defaults-extra-file=<config template> Extra config template to add to
all generated configs
combination=<opt> Use at least twice to run tests with specified
options to mysqld
@@ -5804,6 +6380,8 @@ Options to control directories to use
for tmpfs (/dev/shm)
The option can also be set using environment
variable MTR_MEM=[DIR]
+ clean-vardir Clean vardir if tests were successful and if
+ running in "memory". Otherwise this option is ignored
client-bindir=PATH Path to the directory where client binaries are located
client-libdir=PATH Path to the directory where client libraries are located
@@ -5855,10 +6433,10 @@ Options for test case authoring
check-testcases Check testcases for sideeffects
mark-progress Log line number and elapsed time to <testname>.progress
-Options that pass on options
+Options that pass on options (these may be repeated)
mysqld=ARGS Specify additional arguments to "mysqld"
- mysqltest=ARGS Specify additional arguments to "mysqltest"
+ mysqld-env=VAR=VAL Specify additional environment settings for "mysqld"
Options to run test on running server
@@ -5873,16 +6451,24 @@ Options for debugging the product
client-ddd Start mysqltest client in ddd
client-debugger=NAME Start mysqltest in the selected debugger
client-gdb Start mysqltest client in gdb
+ client-dbx Start mysqltest client in dbx
ddd Start mysqld in ddd
debug Dump trace output for all servers and client programs
+ debug-common Same as debug, but sets 'd' debug flags to
+ "query,info,error,enter,exit"
+ debug-server Use debug version of server, but without turning on
+ tracing
debugger=NAME Start mysqld in the selected debugger
gdb Start the mysqld(s) in gdb
+ dbx Start the mysqld(s) in dbx
manual-debug Let user manually start mysqld in debugger, before
running test(s)
manual-gdb Let user manually start mysqld in gdb, before running
test(s)
manual-ddd Let user manually start mysqld in ddd, before running
test(s)
+ manual-dbx Let user manually start mysqld in dbx, before running
+ test(s)
max-save-core Limit the number of core files saved (to avoid filling
up disks for heavily crashing server). Defaults to
$opt_max_save_core, set to 0 for no limit. Set
@@ -5922,7 +6508,7 @@ Options for strace
Misc options
user=USER User for connecting to mysqld(default: $opt_user)
comment=STR Write STR to the output
- notimer Don't show test case execution time
+ timer Show test case execution time.
verbose More verbose output(use multiple times for even more)
verbose-restart Write when and why servers are restarted
start Only initialize and start the servers, using the
@@ -5976,6 +6562,7 @@ Misc options
gcov-src-dir=subdir Colllect coverage only within the given subdirectory.
For example, if you're only developing the SQL layer,
it makes sense to use --gcov-src-dir=sql
+ gprof Collect profiling information using gprof.
experimental=<file> Refer to list of tests considered experimental;
failures will be marked exp-fail instead of fail.
report-features First run a "test" that reports mysql features
@@ -5986,6 +6573,16 @@ Misc options
default-myisam Set default storage engine to MyISAM for non-innodb
tests. This is needed after switching default storage
engine to InnoDB.
+ report-times Report how much time has been spent on different
+ phases of test execution.
+ nounit-tests Do not run unit tests. Normally run if configured
+ and if not running named tests/suites
+ unit-tests Run unit tests even if they would otherwise not be run
+
+Some options that control enabling a feature for normal test runs,
+can be turned off by prepending 'no' to the option, e.g. --notimer.
+This applies to reorder, timer, check-testcases and warnings.
+
HERE
exit(1);
diff --git a/mysql-test/purify.supp b/mysql-test/purify.supp
index 58553130c51..74ed8c42181 100644
--- a/mysql-test/purify.supp
+++ b/mysql-test/purify.supp
@@ -1,3 +1,20 @@
+# Copyright (C) 2005, 2007 MySQL AB
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+# MA 02111-1307, USA
+
suppress UMR rw_read_held; mi_open; ha_myisam::open64; handler::ha_open; openfrm
suppress UMR my_end; main
suppress UMR _doprnt; fprintf; my_end; main
diff --git a/mysql-test/r/1st.result b/mysql-test/r/1st.result
index ae9989ce563..792d9eaf2f1 100644
--- a/mysql-test/r/1st.result
+++ b/mysql-test/r/1st.result
@@ -21,6 +21,7 @@ ndb_binlog_index
plugin
proc
procs_priv
+proxies_priv
servers
slow_log
tables_priv
diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result
index 8ee24a86f10..723855867f3 100644
--- a/mysql-test/r/alter_table.result
+++ b/mysql-test/r/alter_table.result
@@ -1290,3 +1290,24 @@ ALTER TABLE t1 CHANGE a id INT;
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
DROP TABLE t1;
+#
+# Bug#11754461 CANNOT ALTER TABLE WHEN KEY PREFIX TOO LONG
+#
+DROP DATABASE IF EXISTS db1;
+CREATE DATABASE db1 CHARACTER SET utf8;
+CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(100)));
+ALTER TABLE db1.t1 ADD baz INT;
+DROP DATABASE db1;
+#
+# Bug#11938039 RE-EXECUTION OF FRM-ONLY ALTER TABLE WITH RENAME
+# CLAUSE FAILS OR ABORTS SERVER.
+#
+drop table if exists t1;
+create table t1 (a int);
+prepare stmt1 from 'alter table t1 alter column a set default 1, rename to t2';
+execute stmt1;
+rename table t2 to t1;
+# The below statement should succeed and not emit error or abort server.
+execute stmt1;
+deallocate prepare stmt1;
+drop table t2;
diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result
index 0983e9fa8cf..a297622155b 100644
--- a/mysql-test/r/archive.result
+++ b/mysql-test/r/archive.result
@@ -12801,3 +12801,25 @@ t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
DROP TABLE t1;
+#
+# BUG#58205 - Valgrind failure in fn_format when called from
+# archive_discover
+#
+CREATE TABLE `a/../`(a INT) ENGINE=ARCHIVE;
+DROP TABLE `a/../`;
+#
+# BUG#57162 - valgrind errors, random data when returning
+# ordered data from archive tables
+#
+SET sort_buffer_size=32804;
+CREATE TABLE t1(a INT, b CHAR(255), c CHAR(255), d CHAR(255),
+e CHAR(255), f INT) ENGINE=ARCHIVE DEFAULT CHARSET utf8;
+INSERT INTO t1 VALUES(-1,'b','c','d','e',1);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT t1.* FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6;
+SELECT * FROM t1 ORDER BY f LIMIT 1;
+a b c d e f
+-1 b c d e 1
+DROP TABLE t1;
+SET sort_buffer_size=DEFAULT;
diff --git a/mysql-test/r/archive_debug.result b/mysql-test/r/archive_debug.result
new file mode 100644
index 00000000000..cc5a3761a99
--- /dev/null
+++ b/mysql-test/r/archive_debug.result
@@ -0,0 +1,12 @@
+#
+# BUG#12402794 - 60976: CRASH, VALGRIND WARNING AND MEMORY LEAK
+# WITH PARTITIONED ARCHIVE TABLES
+#
+CREATE TABLE t1(a INT) ENGINE=ARCHIVE;
+INSERT INTO t1 VALUES(1);
+SET SESSION debug='d,simulate_archive_open_failure';
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check error Corrupt
+SET SESSION debug=DEFAULT;
+DROP TABLE t1;
diff --git a/mysql-test/r/archive_plugin.result b/mysql-test/r/archive_plugin.result
index 221b343cca5..90c1f10bf19 100644
--- a/mysql-test/r/archive_plugin.result
+++ b/mysql-test/r/archive_plugin.result
@@ -10,6 +10,9 @@ UNINSTALL PLUGIN archive;
INSTALL PLUGIN archive SONAME 'ha_archive.so';
CREATE TABLE t1(a int) ENGINE=ARCHIVE;
DROP TABLE t1;
+SELECT 1;
+1
+1
UNINSTALL PLUGIN archive;
UNINSTALL PLUGIN archive;
ERROR 42000: PLUGIN archive does not exist
diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result
index dbeedb481cd..d21e78428c5 100644
--- a/mysql-test/r/auto_increment.result
+++ b/mysql-test/r/auto_increment.result
@@ -476,3 +476,43 @@ SELECT a FROM t2;
a
2
DROP TABLE t1, t2;
+#
+# Bug#39828 autoinc wraps around when offset and increment > 1
+#
+CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) engine=MyISAM;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 VALUES (18446744073709551601);
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=10;
+SELECT @@SESSION.AUTO_INCREMENT_OFFSET;
+@@SESSION.AUTO_INCREMENT_OFFSET
+1
+INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
+ERROR 22003: Out of range value for column 't1' at row 167
+SELECT * FROM t1;
+c1
+1
+18446744073709551601
+18446744073709551611
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=default;
+SET @@SESSION.AUTO_INCREMENT_OFFSET=default;
+DROP TABLE t1;
+End of 5.1 tests
+#
+# Bug#50619 assert in handler::update_auto_increment
+#
+CREATE TABLE t1 (pk INT AUTO_INCREMENT, PRIMARY KEY (pk));
+INSERT INTO t1 VALUES (NULL), (-1), (NULL);
+SELECT * FROM t1;
+pk
+-1
+1
+2
+DROP TABLE t1;
+CREATE TABLE t1 (pk BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY (pk));
+INSERT INTO t1 VALUES (NULL), (18446744073709551615-1), (NULL);
+ERROR HY000: Failed to read auto-increment value from storage engine
+SELECT * FROM t1;
+pk
+1
+18446744073709551614
+DROP TABLE t1;
diff --git a/mysql-test/r/blackhole_plugin.result b/mysql-test/r/blackhole_plugin.result
index 9fc0cacd9cc..4ef9fa0fa47 100644
--- a/mysql-test/r/blackhole_plugin.result
+++ b/mysql-test/r/blackhole_plugin.result
@@ -10,6 +10,9 @@ UNINSTALL PLUGIN blackhole;
INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
DROP TABLE t1;
+SELECT 1;
+1
+1
UNINSTALL PLUGIN blackhole;
UNINSTALL PLUGIN blackhole;
ERROR 42000: PLUGIN blackhole does not exist
diff --git a/mysql-test/r/bootstrap.result b/mysql-test/r/bootstrap.result
index 3301ca74324..484724373d2 100644
--- a/mysql-test/r/bootstrap.result
+++ b/mysql-test/r/bootstrap.result
@@ -6,3 +6,15 @@ set @my_max_allowed_packet= @@max_allowed_packet;
set global max_allowed_packet=100*@@max_allowed_packet;
set global max_allowed_packet=@my_max_allowed_packet;
drop table t1;
+End of 5.1 tests
+#
+# Bug #11766306: 59393: HAVE_INNODB=YES WHEN MYSQLD
+# STARTED WITH --SKIP-INNODB
+#
+SHOW VARIABLES LIKE 'have_innodb';
+Variable_name Value
+have_innodb DISABLED
+SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb';
+SUPPORT
+NO
+End of 5.5 tests
diff --git a/mysql-test/r/bug58669.result b/mysql-test/r/bug58669.result
new file mode 100644
index 00000000000..5504c5908be
--- /dev/null
+++ b/mysql-test/r/bug58669.result
@@ -0,0 +1,17 @@
+#
+# Bug#58669: read_only not enforced on 5.5.x
+#
+CREATE USER user1@localhost;
+CREATE DATABASE db1;
+GRANT ALL PRIVILEGES ON db1.* TO user1@localhost;
+CREATE TABLE db1.t1(a INT);
+SELECT CURRENT_USER();
+CURRENT_USER()
+user1@localhost
+SHOW VARIABLES LIKE "%read_only%";
+Variable_name Value
+read_only ON
+INSERT INTO db1.t1 VALUES (1);
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+DROP DATABASE db1;
+DROP USER user1@localhost;
diff --git a/mysql-test/r/cache_innodb.result b/mysql-test/r/cache_innodb.result
index 600ed84c3c9..293d7a3f412 100644
--- a/mysql-test/r/cache_innodb.result
+++ b/mysql-test/r/cache_innodb.result
@@ -220,3 +220,14 @@ Variable_name Value
Qcache_hits 1
set GLOBAL query_cache_size=1048576;
drop table t2;
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+BEGIN;
+INSERT INTO t1 VALUES(1);
+ROLLBACK WORK AND CHAIN NO RELEASE;
+SELECT a FROM t1;
+a
+ROLLBACK WORK AND CHAIN NO RELEASE;
+SELECT a FROM t1;
+a
+ROLLBACK;
+DROP TABLE t1;
diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result
index 3e1ea824db5..89cbda9847c 100644
--- a/mysql-test/r/cast.result
+++ b/mysql-test/r/cast.result
@@ -451,4 +451,21 @@ SELECT CONVERT(t2.a USING UTF8) FROM t1, t1 t2 LIMIT 1
1
1
DROP TABLE t1;
+#
+# Bug #11765023: 57934: DOS POSSIBLE SINCE BINARY CASTING
+# DOESN'T ADHERE TO MAX_ALLOWED_PACKET
+SET @@GLOBAL.max_allowed_packet=2048;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
+SELECT CONVERT('a', BINARY(2049));
+CONVERT('a', BINARY(2049))
+NULL
+Warnings:
+Warning 1301 Result of cast_as_binary() was larger than max_allowed_packet (2048) - truncated
+SELECT CONVERT('a', CHAR(2049));
+CONVERT('a', CHAR(2049))
+NULL
+Warnings:
+Warning 1301 Result of cast_as_char() was larger than max_allowed_packet (2048) - truncated
+SET @@GLOBAL.max_allowed_packet=default;
End of 5.1 tests
diff --git a/mysql-test/r/check.result b/mysql-test/r/check.result
index 0bff34dba20..ac9c7bca9d7 100644
--- a/mysql-test/r/check.result
+++ b/mysql-test/r/check.result
@@ -23,3 +23,19 @@ REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
DROP TABLE t1;
+#
+# Bug#56422 CHECK TABLE run when the table is locked reports corruption
+# along with timeout
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a INT);
+LOCK TABLE t1 WRITE;
+# Connection con1
+SET lock_wait_timeout= 1;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Error Lock wait timeout exceeded; try restarting transaction
+test.t1 check status Operation failed
+# Connection default
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/r/client_xml.result b/mysql-test/r/client_xml.result
index aa4bdb2bd61..7f74a092af7 100644
--- a/mysql-test/r/client_xml.result
+++ b/mysql-test/r/client_xml.result
@@ -21,9 +21,9 @@ insert into t1 values (1, 2, 'a&b a<b a>b');
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
<table_structure name="t1">
- <field Field="a&amp;b" Type="int(11)" Null="YES" Key="" Extra="" />
- <field Field="a&lt;b" Type="int(11)" Null="YES" Key="" Extra="" />
- <field Field="a&gt;b" Type="text" Null="YES" Key="" Extra="" />
+ <field Field="a&amp;b" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
+ <field Field="a&lt;b" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
+ <field Field="a&gt;b" Type="text" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
<table_data name="t1">
<row>
diff --git a/mysql-test/r/commit_1innodb.result b/mysql-test/r/commit_1innodb.result
index 993d33d7a38..fb1552b6c28 100644
--- a/mysql-test/r/commit_1innodb.result
+++ b/mysql-test/r/commit_1innodb.result
@@ -519,21 +519,21 @@ SUCCESS
# 12. Read-write statement: IODKU, change 0 rows.
#
insert t1 set a=2 on duplicate key update a=2;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
SUCCESS
commit;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
SUCCESS
# 13. Read-write statement: INSERT IGNORE, change 0 rows.
#
insert ignore t1 set a=2;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
SUCCESS
commit;
-call p_verify_status_increment(1, 0, 1, 0);
+call p_verify_status_increment(2, 2, 1, 0);
SUCCESS
# 14. Read-write statement: INSERT IGNORE, change 1 row.
diff --git a/mysql-test/r/connect.result b/mysql-test/r/connect.result
index 690a6fb3bc3..cff54ebef4e 100644
--- a/mysql-test/r/connect.result
+++ b/mysql-test/r/connect.result
@@ -15,6 +15,7 @@ ndb_binlog_index
plugin
proc
procs_priv
+proxies_priv
servers
slow_log
tables_priv
@@ -48,6 +49,7 @@ ndb_binlog_index
plugin
proc
procs_priv
+proxies_priv
servers
slow_log
tables_priv
@@ -89,6 +91,7 @@ ndb_binlog_index
plugin
proc
procs_priv
+proxies_priv
servers
slow_log
tables_priv
diff --git a/mysql-test/r/csv_not_null.result b/mysql-test/r/csv_not_null.result
index af583a36837..aed9bcb1587 100644
--- a/mysql-test/r/csv_not_null.result
+++ b/mysql-test/r/csv_not_null.result
@@ -19,13 +19,16 @@ INSERT INTO t1 VALUES();
SELECT * FROM t1;
a b c d e f
0 foo 0000-00-00
+INSERT INTO t1 VALUES(default,default,default,default,default,default);
SELECT * FROM t1;
a b c d e f
0 foo 0000-00-00
+0 foo 0000-00-00
INSERT INTO t1 VALUES(0,'abc','def','ghi','bar','1999-12-31');
SELECT * FROM t1;
a b c d e f
0 foo 0000-00-00
+0 foo 0000-00-00
0 abc def ghi bar 1999-12-31
# === insert failures ===
INSERT INTO t1 VALUES(NULL,'ab','a','b','foo','2007-01-01');
diff --git a/mysql-test/r/ctype_binary.result b/mysql-test/r/ctype_binary.result
index 4eab57e4d81..a9977311640 100644
--- a/mysql-test/r/ctype_binary.result
+++ b/mysql-test/r/ctype_binary.result
@@ -1426,7 +1426,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varbinary(10) NOT NULL DEFAULT ''
+ `c1` varbinary(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(extract(year from 20090702)));
@@ -2047,7 +2047,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varbinary(2) DEFAULT NULL
+ `concat(a)` varbinary(4) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a year);
@@ -2356,7 +2356,7 @@ insert into t1 values (1);
create view v1(a) as select concat(a) from t1;
show columns from v1;
Field Type Null Key Default Extra
-a varbinary(2) YES NULL
+a varbinary(4) YES NULL
select hex(a) from v1;
hex(a)
3031
@@ -2749,6 +2749,91 @@ DROP TABLE t1;
# End of Bug#54916
#
#
+# Bug#58190 BETWEEN no longer uses indexes for date or datetime fields
+#
+SELECT @@collation_connection;
+@@collation_connection
+binary
+CREATE TABLE t1 (
+id INT(11) DEFAULT NULL,
+date_column DATE DEFAULT NULL,
+KEY(date_column));
+INSERT INTO t1 VALUES (1,'2010-09-01'),(2,'2010-10-01');
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 4 NULL 1 Using where
+ALTER TABLE t1 MODIFY date_column DATETIME DEFAULT NULL;
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
+DROP TABLE t1;
+#
+# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
+#
+SELECT @@collation_connection, @@character_set_results;
+@@collation_connection @@character_set_results
+binary binary
+CREATE TABLE t1 AS
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `field_str1` varbinary(29) DEFAULT NULL,
+ `field1_str2` varbinary(29) DEFAULT NULL,
+ `field_date` date DEFAULT NULL,
+ `field_datetime` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def field_str1 254 29 10 Y 128 31 63
+def field1_str2 254 29 19 Y 128 31 63
+def field_date 10 29 10 Y 128 31 63
+def field_datetime 12 29 19 Y 128 31 63
+field_str1 field1_str2 field_date field_datetime
+2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
+SELECT
+HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
+HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
+HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
+HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
+field_str1 field1_str2 field_date field_datetime
+323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
+#
+# Bug#11926811 / Bug#60625 Illegal mix of collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+binary
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
+SELECT v_LastPaymentDate < NOW();
+EXPLAIN EXTENDED SELECT v_LastPaymentDate < NOW();
+SHOW WARNINGS;
+EXPLAIN EXTENDED SELECT CONCAT(v_LastPaymentDate, NOW());
+END//
+CALL p1;
+v_LastPaymentDate < NOW()
+NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Level Code Message
+Note 1003 select (v_LastPaymentDate@0 < now()) AS `v_LastPaymentDate < NOW()`
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select concat(v_LastPaymentDate@0,now()) AS `CONCAT(v_LastPaymentDate, NOW())`
+DROP PROCEDURE p1;
+#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
diff --git a/mysql-test/r/ctype_cp1250_ch.result b/mysql-test/r/ctype_cp1250_ch.result
index 7f0cdf3f17b..231755a3f69 100644
--- a/mysql-test/r/ctype_cp1250_ch.result
+++ b/mysql-test/r/ctype_cp1250_ch.result
@@ -238,3 +238,6 @@ select a from t1 where a like "abcdefghá";
a
abcdefghá
drop table t1;
+set global LC_MESSAGES=convert((@@global.log_bin_trust_function_creators)
+using cp1250);
+ERROR HY000: Unknown locale: '1'
diff --git a/mysql-test/r/ctype_cp1251.result b/mysql-test/r/ctype_cp1251.result
index a9ced3e89bf..53b45d60c0b 100644
--- a/mysql-test/r/ctype_cp1251.result
+++ b/mysql-test/r/ctype_cp1251.result
@@ -82,6 +82,316 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
DROP TABLE t1;
#
+# Start of 5.1 tests
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp1251_general_ci
+CREATE TABLE t1 AS SELECT ' ' AS a LIMIT 0;
+INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
+INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
+INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
+INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
+INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
+INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
+INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
+INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
+INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
+INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
+INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
+INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
+INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
+INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
+INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
+INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
+INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
+INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
+INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
+INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
+INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
+INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
+INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
+INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
+INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
+INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
+INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
+INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
+INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
+INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
+INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
+INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
+SELECT
+HEX(a) AS chr,
+HEX(LOWER(a)) AS upper,
+HEX(LOWER(a)) AS lower,
+HEX(@utf8:=CONVERT(a USING utf8)) AS utf8,
+HEX(@roundtrip:=CAST(@utf8 AS CHAR)) AS roundtrip,
+if(a=BINARY @roundtrip,'','Round trip unsafe') AS issafe
+FROM t1 ORDER BY chr;
+chr upper lower utf8 roundtrip issafe
+00 00 00 00 00
+01 01 01 01 01
+02 02 02 02 02
+03 03 03 03 03
+04 04 04 04 04
+05 05 05 05 05
+06 06 06 06 06
+07 07 07 07 07
+08 08 08 08 08
+09 09 09 09 09
+0A 0A 0A 0A 0A
+0B 0B 0B 0B 0B
+0C 0C 0C 0C 0C
+0D 0D 0D 0D 0D
+0E 0E 0E 0E 0E
+0F 0F 0F 0F 0F
+10 10 10 10 10
+11 11 11 11 11
+12 12 12 12 12
+13 13 13 13 13
+14 14 14 14 14
+15 15 15 15 15
+16 16 16 16 16
+17 17 17 17 17
+18 18 18 18 18
+19 19 19 19 19
+1A 1A 1A 1A 1A
+1B 1B 1B 1B 1B
+1C 1C 1C 1C 1C
+1D 1D 1D 1D 1D
+1E 1E 1E 1E 1E
+1F 1F 1F 1F 1F
+20 20 20 20 20
+21 21 21 21 21
+22 22 22 22 22
+23 23 23 23 23
+24 24 24 24 24
+25 25 25 25 25
+26 26 26 26 26
+27 27 27 27 27
+28 28 28 28 28
+29 29 29 29 29
+2A 2A 2A 2A 2A
+2B 2B 2B 2B 2B
+2C 2C 2C 2C 2C
+2D 2D 2D 2D 2D
+2E 2E 2E 2E 2E
+2F 2F 2F 2F 2F
+30 30 30 30 30
+31 31 31 31 31
+32 32 32 32 32
+33 33 33 33 33
+34 34 34 34 34
+35 35 35 35 35
+36 36 36 36 36
+37 37 37 37 37
+38 38 38 38 38
+39 39 39 39 39
+3A 3A 3A 3A 3A
+3B 3B 3B 3B 3B
+3C 3C 3C 3C 3C
+3D 3D 3D 3D 3D
+3E 3E 3E 3E 3E
+3F 3F 3F 3F 3F
+40 40 40 40 40
+41 61 61 41 41
+42 62 62 42 42
+43 63 63 43 43
+44 64 64 44 44
+45 65 65 45 45
+46 66 66 46 46
+47 67 67 47 47
+48 68 68 48 48
+49 69 69 49 49
+4A 6A 6A 4A 4A
+4B 6B 6B 4B 4B
+4C 6C 6C 4C 4C
+4D 6D 6D 4D 4D
+4E 6E 6E 4E 4E
+4F 6F 6F 4F 4F
+50 70 70 50 50
+51 71 71 51 51
+52 72 72 52 52
+53 73 73 53 53
+54 74 74 54 54
+55 75 75 55 55
+56 76 76 56 56
+57 77 77 57 57
+58 78 78 58 58
+59 79 79 59 59
+5A 7A 7A 5A 5A
+5B 5B 5B 5B 5B
+5C 5C 5C 5C 5C
+5D 5D 5D 5D 5D
+5E 5E 5E 5E 5E
+5F 5F 5F 5F 5F
+60 60 60 60 60
+61 61 61 61 61
+62 62 62 62 62
+63 63 63 63 63
+64 64 64 64 64
+65 65 65 65 65
+66 66 66 66 66
+67 67 67 67 67
+68 68 68 68 68
+69 69 69 69 69
+6A 6A 6A 6A 6A
+6B 6B 6B 6B 6B
+6C 6C 6C 6C 6C
+6D 6D 6D 6D 6D
+6E 6E 6E 6E 6E
+6F 6F 6F 6F 6F
+70 70 70 70 70
+71 71 71 71 71
+72 72 72 72 72
+73 73 73 73 73
+74 74 74 74 74
+75 75 75 75 75
+76 76 76 76 76
+77 77 77 77 77
+78 78 78 78 78
+79 79 79 79 79
+7A 7A 7A 7A 7A
+7B 7B 7B 7B 7B
+7C 7C 7C 7C 7C
+7D 7D 7D 7D 7D
+7E 7E 7E 7E 7E
+7F 7F 7F 7F 7F
+80 90 90 D082 80
+81 83 83 D083 81
+82 82 82 E2809A 82
+83 83 83 D193 83
+84 84 84 E2809E 84
+85 85 85 E280A6 85
+86 86 86 E280A0 86
+87 87 87 E280A1 87
+88 88 88 E282AC 88
+89 89 89 E280B0 89
+8A 9A 9A D089 8A
+8B 8B 8B E280B9 8B
+8C 9C 9C D08A 8C
+8D 9D 9D D08C 8D
+8E 9E 9E D08B 8E
+8F 9F 9F D08F 8F
+90 90 90 D192 90
+91 91 91 E28098 91
+92 92 92 E28099 92
+93 93 93 E2809C 93
+94 94 94 E2809D 94
+95 95 95 E280A2 95
+96 96 96 E28093 96
+97 97 97 E28094 97
+98 98 98 3F 3F Round trip unsafe
+99 99 99 E284A2 99
+9A 9A 9A D199 9A
+9B 9B 9B E280BA 9B
+9C 9C 9C D19A 9C
+9D 9D 9D D19C 9D
+9E 9E 9E D19B 9E
+9F 9F 9F D19F 9F
+A0 A0 A0 C2A0 A0
+A1 A2 A2 D08E A1
+A2 A2 A2 D19E A2
+A3 BC BC D088 A3
+A4 A4 A4 C2A4 A4
+A5 B4 B4 D290 A5
+A6 A6 A6 C2A6 A6
+A7 A7 A7 C2A7 A7
+A8 B8 B8 D081 A8
+A9 A9 A9 C2A9 A9
+AA BA BA D084 AA
+AB AB AB C2AB AB
+AC AC AC C2AC AC
+AD AD AD C2AD AD
+AE AE AE C2AE AE
+AF BF BF D087 AF
+B0 B0 B0 C2B0 B0
+B1 B1 B1 C2B1 B1
+B2 B3 B3 D086 B2
+B3 B3 B3 D196 B3
+B4 B4 B4 D291 B4
+B5 B5 B5 C2B5 B5
+B6 B6 B6 C2B6 B6
+B7 B7 B7 C2B7 B7
+B8 B8 B8 D191 B8
+B9 B9 B9 E28496 B9
+BA BA BA D194 BA
+BB BB BB C2BB BB
+BC BC BC D198 BC
+BD BE BE D085 BD
+BE BE BE D195 BE
+BF BF BF D197 BF
+C0 E0 E0 D090 C0
+C1 E1 E1 D091 C1
+C2 E2 E2 D092 C2
+C3 E3 E3 D093 C3
+C4 E4 E4 D094 C4
+C5 E5 E5 D095 C5
+C6 E6 E6 D096 C6
+C7 E7 E7 D097 C7
+C8 E8 E8 D098 C8
+C9 E9 E9 D099 C9
+CA EA EA D09A CA
+CB EB EB D09B CB
+CC EC EC D09C CC
+CD ED ED D09D CD
+CE EE EE D09E CE
+CF EF EF D09F CF
+D0 F0 F0 D0A0 D0
+D1 F1 F1 D0A1 D1
+D2 F2 F2 D0A2 D2
+D3 F3 F3 D0A3 D3
+D4 F4 F4 D0A4 D4
+D5 F5 F5 D0A5 D5
+D6 F6 F6 D0A6 D6
+D7 F7 F7 D0A7 D7
+D8 F8 F8 D0A8 D8
+D9 F9 F9 D0A9 D9
+DA FA FA D0AA DA
+DB FB FB D0AB DB
+DC FC FC D0AC DC
+DD FD FD D0AD DD
+DE FE FE D0AE DE
+DF FF FF D0AF DF
+E0 E0 E0 D0B0 E0
+E1 E1 E1 D0B1 E1
+E2 E2 E2 D0B2 E2
+E3 E3 E3 D0B3 E3
+E4 E4 E4 D0B4 E4
+E5 E5 E5 D0B5 E5
+E6 E6 E6 D0B6 E6
+E7 E7 E7 D0B7 E7
+E8 E8 E8 D0B8 E8
+E9 E9 E9 D0B9 E9
+EA EA EA D0BA EA
+EB EB EB D0BB EB
+EC EC EC D0BC EC
+ED ED ED D0BD ED
+EE EE EE D0BE EE
+EF EF EF D0BF EF
+F0 F0 F0 D180 F0
+F1 F1 F1 D181 F1
+F2 F2 F2 D182 F2
+F3 F3 F3 D183 F3
+F4 F4 F4 D184 F4
+F5 F5 F5 D185 F5
+F6 F6 F6 D186 F6
+F7 F7 F7 D187 F7
+F8 F8 F8 D188 F8
+F9 F9 F9 D189 F9
+FA FA FA D18A FA
+FB FB FB D18B FB
+FC FC FC D18C FC
+FD FD FD D18D FD
+FE FE FE D18E FE
+FF FF FF D18F FF
+DROP TABLE t1;
+set global LC_TIME_NAMES=convert((-8388608) using cp1251);
+ERROR HY000: Unknown locale: '-8388608'
+#
+# End of 5.1 tests
+#
+#
# Start of 5.5 tests
#
SET TIME_ZONE = _latin1 '+03:00';
@@ -1508,7 +1818,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET cp1251 NOT NULL DEFAULT ''
+ `c1` varchar(10) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(extract(year from 20090702)));
@@ -2129,7 +2439,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(2) CHARACTER SET cp1251 DEFAULT NULL
+ `concat(a)` varchar(4) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a year);
@@ -2438,7 +2748,7 @@ insert into t1 values (1);
create view v1(a) as select concat(a) from t1;
show columns from v1;
Field Type Null Key Default Extra
-a varchar(2) YES NULL
+a varchar(4) YES NULL
select hex(a) from v1;
hex(a)
3031
@@ -2831,6 +3141,91 @@ DROP TABLE t1;
# End of Bug#54916
#
#
+# Bug#58190 BETWEEN no longer uses indexes for date or datetime fields
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp1251_general_ci
+CREATE TABLE t1 (
+id INT(11) DEFAULT NULL,
+date_column DATE DEFAULT NULL,
+KEY(date_column));
+INSERT INTO t1 VALUES (1,'2010-09-01'),(2,'2010-10-01');
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 4 NULL 1 Using where
+ALTER TABLE t1 MODIFY date_column DATETIME DEFAULT NULL;
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
+DROP TABLE t1;
+#
+# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
+#
+SELECT @@collation_connection, @@character_set_results;
+@@collation_connection @@character_set_results
+cp1251_general_ci cp1251
+CREATE TABLE t1 AS
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `field_str1` varchar(29) CHARACTER SET cp1251 DEFAULT NULL,
+ `field1_str2` varchar(29) CHARACTER SET cp1251 DEFAULT NULL,
+ `field_date` date DEFAULT NULL,
+ `field_datetime` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def field_str1 254 29 10 Y 0 31 51
+def field1_str2 254 29 19 Y 0 31 51
+def field_date 10 29 10 Y 128 31 63
+def field_datetime 12 29 19 Y 128 31 63
+field_str1 field1_str2 field_date field_datetime
+2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
+SELECT
+HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
+HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
+HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
+HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
+field_str1 field1_str2 field_date field_datetime
+323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
+#
+# Bug#11926811 / Bug#60625 Illegal mix of collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+cp1251_general_ci
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
+SELECT v_LastPaymentDate < NOW();
+EXPLAIN EXTENDED SELECT v_LastPaymentDate < NOW();
+SHOW WARNINGS;
+EXPLAIN EXTENDED SELECT CONCAT(v_LastPaymentDate, NOW());
+END//
+CALL p1;
+v_LastPaymentDate < NOW()
+NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Level Code Message
+Note 1003 select (v_LastPaymentDate@0 < now()) AS `v_LastPaymentDate < NOW()`
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select concat(convert(v_LastPaymentDate@0 using cp1251),now()) AS `CONCAT(v_LastPaymentDate, NOW())`
+DROP PROCEDURE p1;
+#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
@@ -2851,5 +3246,20 @@ maketime(`a`,`a`,`a`)
DROP TABLE t1;
SET sql_mode=default;
#
+# Bug#60101 COALESCE with cp1251 tables causes [Err] 1267 - Illegal mix of collations
+#
+CREATE TABLE t1 (test1 INT, test2 VARCHAR(255));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `test1` int(11) DEFAULT NULL,
+ `test2` varchar(255) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT COALESCE(IF(test1=1, 1, NULL), test2) FROM t1;
+COALESCE(IF(test1=1, 1, NULL), test2)
+SELECT COALESCE(IF(test1=1, NULL, 1), test2) FROM t1;
+COALESCE(IF(test1=1, NULL, 1), test2)
+DROP TABLE t1;
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_eucjpms.result b/mysql-test/r/ctype_eucjpms.result
index bd25b1beed4..5a402d57e65 100644
--- a/mysql-test/r/ctype_eucjpms.result
+++ b/mysql-test/r/ctype_eucjpms.result
@@ -9859,6 +9859,8 @@ hex(convert(_eucjpms 0xA5FE41 using ucs2))
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
hex(convert(_eucjpms 0x8FABF841 using ucs2))
003F0041
+set global LC_TIME_NAMES=convert((convert((0x63) using eucjpms)) using utf8);
+ERROR HY000: Unknown locale: 'c'
#
# Start of 5.5 tests
#
diff --git a/mysql-test/r/ctype_latin1.result b/mysql-test/r/ctype_latin1.result
index b97e6e695af..61560bd25e6 100644
--- a/mysql-test/r/ctype_latin1.result
+++ b/mysql-test/r/ctype_latin1.result
@@ -410,6 +410,15 @@ hex(cast(_ascii 0x7f as char(1) character set latin1))
7F
End of 5.0 tests
#
+# Bug#58022 ... like ... escape export_set ( ... ) crashes when export_set returns warnings
+#
+SELECT '' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '');
+'' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '')
+1
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: ''
+End of 5.1 tests
+#
# Start of 5.5 tests
#
SET TIME_ZONE = _latin1 '+03:00';
@@ -1836,7 +1845,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) NOT NULL DEFAULT ''
+ `c1` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(extract(year from 20090702)));
@@ -2457,7 +2466,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(2) DEFAULT NULL
+ `concat(a)` varchar(4) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a year);
@@ -2766,7 +2775,7 @@ insert into t1 values (1);
create view v1(a) as select concat(a) from t1;
show columns from v1;
Field Type Null Key Default Extra
-a varchar(2) YES NULL
+a varchar(4) YES NULL
select hex(a) from v1;
hex(a)
3031
@@ -3159,6 +3168,91 @@ DROP TABLE t1;
# End of Bug#54916
#
#
+# Bug#58190 BETWEEN no longer uses indexes for date or datetime fields
+#
+SELECT @@collation_connection;
+@@collation_connection
+latin1_swedish_ci
+CREATE TABLE t1 (
+id INT(11) DEFAULT NULL,
+date_column DATE DEFAULT NULL,
+KEY(date_column));
+INSERT INTO t1 VALUES (1,'2010-09-01'),(2,'2010-10-01');
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 4 NULL 1 Using where
+ALTER TABLE t1 MODIFY date_column DATETIME DEFAULT NULL;
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
+DROP TABLE t1;
+#
+# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
+#
+SELECT @@collation_connection, @@character_set_results;
+@@collation_connection @@character_set_results
+latin1_swedish_ci latin1
+CREATE TABLE t1 AS
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `field_str1` varchar(29) DEFAULT NULL,
+ `field1_str2` varchar(29) DEFAULT NULL,
+ `field_date` date DEFAULT NULL,
+ `field_datetime` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def field_str1 254 29 10 Y 0 31 8
+def field1_str2 254 29 19 Y 0 31 8
+def field_date 10 29 10 Y 128 31 63
+def field_datetime 12 29 19 Y 128 31 63
+field_str1 field1_str2 field_date field_datetime
+2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
+SELECT
+HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
+HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
+HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
+HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
+field_str1 field1_str2 field_date field_datetime
+323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
+#
+# Bug#11926811 / Bug#60625 Illegal mix of collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+latin1_swedish_ci
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
+SELECT v_LastPaymentDate < NOW();
+EXPLAIN EXTENDED SELECT v_LastPaymentDate < NOW();
+SHOW WARNINGS;
+EXPLAIN EXTENDED SELECT CONCAT(v_LastPaymentDate, NOW());
+END//
+CALL p1;
+v_LastPaymentDate < NOW()
+NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Level Code Message
+Note 1003 select (v_LastPaymentDate@0 < now()) AS `v_LastPaymentDate < NOW()`
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select concat(v_LastPaymentDate@0,now()) AS `CONCAT(v_LastPaymentDate, NOW())`
+DROP PROCEDURE p1;
+#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
@@ -3179,5 +3273,20 @@ maketime(`a`,`a`,`a`)
DROP TABLE t1;
SET sql_mode=default;
#
+# Bug#11764503 (Bug#57341) Query in EXPLAIN EXTENDED shows wrong characters
+#
+SET NAMES utf8;
+EXPLAIN EXTENDED SELECT 'abcdó', _latin1'abcdó', _utf8'abcdó';
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select 'abcdó' AS `abcdó`,_latin1'abcd\xC3\xB3' AS `abcdó`,_utf8'abcd\xC3\xB3' AS `abcdó`
+SET NAMES latin1;
+EXPLAIN EXTENDED SELECT 'abcdó', _latin1'abcdó', _utf8'abcdó';
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select 'abcdó' AS `abcdó`,_latin1'abcd\xC3\xB3' AS `abcdó`,_utf8'abcd\xC3\xB3' AS `abcdó`
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_like_range.result b/mysql-test/r/ctype_like_range.result
new file mode 100644
index 00000000000..a06c6ad9ed8
--- /dev/null
+++ b/mysql-test/r/ctype_like_range.result
@@ -0,0 +1,2310 @@
+DROP TABLE IF EXISTS t1;
+DROP VIEW IF EXISTS v1;
+CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a VARBINARY(32));
+INSERT INTO t1 (a) VALUES (''),('_'),('%'),('\_'),('\%'),('\\');
+INSERT INTO t1 (a) VALUES ('a'),('c');
+INSERT INTO t1 (a) VALUES ('a_'),('c_');
+INSERT INTO t1 (a) VALUES ('a%'),('c%');
+INSERT INTO t1 (a) VALUES ('aa'),('cc'),('ch');
+INSERT INTO t1 (a) VALUES ('aa_'),('cc_'),('ch_');
+INSERT INTO t1 (a) VALUES ('aa%'),('cc%'),('ch%');
+INSERT INTO t1 (a) VALUES ('aaa'),('ccc'),('cch');
+INSERT INTO t1 (a) VALUES ('aaa_'),('ccc_'),('cch_');
+INSERT INTO t1 (a) VALUES ('aaa%'),('ccc%'),('cch%');
+INSERT INTO t1 (a) VALUES ('aaaaaaaaaaaaaaaaaaaa');
+CREATE VIEW v1 AS
+SELECT id, 'a' AS name, a AS val FROM t1
+UNION
+SELECT id, 'mn', HEX(LIKE_RANGE_MIN(a, 16)) AS min FROM t1
+UNION
+SELECT id, 'mx', HEX(LIKE_RANGE_MAX(a, 16)) AS max FROM t1
+UNION
+SELECT id, 'sp', REPEAT('-', 32) AS sep FROM t1
+ORDER BY id, name;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00
+2 mx FF
+2 sp --------------------------------
+3 a %
+3 mn
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 5F
+4 mx 5F
+4 sp --------------------------------
+5 a \%
+5 mn 25
+5 mx 25
+5 sp --------------------------------
+6 a \
+6 mn 5C
+6 mx 5C
+6 sp --------------------------------
+7 a a
+7 mn 61
+7 mx 61
+7 sp --------------------------------
+8 a c
+8 mn 63
+8 mx 63
+8 sp --------------------------------
+9 a a_
+9 mn 6100
+9 mx 61FF
+9 sp --------------------------------
+10 a c_
+10 mn 6300
+10 mx 63FF
+10 sp --------------------------------
+11 a a%
+11 mn 61
+11 mx 61FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 63
+12 mx 63FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 6161
+13 mx 6161
+13 sp --------------------------------
+14 a cc
+14 mn 6363
+14 mx 6363
+14 sp --------------------------------
+15 a ch
+15 mn 6368
+15 mx 6368
+15 sp --------------------------------
+16 a aa_
+16 mn 616100
+16 mx 6161FF
+16 sp --------------------------------
+17 a cc_
+17 mn 636300
+17 mx 6363FF
+17 sp --------------------------------
+18 a ch_
+18 mn 636800
+18 mx 6368FF
+18 sp --------------------------------
+19 a aa%
+19 mn 6161
+19 mx 6161FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 6363
+20 mx 6363FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 6368
+21 mx 6368FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 616161
+22 mx 616161
+22 sp --------------------------------
+23 a ccc
+23 mn 636363
+23 mx 636363
+23 sp --------------------------------
+24 a cch
+24 mn 636368
+24 mx 636368
+24 sp --------------------------------
+25 a aaa_
+25 mn 61616100
+25 mx 616161FF
+25 sp --------------------------------
+26 a ccc_
+26 mn 63636300
+26 mx 636363FF
+26 sp --------------------------------
+27 a cch_
+27 mn 63636800
+27 mx 636368FF
+27 sp --------------------------------
+28 a aaa%
+28 mn 616161
+28 mx 616161FFFFFFFFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 636363
+29 mx 636363FFFFFFFFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 636368
+30 mx 636368FFFFFFFFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 61616161616161616161616161616161
+31 mx 61616161616161616161616161616161
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET latin1;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00
+2 mx FF
+2 sp --------------------------------
+3 a %
+3 mn 00000000000000000000000000000000
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 5F
+4 mx 5F
+4 sp --------------------------------
+5 a \%
+5 mn 25
+5 mx 25
+5 sp --------------------------------
+6 a \
+6 mn 5C
+6 mx 5C
+6 sp --------------------------------
+7 a a
+7 mn 61
+7 mx 61
+7 sp --------------------------------
+8 a c
+8 mn 63
+8 mx 63
+8 sp --------------------------------
+9 a a_
+9 mn 6100
+9 mx 61FF
+9 sp --------------------------------
+10 a c_
+10 mn 6300
+10 mx 63FF
+10 sp --------------------------------
+11 a a%
+11 mn 61000000000000000000000000000000
+11 mx 61FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 63000000000000000000000000000000
+12 mx 63FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 6161
+13 mx 6161
+13 sp --------------------------------
+14 a cc
+14 mn 6363
+14 mx 6363
+14 sp --------------------------------
+15 a ch
+15 mn 6368
+15 mx 6368
+15 sp --------------------------------
+16 a aa_
+16 mn 616100
+16 mx 6161FF
+16 sp --------------------------------
+17 a cc_
+17 mn 636300
+17 mx 6363FF
+17 sp --------------------------------
+18 a ch_
+18 mn 636800
+18 mx 6368FF
+18 sp --------------------------------
+19 a aa%
+19 mn 61610000000000000000000000000000
+19 mx 6161FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 63630000000000000000000000000000
+20 mx 6363FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 63680000000000000000000000000000
+21 mx 6368FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 616161
+22 mx 616161
+22 sp --------------------------------
+23 a ccc
+23 mn 636363
+23 mx 636363
+23 sp --------------------------------
+24 a cch
+24 mn 636368
+24 mx 636368
+24 sp --------------------------------
+25 a aaa_
+25 mn 61616100
+25 mx 616161FF
+25 sp --------------------------------
+26 a ccc_
+26 mn 63636300
+26 mx 636363FF
+26 sp --------------------------------
+27 a cch_
+27 mn 63636800
+27 mx 636368FF
+27 sp --------------------------------
+28 a aaa%
+28 mn 61616100000000000000000000000000
+28 mx 616161FFFFFFFFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 63636300000000000000000000000000
+29 mx 636363FFFFFFFFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 63636800000000000000000000000000
+30 mx 636368FFFFFFFFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 61616161616161616161616161616161
+31 mx 61616161616161616161616161616161
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00000000000000000000000000000000
+2 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+2 sp --------------------------------
+3 a %
+3 mn 00000000000000000000000000000000
+3 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+3 sp --------------------------------
+4 a \_
+4 mn 5F
+4 mx 5F
+4 sp --------------------------------
+5 a \%
+5 mn 25
+5 mx 25
+5 sp --------------------------------
+6 a \
+6 mn 5C
+6 mx 5C
+6 sp --------------------------------
+7 a a
+7 mn 61
+7 mx 61
+7 sp --------------------------------
+8 a c
+8 mn 63
+8 mx 63
+8 sp --------------------------------
+9 a a_
+9 mn 61000000000000000000000000000000
+9 mx 61EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+9 sp --------------------------------
+10 a c_
+10 mn 63000000000000000000000000000000
+10 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+10 sp --------------------------------
+11 a a%
+11 mn 61000000000000000000000000000000
+11 mx 61EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+11 sp --------------------------------
+12 a c%
+12 mn 63000000000000000000000000000000
+12 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+12 sp --------------------------------
+13 a aa
+13 mn 6161
+13 mx 6161
+13 sp --------------------------------
+14 a cc
+14 mn 6363
+14 mx 6363
+14 sp --------------------------------
+15 a ch
+15 mn 6368
+15 mx 6368
+15 sp --------------------------------
+16 a aa_
+16 mn 61610000000000000000000000000000
+16 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+16 sp --------------------------------
+17 a cc_
+17 mn 63630000000000000000000000000000
+17 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+17 sp --------------------------------
+18 a ch_
+18 mn 63680000000000000000000000000000
+18 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+18 sp --------------------------------
+19 a aa%
+19 mn 61610000000000000000000000000000
+19 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+19 sp --------------------------------
+20 a cc%
+20 mn 63630000000000000000000000000000
+20 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+20 sp --------------------------------
+21 a ch%
+21 mn 63680000000000000000000000000000
+21 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+21 sp --------------------------------
+22 a aaa
+22 mn 616161
+22 mx 616161
+22 sp --------------------------------
+23 a ccc
+23 mn 636363
+23 mx 636363
+23 sp --------------------------------
+24 a cch
+24 mn 636368
+24 mx 636368
+24 sp --------------------------------
+25 a aaa_
+25 mn 61616100000000000000000000000000
+25 mx 616161EFBFBFEFBFBFEFBFBFEFBFBF20
+25 sp --------------------------------
+26 a ccc_
+26 mn 63636300000000000000000000000000
+26 mx 636363EFBFBFEFBFBFEFBFBFEFBFBF20
+26 sp --------------------------------
+27 a cch_
+27 mn 63636800000000000000000000000000
+27 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+27 sp --------------------------------
+28 a aaa%
+28 mn 61616100000000000000000000000000
+28 mx 616161EFBFBFEFBFBFEFBFBFEFBFBF20
+28 sp --------------------------------
+29 a ccc%
+29 mn 63636300000000000000000000000000
+29 mx 636363EFBFBFEFBFBFEFBFBFEFBFBF20
+29 sp --------------------------------
+30 a cch%
+30 mn 63636800000000000000000000000000
+30 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 6161616161
+31 mx 6161616161
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 09090909090909090909090909090909
+2 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+2 sp --------------------------------
+3 a %
+3 mn 09090909090909090909090909090909
+3 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+3 sp --------------------------------
+4 a \_
+4 mn 5F
+4 mx 5F
+4 sp --------------------------------
+5 a \%
+5 mn 25
+5 mx 25
+5 sp --------------------------------
+6 a \
+6 mn 5C
+6 mx 5C
+6 sp --------------------------------
+7 a a
+7 mn 61
+7 mx 61
+7 sp --------------------------------
+8 a c
+8 mn 63
+8 mx 63
+8 sp --------------------------------
+9 a a_
+9 mn 61090909090909090909090909090909
+9 mx 61EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+9 sp --------------------------------
+10 a c_
+10 mn 63090909090909090909090909090909
+10 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+10 sp --------------------------------
+11 a a%
+11 mn 61090909090909090909090909090909
+11 mx 61EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+11 sp --------------------------------
+12 a c%
+12 mn 63090909090909090909090909090909
+12 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+12 sp --------------------------------
+13 a aa
+13 mn 6161
+13 mx 6161
+13 sp --------------------------------
+14 a cc
+14 mn 6363
+14 mx 6363
+14 sp --------------------------------
+15 a ch
+15 mn 6368
+15 mx 6368
+15 sp --------------------------------
+16 a aa_
+16 mn 61610909090909090909090909090909
+16 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+16 sp --------------------------------
+17 a cc_
+17 mn 63630909090909090909090909090909
+17 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+17 sp --------------------------------
+18 a ch_
+18 mn 63680909090909090909090909090909
+18 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+18 sp --------------------------------
+19 a aa%
+19 mn 61610909090909090909090909090909
+19 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+19 sp --------------------------------
+20 a cc%
+20 mn 63630909090909090909090909090909
+20 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+20 sp --------------------------------
+21 a ch%
+21 mn 63680909090909090909090909090909
+21 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+21 sp --------------------------------
+22 a aaa
+22 mn 616161
+22 mx 616161
+22 sp --------------------------------
+23 a ccc
+23 mn 636363
+23 mx 636363
+23 sp --------------------------------
+24 a cch
+24 mn 636368
+24 mx 636368
+24 sp --------------------------------
+25 a aaa_
+25 mn 61616109090909090909090909090909
+25 mx 616161EFBFBFEFBFBFEFBFBFEFBFBF20
+25 sp --------------------------------
+26 a ccc_
+26 mn 63636309090909090909090909090909
+26 mx 636363EFBFBFEFBFBFEFBFBFEFBFBF20
+26 sp --------------------------------
+27 a cch_
+27 mn 63636809090909090909090909090909
+27 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+27 sp --------------------------------
+28 a aaa%
+28 mn 61616109090909090909090909090909
+28 mx 616161EFBFBFEFBFBFEFBFBFEFBFBF20
+28 sp --------------------------------
+29 a ccc%
+29 mn 63636309090909090909090909090909
+29 mx 636363EFBFBFEFBFBFEFBFBFEFBFBF20
+29 sp --------------------------------
+30 a cch%
+30 mn 63636809090909090909090909090909
+30 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 6161616161
+31 mx 6161616161
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_czech_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 09090909090909090909090909090909
+2 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+2 sp --------------------------------
+3 a %
+3 mn 09090909090909090909090909090909
+3 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+3 sp --------------------------------
+4 a \_
+4 mn 5F
+4 mx 5F
+4 sp --------------------------------
+5 a \%
+5 mn 25
+5 mx 25
+5 sp --------------------------------
+6 a \
+6 mn 5C
+6 mx 5C
+6 sp --------------------------------
+7 a a
+7 mn 61
+7 mx 61
+7 sp --------------------------------
+8 a c
+8 mn 63
+8 mx 63
+8 sp --------------------------------
+9 a a_
+9 mn 61090909090909090909090909090909
+9 mx 61EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+9 sp --------------------------------
+10 a c_
+10 mn 09090909090909090909090909090909
+10 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+10 sp --------------------------------
+11 a a%
+11 mn 61090909090909090909090909090909
+11 mx 61EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+11 sp --------------------------------
+12 a c%
+12 mn 09090909090909090909090909090909
+12 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+12 sp --------------------------------
+13 a aa
+13 mn 6161
+13 mx 6161
+13 sp --------------------------------
+14 a cc
+14 mn 6363
+14 mx 6363
+14 sp --------------------------------
+15 a ch
+15 mn 6368
+15 mx 6368
+15 sp --------------------------------
+16 a aa_
+16 mn 61610909090909090909090909090909
+16 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+16 sp --------------------------------
+17 a cc_
+17 mn 63090909090909090909090909090909
+17 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+17 sp --------------------------------
+18 a ch_
+18 mn 63680909090909090909090909090909
+18 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+18 sp --------------------------------
+19 a aa%
+19 mn 61610909090909090909090909090909
+19 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+19 sp --------------------------------
+20 a cc%
+20 mn 63090909090909090909090909090909
+20 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+20 sp --------------------------------
+21 a ch%
+21 mn 63680909090909090909090909090909
+21 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+21 sp --------------------------------
+22 a aaa
+22 mn 616161
+22 mx 616161
+22 sp --------------------------------
+23 a ccc
+23 mn 636363
+23 mx 636363
+23 sp --------------------------------
+24 a cch
+24 mn 636368
+24 mx 636368
+24 sp --------------------------------
+25 a aaa_
+25 mn 61616109090909090909090909090909
+25 mx 616161EFBFBFEFBFBFEFBFBFEFBFBF20
+25 sp --------------------------------
+26 a ccc_
+26 mn 63630909090909090909090909090909
+26 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+26 sp --------------------------------
+27 a cch_
+27 mn 63636809090909090909090909090909
+27 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+27 sp --------------------------------
+28 a aaa%
+28 mn 61616109090909090909090909090909
+28 mx 616161EFBFBFEFBFBFEFBFBFEFBFBF20
+28 sp --------------------------------
+29 a ccc%
+29 mn 63630909090909090909090909090909
+29 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+29 sp --------------------------------
+30 a cch%
+30 mn 63636809090909090909090909090909
+30 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 6161616161
+31 mx 6161616161
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_danish_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 09090909090909090909090909090909
+2 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+2 sp --------------------------------
+3 a %
+3 mn 09090909090909090909090909090909
+3 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+3 sp --------------------------------
+4 a \_
+4 mn 5F
+4 mx 5F
+4 sp --------------------------------
+5 a \%
+5 mn 25
+5 mx 25
+5 sp --------------------------------
+6 a \
+6 mn 5C
+6 mx 5C
+6 sp --------------------------------
+7 a a
+7 mn 61
+7 mx 61
+7 sp --------------------------------
+8 a c
+8 mn 63
+8 mx 63
+8 sp --------------------------------
+9 a a_
+9 mn 09090909090909090909090909090909
+9 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+9 sp --------------------------------
+10 a c_
+10 mn 63090909090909090909090909090909
+10 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+10 sp --------------------------------
+11 a a%
+11 mn 09090909090909090909090909090909
+11 mx EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF20
+11 sp --------------------------------
+12 a c%
+12 mn 63090909090909090909090909090909
+12 mx 63EFBFBFEFBFBFEFBFBFEFBFBFEFBFBF
+12 sp --------------------------------
+13 a aa
+13 mn 6161
+13 mx 6161
+13 sp --------------------------------
+14 a cc
+14 mn 6363
+14 mx 6363
+14 sp --------------------------------
+15 a ch
+15 mn 6368
+15 mx 6368
+15 sp --------------------------------
+16 a aa_
+16 mn 61610909090909090909090909090909
+16 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+16 sp --------------------------------
+17 a cc_
+17 mn 63630909090909090909090909090909
+17 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+17 sp --------------------------------
+18 a ch_
+18 mn 63680909090909090909090909090909
+18 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+18 sp --------------------------------
+19 a aa%
+19 mn 61610909090909090909090909090909
+19 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+19 sp --------------------------------
+20 a cc%
+20 mn 63630909090909090909090909090909
+20 mx 6363EFBFBFEFBFBFEFBFBFEFBFBF2020
+20 sp --------------------------------
+21 a ch%
+21 mn 63680909090909090909090909090909
+21 mx 6368EFBFBFEFBFBFEFBFBFEFBFBF2020
+21 sp --------------------------------
+22 a aaa
+22 mn 616161
+22 mx 616161
+22 sp --------------------------------
+23 a ccc
+23 mn 636363
+23 mx 636363
+23 sp --------------------------------
+24 a cch
+24 mn 636368
+24 mx 636368
+24 sp --------------------------------
+25 a aaa_
+25 mn 61610909090909090909090909090909
+25 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+25 sp --------------------------------
+26 a ccc_
+26 mn 63636309090909090909090909090909
+26 mx 636363EFBFBFEFBFBFEFBFBFEFBFBF20
+26 sp --------------------------------
+27 a cch_
+27 mn 63636809090909090909090909090909
+27 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+27 sp --------------------------------
+28 a aaa%
+28 mn 61610909090909090909090909090909
+28 mx 6161EFBFBFEFBFBFEFBFBFEFBFBF2020
+28 sp --------------------------------
+29 a ccc%
+29 mn 63636309090909090909090909090909
+29 mx 636363EFBFBFEFBFBFEFBFBFEFBFBF20
+29 sp --------------------------------
+30 a cch%
+30 mn 63636809090909090909090909090909
+30 mx 636368EFBFBFEFBFBFEFBFBFEFBFBF20
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 61616161090909090909090909090909
+31 mx 61616161EFBFBFEFBFBFEFBFBFEFBFBF
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0000
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00000000000000000000000000000000
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00610000
+9 mx 0061FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00630000
+10 mx 0063FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00610000000000000000000000000000
+11 mx 0061FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00630000000000000000000000000000
+12 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610000
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 006300630000
+17 mx 00630063FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680000
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000000000000000000000000
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630063000000000000000000000000
+20 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000000000000000000000000
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 0061006100610000
+25 mx 006100610061FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 0063006300630000
+26 mx 006300630063FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680000
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061006100000000000000000000
+28 mx 006100610061FFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063006300000000000000000000
+29 mx 006300630063FFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800000000000000000000
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00610061006100610061006100610061
+31 mx 00610061006100610061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0009
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00090009000900090009000900090009
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00610009
+9 mx 0061FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00630009
+10 mx 0063FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00610009000900090009000900090009
+11 mx 0061FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00630009000900090009000900090009
+12 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610009
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 006300630009
+17 mx 00630063FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680009
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000900090009000900090009
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630063000900090009000900090009
+20 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000900090009000900090009
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 0061006100610009
+25 mx 006100610061FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 0063006300630009
+26 mx 006300630063FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680009
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061006100090009000900090009
+28 mx 006100610061FFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063006300090009000900090009
+29 mx 006300630063FFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800090009000900090009
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00610061006100610061006100610061
+31 mx 00610061006100610061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0009
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00090009000900090009000900090009
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00610009
+9 mx 0061FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00090009000900090009000900090009
+10 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00610009000900090009000900090009
+11 mx 0061FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00090009000900090009000900090009
+12 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610009
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 00630009000900090009000900090009
+17 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680009
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000900090009000900090009
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630009000900090009000900090009
+20 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000900090009000900090009
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 0061006100610009
+25 mx 006100610061FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 00630063000900090009000900090009
+26 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680009
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061006100090009000900090009
+28 mx 006100610061FFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063000900090009000900090009
+29 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800090009000900090009
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00610061006100610061006100610061
+31 mx 00610061006100610061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0009
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00090009000900090009000900090009
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00090009000900090009000900090009
+9 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00630009
+10 mx 0063FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00090009000900090009000900090009
+11 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00630009000900090009000900090009
+12 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610009
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 006300630009
+17 mx 00630063FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680009
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000900090009000900090009
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630063000900090009000900090009
+20 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000900090009000900090009
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 00610061000900090009000900090009
+25 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 0063006300630009
+26 mx 006300630063FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680009
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061000900090009000900090009
+28 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063006300090009000900090009
+29 mx 006300630063FFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800090009000900090009
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00610061006100610061006100610061
+31 mx 00610061006100610061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0000
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00000000000000000000000000000000
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00610000
+9 mx 0061FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00630000
+10 mx 0063FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00610000000000000000000000000000
+11 mx 0061FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00630000000000000000000000000000
+12 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610000
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 006300630000
+17 mx 00630063FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680000
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000000000000000000000000
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630063000000000000000000000000
+20 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000000000000000000000000
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 0061006100610000
+25 mx 006100610061FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 0063006300630000
+26 mx 006300630063FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680000
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061006100000000000000000000
+28 mx 006100610061FFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063006300000000000000000000
+29 mx 006300630063FFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800000000000000000000
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 0061006100610061
+31 mx 0061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16 COLLATE utf16_unicode_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0009
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00090009000900090009000900090009
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00610009
+9 mx 0061FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00630009
+10 mx 0063FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00610009000900090009000900090009
+11 mx 0061FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00630009000900090009000900090009
+12 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610009
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 006300630009
+17 mx 00630063FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680009
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000900090009000900090009
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630063000900090009000900090009
+20 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000900090009000900090009
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 0061006100610009
+25 mx 006100610061FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 0063006300630009
+26 mx 006300630063FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680009
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061006100090009000900090009
+28 mx 006100610061FFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063006300090009000900090009
+29 mx 006300630063FFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800090009000900090009
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 0061006100610061
+31 mx 0061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16 COLLATE utf16_czech_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0009
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00090009000900090009000900090009
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00610009
+9 mx 0061FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00090009000900090009000900090009
+10 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00610009000900090009000900090009
+11 mx 0061FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00090009000900090009000900090009
+12 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610009
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 00630009000900090009000900090009
+17 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680009
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000900090009000900090009
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630009000900090009000900090009
+20 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000900090009000900090009
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 0061006100610009
+25 mx 006100610061FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 00630063000900090009000900090009
+26 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680009
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061006100090009000900090009
+28 mx 006100610061FFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063000900090009000900090009
+29 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800090009000900090009
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 0061006100610061
+31 mx 0061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16 COLLATE utf16_danish_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 0009
+2 mx FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00090009000900090009000900090009
+3 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+3 sp --------------------------------
+4 a \_
+4 mn 005F
+4 mx 005F
+4 sp --------------------------------
+5 a \%
+5 mn 0025
+5 mx 0025
+5 sp --------------------------------
+6 a \
+6 mn 005C
+6 mx 005C
+6 sp --------------------------------
+7 a a
+7 mn 0061
+7 mx 0061
+7 sp --------------------------------
+8 a c
+8 mn 0063
+8 mx 0063
+8 sp --------------------------------
+9 a a_
+9 mn 00090009000900090009000900090009
+9 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00630009
+10 mx 0063FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00090009000900090009000900090009
+11 mx FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00630009000900090009000900090009
+12 mx 0063FFFFFFFFFFFFFFFFFFFFFFFFFFFF
+12 sp --------------------------------
+13 a aa
+13 mn 00610061
+13 mx 00610061
+13 sp --------------------------------
+14 a cc
+14 mn 00630063
+14 mx 00630063
+14 sp --------------------------------
+15 a ch
+15 mn 00630068
+15 mx 00630068
+15 sp --------------------------------
+16 a aa_
+16 mn 006100610009
+16 mx 00610061FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 006300630009
+17 mx 00630063FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 006300680009
+18 mx 00630068FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00610061000900090009000900090009
+19 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00630063000900090009000900090009
+20 mx 00630063FFFFFFFFFFFFFFFFFFFFFFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00630068000900090009000900090009
+21 mx 00630068FFFFFFFFFFFFFFFFFFFFFFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 006100610061
+22 mx 006100610061
+22 sp --------------------------------
+23 a ccc
+23 mn 006300630063
+23 mx 006300630063
+23 sp --------------------------------
+24 a cch
+24 mn 006300630068
+24 mx 006300630068
+24 sp --------------------------------
+25 a aaa_
+25 mn 00610061000900090009000900090009
+25 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 0063006300630009
+26 mx 006300630063FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 0063006300680009
+27 mx 006300630068FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00610061000900090009000900090009
+28 mx 00610061FFFFFFFFFFFFFFFFFFFFFFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00630063006300090009000900090009
+29 mx 006300630063FFFFFFFFFFFFFFFFFFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00630063006800090009000900090009
+30 mx 006300630068FFFFFFFFFFFFFFFFFFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 0061006100610061
+31 mx 0061006100610061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00000000
+2 mx 0000FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00000000000000000000000000000000
+3 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+3 sp --------------------------------
+4 a \_
+4 mn 0000005F
+4 mx 0000005F
+4 sp --------------------------------
+5 a \%
+5 mn 00000025
+5 mx 00000025
+5 sp --------------------------------
+6 a \
+6 mn 0000005C
+6 mx 0000005C
+6 sp --------------------------------
+7 a a
+7 mn 00000061
+7 mx 00000061
+7 sp --------------------------------
+8 a c
+8 mn 00000063
+8 mx 00000063
+8 sp --------------------------------
+9 a a_
+9 mn 0000006100000000
+9 mx 000000610000FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 0000006300000000
+10 mx 000000630000FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00000061000000000000000000000000
+11 mx 000000610000FFFF0000FFFF0000FFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00000063000000000000000000000000
+12 mx 000000630000FFFF0000FFFF0000FFFF
+12 sp --------------------------------
+13 a aa
+13 mn 0000006100000061
+13 mx 0000006100000061
+13 sp --------------------------------
+14 a cc
+14 mn 0000006300000063
+14 mx 0000006300000063
+14 sp --------------------------------
+15 a ch
+15 mn 0000006300000068
+15 mx 0000006300000068
+15 sp --------------------------------
+16 a aa_
+16 mn 000000610000006100000000
+16 mx 00000061000000610000FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 000000630000006300000000
+17 mx 00000063000000630000FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 000000630000006800000000
+18 mx 00000063000000680000FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00000061000000610000000000000000
+19 mx 00000061000000610000FFFF0000FFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00000063000000630000000000000000
+20 mx 00000063000000630000FFFF0000FFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00000063000000680000000000000000
+21 mx 00000063000000680000FFFF0000FFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 000000610000006100000061
+22 mx 000000610000006100000061
+22 sp --------------------------------
+23 a ccc
+23 mn 000000630000006300000063
+23 mx 000000630000006300000063
+23 sp --------------------------------
+24 a cch
+24 mn 000000630000006300000068
+24 mx 000000630000006300000068
+24 sp --------------------------------
+25 a aaa_
+25 mn 00000061000000610000006100000000
+25 mx 0000006100000061000000610000FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 00000063000000630000006300000000
+26 mx 0000006300000063000000630000FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 00000063000000630000006800000000
+27 mx 0000006300000063000000680000FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00000061000000610000006100000000
+28 mx 0000006100000061000000610000FFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00000063000000630000006300000000
+29 mx 0000006300000063000000630000FFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00000063000000630000006800000000
+30 mx 0000006300000063000000680000FFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00000061000000610000006100000061
+31 mx 00000061000000610000006100000061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32 COLLATE utf32_unicode_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00000009
+2 mx 0000FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00000009000000090000000900000009
+3 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+3 sp --------------------------------
+4 a \_
+4 mn 0000005F
+4 mx 0000005F
+4 sp --------------------------------
+5 a \%
+5 mn 00000025
+5 mx 00000025
+5 sp --------------------------------
+6 a \
+6 mn 0000005C
+6 mx 0000005C
+6 sp --------------------------------
+7 a a
+7 mn 00000061
+7 mx 00000061
+7 sp --------------------------------
+8 a c
+8 mn 00000063
+8 mx 00000063
+8 sp --------------------------------
+9 a a_
+9 mn 0000006100000009
+9 mx 000000610000FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 0000006300000009
+10 mx 000000630000FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00000061000000090000000900000009
+11 mx 000000610000FFFF0000FFFF0000FFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00000063000000090000000900000009
+12 mx 000000630000FFFF0000FFFF0000FFFF
+12 sp --------------------------------
+13 a aa
+13 mn 0000006100000061
+13 mx 0000006100000061
+13 sp --------------------------------
+14 a cc
+14 mn 0000006300000063
+14 mx 0000006300000063
+14 sp --------------------------------
+15 a ch
+15 mn 0000006300000068
+15 mx 0000006300000068
+15 sp --------------------------------
+16 a aa_
+16 mn 000000610000006100000009
+16 mx 00000061000000610000FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 000000630000006300000009
+17 mx 00000063000000630000FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 000000630000006800000009
+18 mx 00000063000000680000FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00000061000000610000000900000009
+19 mx 00000061000000610000FFFF0000FFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00000063000000630000000900000009
+20 mx 00000063000000630000FFFF0000FFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00000063000000680000000900000009
+21 mx 00000063000000680000FFFF0000FFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 000000610000006100000061
+22 mx 000000610000006100000061
+22 sp --------------------------------
+23 a ccc
+23 mn 000000630000006300000063
+23 mx 000000630000006300000063
+23 sp --------------------------------
+24 a cch
+24 mn 000000630000006300000068
+24 mx 000000630000006300000068
+24 sp --------------------------------
+25 a aaa_
+25 mn 00000061000000610000006100000009
+25 mx 0000006100000061000000610000FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 00000063000000630000006300000009
+26 mx 0000006300000063000000630000FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 00000063000000630000006800000009
+27 mx 0000006300000063000000680000FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00000061000000610000006100000009
+28 mx 0000006100000061000000610000FFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00000063000000630000006300000009
+29 mx 0000006300000063000000630000FFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00000063000000630000006800000009
+30 mx 0000006300000063000000680000FFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00000061000000610000006100000061
+31 mx 00000061000000610000006100000061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32 COLLATE utf32_czech_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00000009
+2 mx 0000FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00000009000000090000000900000009
+3 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+3 sp --------------------------------
+4 a \_
+4 mn 0000005F
+4 mx 0000005F
+4 sp --------------------------------
+5 a \%
+5 mn 00000025
+5 mx 00000025
+5 sp --------------------------------
+6 a \
+6 mn 0000005C
+6 mx 0000005C
+6 sp --------------------------------
+7 a a
+7 mn 00000061
+7 mx 00000061
+7 sp --------------------------------
+8 a c
+8 mn 00000063
+8 mx 00000063
+8 sp --------------------------------
+9 a a_
+9 mn 0000006100000009
+9 mx 000000610000FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 00000009000000090000000900000009
+10 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00000061000000090000000900000009
+11 mx 000000610000FFFF0000FFFF0000FFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00000009000000090000000900000009
+12 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+12 sp --------------------------------
+13 a aa
+13 mn 0000006100000061
+13 mx 0000006100000061
+13 sp --------------------------------
+14 a cc
+14 mn 0000006300000063
+14 mx 0000006300000063
+14 sp --------------------------------
+15 a ch
+15 mn 0000006300000068
+15 mx 0000006300000068
+15 sp --------------------------------
+16 a aa_
+16 mn 000000610000006100000009
+16 mx 00000061000000610000FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 00000063000000090000000900000009
+17 mx 000000630000FFFF0000FFFF0000FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 000000630000006800000009
+18 mx 00000063000000680000FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00000061000000610000000900000009
+19 mx 00000061000000610000FFFF0000FFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00000063000000090000000900000009
+20 mx 000000630000FFFF0000FFFF0000FFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00000063000000680000000900000009
+21 mx 00000063000000680000FFFF0000FFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 000000610000006100000061
+22 mx 000000610000006100000061
+22 sp --------------------------------
+23 a ccc
+23 mn 000000630000006300000063
+23 mx 000000630000006300000063
+23 sp --------------------------------
+24 a cch
+24 mn 000000630000006300000068
+24 mx 000000630000006300000068
+24 sp --------------------------------
+25 a aaa_
+25 mn 00000061000000610000006100000009
+25 mx 0000006100000061000000610000FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 00000063000000630000000900000009
+26 mx 00000063000000630000FFFF0000FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 00000063000000630000006800000009
+27 mx 0000006300000063000000680000FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00000061000000610000006100000009
+28 mx 0000006100000061000000610000FFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00000063000000630000000900000009
+29 mx 00000063000000630000FFFF0000FFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00000063000000630000006800000009
+30 mx 0000006300000063000000680000FFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00000061000000610000006100000061
+31 mx 00000061000000610000006100000061
+31 sp --------------------------------
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32 COLLATE utf32_danish_ci;
+SELECT * FROM v1;
+id name val
+1 a
+1 mn
+1 mx
+1 sp --------------------------------
+2 a _
+2 mn 00000009
+2 mx 0000FFFF
+2 sp --------------------------------
+3 a %
+3 mn 00000009000000090000000900000009
+3 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+3 sp --------------------------------
+4 a \_
+4 mn 0000005F
+4 mx 0000005F
+4 sp --------------------------------
+5 a \%
+5 mn 00000025
+5 mx 00000025
+5 sp --------------------------------
+6 a \
+6 mn 0000005C
+6 mx 0000005C
+6 sp --------------------------------
+7 a a
+7 mn 00000061
+7 mx 00000061
+7 sp --------------------------------
+8 a c
+8 mn 00000063
+8 mx 00000063
+8 sp --------------------------------
+9 a a_
+9 mn 00000009000000090000000900000009
+9 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+9 sp --------------------------------
+10 a c_
+10 mn 0000006300000009
+10 mx 000000630000FFFF
+10 sp --------------------------------
+11 a a%
+11 mn 00000009000000090000000900000009
+11 mx 0000FFFF0000FFFF0000FFFF0000FFFF
+11 sp --------------------------------
+12 a c%
+12 mn 00000063000000090000000900000009
+12 mx 000000630000FFFF0000FFFF0000FFFF
+12 sp --------------------------------
+13 a aa
+13 mn 0000006100000061
+13 mx 0000006100000061
+13 sp --------------------------------
+14 a cc
+14 mn 0000006300000063
+14 mx 0000006300000063
+14 sp --------------------------------
+15 a ch
+15 mn 0000006300000068
+15 mx 0000006300000068
+15 sp --------------------------------
+16 a aa_
+16 mn 000000610000006100000009
+16 mx 00000061000000610000FFFF
+16 sp --------------------------------
+17 a cc_
+17 mn 000000630000006300000009
+17 mx 00000063000000630000FFFF
+17 sp --------------------------------
+18 a ch_
+18 mn 000000630000006800000009
+18 mx 00000063000000680000FFFF
+18 sp --------------------------------
+19 a aa%
+19 mn 00000061000000610000000900000009
+19 mx 00000061000000610000FFFF0000FFFF
+19 sp --------------------------------
+20 a cc%
+20 mn 00000063000000630000000900000009
+20 mx 00000063000000630000FFFF0000FFFF
+20 sp --------------------------------
+21 a ch%
+21 mn 00000063000000680000000900000009
+21 mx 00000063000000680000FFFF0000FFFF
+21 sp --------------------------------
+22 a aaa
+22 mn 000000610000006100000061
+22 mx 000000610000006100000061
+22 sp --------------------------------
+23 a ccc
+23 mn 000000630000006300000063
+23 mx 000000630000006300000063
+23 sp --------------------------------
+24 a cch
+24 mn 000000630000006300000068
+24 mx 000000630000006300000068
+24 sp --------------------------------
+25 a aaa_
+25 mn 00000061000000610000000900000009
+25 mx 00000061000000610000FFFF0000FFFF
+25 sp --------------------------------
+26 a ccc_
+26 mn 00000063000000630000006300000009
+26 mx 0000006300000063000000630000FFFF
+26 sp --------------------------------
+27 a cch_
+27 mn 00000063000000630000006800000009
+27 mx 0000006300000063000000680000FFFF
+27 sp --------------------------------
+28 a aaa%
+28 mn 00000061000000610000000900000009
+28 mx 00000061000000610000FFFF0000FFFF
+28 sp --------------------------------
+29 a ccc%
+29 mn 00000063000000630000006300000009
+29 mx 0000006300000063000000630000FFFF
+29 sp --------------------------------
+30 a cch%
+30 mn 00000063000000630000006800000009
+30 mx 0000006300000063000000680000FFFF
+30 sp --------------------------------
+31 a aaaaaaaaaaaaaaaaaaaa
+31 mn 00000061000000610000006100000061
+31 mx 00000061000000610000006100000061
+31 sp --------------------------------
+DROP VIEW v1;
+DROP TABLE t1;
diff --git a/mysql-test/r/ctype_many.result b/mysql-test/r/ctype_many.result
index 4730b4df668..4ea5efab159 100644
--- a/mysql-test/r/ctype_many.result
+++ b/mysql-test/r/ctype_many.result
@@ -1684,6 +1684,24 @@ ARMENIAN CAPIT ECH 2
ARMENIAN CAPIT ZA 2
DROP TABLE t1;
#
+# Start of 5.1 tests
+#
+#
+# Bug#58371 Assertion failed: !s.uses_buffer_owned_by(this) with format string function
+#
+SET NAMES latin1;
+DO CONVERT(CAST(SUBSTRING_INDEX(FORMAT(1,'1111'), FORMAT('','Zpq'),1)
+AS BINARY(0)) USING utf8);
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'Zpq'
+Warning 1292 Truncated incorrect BINARY(0) value: '1.'
+#
+# End of 5.1 tests
+#
+#
+# Start of 5.5 tests
+#
+#
# WL#1213 Implement 4-byte UTF8, UTF16 and UTF32
# Testing that only utf8mb4 is superset for utf8
# No other Unicode character set pairs have superset/subset relations
@@ -1739,3 +1757,22 @@ ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (utf8mb4_
SELECT CHARSET(CONCAT(utf32, utf16)) FROM t1;
ERROR HY000: Illegal mix of collations (utf32_general_ci,IMPLICIT) and (utf16_general_ci,IMPLICIT) for operation 'concat'
DROP TABLE t1;
+#
+# Bug#58321 No warning when characters outside BMP0 is converted to UCS2
+#
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf32);
+CREATE TABLE t2 (a VARCHAR(10) CHARACTER SET ucs2);
+INSERT INTO t1 VALUES (0x10082), (0x12345);
+INSERT INTO t2 SELECT * FROM t1;
+Warnings:
+Warning 1366 Incorrect string value: '\x00\x01\x00\x82' for column 'a' at row 1
+Warning 1366 Incorrect string value: '\x00\x01\x23\x45' for column 'a' at row 2
+SELECT HEX(a) FROM t2;
+HEX(a)
+003F
+003F
+DROP TABLE t1;
+DROP TABLE t2;
+#
+# End of 5.5 tests
+#
diff --git a/mysql-test/r/ctype_sjis.result b/mysql-test/r/ctype_sjis.result
index 78827b5b907..abeb19c0c8f 100644
--- a/mysql-test/r/ctype_sjis.result
+++ b/mysql-test/r/ctype_sjis.result
@@ -218,6 +218,12 @@ hex(a) hex(lower(a)) hex(upper(a))
8352835E 8352835E 8352835E
8372835E 8372835E 8372835E
DROP TABLE t1;
+#
+# Bug#11766519 - Bug#59648: MY_STRTOLL10_MB2: ASSERTION `(*ENDPTR - S) % 2 == 0' FAILED.
+#
+SELECT QUOTE('ƒ\');
+QUOTE('ƒ\')
+'ƒ\'
# End of 5.1 tests
#
# Start of 5.5 tests
diff --git a/mysql-test/r/ctype_uca.result b/mysql-test/r/ctype_uca.result
index d51cd2b1d06..7afcc0ef049 100644
--- a/mysql-test/r/ctype_uca.result
+++ b/mysql-test/r/ctype_uca.result
@@ -3007,3 +3007,101 @@ a hex(b) c
DROP TABLE t1;
set names utf8;
End for 5.0 tests
+#
+# Start of 5.5 tests
+#
+SET collation_connection=utf8_czech_ci;
+SELECT @@collation_connection;
+@@collation_connection
+utf8_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
+SELECT * FROM t1 WHERE s1 LIKE 'ch';
+s1
+ch
+DROP TABLE t1;
+SELECT @@collation_connection;
+@@collation_connection
+utf8_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+# Part#2 - ignorable characters
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+61000000000009
+61
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+61000000000009
+61
+DROP TABLE t1;
+SET collation_connection=ucs2_czech_ci;
+SELECT @@collation_connection;
+@@collation_connection
+ucs2_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
+SELECT * FROM t1 WHERE s1 LIKE 'ch';
+s1
+ch
+DROP TABLE t1;
+SELECT @@collation_connection;
+@@collation_connection
+ucs2_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+# Part#2 - ignorable characters
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+0061000000000000000000000009
+0061
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+0061000000000000000000000009
+0061
+DROP TABLE t1;
+#
+# End of 5.5 tests
+#
diff --git a/mysql-test/r/ctype_ucs.result b/mysql-test/r/ctype_ucs.result
index 8d35cf445e8..2dad45e5639 100644
--- a/mysql-test/r/ctype_ucs.result
+++ b/mysql-test/r/ctype_ucs.result
@@ -990,8 +990,8 @@ old_password(name)
14e500b131773991
select quote(name) from bug20536;
quote(name)
-????????
-????????????????
+'test1'
+'\'test\\_2\''
drop table bug20536;
set names ucs2;
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
@@ -1238,6 +1238,17 @@ CREATE VIEW v1 AS SELECT 1 from t1
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
DROP VIEW v1;
DROP TABLE t1;
+#
+# Bug#59648 my_strtoll10_mb2: Assertion `(*endptr - s) % 2 == 0' failed.
+#
+SELECT HEX(CHAR(COALESCE(NULL, CHAR(COUNT('%s') USING ucs2), 1, @@global.license, NULL) USING cp850));
+HEX(CHAR(COALESCE(NULL, CHAR(COUNT('%s') USING ucs2), 1, @@global.license, NULL) USING cp850))
+00
+SELECT CONVERT(QUOTE(CHAR(0xf5 using ucs2)), SIGNED);
+CONVERT(QUOTE(CHAR(0xf5 using ucs2)), SIGNED)
+0
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: ''
End of 5.0 tests
#
# Start of 5.1 tests
@@ -2717,7 +2728,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
+ `c1` varchar(10) CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(extract(year from 20090702)));
@@ -3338,7 +3349,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(2) CHARACTER SET ucs2 DEFAULT NULL
+ `concat(a)` varchar(4) CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a year);
@@ -3647,7 +3658,7 @@ insert into t1 values (1);
create view v1(a) as select concat(a) from t1;
show columns from v1;
Field Type Null Key Default Extra
-a varchar(2) YES NULL
+a varchar(4) YES NULL
select hex(a) from v1;
hex(a)
00300031
@@ -3903,6 +3914,9 @@ GROUP_CONCAT(IFNULL(a,''))
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
GROUP_CONCAT(IF(a,a,''))
1234567
+SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
+GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END)
+1234567
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def COALESCE(a,'') 253 9 7 Y 0 31 8
@@ -4037,6 +4051,91 @@ DROP TABLE t1;
# End of Bug#54916
#
#
+# Bug#58190 BETWEEN no longer uses indexes for date or datetime fields
+#
+SELECT @@collation_connection;
+@@collation_connection
+ucs2_general_ci
+CREATE TABLE t1 (
+id INT(11) DEFAULT NULL,
+date_column DATE DEFAULT NULL,
+KEY(date_column));
+INSERT INTO t1 VALUES (1,'2010-09-01'),(2,'2010-10-01');
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+ALTER TABLE t1 MODIFY date_column DATETIME DEFAULT NULL;
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
+DROP TABLE t1;
+#
+# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
+#
+SELECT @@collation_connection, @@character_set_results;
+@@collation_connection @@character_set_results
+ucs2_general_ci latin1
+CREATE TABLE t1 AS
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `field_str1` varchar(29) CHARACTER SET ucs2 DEFAULT NULL,
+ `field1_str2` varchar(29) CHARACTER SET ucs2 DEFAULT NULL,
+ `field_date` date DEFAULT NULL,
+ `field_datetime` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def field_str1 254 29 10 Y 0 31 8
+def field1_str2 254 29 19 Y 0 31 8
+def field_date 10 29 10 Y 128 31 63
+def field_datetime 12 29 19 Y 128 31 63
+field_str1 field1_str2 field_date field_datetime
+2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
+SELECT
+HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
+HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
+HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
+HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
+field_str1 field1_str2 field_date field_datetime
+0032003000300037002D00300038002D00300032002000320033003A00350039003A00300030 0032003000300037002D00300038002D00300033002000310037003A00330032003A00300030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
+#
+# Bug#11926811 / Bug#60625 Illegal mix of collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+ucs2_general_ci
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
+SELECT v_LastPaymentDate < NOW();
+EXPLAIN EXTENDED SELECT v_LastPaymentDate < NOW();
+SHOW WARNINGS;
+EXPLAIN EXTENDED SELECT CONCAT(v_LastPaymentDate, NOW());
+END//
+CALL p1;
+v_LastPaymentDate < NOW()
+NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Level Code Message
+Note 1003 select (v_LastPaymentDate@0 < now()) AS `v_LastPaymentDate < NOW()`
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select concat(convert(v_LastPaymentDate@0 using ucs2),convert(now() using ucs2)) AS `CONCAT(v_LastPaymentDate, NOW())`
+DROP PROCEDURE p1;
+#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
diff --git a/mysql-test/r/ctype_ujis.result b/mysql-test/r/ctype_ujis.result
index 946aa1c780e..b801a7f45a4 100644
--- a/mysql-test/r/ctype_ujis.result
+++ b/mysql-test/r/ctype_ujis.result
@@ -2374,6 +2374,16 @@ hex(convert(_latin1 0xA4A2 using ujis)) hex(c2)
DROP PROCEDURE sp1;
DROP TABLE t1;
DROP TABLE t2;
+#
+# Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
+#
+SET NAMES utf8;
+SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
+CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis)
+
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'a'
+Warning 1292 Truncated incorrect INTEGER value: 'a'
set names default;
set character_set_database=default;
set character_set_server=default;
diff --git a/mysql-test/r/ctype_utf16.result b/mysql-test/r/ctype_utf16.result
index 0d5280950df..07308c8e0e0 100644
--- a/mysql-test/r/ctype_utf16.result
+++ b/mysql-test/r/ctype_utf16.result
@@ -31,13 +31,13 @@ binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
1 1 1
select hex(_utf16 0x44);
hex(_utf16 0x44)
-00000044
+0044
select hex(_utf16 0x3344);
hex(_utf16 0x3344)
3344
select hex(_utf16 0x113344);
hex(_utf16 0x113344)
-000000113344
+00113344
CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf16;
INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
SELECT hex(word) FROM t1 ORDER BY word;
@@ -435,10 +435,10 @@ aardvarz
DROP TABLE t1;
SELECT hex(cast(0xAA as char character set utf16));
hex(cast(0xAA as char character set utf16))
-000000AA
+00AA
SELECT hex(convert(0xAA using utf16));
hex(convert(0xAA using utf16))
-000000AA
+00AA
CREATE TABLE t1 (a char(10) character set utf16);
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
SELECT HEX(a) FROM t1;
@@ -626,16 +626,16 @@ INSERT INTO t1 VALUES (_utf8mb4 0xCE85),(_utf8mb4 0xF4808080);
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
HEX(a) HEX(CONVERT(a USING utf8mb4))
0385 CE85
+FF9D EFBE9D
D800DF84 F0908E84
DBC0DC00 F4808080
-FF9D EFBE9D
ALTER TABLE t1 ADD KEY(a);
SELECT HEX(a), HEX(CONVERT(a USING utf8mb4)) FROM t1 ORDER BY a;
HEX(a) HEX(CONVERT(a USING utf8mb4))
0385 CE85
+FF9D EFBE9D
D800DF84 F0908E84
DBC0DC00 F4808080
-FF9D EFBE9D
DROP TABLE IF EXISTS t1;
select @@collation_connection;
@@collation_connection
@@ -1103,5 +1103,20 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2;
#
+# Bug#11753363 (Bug#44793) Character sets: case clause, ucs2 or utf32, failure
+#
+SELECT CASE _latin1'a' WHEN _utf16'a' THEN 'A' END;
+CASE _latin1'a' WHEN _utf16'a' THEN 'A' END
+A
+SELECT CASE _utf16'a' WHEN _latin1'a' THEN 'A' END;
+CASE _utf16'a' WHEN _latin1'a' THEN 'A' END
+A
+CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf16);
+INSERT INTO t1 VALUES ('a');
+SELECT CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END FROM t1;
+CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END
+b
+DROP TABLE t1;
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_utf16_uca.result b/mysql-test/r/ctype_utf16_uca.result
index d83ef2af09e..18adaf2f79c 100644
--- a/mysql-test/r/ctype_utf16_uca.result
+++ b/mysql-test/r/ctype_utf16_uca.result
@@ -2368,6 +2368,52 @@ NULL
NULL
NULL
drop table t1;
+SET collation_connection=utf16_czech_ci;
+SELECT @@collation_connection;
+@@collation_connection
+utf16_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
+SELECT * FROM t1 WHERE s1 LIKE 'ch';
+s1
+ch
+DROP TABLE t1;
+SELECT @@collation_connection;
+@@collation_connection
+utf16_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+# Part#2 - ignorable characters
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+0061000000000000000000000009
+0061
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+0061000000000000000000000009
+0061
+DROP TABLE t1;
#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_utf32.result b/mysql-test/r/ctype_utf32.result
index cca4efd1571..7d9db0cc41e 100644
--- a/mysql-test/r/ctype_utf32.result
+++ b/mysql-test/r/ctype_utf32.result
@@ -1153,5 +1153,20 @@ d
f
DROP TABLE t1;
#
+# Bug#11753363 (Bug#44793) Character sets: case clause, ucs2 or utf32, failure
+#
+SELECT CASE _latin1'a' WHEN _utf32'a' THEN 'A' END;
+CASE _latin1'a' WHEN _utf32'a' THEN 'A' END
+A
+SELECT CASE _utf32'a' WHEN _latin1'a' THEN 'A' END;
+CASE _utf32'a' WHEN _latin1'a' THEN 'A' END
+A
+CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf32);
+INSERT INTO t1 VALUES ('a');
+SELECT CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END FROM t1;
+CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END
+b
+DROP TABLE t1;
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_utf32_uca.result b/mysql-test/r/ctype_utf32_uca.result
index 5006009fc9c..fd5a4199217 100644
--- a/mysql-test/r/ctype_utf32_uca.result
+++ b/mysql-test/r/ctype_utf32_uca.result
@@ -2368,6 +2368,52 @@ NULL
NULL
NULL
drop table t1;
+SET collation_connection=utf32_czech_ci;
+SELECT @@collation_connection;
+@@collation_connection
+utf32_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('c'),('ce'),('cé'),('ch');
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT * FROM t1 WHERE s1 LIKE 'c%';
+s1
+c
+ce
+cé
+ch
+ALTER TABLE t1 DROP KEY s1, ADD KEY(s1(1));
+SELECT * FROM t1 WHERE s1 LIKE 'ch';
+s1
+ch
+DROP TABLE t1;
+SELECT @@collation_connection;
+@@collation_connection
+utf32_czech_ci
+#
+# Bug#57737 Character sets: search fails with like, contraction, index
+# Part#2 - ignorable characters
+#
+CREATE TABLE t1 AS SELECT REPEAT(' ', 10) AS s1 LIMIT 0;
+INSERT INTO t1 VALUES ('a\0\0\0\0\0\t'),('a'),('b'),('c'),('d'),('e');
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+00000061000000000000000000000000000000000000000000000009
+00000061
+ALTER TABLE t1 ADD KEY s1 (s1);
+SELECT HEX(s1) FROM t1 WHERE s1 LIKE 'a%';
+HEX(s1)
+00000061000000000000000000000000000000000000000000000009
+00000061
+DROP TABLE t1;
#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
index 4c3b661ce90..930917b3268 100644
--- a/mysql-test/r/ctype_utf8.result
+++ b/mysql-test/r/ctype_utf8.result
@@ -1901,6 +1901,37 @@ CONVERT(a, CHAR) CONVERT(b, CHAR)
70000 1092
DROP TABLE t1;
End of 5.0 tests
+SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'ÑÑÑŽÑ'));
+LENGTH(RPAD(0.0115E88, 61297, _utf8'ÑÑÑŽÑ'))
+122587
+SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'йцуÑ'));
+LENGTH(RPAD(0.0115E88, 61297, _utf8'йцуÑ'))
+122587
+SELECT HEX(RPAD(0x20, 2, _utf8 0xD18F));
+HEX(RPAD(0x20, 2, _utf8 0xD18F))
+20D1
+SELECT HEX(RPAD(0x20, 4, _utf8 0xD18F));
+HEX(RPAD(0x20, 4, _utf8 0xD18F))
+20D18FD1
+SELECT HEX(LPAD(0x20, 2, _utf8 0xD18F));
+HEX(LPAD(0x20, 2, _utf8 0xD18F))
+D120
+SELECT HEX(LPAD(0x20, 4, _utf8 0xD18F));
+HEX(LPAD(0x20, 4, _utf8 0xD18F))
+D18FD120
+SELECT HEX(RPAD(_utf8 0xD18F, 3, 0x20));
+HEX(RPAD(_utf8 0xD18F, 3, 0x20))
+D18F20
+SELECT HEX(LPAD(_utf8 0xD18F, 3, 0x20));
+HEX(LPAD(_utf8 0xD18F, 3, 0x20))
+20D18F
+SELECT HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20));
+HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20))
+D120
+SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
+HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20))
+D120D18E
+End of 5.1 tests
Start of 5.4 tests
SET NAMES utf8mb3;
SHOW VARIABLES LIKE 'character_set_results%';
@@ -2043,6 +2074,20 @@ predicted_order hex(utf8_encoding)
100 E0B78AE2808DE0B6BA
101 E0B78AE2808DE0B6BB
DROP TABLE t1;
+SET NAMES utf8 COLLATE utf8_sinhala_ci;
+CREATE TABLE t1 (s1 VARCHAR(10) COLLATE utf8_sinhala_ci);
+INSERT INTO t1 VALUES ('a'),('ae'),('af');
+SELECT s1,hex(s1) FROM t1 ORDER BY s1;
+s1 hex(s1)
+a 61
+ae 6165
+af 6166
+SELECT * FROM t1 ORDER BY s1;
+s1
+a
+ae
+af
+DROP TABLE t1;
End of 5.4 tests
#
# Start of 5.5 tests
@@ -3515,7 +3560,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `c1` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT ''
+ `c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select hex(concat(extract(year from 20090702)));
@@ -4136,7 +4181,7 @@ create table t2 as select concat(a) from t1;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `concat(a)` varchar(2) CHARACTER SET utf8 DEFAULT NULL
+ `concat(a)` varchar(4) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
create table t1 (a year);
@@ -4445,7 +4490,7 @@ insert into t1 values (1);
create view v1(a) as select concat(a) from t1;
show columns from v1;
Field Type Null Key Default Extra
-a varchar(2) YES NULL
+a varchar(4) YES NULL
select hex(a) from v1;
hex(a)
3031
@@ -4838,6 +4883,91 @@ DROP TABLE t1;
# End of Bug#54916
#
#
+# Bug#58190 BETWEEN no longer uses indexes for date or datetime fields
+#
+SELECT @@collation_connection;
+@@collation_connection
+utf8_general_ci
+CREATE TABLE t1 (
+id INT(11) DEFAULT NULL,
+date_column DATE DEFAULT NULL,
+KEY(date_column));
+INSERT INTO t1 VALUES (1,'2010-09-01'),(2,'2010-10-01');
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 4 NULL 1 Using where
+ALTER TABLE t1 MODIFY date_column DATETIME DEFAULT NULL;
+EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
+DROP TABLE t1;
+#
+# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
+#
+SELECT @@collation_connection, @@character_set_results;
+@@collation_connection @@character_set_results
+utf8_general_ci utf8
+CREATE TABLE t1 AS
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `field_str1` varchar(29) CHARACTER SET utf8 DEFAULT NULL,
+ `field1_str2` varchar(29) CHARACTER SET utf8 DEFAULT NULL,
+ `field_date` date DEFAULT NULL,
+ `field_datetime` datetime DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SELECT
+DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
+DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
+DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
+DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def field_str1 254 87 10 Y 0 31 33
+def field1_str2 254 87 19 Y 0 31 33
+def field_date 10 29 10 Y 128 31 63
+def field_datetime 12 29 19 Y 128 31 63
+field_str1 field1_str2 field_date field_datetime
+2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
+SELECT
+HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
+HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
+HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
+HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
+field_str1 field1_str2 field_date field_datetime
+323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
+#
+# Bug#11926811 / Bug#60625 Illegal mix of collations
+#
+SELECT @@collation_connection;
+@@collation_connection
+utf8_general_ci
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE v_LastPaymentDate DATETIME DEFAULT NULL;
+SELECT v_LastPaymentDate < NOW();
+EXPLAIN EXTENDED SELECT v_LastPaymentDate < NOW();
+SHOW WARNINGS;
+EXPLAIN EXTENDED SELECT CONCAT(v_LastPaymentDate, NOW());
+END//
+CALL p1;
+v_LastPaymentDate < NOW()
+NULL
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Level Code Message
+Note 1003 select (v_LastPaymentDate@0 < now()) AS `v_LastPaymentDate < NOW()`
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select concat(convert(v_LastPaymentDate@0 using utf8),now()) AS `CONCAT(v_LastPaymentDate, NOW())`
+DROP PROCEDURE p1;
+#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
@@ -4858,5 +4988,31 @@ maketime(`a`,`a`,`a`)
DROP TABLE t1;
SET sql_mode=default;
#
+# Bug#57687 crash when reporting duplicate group_key error and utf8
+# Make sure to modify this when Bug#58081 is fixed.
+#
+SET NAMES utf8;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
+SELECT COUNT(*) FROM t1, t1 t2
+GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
+ERROR 23000: Duplicate entry '107374182410737418241' for key 'group_key'
+DROP TABLE t1;
+#
+# Bug#11764503 (Bug#57341) Query in EXPLAIN EXTENDED shows wrong characters
+#
+SET NAMES latin1;
+EXPLAIN EXTENDED SELECT 'abcdÃÂÃÄÅ', _latin1'abcdÃÂÃÄÅ', _utf8'abcdÃÂÃÄÅ' AS u;
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select 'abcdÃÂÃÄÅ' AS `abcdÃÂÃÄÅ`,_latin1'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃÂÃÄÅ`,_utf8'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `u`
+SET NAMES utf8;
+EXPLAIN EXTENDED SELECT 'abcdÃÂÃÄÅ', _latin1'abcdÃÂÃÄÅ', _utf8'abcdÃÂÃÄÅ';
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
+Warnings:
+Note 1003 select 'abcdÃÂÃÄÅ' AS `abcdÃÂÃÄÅ`,_latin1'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃÂÂÃÄÅ`,_utf8'abcd\xC3\x81\xC3\x82\xC3\x83\xC3\x84\xC3\x85' AS `abcdÃÂÃÄÅ`
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/ctype_utf8mb4_ndb.result b/mysql-test/r/ctype_utf8mb4_ndb.result
deleted file mode 100644
index 2a11c13ce57..00000000000
--- a/mysql-test/r/ctype_utf8mb4_ndb.result
+++ /dev/null
@@ -1,1876 +0,0 @@
-drop table if exists t1,t2;
-#
-# Start of 5.5 tests
-#
-set names utf8mb4;
-select left(_utf8mb4 0xD0B0D0B1D0B2,1);
-left(_utf8mb4 0xD0B0D0B1D0B2,1)
-а
-select right(_utf8mb4 0xD0B0D0B2D0B2,1);
-right(_utf8mb4 0xD0B0D0B2D0B2,1)
-в
-select locate('he','hello');
-locate('he','hello')
-1
-select locate('he','hello',2);
-locate('he','hello',2)
-0
-select locate('lo','hello',2);
-locate('lo','hello',2)
-4
-select locate('HE','hello');
-locate('HE','hello')
-1
-select locate('HE','hello',2);
-locate('HE','hello',2)
-0
-select locate('LO','hello',2);
-locate('LO','hello',2)
-4
-select locate('HE','hello' collate utf8mb4_bin);
-locate('HE','hello' collate utf8mb4_bin)
-0
-select locate('HE','hello' collate utf8mb4_bin,2);
-locate('HE','hello' collate utf8mb4_bin,2)
-0
-select locate('LO','hello' collate utf8mb4_bin,2);
-locate('LO','hello' collate utf8mb4_bin,2)
-0
-select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2);
-locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2)
-2
-select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2);
-locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2)
-2
-select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2);
-locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2)
-2
-select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin);
-locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin)
-0
-select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin);
-locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin)
-0
-select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1);
-length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) char_length(_utf8mb4 0xD0B1)
-2 16 1
-select 'a' like 'a';
-'a' like 'a'
-1
-select 'A' like 'a';
-'A' like 'a'
-1
-select 'A' like 'a' collate utf8mb4_bin;
-'A' like 'a' collate utf8mb4_bin
-0
-select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%');
-_utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%')
-1
-select convert(_latin1'Günter André' using utf8mb4) like CONVERT(_latin1'GÜNTER%' USING utf8mb4);
-convert(_latin1'G?nter Andr?' using utf8mb4) like CONVERT(_latin1'G?NTER%' USING utf8mb4)
-1
-select CONVERT(_koi8r'×ÁÓÑ' USING utf8mb4) LIKE CONVERT(_koi8r'÷áóñ' USING utf8mb4);
-CONVERT(_koi8r'????' USING utf8mb4) LIKE CONVERT(_koi8r'????' USING utf8mb4)
-1
-select CONVERT(_koi8r'÷áóñ' USING utf8mb4) LIKE CONVERT(_koi8r'×ÁÓÑ' USING utf8mb4);
-CONVERT(_koi8r'????' USING utf8mb4) LIKE CONVERT(_koi8r'????' USING utf8mb4)
-1
-SELECT 'a' = 'a ';
-'a' = 'a '
-1
-SELECT 'a\0' < 'a';
-'a\0' < 'a'
-1
-SELECT 'a\0' < 'a ';
-'a\0' < 'a '
-1
-SELECT 'a\t' < 'a';
-'a\t' < 'a'
-1
-SELECT 'a\t' < 'a ';
-'a\t' < 'a '
-1
-SELECT 'a' = 'a ' collate utf8mb4_bin;
-'a' = 'a ' collate utf8mb4_bin
-1
-SELECT 'a\0' < 'a' collate utf8mb4_bin;
-'a\0' < 'a' collate utf8mb4_bin
-1
-SELECT 'a\0' < 'a ' collate utf8mb4_bin;
-'a\0' < 'a ' collate utf8mb4_bin
-1
-SELECT 'a\t' < 'a' collate utf8mb4_bin;
-'a\t' < 'a' collate utf8mb4_bin
-1
-SELECT 'a\t' < 'a ' collate utf8mb4_bin;
-'a\t' < 'a ' collate utf8mb4_bin
-1
-CREATE TABLE t1 (a char(10) character set utf8mb4 not null) ENGINE ndb;
-INSERT INTO t1 VALUES ('a'),('a\0'),('a\t'),('a ');
-SELECT hex(a),STRCMP(a,'a'), STRCMP(a,'a ') FROM t1;
-hex(a) STRCMP(a,'a') STRCMP(a,'a ')
-61 0 0
-61 0 0
-6100 -1 -1
-6109 -1 -1
-DROP TABLE t1;
-select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
-insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
-this is a test
-select insert("aa",100,1,"b"),insert("aa",1,3,"b");
-insert("aa",100,1,"b") insert("aa",1,3,"b")
-aa b
-select char_length(left(@a:='теÑÑ‚',5)), length(@a), @a;
-char_length(left(@a:='теÑÑ‚',5)) length(@a) @a
-4 8 теÑÑ‚
-create table t1 ENGINE ndb select date_format("2004-01-19 10:10:10", "%Y-%m-%d");
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `date_format("2004-01-19 10:10:10", "%Y-%m-%d")` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-select * from t1;
-date_format("2004-01-19 10:10:10", "%Y-%m-%d")
-2004-01-19
-drop table t1;
-set names utf8mb4;
-set LC_TIME_NAMES='fr_FR';
-create table t1 (s1 char(20) character set latin1) engine ndb;
-insert into t1 values (date_format('2004-02-02','%M'));
-select hex(s1) from t1;
-hex(s1)
-66E97672696572
-drop table t1;
-create table t1 (s1 char(20) character set koi8r) engine ndb;
-set LC_TIME_NAMES='ru_RU';
-insert into t1 values (date_format('2004-02-02','%M'));
-insert into t1 values (date_format('2004-02-02','%b'));
-insert into t1 values (date_format('2004-02-02','%W'));
-insert into t1 values (date_format('2004-02-02','%a'));
-select hex(s1), s1 from t1;
-hex(s1) s1
-E6C5D7 Фев
-E6C5D7D2C1CCD1 ФевралÑ
-F0CEC4 Пнд
-F0CFCEC5C4C5CCD8CEC9CB Понедельник
-drop table t1;
-set LC_TIME_NAMES='en_US';
-set names koi8r;
-create table t1 (s1 char(1) character set utf8mb4) engine ndb;
-insert into t1 values (_koi8r'ÁÂ');
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-select s1,hex(s1),char_length(s1),octet_length(s1) from t1;
-s1 hex(s1) char_length(s1) octet_length(s1)
-Á D0B0 1 2
-drop table t1;
-create table t1 (s1 tinytext character set utf8mb4) engine ndb;
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-insert into t1 select repeat('a',300);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('Ñ',300);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('aÑ',300);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('Ña',300);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('ÑÑ',300);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161
-61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F
-D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61
-D18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18F
-D18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18F
-select length(s1),char_length(s1) from t1;
-length(s1) char_length(s1)
-254 127
-254 127
-255 170
-255 170
-255 255
-drop table t1;
-create table t1 (s1 text character set utf8mb4) engine ndb;
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-insert into t1 select repeat('a',66000);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('Ñ',66000);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('aÑ',66000);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('Ña',66000);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-insert into t1 select repeat('ÑÑ',66000);
-Warnings:
-Warning 1265 Data truncated for column 's1' at row 1
-select length(s1),char_length(s1) from t1;
-length(s1) char_length(s1)
-65534 32767
-65534 32767
-65535 43690
-65535 43690
-65535 65535
-drop table t1;
-create table t1 (s1 char(10) character set utf8mb4) engine ndb;
-insert into t1 values (0x41FF);
-Warnings:
-Warning 1366 Incorrect string value: '\xFF' for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-41
-drop table t1;
-create table t1 (s1 varchar(10) character set utf8mb4) engine ndb;
-insert into t1 values (0x41FF);
-Warnings:
-Warning 1366 Incorrect string value: '\xFF' for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-41
-drop table t1;
-create table t1 (s1 text character set utf8mb4) engine ndb;
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-insert into t1 values (0x41FF);
-Warnings:
-Warning 1366 Incorrect string value: '\xFF' for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-41
-drop table t1;
-create table t1 (a text character set utf8mb4, primary key(a(371))) engine ndb;
-ERROR 42000: BLOB column 'a' can't be used in key specification with the used table type
-CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8mb4 ENGINE ndb;
-INSERT INTO t1 VALUES ( 'test' );
-SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a;
-a a
-test test
-SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = 'test' and b.a = 'test';
-a a
-test test
-SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a and a.a = 'test';
-a a
-test test
-DROP TABLE t1;
-create table t1 (a char(255) character set utf8mb4) engine ndb;
-insert into t1 values('b'),('b');
-select * from t1 where a = 'b';
-a
-b
-b
-select * from t1 where a = 'b' and a = 'b';
-a
-b
-b
-select * from t1 where a = 'b' and a != 'b';
-a
-drop table t1;
-set collation_connection=utf8mb4_general_ci;
-drop table if exists t1;
-create table t1 as
-select repeat(' ', 64) as s1, repeat(' ',64) as s2
-union
-select null, null;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-delete from t1;
-insert into t1 values('aaa','aaa');
-insert into t1 values('aaa|qqq','qqq');
-insert into t1 values('gheis','^[^a-dXYZ]+$');
-insert into t1 values('aab','^aa?b');
-insert into t1 values('Baaan','^Ba*n');
-insert into t1 values('aaa','qqq|aaa');
-insert into t1 values('qqq','qqq|aaa');
-insert into t1 values('bbb','qqq|aaa');
-insert into t1 values('bbb','qqq');
-insert into t1 values('aaa','aba');
-insert into t1 values(null,'abc');
-insert into t1 values('def',null);
-insert into t1 values(null,null);
-insert into t1 values('ghi','ghi[');
-select HIGH_PRIORITY s1 regexp s2 from t1;
-s1 regexp s2
-1
-1
-1
-1
-1
-1
-1
-0
-0
-0
-NULL
-NULL
-NULL
-NULL
-drop table t1;
-set names utf8mb4;
-set names utf8mb4;
-select 'ваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]';
-'ваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]'
-1
-select 'ваÑÑ ' rlike '[[:<:]]ваÑÑ[[:>:]]';
-'ваÑÑ ' rlike '[[:<:]]ваÑÑ[[:>:]]'
-1
-select ' ваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]';
-' ваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]'
-1
-select ' ваÑÑ ' rlike '[[:<:]]ваÑÑ[[:>:]]';
-' ваÑÑ ' rlike '[[:<:]]ваÑÑ[[:>:]]'
-1
-select 'ваÑÑz' rlike '[[:<:]]ваÑÑ[[:>:]]';
-'ваÑÑz' rlike '[[:<:]]ваÑÑ[[:>:]]'
-0
-select 'zваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]';
-'zваÑÑ' rlike '[[:<:]]ваÑÑ[[:>:]]'
-0
-select 'zваÑÑz' rlike '[[:<:]]ваÑÑ[[:>:]]';
-'zваÑÑz' rlike '[[:<:]]ваÑÑ[[:>:]]'
-0
-CREATE TABLE t1 (a enum ('Y', 'N') DEFAULT 'N' COLLATE utf8mb4_unicode_ci) ENGINE ndb;
-ALTER TABLE t1 ADD COLUMN b CHAR(20);
-DROP TABLE t1;
-set names utf8mb4;
-create table t1 (a enum('aaaa','проба') character set utf8mb4) engine ndb;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('aaaa','проба') CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-insert into t1 values ('проба');
-select * from t1;
-a
-проба
-create table t2 engine ndb select ifnull(a,a) from t1;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `ifnull(a,a)` varchar(5) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-select * from t2;
-ifnull(a,a)
-проба
-drop table t1;
-drop table t2;
-create table t1 (
-str varchar(255) character set utf8mb4 not null,
-key str (str(2))
-) engine=ndb;
-INSERT INTO t1 VALUES ('str');
-INSERT INTO t1 VALUES ('str2');
-select * from t1 where str='str';
-str
-str
-drop table t1;
-create table t1 (
-str varchar(255) character set utf8mb4 not null,
-key str (str(2))
-) engine=ndb;
-INSERT INTO t1 VALUES ('str');
-INSERT INTO t1 VALUES ('str2');
-select * from t1 where str='str';
-str
-str
-drop table t1;
-create table t1 (
-str varchar(255) character set utf8mb4 not null,
-key str using btree (str(2))
-) engine=ndb;
-INSERT INTO t1 VALUES ('str');
-INSERT INTO t1 VALUES ('str2');
-select * from t1 where str='str';
-str
-str
-drop table t1;
-CREATE TABLE t1 (a varchar(32) BINARY) CHARACTER SET utf8mb4 ENGINE ndb;
-INSERT INTO t1 VALUES ('test');
-SELECT a FROM t1 WHERE a LIKE '%te';
-a
-DROP TABLE t1;
-SET NAMES utf8mb4;
-CREATE TABLE t1 (
-subject varchar(255) character set utf8mb4 collate utf8mb4_unicode_ci,
-p varchar(15) character set utf8mb4
-) ENGINE= ndb DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES ('è°·å·ä¿ŠäºŒã¨ç”³ã—ã¾ã™ãŒã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆäºˆç´„ã®ä¼šå“¡ç™»éŒ²ã‚’ã—ã¾ã—ãŸã¨ã“ã‚ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’é–“é•ãˆã¦ã—ã¾ã„会員IDãŒå—ã‘å–ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ã§ã—ãŸã€‚é–“é•ãˆã‚¢ãƒ‰ãƒ¬ã‚¹ã¯tani-shun@n.vodafone.ne.jpを書ãè¾¼ã¿ã¾ã—ãŸã€‚ã©ã†ã™ã‚Œã°ã‚ˆã„ã§ã™ã‹ï¼Ÿ ãã®ä»–ã€ä½æ‰€ç­‰ã¯é–“é•ãˆã‚ã‚Šã¾ã›ã‚“。連絡ãã ã•ã„。よã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚m(__)m','040312-000057');
-INSERT INTO t1 VALUES ('aaa','bbb');
-SELECT length(subject) FROM t1;
-length(subject)
-3
-432
-SELECT length(subject) FROM t1 ORDER BY 1;
-length(subject)
-3
-432
-DROP TABLE t1;
-set names utf8mb4;
-create table t1 (
-a int primary key,
-b varchar(6),
-index b3(b(3))
-) engine=ndb character set=utf8mb4;
-insert into t1 values(1,'foo'),(2,'foobar');
-select * from t1 where b like 'foob%';
-a b
-2 foobar
-alter table t1 engine=innodb;
-select * from t1 where b like 'foob%';
-a b
-2 foobar
-drop table t1;
-create table t1 (
-a enum('петÑ','ваÑÑ','анюта') character set utf8mb4 not null default 'анюта',
-b set('петÑ','ваÑÑ','анюта') character set utf8mb4 not null default 'анюта'
-) engine ndb;
-create table t2 engine ndb select concat(a,_utf8mb4'') as a, concat(b,_utf8mb4'')as b from t1;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` varchar(5) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
- `b` varchar(15) CHARACTER SET utf8mb4 NOT NULL DEFAULT ''
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-drop table t2;
-drop table t1;
-select 'c' like '\_' as want0;
-want0
-0
-SELECT SUBSTR('ваÑÑ',-2);
-SUBSTR('ваÑÑ',-2)
-ÑÑ
-create table t1 (id integer, a varchar(100) character set utf8mb4 collate utf8mb4_unicode_ci) engine ndb;
-insert into t1 values (1, 'Test');
-select * from t1 where soundex(a) = soundex('Test');
-id a
-1 Test
-select * from t1 where soundex(a) = soundex('TEST');
-id a
-1 Test
-select * from t1 where soundex(a) = soundex('test');
-id a
-1 Test
-drop table t1;
-select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
-soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
-阅000
-select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
-hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
-E99885303030
-select soundex(_utf8mb4 0xD091D092D093);
-soundex(_utf8mb4 0xD091D092D093)
-Б000
-select hex(soundex(_utf8mb4 0xD091D092D093));
-hex(soundex(_utf8mb4 0xD091D092D093))
-D091303030
-SET collation_connection='utf8mb4_general_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf8mb4_general_ci 6109
-utf8mb4_general_ci 61
-utf8mb4_general_ci 6120
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf8mb4_general_ci
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-drop table if exists t1;
-create table t1 as select repeat(' ', 64) as s1;
-select collation(s1) from t1;
-collation(s1)
-utf8mb4_general_ci
-delete from t1;
-insert into t1 values ('a'),('ae'),(_latin1 0xE4);
-insert into t1 values ('o'),('oe'),(_latin1 0xF6);
-insert into t1 values ('s'),('ss'),(_latin1 0xDF);
-insert into t1 values ('u'),('ue'),(_latin1 0xFC);
-select s1, hex(s1) from t1 order by s1, binary s1;
-s1 hex(s1)
-a 61
-ä C3A4
-ae 6165
-o 6F
-ö C3B6
-oe 6F65
-s 73
-ß C39F
-ss 7373
-u 75
-ü C3BC
-ue 7565
-select group_concat(s1 order by binary s1) from t1 group by s1;
-group_concat(s1 order by binary s1)
-a,ä
-ae
-o,ö
-oe
-s,ß
-ss
-u,ü
-ue
-drop table t1;
-SET collation_connection='utf8mb4_bin';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf8mb4_bin 6109
-utf8mb4_bin 61
-utf8mb4_bin 6120
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf8mb4_bin
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-CREATE TABLE t1 (
-user varchar(255) NOT NULL default ''
-) ENGINE=ndb DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES ('one'),('two');
-SELECT CHARSET('a');
-CHARSET('a')
-utf8mb4
-SELECT user, CONCAT('<', user, '>') AS c FROM t1;
-user c
-one <one>
-two <two>
-DROP TABLE t1;
-create table t1 (f1 varchar(1) not null) default charset utf8mb4 engine ndb;
-insert into t1 values (''), ('');
-select concat(concat(_latin1'->',f1),_latin1'<-') from t1;
-concat(concat(_latin1'->',f1),_latin1'<-')
--><-
--><-
-drop table t1;
-select convert(_koi8r'É' using utf8mb4) < convert(_koi8r'Ê' using utf8mb4);
-convert(_koi8r'?' using utf8mb4) < convert(_koi8r'?' using utf8mb4)
-1
-set names latin1;
-create table t1 (a varchar(10)) character set utf8mb4 engine ndb;
-insert into t1 values ('test');
-select ifnull(a,'') from t1;
-ifnull(a,'')
-test
-drop table t1;
-select repeat(_utf8mb4'+',3) as h union select NULL;
-h
-+++
-NULL
-select ifnull(NULL, _utf8mb4'string');
-ifnull(NULL, _utf8mb4'string')
-string
-set names utf8mb4;
-create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_lithuanian_ci) engine ndb;
-insert into t1 values ('I'),('K'),('Y');
-select * from t1 where s1 < 'K' and s1 = 'Y';
-s1
-I
-Y
-select * from t1 where 'K' > s1 and s1 = 'Y';
-s1
-I
-Y
-drop table t1;
-create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_czech_ci) engine ndb;
-insert into t1 values ('c'),('d'),('h'),('ch'),('CH'),('cH'),('Ch'),('i');
-select * from t1 where s1 > 'd' and s1 = 'CH';
-s1
-CH
-Ch
-ch
-select * from t1 where 'd' < s1 and s1 = 'CH';
-s1
-CH
-Ch
-ch
-select * from t1 where s1 = 'cH' and s1 <> 'ch';
-s1
-cH
-select * from t1 where 'cH' = s1 and s1 <> 'ch';
-s1
-cH
-drop table t1;
-create table t1 (a varchar(255)) default character set utf8mb4 engine ndb;
-insert into t1 values (1.0);
-drop table t1;
-create table t1 (
-id int not null,
-city varchar(20) not null,
-key (city(7),id)
-) character set=utf8mb4 engine ndb;
-insert into t1 values (1,'Durban North');
-insert into t1 values (2,'Durban');
-select * from t1 where city = 'Durban';
-id city
-2 Durban
-select * from t1 where city = 'Durban ';
-id city
-2 Durban
-drop table t1;
-create table t1 (x set('A', 'B') default 0) character set utf8mb4 engine ndb;
-ERROR 42000: Invalid default value for 'x'
-create table t1 (x enum('A', 'B') default 0) character set utf8mb4 engine ndb;
-ERROR 42000: Invalid default value for 'x'
-SET NAMES UTF8;
-CREATE TABLE t1 (
-`id` int(20) NOT NULL auto_increment,
-`country` varchar(100) NOT NULL default '',
-`shortcode` varchar(100) NOT NULL default '',
-`operator` varchar(100) NOT NULL default '',
-`momid` varchar(30) NOT NULL default '',
-`keyword` varchar(160) NOT NULL default '',
-`content` varchar(160) NOT NULL default '',
-`second_token` varchar(160) default NULL,
-`gateway_id` int(11) NOT NULL default '0',
-`created` datetime NOT NULL default '0000-00-00 00:00:00',
-`msisdn` varchar(15) NOT NULL default '',
-PRIMARY KEY (`id`),
-UNIQUE KEY `MSCCSPK_20030521130957121` (`momid`),
-KEY `IX_mobile_originated_message_keyword` (`keyword`),
-KEY `IX_mobile_originated_message_created` (`created`),
-KEY `IX_mobile_originated_message_support` (`msisdn`,`momid`,`keyword`,`gateway_id`,`created`)
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4;
-INSERT INTO t1 VALUES
-(1,'blah','464','aaa','fkc1c9ilc20x0hgae7lx6j09','ERR','ERR Имри.Ðфимим.Ðеимимримдмримрмрирор имримримримр имридм ирбднримрфмририримрфмфмим.Ðд.Д имдимримрад.Ðдимримримрмдиримримримр м.Дадимфшьмримд им.Ðдимимрн имадми','ИМРИ.ÐФИМИМ.ÐЕИМИМРИМДМРИМРМРИРОР',3,'2005-06-01 17:30:43','1234567890'),
-(2,'blah','464','aaa','haxpl2ilc20x00bj4tt2m5ti','11','11 g','G',3,'2005-06-02 22:43:10','1234567890');
-CREATE TABLE t2 (
-`msisdn` varchar(15) NOT NULL default '',
-`operator_id` int(11) NOT NULL default '0',
-`created` datetime NOT NULL default '0000-00-00 00:00:00',
-UNIQUE KEY `PK_user` (`msisdn`)
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4;
-INSERT INTO t2 VALUES ('1234567890',2,'2005-05-24 13:53:25');
-SELECT content, t2.msisdn FROM t1, t2 WHERE t1.msisdn = '1234567890';
-content msisdn
-ERR Имри.Ðфимим.Ðеимимримдмримрмрирор имримримримр имридм ирбднримрфмририримрфмфмим.Ðд.Д имдимримрад.Ðдимримримрмдиримримримр м.Дадимфшьмримд им.Ðдимимрн имадми 1234567890
-11 g 1234567890
-DROP TABLE t1,t2;
-create table t1 (a char(20) character set utf8mb4) engine ndb;
-insert into t1 values ('123456'),('андрей');
-alter table t1 modify a char(2) character set utf8mb4;
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-Warning 1265 Data truncated for column 'a' at row 2
-select char_length(a), length(a), a from t1 order by a;
-char_length(a) length(a) a
-2 2 12
-2 4 ан
-drop table t1;
-set names utf8mb4;
-select 'andre%' like 'andreñ%' escape 'ñ';
-'andre%' like 'andreñ%' escape 'ñ'
-1
-set names utf8mb4;
-select 'a\\' like 'a\\';
-'a\\' like 'a\\'
-1
-select 'aa\\' like 'a%\\';
-'aa\\' like 'a%\\'
-1
-create table t1 (a char(10), key(a)) character set utf8mb4 engine ndb;
-insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
-select * from t1 where a like "abc%";
-a
-abc
-abcd
-select * from t1 where a like concat("abc","%");
-a
-abc
-abcd
-select * from t1 where a like "ABC%";
-a
-abc
-abcd
-select * from t1 where a like "test%";
-a
-test
-select * from t1 where a like "te_t";
-a
-test
-select * from t1 where a like "%a%";
-a
-a
-abc
-abcd
-select * from t1 where a like "%abcd%";
-a
-abcd
-select * from t1 where a like "%abc\d%";
-a
-abcd
-drop table t1;
-CREATE TABLE t1 (
-a varchar(255) NOT NULL default '',
-KEY a (a)
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
-insert into t1 values (_utf8mb4 0xe880bd);
-insert into t1 values (_utf8mb4 0x5b);
-select hex(a) from t1;
-hex(a)
-5B
-E880BD
-drop table t1;
-set names 'latin1';
-create table t1 (a varchar(255)) default charset=utf8mb4 engine ndb;
-select * from t1 where find_in_set('-1', a);
-a
-drop table t1;
-create table t1 (a int) engine ndb;
-insert into t1 values (48),(49),(50);
-set names utf8mb4;
-select distinct char(a) from t1;
-char(a)
-0
-1
-2
-drop table t1;
-CREATE TABLE t1 (t TINYTEXT CHARACTER SET utf8mb4) ENGINE ndb;
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-INSERT INTO t1 VALUES(REPEAT('a', 100));
-CREATE TABLE t2 ENGINE ndb SELECT COALESCE(t) AS bug FROM t1;
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-SELECT LENGTH(bug) FROM t2;
-LENGTH(bug)
-100
-DROP TABLE t2;
-DROP TABLE t1;
-CREATE TABLE t1 (item varchar(255)) default character set utf8mb4 ENGINE ndb;
-INSERT INTO t1 VALUES (N'\\');
-INSERT INTO t1 VALUES (_utf8mb4'\\');
-INSERT INTO t1 VALUES (N'Cote d\'Ivoire');
-INSERT INTO t1 VALUES (_utf8mb4'Cote d\'Ivoire');
-SELECT item FROM t1 ORDER BY item;
-item
-Cote d'Ivoire
-Cote d'Ivoire
-\
-\
-DROP TABLE t1;
-SET NAMES utf8mb4;
-DROP TABLE IF EXISTS t1;
-Warnings:
-Note 1051 Unknown table 't1'
-CREATE TABLE t1(a VARCHAR(255), KEY(a)) ENGINE=ndb DEFAULT CHARSET=utf8mb4;
-INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
-INSERT INTO t1 VALUES('uu');
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-INSERT INTO t1 VALUES('uU');
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-INSERT INTO t1 VALUES('uu');
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-INSERT INTO t1 VALUES('uuABC');
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-INSERT INTO t1 VALUES('UuABC');
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-INSERT INTO t1 VALUES('uuABC');
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-alter table t1 add b int;
-INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1);
-INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',2);
-delete from t1 where b=1;
-INSERT INTO t1 VALUES('UUABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1);
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3);
-INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',4);
-delete from t1 where b=3;
-INSERT INTO t1 VALUES('uUABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3);
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-drop table t1;
-set names utf8mb4;
-create table t1 (s1 char(5) character set utf8mb4) engine ndb;
-insert into t1 values
-('a'),('b'),(null),('ペテルグル'),('ü'),('Y');
-create index it1 on t1 (s1);
-select s1 as before_delete_general_ci from t1 where s1 like 'ペテ%';
-before_delete_general_ci
-ペテルグル
-delete from t1 where s1 = 'Y';
-select s1 as after_delete_general_ci from t1 where s1 like 'ペテ%';
-after_delete_general_ci
-ペテルグル
-drop table t1;
-set names utf8mb4;
-create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_unicode_ci) engine ndb;
-insert into t1 values
-('a'),('b'),(null),('ペテルグル'),('ü'),('Y');
-create index it1 on t1 (s1);
-select s1 as before_delete_unicode_ci from t1 where s1 like 'ペテ%';
-before_delete_unicode_ci
-ペテルグル
-delete from t1 where s1 = 'Y';
-select s1 as after_delete_unicode_ci from t1 where s1 like 'ペテ%';
-after_delete_unicode_ci
-ペテルグル
-drop table t1;
-set names utf8mb4;
-create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_bin) engine ndb;
-insert into t1 values
-('a'),('b'),(null),('ペテルグル'),('ü'),('Y');
-create index it1 on t1 (s1);
-select s1 as before_delete_bin from t1 where s1 like 'ペテ%';
-before_delete_bin
-ペテルグル
-delete from t1 where s1 = 'Y';
-select s1 as after_delete_bin from t1 where s1 like 'ペテ%';
-after_delete_bin
-ペテルグル
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(30) not null primary key)
-engine=ndb default character set utf8mb4 collate utf8mb4_general_ci;
-insert into t1 values ('ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã');
-insert into t1 values ('ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ');
-select a as gci1 from t1 where a like 'ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ%';
-gci1
-ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ
-select a as gci2 from t1 where a like 'ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã';
-gci2
-ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(30) not null primary key)
-engine=ndb default character set utf8mb4 collate utf8mb4_unicode_ci;
-insert into t1 values ('ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã');
-insert into t1 values ('ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ');
-select a as uci1 from t1 where a like 'ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ%';
-uci1
-ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ
-select a as uci2 from t1 where a like 'ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã';
-uci2
-ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(30) not null primary key)
-engine=ndb default character set utf8mb4 collate utf8mb4_bin;
-insert into t1 values ('ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã');
-insert into t1 values ('ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ');
-select a as bin1 from t1 where a like 'ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ%';
-bin1
-ã•ã—ã™ã›ãã‹ããã‘ã“ã‚ã„ã†ãˆãŠ
-select a as bin2 from t1 where a like 'ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã';
-bin2
-ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ã
-drop table t1;
-SET NAMES utf8mb4;
-CREATE TABLE t1 (id int PRIMARY KEY,
-a varchar(16) collate utf8mb4_unicode_ci NOT NULL default '',
-b int,
-f varchar(128) default 'XXX',
-INDEX (a(4))
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-INSERT INTO t1(id, a, b) VALUES
-(1, 'cccc', 50), (2, 'cccc', 70), (3, 'cccc', 30),
-(4, 'cccc', 30), (5, 'cccc', 20), (6, 'bbbbbb', 40),
-(7, 'dddd', 30), (8, 'aaaa', 10), (9, 'aaaa', 50),
-(10, 'eeeee', 40), (11, 'bbbbbb', 60);
-SELECT id, a, b FROM t1;
-id a b
-1 cccc 50
-10 eeeee 40
-11 bbbbbb 60
-2 cccc 70
-3 cccc 30
-4 cccc 30
-5 cccc 20
-6 bbbbbb 40
-7 dddd 30
-8 aaaa 10
-9 aaaa 50
-SELECT id, a, b FROM t1 WHERE a BETWEEN 'aaaa' AND 'bbbbbb';
-id a b
-11 bbbbbb 60
-6 bbbbbb 40
-8 aaaa 10
-9 aaaa 50
-SELECT id, a FROM t1 WHERE a='bbbbbb';
-id a
-11 bbbbbb
-6 bbbbbb
-SELECT id, a FROM t1 WHERE a='bbbbbb' ORDER BY b;
-id a
-6 bbbbbb
-11 bbbbbb
-DROP TABLE t1;
-SET NAMES utf8mb4;
-CREATE TABLE t1 (
-a CHAR(13) DEFAULT '',
-INDEX(a)
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-INSERT INTO t1 VALUES
-('Käli Käli 2-4'), ('Käli Käli 2-4'),
-('Käli Käli 2+4'), ('Käli Käli 2+4'),
-('Käli Käli 2-6'), ('Käli Käli 2-6');
-INSERT INTO t1 SELECT * FROM t1;
-CREATE TABLE t2 (
-a CHAR(13) DEFAULT '',
-INDEX(a)
-) ENGINE=ndb DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
-INSERT INTO t2 VALUES
-('Kali Kali 2-4'), ('Kali Kali 2-4'),
-('Kali Kali 2+4'), ('Kali Kali 2+4'),
-('Kali Kali 2-6'), ('Kali Kali 2-6');
-INSERT INTO t2 SELECT * FROM t2;
-SELECT a FROM t1 WHERE a LIKE 'Käli Käli 2+4';
-a
-Käli Käli 2+4
-Käli Käli 2+4
-Käli Käli 2+4
-Käli Käli 2+4
-SELECT a FROM t2 WHERE a LIKE 'Kali Kali 2+4';
-a
-Kali Kali 2+4
-Kali Kali 2+4
-Kali Kali 2+4
-Kali Kali 2+4
-EXPLAIN SELECT a FROM t1 WHERE a LIKE 'Käli Käli 2+4';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 53 NULL 10 Using where with pushed condition
-EXPLAIN SELECT a FROM t1 WHERE a = 'Käli Käli 2+4';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 53 const 10 Using where with pushed condition
-EXPLAIN SELECT a FROM t2 WHERE a LIKE 'Kali Kali 2+4';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 range a a 14 NULL 10 Using where with pushed condition
-EXPLAIN SELECT a FROM t2 WHERE a = 'Kali Kali 2+4';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ref a a 14 const 10 Using where with pushed condition
-DROP TABLE t1,t2;
-CREATE TABLE t1 (
-a char(255) DEFAULT '',
-KEY(a(10))
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-INSERT INTO t1 VALUES ('Käli Käli 2-4');
-SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
-a
-Käli Käli 2-4
-INSERT INTO t1 VALUES ('Käli Käli 2-4');
-SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
-a
-Käli Käli 2-4
-Käli Käli 2-4
-DROP TABLE t1;
-CREATE TABLE t1 (
-a char(255) DEFAULT ''
-) ENGINE=ndb DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-INSERT INTO t1 VALUES ('Käli Käli 2-4');
-INSERT INTO t1 VALUES ('Käli Käli 2-4');
-SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
-a
-Käli Käli 2-4
-Käli Käli 2-4
-ALTER TABLE t1 ADD KEY (a(10));
-SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
-a
-Käli Käli 2-4
-Käli Käli 2-4
-DROP TABLE t1;
-SET NAMES latin2;
-create table t1(a char(200) collate utf8mb4_unicode_ci NOT NULL default '')
-default charset=utf8mb4 collate=utf8mb4_unicode_ci engine ndb;
-insert into t1 values (unhex('65')), (unhex('C3A9')), (unhex('65'));
-explain select distinct a from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using temporary
-SELECT COUNT(*) FROM (SELECT DISTINCT a FROM t1) AS t2;
-COUNT(*)
-1
-explain select a from t1 group by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using temporary; Using filesort
-SELECT COUNT(*) FROM (SELECT a FROM t1 GROUP BY a) AS t2;
-COUNT(*)
-1
-drop table t1;
-create table t1(a char(10)) default charset utf8mb4 engine ndb;
-insert into t1 values ('123'), ('456');
-explain
-select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE Y ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
-1 SIMPLE Z ALL NULL NULL NULL NULL 2 Using where; Using join buffer
-select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1;
-substr(Z.a,-1) a
-3 123
-6 456
-drop table t1;
-SET CHARACTER SET utf8mb4;
-SHOW VARIABLES LIKE 'character\_set\_%';
-Variable_name Value
-character_set_client utf8mb4
-character_set_connection latin1
-character_set_database latin1
-character_set_filesystem binary
-character_set_results utf8mb4
-character_set_server latin1
-character_set_system utf8
-CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
-USE crashtest;
-CREATE TABLE crashtest (crash char(10)) DEFAULT CHARSET=utf8mb4 ENGINE ndb;
-INSERT INTO crashtest VALUES ('35'), ('36'), ('37');
-SELECT * FROM crashtest ORDER BY CHAR(crash USING utf8mb4);
-crash
-35
-36
-37
-INSERT INTO crashtest VALUES ('-1000');
-EXPLAIN SELECT * FROM crashtest ORDER BY CHAR(crash USING utf8mb4);
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE crashtest ALL NULL NULL NULL NULL 4 Using filesort
-SELECT * FROM crashtest ORDER BY CHAR(crash USING utf8mb4);
-crash
--1000
-35
-36
-37
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FFFFFC'
-DROP TABLE crashtest;
-DROP DATABASE crashtest;
-USE test;
-SET CHARACTER SET default;
-CREATE TABLE t1(id varchar(20) NOT NULL) DEFAULT CHARSET=utf8mb4 ENGINE ndb;
-INSERT INTO t1 VALUES ('xxx'), ('aa'), ('yyy'), ('aa');
-SELECT id FROM t1;
-id
-aa
-aa
-xxx
-yyy
-SELECT DISTINCT id FROM t1;
-id
-aa
-xxx
-yyy
-SELECT DISTINCT id FROM t1 ORDER BY id;
-id
-aa
-xxx
-yyy
-DROP TABLE t1;
-create table t1 (
-a varchar(26) not null
-) default character set utf8mb4 ENGINE ndb;
-insert into t1 (a) values ('abcdefghijklmnopqrstuvwxyz');
-select * from t1;
-a
-abcdefghijklmnopqrstuvwxyz
-alter table t1 change a a varchar(20) character set utf8mb4 not null;
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-select * from t1;
-a
-abcdefghijklmnopqrst
-alter table t1 change a a char(15) character set utf8mb4 not null;
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-select * from t1;
-a
-abcdefghijklmno
-alter table t1 change a a char(10) character set utf8mb4 not null;
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-select * from t1;
-a
-abcdefghij
-alter table t1 change a a varchar(5) character set utf8mb4 not null;
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-select * from t1;
-a
-abcde
-drop table t1;
-set names utf8mb4;
-select hex(char(1 using utf8mb4));
-hex(char(1 using utf8mb4))
-01
-select char(0xd1,0x8f using utf8mb4);
-char(0xd1,0x8f using utf8mb4)
-select char(0xd18f using utf8mb4);
-char(0xd18f using utf8mb4)
-select char(53647 using utf8mb4);
-char(53647 using utf8mb4)
-select char(0xff,0x8f using utf8mb4);
-char(0xff,0x8f using utf8mb4)
-
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF8F'
-select convert(char(0xff,0x8f) using utf8mb4);
-convert(char(0xff,0x8f) using utf8mb4)
-
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF8F'
-set sql_mode=traditional;
-select char(0xff,0x8f using utf8mb4);
-char(0xff,0x8f using utf8mb4)
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF8F'
-select char(195 using utf8mb4);
-char(195 using utf8mb4)
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'C3'
-select char(196 using utf8mb4);
-char(196 using utf8mb4)
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'C4'
-select char(2557 using utf8mb4);
-char(2557 using utf8mb4)
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FD'
-select convert(char(0xff,0x8f) using utf8mb4);
-convert(char(0xff,0x8f) using utf8mb4)
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF8F'
-select hex(convert(char(2557 using latin1) using utf8mb4));
-hex(convert(char(2557 using latin1) using utf8mb4))
-09C3BD
-select hex(char(195));
-hex(char(195))
-C3
-select hex(char(196));
-hex(char(196))
-C4
-select hex(char(2557));
-hex(char(2557))
-09FD
-set names utf8mb4;
-create table t1 (a char(1)) default character set utf8mb4 engine ndb;
-create table t2 (a char(1)) default character set utf8mb4 engine ndb;
-insert into t1 values('a'),('a'),(0xE38182),(0xE38182);
-insert into t1 values('i'),('i'),(0xE38184),(0xE38184);
-select * from t1 union distinct select * from t2;
-a
-a
-i
-ã‚
-ã„
-drop table t1,t2;
-set names utf8mb4;
-create table t1 (a char(10), b varchar(10)) engine ndb;
-insert into t1 values ('bar','kostja');
-insert into t1 values ('kostja','bar');
-prepare my_stmt from "select * from t1 where a=?";
-set @a:='bar';
-execute my_stmt using @a;
-a b
-bar kostja
-set @a:='kostja';
-execute my_stmt using @a;
-a b
-kostja bar
-set @a:=null;
-execute my_stmt using @a;
-a b
-drop table if exists t1;
-drop table if exists t1;
-drop view if exists v1, v2;
-set names utf8mb4;
-create table t1(col1 varchar(12) character set utf8mb4 collate utf8mb4_unicode_ci) engine ndb;
-insert into t1 values('t1_val');
-create view v1 as select 'v1_val' as col1;
-select coercibility(col1), collation(col1) from v1;
-coercibility(col1) collation(col1)
-4 utf8mb4_general_ci
-create view v2 as select col1 from v1 union select col1 from t1;
-select coercibility(col1), collation(col1)from v2;
-coercibility(col1) collation(col1)
-2 utf8mb4_unicode_ci
-2 utf8mb4_unicode_ci
-drop view v1, v2;
-create view v1 as select 'v1_val' collate utf8mb4_swedish_ci as col1;
-select coercibility(col1), collation(col1) from v1;
-coercibility(col1) collation(col1)
-0 utf8mb4_swedish_ci
-create view v2 as select col1 from v1 union select col1 from t1;
-select coercibility(col1), collation(col1) from v2;
-coercibility(col1) collation(col1)
-0 utf8mb4_swedish_ci
-0 utf8mb4_swedish_ci
-drop view v1, v2;
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(10) character set latin1, b int) engine ndb;
-insert into t1 values ('a',1);
-select concat(a, if(b>10, N'x', N'y')) from t1;
-concat(a, if(b>10, N'x', N'y'))
-ay
-select concat(a, if(b>10, N'æ', N'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(10) character set latin1, b int) engine ndb;
-insert into t1 values ('a',1);
-select concat(a, if(b>10, _utf8mb4'x', _utf8mb4'y')) from t1;
-concat(a, if(b>10, _utf8mb4'x', _utf8mb4'y'))
-ay
-select concat(a, if(b>10, _utf8mb4'æ', _utf8mb4'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(10) character set latin1, b int) engine ndb;
-insert into t1 values ('a',1);
-select concat(a, if(b>10, _utf8mb4 0x78, _utf8mb4 0x79)) from t1;
-concat(a, if(b>10, _utf8mb4 0x78, _utf8mb4 0x79))
-ay
-select concat(a, if(b>10, _utf8mb4 0xC3A6, _utf8mb4 0xC3AF)) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
-drop table t1;
-set names utf8mb4;
-create table t1 (a varchar(10) character set latin1, b int) engine ndb;
-insert into t1 values ('a',1);
-select concat(a, if(b>10, 'x' 'x', 'y' 'y')) from t1;
-concat(a, if(b>10, 'x' 'x', 'y' 'y'))
-ayy
-select concat(a, if(b>10, 'x' 'æ', 'y' 'ß')) from t1;
-ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
-drop table t1;
-CREATE TABLE t1 (
-colA int(11) NOT NULL,
-colB varchar(255) character set utf8mb4 NOT NULL,
-PRIMARY KEY (colA)
-) ENGINE=ndb DEFAULT CHARSET=latin1;
-INSERT INTO t1 (colA, colB) VALUES (1, 'foo'), (2, 'foo bar');
-CREATE TABLE t2 (
-colA int(11) NOT NULL,
-colB varchar(255) character set utf8mb4 NOT NULL,
-KEY bad (colA,colB(3))
-) ENGINE=ndb DEFAULT CHARSET=latin1;
-INSERT INTO t2 (colA, colB) VALUES (1, 'foo'),(2, 'foo bar');
-SELECT * FROM t1 JOIN t2 ON t1.colA=t2.colA AND t1.colB=t2.colB
-WHERE t1.colA < 3;
-colA colB colA colB
-1 foo 1 foo
-2 foo bar 2 foo bar
-DROP TABLE t1, t2;
-SELECT 'н1234567890' UNION SELECT _binary '1';
-н1234567890
-н1234567890
-1
-SELECT 'н1234567890' UNION SELECT 1;
-н1234567890
-н1234567890
-1
-SELECT '1' UNION SELECT 'н1234567890';
-1
-1
-н1234567890
-SELECT 1 UNION SELECT 'н1234567890';
-1
-1
-н1234567890
-CREATE TABLE t1 (c VARCHAR(11)) CHARACTER SET utf8mb4 ENGINE ndb;
-CREATE TABLE t2 (b CHAR(1) CHARACTER SET binary, i INT) ENGINE ndb;
-INSERT INTO t1 (c) VALUES ('н1234567890');
-INSERT INTO t2 (b, i) VALUES ('1', 1);
-SELECT c FROM t1 UNION SELECT b FROM t2;
-c
-н1234567890
-1
-SELECT c FROM t1 UNION SELECT i FROM t2;
-c
-н1234567890
-1
-SELECT b FROM t2 UNION SELECT c FROM t1;
-b
-1
-н1234567890
-SELECT i FROM t2 UNION SELECT c FROM t1;
-i
-1
-н1234567890
-DROP TABLE t1, t2;
-set sql_mode=traditional;
-select hex(char(0xFF using utf8mb4));
-hex(char(0xFF using utf8mb4))
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF'
-select hex(convert(0xFF using utf8mb4));
-hex(convert(0xFF using utf8mb4))
-NULL
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF'
-select hex(_utf8mb4 0x616263FF);
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-select hex(_utf8mb4 X'616263FF');
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-select hex(_utf8mb4 B'001111111111');
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-select (_utf8mb4 X'616263FF');
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-set sql_mode=default;
-select hex(char(0xFF using utf8mb4));
-hex(char(0xFF using utf8mb4))
-
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF'
-select hex(convert(0xFF using utf8mb4));
-hex(convert(0xFF using utf8mb4))
-
-Warnings:
-Warning 1300 Invalid utf8mb4 character string: 'FF'
-select hex(_utf8mb4 0x616263FF);
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-select hex(_utf8mb4 X'616263FF');
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-select hex(_utf8mb4 B'001111111111');
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-select (_utf8mb4 X'616263FF');
-ERROR HY000: Invalid utf8mb4 character string: 'FF'
-CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL) ENGINE ndb;
-INSERT INTO t1 VALUES (70000, 1092), (70001, 1085), (70002, 1065);
-SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b;
-CONVERT(a, CHAR) CONVERT(b, CHAR)
-70000 1092
-70001 1085
-70002 1065
-SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1;
-CONVERT(a, CHAR) CONVERT(b, CHAR)
-70000 1092
-70001 1085
-70002 1065
-ALTER TABLE t1 ADD UNIQUE (b);
-SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b;
-CONVERT(a, CHAR) CONVERT(b, CHAR)
-70000 1092
-70001 1085
-70002 1065
-DROP INDEX b ON t1;
-SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b;
-CONVERT(a, CHAR) CONVERT(b, CHAR)
-70000 1092
-70001 1085
-70002 1065
-ALTER TABLE t1 ADD INDEX (b);
-SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) from t1 GROUP BY b;
-CONVERT(a, CHAR) CONVERT(b, CHAR)
-70000 1092
-70001 1085
-70002 1065
-DROP TABLE t1;
-#
-# Bug#26474: Add Sinhala script (Sri Lanka) collation to MySQL
-#
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-predicted_order int NOT NULL,
-utf8mb4_encoding VARCHAR(10) NOT NULL
-) CHARACTER SET utf8mb4 ENGINE ndb;
-INSERT INTO t1 VALUES (19, x'E0B696'), (30, x'E0B69AE0B798'), (61, x'E0B6AF'), (93, x'E0B799'), (52, x'E0B6A6'), (73, x'E0B6BBE0B78AE2808D'), (3, x'E0B686'), (56, x'E0B6AA'), (55, x'E0B6A9'), (70, x'E0B6B9'), (94, x'E0B79A'), (80, x'E0B785'), (25, x'E0B69AE0B791'), (48, x'E0B6A2'), (13, x'E0B690'), (86, x'E0B793'), (91, x'E0B79F'), (81, x'E0B786'), (79, x'E0B784'), (14, x'E0B691'), (99, x'E0B78A'), (8, x'E0B68B'), (68, x'E0B6B7'), (22, x'E0B69A'), (16, x'E0B693'), (33, x'E0B69AE0B7B3'), (38, x'E0B69AE0B79D'), (21, x'E0B683'), (11, x'E0B68E'), (77, x'E0B782'), (40, x'E0B69AE0B78A'), (101, x'E0B78AE2808DE0B6BB'), (35, x'E0B69AE0B79A'), (1, x'E0B7B4'), (9, x'E0B68C'), (96, x'E0B79C'), (6, x'E0B689'), (95, x'E0B79B'), (88, x'E0B796'), (64, x'E0B6B3'), (26, x'E0B69AE0B792'), (82, x'E0B78F'), (28, x'E0B69AE0B794'), (39, x'E0B69AE0B79E'), (97, x'E0B79D'), (2, x'E0B685'), (75, x'E0B780'), (34, x'E0B69AE0B799'), (69, x'E0B6B8'), (83, x'E0B790'), (18, x'E0B695'), (90, x'E0B7B2'), (17, x'E0B694'), (72, x'E0B6BB'), (66, x'E0B6B5'), (59, x'E0B6AD'), (44, x'E0B69E'), (15, x'E0B692'), (23, x'E0B69AE0B78F'), (65, x'E0B6B4'), (42, x'E0B69C'), (63, x'E0B6B1'), (85, x'E0B792'), (47, x'E0B6A1'), (49, x'E0B6A3'), (92, x'E0B7B3'), (78, x'E0B783'), (36, x'E0B69AE0B79B'), (4, x'E0B687'), (24, x'E0B69AE0B790'), (87, x'E0B794'), (37, x'E0B69AE0B79C'), (32, x'E0B69AE0B79F'), (29, x'E0B69AE0B796'), (43, x'E0B69D'), (62, x'E0B6B0'), (100, x'E0B78AE2808DE0B6BA'), (60, x'E0B6AE'), (45, x'E0B69F'), (12, x'E0B68F'), (46, x'E0B6A0'), (50, x'E0B6A5'), (51, x'E0B6A4'), (5, x'E0B688'), (76, x'E0B781'), (89, x'E0B798'), (74, x'E0B6BD'), (10, x'E0B68D'), (57, x'E0B6AB'), (71, x'E0B6BA'), (58, x'E0B6AC'), (27, x'E0B69AE0B793'), (54, x'E0B6A8'), (84, x'E0B791'), (31, x'E0B69AE0B7B2'), (98, x'E0B79E'), (53, x'E0B6A7'), (41, x'E0B69B'), (67, x'E0B6B6'), (7, x'E0B68A'), (20, x'E0B682');
-SELECT predicted_order, hex(utf8mb4_encoding) FROM t1 ORDER BY utf8mb4_encoding COLLATE utf8mb4_sinhala_ci;
-predicted_order hex(utf8mb4_encoding)
-1 E0B7B4
-2 E0B685
-3 E0B686
-4 E0B687
-5 E0B688
-6 E0B689
-7 E0B68A
-8 E0B68B
-9 E0B68C
-10 E0B68D
-11 E0B68E
-12 E0B68F
-13 E0B690
-14 E0B691
-15 E0B692
-16 E0B693
-17 E0B694
-18 E0B695
-19 E0B696
-20 E0B682
-21 E0B683
-22 E0B69A
-23 E0B69AE0B78F
-24 E0B69AE0B790
-25 E0B69AE0B791
-26 E0B69AE0B792
-27 E0B69AE0B793
-28 E0B69AE0B794
-29 E0B69AE0B796
-30 E0B69AE0B798
-31 E0B69AE0B7B2
-32 E0B69AE0B79F
-33 E0B69AE0B7B3
-34 E0B69AE0B799
-35 E0B69AE0B79A
-36 E0B69AE0B79B
-37 E0B69AE0B79C
-38 E0B69AE0B79D
-39 E0B69AE0B79E
-40 E0B69AE0B78A
-41 E0B69B
-42 E0B69C
-43 E0B69D
-44 E0B69E
-45 E0B69F
-46 E0B6A0
-47 E0B6A1
-48 E0B6A2
-49 E0B6A3
-50 E0B6A5
-51 E0B6A4
-52 E0B6A6
-53 E0B6A7
-54 E0B6A8
-55 E0B6A9
-56 E0B6AA
-57 E0B6AB
-58 E0B6AC
-59 E0B6AD
-60 E0B6AE
-61 E0B6AF
-62 E0B6B0
-63 E0B6B1
-64 E0B6B3
-65 E0B6B4
-66 E0B6B5
-67 E0B6B6
-68 E0B6B7
-69 E0B6B8
-70 E0B6B9
-71 E0B6BA
-72 E0B6BB
-73 E0B6BBE0B78AE2808D
-74 E0B6BD
-75 E0B780
-76 E0B781
-77 E0B782
-78 E0B783
-79 E0B784
-80 E0B785
-81 E0B786
-82 E0B78F
-83 E0B790
-84 E0B791
-85 E0B792
-86 E0B793
-87 E0B794
-88 E0B796
-89 E0B798
-90 E0B7B2
-91 E0B79F
-92 E0B7B3
-93 E0B799
-94 E0B79A
-95 E0B79B
-96 E0B79C
-97 E0B79D
-98 E0B79E
-99 E0B78A
-100 E0B78AE2808DE0B6BA
-101 E0B78AE2808DE0B6BB
-DROP TABLE t1;
-#
-# Bug#32914 Character sets: illegal characters in utf8mb4 and utf32 columns
-#
-create table t1 (utf8mb4 char(1) character set utf8mb4) engine ndb;
-Testing [F0][90..BF][80..BF][80..BF]
-insert into t1 values (0xF0908080);
-insert into t1 values (0xF0BFBFBF);
-insert into t1 values (0xF08F8080);
-Warnings:
-Warning 1366 Incorrect string value: '\xF0\x8F\x80\x80' for column 'utf8mb4' at row 1
-select hex(utf8mb4) from t1;
-hex(utf8mb4)
-
-F0908080
-F0BFBFBF
-delete from t1;
-Testing [F2..F3][80..BF][80..BF][80..BF]
-insert into t1 values (0xF2808080);
-insert into t1 values (0xF2BFBFBF);
-select hex(utf8mb4) from t1;
-hex(utf8mb4)
-F2808080
-F2BFBFBF
-delete from t1;
-Testing [F4][80..8F][80..BF][80..BF]
-insert into t1 values (0xF4808080);
-insert into t1 values (0xF48F8080);
-insert into t1 values (0xF4908080);
-Warnings:
-Warning 1366 Incorrect string value: '\xF4\x90\x80\x80' for column 'utf8mb4' at row 1
-select hex(utf8mb4) from t1;
-hex(utf8mb4)
-
-F4808080
-F48F8080
-drop table t1;
-#
-# Check strnxfrm() with odd length
-#
-set max_sort_length=5;
-select @@max_sort_length;
-@@max_sort_length
-5
-create table t1 (a varchar(128) character set utf8mb4 collate utf8mb4_general_ci) engine ndb;
-insert into t1 values ('a'),('b'),('c');
-select * from t1 order by a;
-a
-a
-b
-c
-alter table t1 modify a varchar(128) character set utf8mb4 collate utf8mb4_bin;
-select * from t1 order by a;
-a
-a
-b
-c
-drop table t1;
-set max_sort_length=default;
-#
-# Bug#26180: Can't add columns to tables created with utf8mb4 text indexes
-#
-#
-# Testing 4-byte values.
-#
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-u_decimal int NOT NULL,
-utf8mb4_encoding VARCHAR(10) NOT NULL
-) CHARACTER SET utf8mb4 ENGINE ndb;
-INSERT INTO t1 VALUES (119040, x'f09d8480'),
-# G CLEF
-(119070, x'f09d849e'),
-# HALF NOTE
-(119134, x'f09d859e'),
-# MUSICAL SYMBOL CROIX
-(119247, x'f09d878f'),
-# MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-(120607, x'f09d9c9f'),
-# SANS-SERIF BOLD ITALIC CAPITAL PI
-(120735, x'f09d9e9f'),
-# <Plane 16 Private Use, Last> (last 4 byte character)
-(1114111, x'f48fbfbf'),
-# VARIATION SELECTOR-256
-(917999, x'f3a087af');
-INSERT INTO t1 VALUES (119070, x'f09d849ef09d859ef09d859ef09d8480f09d859ff09d859ff09d859ff09d85a0f09d85a0f09d8480');
-INSERT INTO t1 VALUES (65131, x'efb9abf09d849ef09d859ef09d859ef09d8480f09d859fefb9abefb9abf09d85a0efb9ab');
-INSERT INTO t1 VALUES (119070, x'f09d849ef09d859ef09d859ef09d8480f09d859ff09d859ff09d859ff09d85a0f09d85a0f09d8480f09d85a0');
-Warnings:
-Warning 1265 Data truncated for column 'utf8mb4_encoding' at row 1
-SELECT u_decimal, hex(utf8mb4_encoding) FROM t1 ORDER BY utf8mb4_encoding COLLATE utf8mb4_general_ci, BINARY utf8mb4_encoding;
-u_decimal hex(utf8mb4_encoding)
-1114111 F48FBFBF
-119040 F09D8480
-119070 F09D849E
-119070 F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
-119070 F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
-119134 F09D859E
-119247 F09D878F
-120607 F09D9C9F
-120735 F09D9E9F
-65131 EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9AB
-917999 F3A087AF
-INSERT INTO t1 VALUES (1114111, x'f5808080');
-Warnings:
-Warning 1366 Incorrect string value: '\xF5\x80\x80\x80' for column 'utf8mb4_encoding' at row 1
-SELECT character_maximum_length, character_octet_length FROM information_schema.columns WHERE
-table_name= 't1' AND column_name= 'utf8mb4_encoding';
-character_maximum_length character_octet_length
-10 40
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t2 (
-u_decimal int NOT NULL,
-utf8mb3_encoding VARCHAR(10) NOT NULL
-) CHARACTER SET utf8mb3 ENGINE ndb;
-INSERT INTO t2 VALUES (42856, x'ea9da8');
-INSERT INTO t2 VALUES (65131, x'efb9ab');
-INSERT INTO t2 VALUES (1114111, x'f48fbfbf');
-Warnings:
-Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBF' for column 'utf8mb3_encoding' at row 1
-SELECT character_maximum_length, character_octet_length FROM information_schema.columns WHERE
-table_name= 't2' AND column_name= 'utf8mb3_encoding';
-character_maximum_length character_octet_length
-10 30
-UPDATE t2 SET utf8mb3_encoding= x'f48fbfbd' where u_decimal= 42856;
-Warnings:
-Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBD' for column 'utf8mb3_encoding' at row 1
-UPDATE t2 SET utf8mb3_encoding= _utf8mb4 x'ea9da8' where u_decimal= 42856;
-SELECT HEX(CONCAT(utf8mb4_encoding, _utf8 x'ea9da8')) FROM t1;
-HEX(CONCAT(utf8mb4_encoding, _utf8 x'ea9da8'))
-EA9DA8
-EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEA9DA8
-F09D8480EA9DA8
-F09D849EEA9DA8
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
-F09D859EEA9DA8
-F09D878FEA9DA8
-F09D9C9FEA9DA8
-F09D9E9FEA9DA8
-F3A087AFEA9DA8
-F48FBFBFEA9DA8
-SELECT HEX(CONCAT(utf8mb4_encoding, utf8mb3_encoding)) FROM t1,t2;
-HEX(CONCAT(utf8mb4_encoding, utf8mb3_encoding))
-
-EA9DA8
-EFB9AB
-EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9AB
-EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEA9DA8
-EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEFB9AB
-F09D8480
-F09D8480EA9DA8
-F09D8480EFB9AB
-F09D849E
-F09D849EEA9DA8
-F09D849EEFB9AB
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EFB9AB
-F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EFB9AB
-F09D859E
-F09D859EEA9DA8
-F09D859EEFB9AB
-F09D878F
-F09D878FEA9DA8
-F09D878FEFB9AB
-F09D9C9F
-F09D9C9FEA9DA8
-F09D9C9FEFB9AB
-F09D9E9F
-F09D9E9FEA9DA8
-F09D9E9FEFB9AB
-F3A087AF
-F3A087AFEA9DA8
-F3A087AFEFB9AB
-F48FBFBF
-F48FBFBFEA9DA8
-F48FBFBFEFB9AB
-SELECT count(*) FROM t1, t2
-WHERE t1.utf8mb4_encoding > t2.utf8mb3_encoding;
-count(*)
-33
-ALTER TABLE t1 CONVERT TO CHARACTER SET utf8;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `u_decimal` int(11) NOT NULL,
- `utf8mb4_encoding` varchar(10) NOT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=utf8
-SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
-u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
-1114111
-1114111 3F ?
-119040 3F ?
-119070 3F ?
-119070 3F3F3F3F3F3F3F3F3F3F ??????????
-119070 3F3F3F3F3F3F3F3F3F3F ??????????
-119134 3F ?
-119247 3F ?
-120607 3F ?
-120735 3F ?
-65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB ﹫?????﹫﹫?﹫
-917999 3F ?
-ALTER TABLE t2 CONVERT TO CHARACTER SET utf8mb4;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `u_decimal` int(11) NOT NULL,
- `utf8mb3_encoding` varchar(10) NOT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4
-SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
-u_decimal hex(utf8mb3_encoding)
-1114111
-42856 EA9DA8
-65131 EFB9AB
-ALTER TABLE t2 CONVERT TO CHARACTER SET utf8mb3;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `u_decimal` int(11) NOT NULL,
- `utf8mb3_encoding` varchar(10) NOT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=utf8
-SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
-u_decimal hex(utf8mb3_encoding)
-1114111
-42856 EA9DA8
-65131 EFB9AB
-ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb3;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `u_decimal` int(11) NOT NULL,
- `utf8mb4_encoding` varchar(10) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=utf8
-SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
-u_decimal hex(utf8mb4_encoding)
-1114111
-1114111 3F
-119040 3F
-119070 3F
-119070 3F3F3F3F3F3F3F3F3F3F
-119070 3F3F3F3F3F3F3F3F3F3F
-119134 3F
-119247 3F
-120607 3F
-120735 3F
-65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB
-917999 3F
-ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb4;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `u_decimal` int(11) NOT NULL,
- `utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=utf8
-SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
-u_decimal hex(utf8mb4_encoding)
-1114111
-1114111 3F
-119040 3F
-119070 3F
-119070 3F3F3F3F3F3F3F3F3F3F
-119070 3F3F3F3F3F3F3F3F3F3F
-119134 3F
-119247 3F
-120607 3F
-120735 3F
-65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB
-917999 3F
-ALTER TABLE t2 MODIFY utf8mb3_encoding VARCHAR(10) CHARACTER SET utf8mb4;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `u_decimal` int(11) NOT NULL,
- `utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=utf8
-SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
-u_decimal hex(utf8mb3_encoding)
-1114111
-42856 EA9DA8
-65131 EFB9AB
-DROP TABLE IF EXISTS t3;
-CREATE TABLE t3 (
-u_decimal int NOT NULL,
-utf8mb3_encoding VARCHAR(10) NOT NULL
-) CHARACTER SET utf8 ENGINE ndb;
-INSERT INTO t3 SELECT * FROM t1;
-DROP TABLE IF EXISTS t4;
-CREATE TABLE t4 (
-u_decimal int NOT NULL,
-utf8mb4_encoding VARCHAR(10) NOT NULL
-) CHARACTER SET utf8mb4 ENGINE ndb;
-INSERT INTO t3 SELECT * FROM t2;
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-DROP TABLE t4;
-#
-# Testing that mixing utf8 and utf8mb4 collations returns utf8mb4
-#
-SELECT CHARSET(CONCAT(_utf8mb4'a',_utf8'b'));
-CHARSET(CONCAT(_utf8mb4'a',_utf8'b'))
-utf8mb4
-CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4 NOT NULL) ENGINE ndb;
-INSERT INTO t1 VALUES (x'ea9da8'),(x'f48fbfbf');
-SELECT CONCAT(utf8mb4, _utf8 x'ea9da8') FROM t1 LIMIT 0;
-CONCAT(utf8mb4, _utf8 x'ea9da8')
-CREATE TABLE t2 (utf8mb3 VARCHAR(10) CHARACTER SET utf8mb3 NOT NULL) ENGINE ndb;
-INSERT INTO t2 VALUES (x'ea9da8');
-SELECT HEX(CONCAT(utf8mb4, utf8mb3)) FROM t1,t2 ORDER BY 1;
-HEX(CONCAT(utf8mb4, utf8mb3))
-EA9DA8EA9DA8
-F48FBFBFEA9DA8
-SELECT CHARSET(CONCAT(utf8mb4, utf8mb3)) FROM t1, t2 LIMIT 1;
-CHARSET(CONCAT(utf8mb4, utf8mb3))
-utf8mb4
-SELECT * FROM t1, t2 WHERE t1.utf8mb4 > t2.utf8mb3;
-utf8mb4 utf8mb3
-ô¿¿ ê¨
-SELECT * FROM t1, t2 WHERE t1.utf8mb4 = t2.utf8mb3;
-utf8mb4 utf8mb3
-ê¨ ê¨
-SELECT * FROM t1, t2 WHERE t1.utf8mb4 < t2.utf8mb3;
-utf8mb4 utf8mb3
-DROP TABLE t1;
-DROP TABLE t2;
-#
-# Check that mixing utf8mb4 with an invalid utf8 constant returns error
-#
-CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4) ENGINE ndb;
-INSERT INTO t1 VALUES (x'f48fbfbf');
-SELECT CONCAT(utf8mb4, _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
-SELECT CONCAT('a', _utf8 '¿') FROM t1;
-ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
-DROP TABLE t1;
-#
-# End of 5.5 tests
-#
-#
-# End of tests
-#
diff --git a/mysql-test/r/date_formats.result b/mysql-test/r/date_formats.result
index 432b9b14a85..b6081d34f37 100644
--- a/mysql-test/r/date_formats.result
+++ b/mysql-test/r/date_formats.result
@@ -544,3 +544,17 @@ SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date;
valid_date
Thursday 01 January 2009
"End of 5.0 tests"
+#
+# Start of 5.1 tests
+#
+#
+# Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr'
+#
+SET NAMES utf8;
+SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)));
+LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)))
+%
+SET NAMES latin1;
+#
+# End of 5.1 tests
+#
diff --git a/mysql-test/r/ddl_i18n_koi8r.result b/mysql-test/r/ddl_i18n_koi8r.result
index 2282f65c456..352f421eda7 100644
--- a/mysql-test/r/ddl_i18n_koi8r.result
+++ b/mysql-test/r/ddl_i18n_koi8r.result
@@ -724,7 +724,7 @@ utf8_general_ci utf8_general_ci
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
USE `mysqltest1`;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -757,8 +757,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -791,7 +791,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest1 to ddl_i18n_koi8r.sp.mysqltest1.sql
@@ -800,7 +800,7 @@ ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
USE `mysqltest2`;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -833,8 +833,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -867,7 +867,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest2 to ddl_i18n_koi8r.sp.mysqltest2.sql
@@ -1742,7 +1742,7 @@ CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1770,8 +1770,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1799,7 +1799,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest1 to ddl_i18n_koi8r.triggers.mysqltest1.sql
@@ -1821,7 +1821,7 @@ CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1849,8 +1849,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1878,7 +1878,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest2 to ddl_i18n_koi8r.triggers.mysqltest2.sql
@@ -2486,7 +2486,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
USE `mysqltest1`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2512,9 +2512,9 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2540,7 +2540,7 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
@@ -2553,7 +2553,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
USE `mysqltest2`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2579,9 +2579,9 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2607,7 +2607,7 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
diff --git a/mysql-test/r/ddl_i18n_utf8.result b/mysql-test/r/ddl_i18n_utf8.result
index 9d27fdb22bb..1385612fc32 100644
--- a/mysql-test/r/ddl_i18n_utf8.result
+++ b/mysql-test/r/ddl_i18n_utf8.result
@@ -724,7 +724,7 @@ utf8_general_ci utf8_general_ci
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
USE `mysqltest1`;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -757,8 +757,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -791,7 +791,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest1 to ddl_i18n_utf8sp.mysqltest1.sql
@@ -800,7 +800,7 @@ ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
USE `mysqltest2`;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -833,8 +833,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -867,7 +867,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest2 to ddl_i18n_utf8sp.mysqltest2.sql
@@ -1742,7 +1742,7 @@ CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1770,8 +1770,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1799,7 +1799,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest1 to ddl_i18n_utf8triggers.mysqltest1.sql
@@ -1821,7 +1821,7 @@ CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `t1` VALUES (1),(0),(1);
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1849,8 +1849,8 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
@@ -1878,7 +1878,7 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
---> Dumping mysqltest2 to ddl_i18n_utf8triggers.mysqltest2.sql
@@ -2486,7 +2486,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
USE `mysqltest1`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2512,9 +2512,9 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2540,7 +2540,7 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
@@ -2553,7 +2553,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
USE `mysqltest2`;
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
DELIMITER ;;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2579,9 +2579,9 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;;
-ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
@@ -2607,7 +2607,7 @@ END */ ;;
/*!50003 SET character_set_client = @saved_cs_client */ ;;
/*!50003 SET character_set_results = @saved_cs_results */ ;;
/*!50003 SET collation_connection = @saved_col_connection */ ;;
-ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
+ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
DELIMITER ;
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
diff --git a/mysql-test/r/delayed.result b/mysql-test/r/delayed.result
index 8c071cca396..0eb0661b0e2 100644
--- a/mysql-test/r/delayed.result
+++ b/mysql-test/r/delayed.result
@@ -422,7 +422,47 @@ COMMIT;
UNLOCK TABLES;
# Connection con1
# Reaping: INSERT DELAYED INTO t1 VALUES (5)
+# Connection default
+# Test 5: LOCK TABLES + INSERT DELAYED in one connection.
+# This test has triggered some asserts in metadata locking
+# subsystem at some point in time..
+LOCK TABLE t1 WRITE;
+INSERT DELAYED INTO t2 VALUES (7);
+UNLOCK TABLES;
+SET AUTOCOMMIT= 0;
+LOCK TABLE t1 WRITE;
+INSERT DELAYED INTO t2 VALUES (8);
+UNLOCK TABLES;
+SET AUTOCOMMIT= 1;
# Connection con2
# Connection con1
# Connection default
DROP TABLE t1, t2, t3;
+#
+# Test for bug #56251 "Deadlock with INSERT DELAYED and MERGE tables".
+#
+drop table if exists t1, t2, tm;
+create table t1(a int);
+create table t2(a int);
+create table tm(a int) engine=merge union=(t1, t2);
+begin;
+select * from t1;
+a
+# Connection 'con1'.
+# Sending:
+alter table t1 comment 'test';
+# Connection 'default'.
+# Wait until ALTER TABLE blocks and starts waiting
+# for connection 'default'. It should wait with a
+# pending SNW lock on 't1'.
+# Attempt to perform delayed insert into 'tm' should not lead
+# to a deadlock. Instead error ER_DELAYED_NOT_SUPPORTED should
+# be emitted.
+insert delayed into tm values (1);
+ERROR HY000: DELAYED option not supported for table 'tm'
+# Unblock ALTER TABLE.
+commit;
+# Connection 'con1'.
+# Reaping ALTER TABLE:
+# Connection 'default'.
+drop tables tm, t1, t2;
diff --git a/mysql-test/r/delete.result b/mysql-test/r/delete.result
index 702b9348b7d..5e4adbbd6dc 100644
--- a/mysql-test/r/delete.result
+++ b/mysql-test/r/delete.result
@@ -509,3 +509,18 @@ CREATE TABLE t3 LIKE t1;
DELETE FROM t1.*, test.t2.*, a.* USING t1, t2, t3 AS a;
DROP TABLE t1, t2, t3;
End of 5.1 tests
+#
+# Bug#51099 Assertion in mysql_multi_delete_prepare()
+#
+DROP TABLE IF EXISTS t1, t2;
+DROP VIEW IF EXISTS v1, v2;
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(b INT);
+CREATE VIEW v1 AS SELECT a, b FROM t1, t2;
+CREATE VIEW v2 AS SELECT a FROM v1;
+DELETE FROM v2;
+ERROR HY000: Can not delete from join view 'test.v2'
+DELETE v2 FROM v2;
+ERROR HY000: Can not delete from join view 'test.v2'
+DROP VIEW v2, v1;
+DROP TABLE t1, t2;
diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result
index 53cd89c13c1..a86eabc3192 100644
--- a/mysql-test/r/derived.result
+++ b/mysql-test/r/derived.result
@@ -400,4 +400,30 @@ SELECT 0 FROM
(SELECT 0) t61;
0
0
+#
+# A nested materialized derived table is used before being populated.
+# (addon for bug#19077)
+#
+CREATE TABLE t1 (i INT, j BIGINT);
+INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
+SELECT * FROM (SELECT MIN(i) FROM t1
+WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
+MIN(i)
+1
+DROP TABLE t1;
# End of 5.0 tests
+#
+# Bug#58730 Assertion failed: table->key_read == 0 in close_thread_table,
+# temptable views
+#
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (b INT, KEY (b));
+INSERT INTO t1 VALUES (1),(1);
+INSERT INTO t2 VALUES (1),(1);
+CREATE algorithm=temptable VIEW v1 AS
+SELECT 1 FROM t1 LEFT JOIN t1 t3 ON 1 > (SELECT 1 FROM t1);
+CREATE algorithm=temptable VIEW v2 AS SELECT 1 FROM t2;
+EXPLAIN SELECT 1 FROM t1 JOIN v1 ON 1 > (SELECT 1 FROM v2);
+ERROR 21000: Subquery returns more than 1 row
+DROP TABLE t1, t2;
+DROP VIEW v1, v2;
diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result
index ee8f9f897ad..041ee3e72cd 100644
--- a/mysql-test/r/distinct.result
+++ b/mysql-test/r/distinct.result
@@ -794,3 +794,14 @@ DROP TABLE t1;
SET @@sort_buffer_size = @old_sort_buffer_size;
SET @@max_heap_table_size = @old_max_heap_table_size;
End of 5.1 tests
+#
+# Bug #11744875: 4082: integer lengths cause truncation with distinct concat and innodb
+#
+CREATE TABLE t1 (a INT(1), b INT(1));
+INSERT INTO t1 VALUES (1111, 2222), (3333, 4444);
+SELECT DISTINCT CONCAT(a,b) AS c FROM t1 ORDER BY 1;
+c
+11112222
+33334444
+DROP TABLE t1;
+End of 5.5 tests
diff --git a/mysql-test/r/errors.result b/mysql-test/r/errors.result
index 3d247a242a3..e6a1b492b39 100644
--- a/mysql-test/r/errors.result
+++ b/mysql-test/r/errors.result
@@ -134,3 +134,15 @@ INSERT INTO t1 VALUES ('abc\0\0');
INSERT INTO t1 VALUES ('abc\0\0');
ERROR 23000: Duplicate entry 'abc\x00\x00' for key 'PRIMARY'
DROP TABLE t1;
+#
+# Bug#57882: Item_func_conv_charset::val_str(String*):
+# Assertion `fixed == 1' failed
+#
+SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8),''));
+ERROR 22003: DOUBLE value is out of range in 'cot('v')'
+SET NAMES utf8 COLLATE utf8_latvian_ci ;
+SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null);
+ERROR 22003: BIGINT value is out of range in '(-(73) * -(2465717823867977728))'
+#
+# End Bug#57882
+#
diff --git a/mysql-test/r/events_1.result b/mysql-test/r/events_1.result
index e068158e6ce..29e81975c87 100644
--- a/mysql-test/r/events_1.result
+++ b/mysql-test/r/events_1.result
@@ -1,3 +1,4 @@
+call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted");
drop database if exists events_test;
drop database if exists db_x;
drop database if exists mysqltest_db2;
@@ -259,33 +260,36 @@ events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLE
Try to alter mysql.event: the server should fail to load
event information after mysql.event was tampered with.
-First, let's add a column to the end and make sure everything
-works as before
+First, let's add a column to the end and check the error is emitted.
ALTER TABLE mysql.event ADD dummy INT;
SHOW EVENTS;
-Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-events_test intact_check root@localhost SYSTEM RECURRING NULL 10 # # NULL ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+ERROR HY000: Failed to open mysql.event
SELECT event_name FROM INFORMATION_SCHEMA.events;
-event_name
-intact_check
+ERROR HY000: Failed to open mysql.event
SHOW CREATE EVENT intact_check;
-Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
-intact_check SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `intact_check` ON SCHEDULE EVERY 10 HOUR STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO SELECT "nothing" latin1 latin1_swedish_ci latin1_swedish_ci
+ERROR HY000: Failed to open mysql.event
DROP EVENT no_such_event;
-ERROR HY000: Unknown event 'no_such_event'
+ERROR HY000: Failed to open mysql.event
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+ERROR HY000: Failed to open mysql.event
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
+ERROR HY000: Failed to open mysql.event
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check_1;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check_2;
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check;
+ERROR HY000: Failed to open mysql.event
DROP DATABASE IF EXISTS mysqltest_no_such_database;
Warnings:
Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
CREATE DATABASE mysqltest_db2;
DROP DATABASE mysqltest_db2;
+Warnings:
+Error 1545 Failed to open mysql.event
SELECT @@event_scheduler;
@@event_scheduler
OFF
@@ -294,6 +298,7 @@ Variable_name Value
event_scheduler OFF
SET GLOBAL event_scheduler=OFF;
ALTER TABLE mysql.event DROP dummy;
+DROP EVENT intact_check;
CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
Now let's add a column to the first position: the server
@@ -301,30 +306,32 @@ expects to see event schema name there
ALTER TABLE mysql.event ADD dummy INT FIRST;
SHOW EVENTS;
-ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+ERROR HY000: Failed to open mysql.event
SELECT event_name FROM INFORMATION_SCHEMA.events;
-ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+ERROR HY000: Failed to open mysql.event
SHOW CREATE EVENT intact_check;
-ERROR HY000: Unknown event 'intact_check'
+ERROR HY000: Failed to open mysql.event
DROP EVENT no_such_event;
-ERROR HY000: Unknown event 'no_such_event'
+ERROR HY000: Failed to open mysql.event
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
-ERROR HY000: Failed to store event name. Error code 2 from storage engine.
+ERROR HY000: Failed to open mysql.event
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check_1;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check_2;
-ERROR HY000: Unknown event 'intact_check_2'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check;
-ERROR HY000: Unknown event 'intact_check'
+ERROR HY000: Failed to open mysql.event
DROP DATABASE IF EXISTS mysqltest_no_such_database;
Warnings:
Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
CREATE DATABASE mysqltest_db2;
DROP DATABASE mysqltest_db2;
+Warnings:
+Error 1545 Failed to open mysql.event
SELECT @@event_scheduler;
@@event_scheduler
OFF
@@ -345,29 +352,32 @@ Drop some columns and try more checks.
ALTER TABLE mysql.event DROP comment, DROP starts;
SHOW EVENTS;
-ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+ERROR HY000: Failed to open mysql.event
SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
-ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+ERROR HY000: Failed to open mysql.event
SHOW CREATE EVENT intact_check;
-ERROR HY000: Cannot load from mysql.event. The table is probably corrupted
+ERROR HY000: Failed to open mysql.event
DROP EVENT no_such_event;
-ERROR HY000: Unknown event 'no_such_event'
+ERROR HY000: Failed to open mysql.event
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
-ERROR HY000: Column count of mysql.event is wrong. Expected 22, found 20. The table is probably corrupted
+ERROR HY000: Failed to open mysql.event
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check_1;
-ERROR HY000: Unknown event 'intact_check_1'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check_2;
-ERROR HY000: Unknown event 'intact_check_2'
+ERROR HY000: Failed to open mysql.event
DROP EVENT intact_check;
+ERROR HY000: Failed to open mysql.event
DROP DATABASE IF EXISTS mysqltest_no_such_database;
Warnings:
Note 1008 Can't drop database 'mysqltest_no_such_database'; database doesn't exist
CREATE DATABASE mysqltest_db2;
DROP DATABASE mysqltest_db2;
+Warnings:
+Error 1545 Failed to open mysql.event
SELECT @@event_scheduler;
@@event_scheduler
OFF
@@ -425,4 +435,42 @@ CREATE TABLE mysql.event like event_like;
DROP TABLE event_like;
SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+#
+# Bug#12394306: the sever may crash if mysql.event is corrupted
+#
+
+CREATE EVENT ev1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+ALTER EVENT ev1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
+
+CREATE TABLE event_original LIKE mysql.event;
+INSERT INTO event_original SELECT * FROM mysql.event;
+
+ALTER TABLE mysql.event MODIFY modified CHAR(1);
+Warnings:
+Warning 1265 Data truncated for column 'modified' at row 1
+
+SHOW EVENTS;
+ERROR HY000: Failed to open mysql.event
+
+SELECT event_name, created, last_altered FROM information_schema.events;
+ERROR HY000: Failed to open mysql.event
+
+CREATE EVENT ev2 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+ERROR HY000: Failed to open mysql.event
+
+ALTER EVENT ev1 ON SCHEDULE EVERY 9 HOUR DO SELECT 9;
+ERROR HY000: Failed to open mysql.event
+
+DROP TABLE mysql.event;
+RENAME TABLE event_original TO mysql.event;
+
+DROP EVENT ev1;
+
+SHOW EVENTS;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+
+#
+# End of tests
+#
drop database events_test;
diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result
index 530d8559f11..66ec00d7357 100644
--- a/mysql-test/r/events_2.result
+++ b/mysql-test/r/events_2.result
@@ -133,15 +133,15 @@ select event_name from information_schema.events;
event_name
e1
create event e2 on schedule every 10 hour do select 1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 disable;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 rename to e3;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e2;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
lock table t1 write;
show create event e1;
@@ -151,15 +151,15 @@ select event_name from information_schema.events;
event_name
e1
create event e2 on schedule every 10 hour do select 1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 disable;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 rename to e3;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e2;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
lock table t1 read, mysql.event read;
show create event e1;
@@ -169,15 +169,15 @@ select event_name from information_schema.events;
event_name
e1
create event e2 on schedule every 10 hour do select 1;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 disable;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 rename to e3;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e2;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e1;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
lock table t1 write, mysql.event read;
show create event e1;
@@ -187,15 +187,15 @@ select event_name from information_schema.events;
event_name
e1
create event e2 on schedule every 10 hour do select 1;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 disable;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 rename to e3;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e2;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e1;
-ERROR HY000: Table 'event' was locked with a READ lock and can't be updated
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
lock table t1 read, mysql.event write;
ERROR HY000: You can't combine write-locking of system tables with other tables or lock types
@@ -209,11 +209,17 @@ select event_name from information_schema.events;
event_name
e1
create event e2 on schedule every 10 hour do select 1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 disable;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
alter event e2 rename to e3;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e3;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop event e1;
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
+drop event e1;
Make sure we have left no events
select event_name from information_schema.events;
event_name
diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result
index 7b5b53210ea..b98d1674a3c 100644
--- a/mysql-test/r/events_bugs.result
+++ b/mysql-test/r/events_bugs.result
@@ -419,7 +419,7 @@ SET TIME_ZONE= '+04:00';
ALTER EVENT e1 DO SELECT 2;
SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
-events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 ENABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
DROP EVENT e1;
SET TIME_ZONE='+05:00';
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO
@@ -535,6 +535,7 @@ DROP EVENT e3;
DROP EVENT e2;
DROP EVENT e1;
SET TIME_ZONE=@save_time_zone;
+SET TIMESTAMP=DEFAULT;
drop event if exists new_event;
CREATE EVENT new_event ON SCHEDULE EVERY 0 SECOND DO SELECT 1;
ERROR HY000: INTERVAL is either not positive or too big
@@ -568,6 +569,7 @@ USE test;
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
SET GLOBAL event_scheduler = ON;
CREATE TABLE events_test.event_log
(id int KEY AUTO_INCREMENT, ev_nm char(40), ev_cnt int, ev_tm timestamp)
@@ -745,6 +747,68 @@ event_name originator
ev1 4294967295
DROP EVENT ev1;
SET GLOBAL server_id = @old_server_id;
+CREATE DATABASE event_test12;
+USE event_test12;
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+CREATE DATABASE event_test1;
+USE event_test1;
+SHOW EVENTS;
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+DROP DATABASE event_test1;
+DROP DATABASE event_test12;
+#
+# Bug#12546938 (formerly known as bug#61005):
+# CREATE IF NOT EXIST EVENT WILL CREATE MULTIPLE RUNNING EVENTS
+#
+USE events_test;
+SET GLOBAL event_scheduler = ON;
+DROP TABLE IF EXISTS table_bug12546938;
+DROP EVENT IF EXISTS event_Bug12546938;
+CREATE TABLE table_bug12546938 (i INT);
+# Create an event which will be executed with a small delay
+# and won't be automatically dropped after that.
+CREATE EVENT event_Bug12546938
+ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND ON COMPLETION PRESERVE
+ENABLE DO
+BEGIN
+INSERT INTO table_bug12546938 VALUES(1);
+END
+|
+# Now try to create the same event using CREATE EVENT IF NOT EXISTS.
+# A warning should be emitted. A new event should not be created nor
+# the old event should be re-executed.
+CREATE EVENT IF NOT EXISTS event_bug12546938
+ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND ON COMPLETION PRESERVE
+ENABLE DO
+BEGIN
+INSERT INTO table_bug12546938 VALUES (1);
+END
+|
+Warnings:
+Note 1537 Event 'event_bug12546938' already exists
+# Wait until at least one instance of event is executed.
+# Check that only one instance of our event was executed.
+SELECT COUNT(*) FROM table_bug12546938;
+COUNT(*)
+1
+# Clean-up.
+DROP EVENT IF EXISTS event_Bug12546938;
+DROP TABLE table_bug12546938;
+SET GLOBAL EVENT_SCHEDULER = OFF;
+DROP DATABASE IF EXISTS event_test11764334;
+CREATE DATABASE event_test11764334;
+USE event_test11764334;
+CREATE EVENT ev1 ON SCHEDULE EVERY 3 SECOND DISABLE DO SELECT 1;
+SHOW EVENTS IN event_test11764334 WHERE NAME='ev1';
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+event_test11764334 ev1 root@localhost SYSTEM RECURRING NULL 3 SECOND # # DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+ALTER EVENT ev1 ON SCHEDULE EVERY 4 SECOND;
+SHOW EVENTS IN event_test11764334 WHERE NAME='ev1';
+Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
+event_test11764334 ev1 root@localhost SYSTEM RECURRING NULL 4 SECOND # # DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
+DROP EVENT ev1;
+DROP DATABASE event_test11764334;
+USE test;
DROP DATABASE events_test;
SET GLOBAL event_scheduler= 'ON';
SET @@global.concurrent_insert= @concurrent_insert;
diff --git a/mysql-test/r/events_restart.result b/mysql-test/r/events_restart.result
index 4db61d357ce..6a751fa29f8 100644
--- a/mysql-test/r/events_restart.result
+++ b/mysql-test/r/events_restart.result
@@ -1,3 +1,4 @@
+call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted");
set global event_scheduler=off;
drop database if exists events_test;
create database events_test;
@@ -52,6 +53,8 @@ Warnings:
Note 1008 Can't drop database 'mysqltest_database_not_exists'; database doesn't exist
create database mysqltest_db1;
drop database mysqltest_db1;
+Warnings:
+Error 1545 Failed to open mysql.event
Restore the original mysql.event table
drop table mysql.event;
rename table event_like to mysql.event;
diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result
index fc8c2ffcaf7..81072bde24c 100644
--- a/mysql-test/r/explain.result
+++ b/mysql-test/r/explain.result
@@ -180,7 +180,6 @@ ERROR 42000: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP col
SHOW WARNINGS;
Level Code Message
Error 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
-Note 1003 select 1 AS `1` from `test`.`t1` where <not>(<exists>(...))
SET SESSION sql_mode=@old_sql_mode;
DROP TABLE t1;
End of 5.0 tests.
@@ -271,4 +270,64 @@ EXPLAIN SELECT c1 FROM t1 WHERE c2 = 1 AND c4 = 1 AND c5 = 1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref c2,c2_2 c2 10 const,const 3 Using where
DROP TABLE t1;
+#
+# Bug#56814 Explain + subselect + fulltext crashes server
+#
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL,
+FULLTEXT KEY(f1),UNIQUE(f1));
+INSERT INTO t1 VALUES ('test');
+EXPLAIN SELECT 1 FROM t1
+WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST (""))
+WHERE t1.f1 GROUP BY t1.f1));
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 system NULL NULL NULL NULL 1
+2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
+2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 system NULL NULL NULL NULL 1
+2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
+2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 system NULL NULL NULL NULL 1
+2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
+2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
+DEALLOCATE PREPARE stmt;
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 system NULL NULL NULL NULL 1
+2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
+2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
+EXECUTE stmt;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 system NULL NULL NULL NULL 1
+2 SUBQUERY a system NULL NULL NULL NULL 1 Using filesort
+2 SUBQUERY t1 fulltext f1 f1 0 1 Using where
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
End of 5.1 tests.
+#
+# Bug#11829785 EXPLAIN EXTENDED CRASH WITH RIGHT OUTER JOIN, SUBQUERIES
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES (0), (0);
+PREPARE s FROM
+'EXPLAIN EXTENDED
+SELECT SUBSTRING(1, (SELECT 1 FROM t1 a1 RIGHT OUTER JOIN t1 ON 0)) AS d
+FROM t1 WHERE 0 > ANY (SELECT @a FROM t1)';
+EXECUTE s;
+ERROR 21000: Subquery returns more than 1 row
+DEALLOCATE PREPARE s;
+DROP TABLE t1;
+#
diff --git a/mysql-test/r/file_contents.result b/mysql-test/r/file_contents.result
new file mode 100644
index 00000000000..110769e12f8
--- /dev/null
+++ b/mysql-test/r/file_contents.result
@@ -0,0 +1,6 @@
+
+Checking 'INFO_SRC' and 'INFO_BIN'
+INFO_SRC: Found MySQL version number / Found BZR revision id
+INFO_BIN: Found 'Compiler ... used' line / Found 'Feature flags' line
+
+End of tests
diff --git a/mysql-test/r/filesort_debug.result b/mysql-test/r/filesort_debug.result
new file mode 100644
index 00000000000..c35a6753353
--- /dev/null
+++ b/mysql-test/r/filesort_debug.result
@@ -0,0 +1,33 @@
+SET @old_debug= @@session.debug;
+#
+# Bug#36022 please log more information about "Sort aborted" queries
+#
+CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
+INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
+SET session debug= '+d,make_char_array_fail';
+CALL mtr.add_suppression("Out of sort memory");
+SELECT * FROM t1 ORDER BY f1 ASC, f0;
+ERROR HY001: Out of sort memory, consider increasing server sort buffer size
+SET session debug= @old_debug;
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1;
+ERROR 42000: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1
+DROP TABLE t1;
+DROP FUNCTION f1;
+#
+# Bug #11747102
+# 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES
+#
+# connection 1
+CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
+INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
+SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed';
+# Sending: (not reaped since connection is killed later)
+SELECT * FROM t1 ORDER BY f1 ASC, f0;
+# connection 2
+SET DEBUG_SYNC='now WAIT_FOR filesort_started';
+KILL @id;
+SET DEBUG_SYNC='now SIGNAL filesort_killed';
+# connection default
+SET DEBUG_SYNC= "RESET";
+DROP TABLE t1;
diff --git a/mysql-test/r/flush.result b/mysql-test/r/flush.result
index aee18d91edf..bbfea2dade8 100644
--- a/mysql-test/r/flush.result
+++ b/mysql-test/r/flush.result
@@ -373,3 +373,96 @@ commit;
# --> connection con2
# --> connection default
drop table t1;
+#
+# Test for bug #55273 "FLUSH TABLE tm WITH READ LOCK for Merge table
+# causes assert failure".
+#
+drop table if exists t1, t2, tm;
+create table t1 (i int);
+create table t2 (i int);
+create table tm (i int) engine=merge union=(t1, t2);
+insert into t1 values (1), (2);
+insert into t2 values (3), (4);
+# The below statement should succeed and lock merge
+# table for read. Only merge table gets flushed and
+# not underlying tables.
+flush tables tm with read lock;
+select * from tm;
+i
+1
+2
+3
+4
+# Check that underlying tables are locked.
+select * from t1;
+i
+1
+2
+select * from t2;
+i
+3
+4
+unlock tables;
+# This statement should succeed as well and flush
+# all tables in the list.
+flush tables tm, t1, t2 with read lock;
+select * from tm;
+i
+1
+2
+3
+4
+# Naturally, underlying tables should be locked in this case too.
+select * from t1;
+i
+1
+2
+select * from t2;
+i
+3
+4
+unlock tables;
+drop tables tm, t1, t2;
+#
+# Test for bug #57006 "Deadlock between HANDLER and
+# FLUSH TABLES WITH READ LOCK".
+#
+drop table if exists t1, t2;
+create table t1 (i int);
+create table t2 (i int);
+handler t1 open;
+# Switching to connection 'con1'.
+# Sending:
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL starts waiting for 't1' to be closed.
+# Switching to connection 'default'.
+# The below statement should not cause deadlock.
+# Sending:
+insert into t2 values (1);
+# Switching to connection 'con2'.
+# Wait until INSERT starts to wait for FTWRL to go away.
+# Switching to connection 'con1'.
+# FTWRL should be able to continue now.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'default'.
+# Reap INSERT.
+handler t1 close;
+# Cleanup.
+drop tables t1, t2;
+#
+# Bug#57649 FLUSH TABLES under FLUSH TABLES <list> WITH READ LOCK leads
+# to assert failure.
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a INT);
+FLUSH TABLES t1 WITH READ LOCK;
+FLUSH TABLES;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a= 1;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+ALTER TABLE t1 COMMENT 'test';
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/r/flush_read_lock.result b/mysql-test/r/flush_read_lock.result
new file mode 100644
index 00000000000..cd7083405bf
--- /dev/null
+++ b/mysql-test/r/flush_read_lock.result
@@ -0,0 +1,1684 @@
+# FTWRL takes two global metadata locks -- a global shared
+# metadata lock and the commit blocker lock.
+# The first lock prevents DDL from taking place.
+# Let's say that all DDL statements that take metadata
+# locks form class #1 -- incompatible with FTWRL because
+# take incompatible MDL table locks.
+# The first global lock doesn't, however, prevent standalone
+# COMMITs (or implicit COMMITs) from taking place, since a
+# COMMIT doesn't take table locks. It doesn't prevent
+# DDL on temporary tables either, since they don't
+# take any table locks either.
+# Most DDL statements do not perform an implicit commit
+# if operate on a temporary table. Examples are CREATE
+# TEMPORARY TABLE and DROP TEMPORARY TABLE.
+# Thus, these DDL statements can go through in presence
+# of FTWRL. This is class #2 -- compatible because
+# do not take incompatible MDL locks and do not issue
+# implicit commit..
+# (Although these operations do not commit, their effects
+# cannot be rolled back either.)
+# ALTER TABLE, ANALYZE, OPTIMIZE and some others always
+# issue an implicit commit, even if its argument is a
+# temporary table.
+# *Howewer* an implicit commit is a no-op if all engines
+# used since the start of transactiona are non-
+# transactional. Thus, for non-transactional engines,
+# these operations are not blocked by FTWRL.
+# This is class #3 -- compatible because do not take
+# MDL table locks and are non-transactional.
+# On the contrary, for transactional engines, there
+# is always a commit, regardless of whether a table
+# is temporary or not. Thus, for example, ALTER TABLE
+# for a transactional engine will wait for FTWRL,
+# even if the subject table is temporary.
+# Thus ALTER TABLE <temporary> is incompatible
+# with FTWRL. This is class #4 -- incompatible
+# becuase issue implicit COMMIT which is not a no-op.
+# Finally, there are administrative statements (such as
+# RESET SLAVE) that do not take any locks and do not
+# issue COMMIT.
+# This is class #5.
+# The goal of this coverage is to test statements
+# of all classes.
+# @todo: documents the effects of @@autocommit,
+# DML and temporary transactional tables.
+# Use MyISAM engine for the most of the tables
+# used in this test in order to be able to
+# check that DDL statements on temporary tables
+# are compatible with FTRWL.
+drop tables if exists t1_base, t2_base, t3_trans;
+drop tables if exists tm_base, tm_base_temp;
+drop database if exists mysqltest1;
+# We're going to test ALTER DATABASE UPGRADE
+drop database if exists `#mysql50#mysqltest-2`;
+drop procedure if exists p1;
+drop function if exists f1;
+drop view if exists v1;
+drop procedure if exists p2;
+drop function if exists f2_base;
+drop function if exists f2_temp;
+drop event if exists e1;
+drop event if exists e2;
+create table t1_base(i int) engine=myisam;
+create table t2_base(j int) engine=myisam;
+create table t3_trans(i int) engine=innodb;
+create temporary table t1_temp(i int) engine=myisam;
+create temporary table t2_temp(j int) engine=myisam;
+create temporary table t3_temp_trans(i int) engine=innodb;
+create database mysqltest1;
+create database `#mysql50#mysqltest-2`;
+create procedure p1() begin end;
+create function f1() returns int return 0;
+create view v1 as select 1 as i;
+create procedure p2(i int) begin end;
+create function f2_base() returns int
+begin
+insert into t1_base values (1);
+return 0;
+end|
+create function f2_temp() returns int
+begin
+insert into t1_temp values (1);
+return 0;
+end|
+create event e1 on schedule every 1 minute do begin end;
+#
+# Test compatibility of FLUSH TABLES WITH READ LOCK
+# with various statements.
+#
+# These tests don't cover some classes of statements:
+# - Replication-related - CHANGE MASTER TO, START/STOP SLAVE and etc
+# (all compatible with FTWRL).
+# - Plugin-related - INSTALL/UNINSTALL (incompatible with FTWRL,
+# require plugin support).
+#
+# 1) ALTER variants.
+#
+# 1.1) ALTER TABLE
+#
+# 1.1.a) For base table should be incompatible with FTWRL.
+#
+Success: Was not able to run 'alter table t1_base add column c1 int' under FTWRL.
+Success: 'alter table t1_base add column c1 int' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter table t1_base add column c1 int' is active in another connection.
+#
+# 1.1.b) For a temporary table should be compatible with FTWRL.
+#
+Success: Was able to run 'alter table t1_temp add column c1 int' under FTWRL.
+Success: Was able to run 'alter table t1_temp add column c1 int' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'alter table t1_temp add column c1 int' was active in another connection.
+#
+# 1.2) ALTER DATABASE should be incompatible with FTWRL.
+#
+Success: Was not able to run 'alter database mysqltest1 default character set utf8' under FTWRL.
+Success: 'alter database mysqltest1 default character set utf8' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter database mysqltest1 default character set utf8' is active in another connection.
+#
+# 1.3) ALTER DATABASE UPGRADE DATA DIRECTORY NAME should be
+# incompatible with FTWRL.
+#
+Success: Was not able to run 'alter database `#mysql50#mysqltest-2` upgrade data directory name' under FTWRL.
+Success: 'alter database `#mysql50#mysqltest-2` upgrade data directory name' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter database `#mysql50#mysqltest-2` upgrade data directory name' is active in another connection.
+#
+# 1.4) ALTER PROCEDURE should be incompatible with FTWRL.
+#
+Success: Was not able to run 'alter procedure p1 comment 'a'' under FTWRL.
+Success: 'alter procedure p1 comment 'a'' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter procedure p1 comment 'a'' is active in another connection.
+#
+# 1.5) ALTER FUNCTION should be incompatible with FTWRL.
+#
+Success: Was not able to run 'alter function f1 comment 'a'' under FTWRL.
+Success: 'alter function f1 comment 'a'' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter function f1 comment 'a'' is active in another connection.
+#
+# 1.6) ALTER VIEW should be incompatible with FTWRL.
+#
+Success: Was not able to run 'alter view v1 as select 2 as j' under FTWRL.
+Success: 'alter view v1 as select 2 as j' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter view v1 as select 2 as j' is active in another connection.
+#
+# 1.7) ALTER EVENT should be incompatible with FTWRL.
+#
+Success: Was not able to run 'alter event e1 comment 'test'' under FTWRL.
+Success: 'alter event e1 comment 'test'' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter event e1 comment 'test'' is active in another connection.
+#
+# 1.x) The rest of ALTER statements (ALTER TABLESPACE,
+# ALTER LOGFILE GROUP and ALTER SERVER) are too
+# special to be tested here.
+#
+#
+# 2) ANALYZE TABLE statement is compatible with FTWRL.
+# See Bug#43336 ANALYZE and OPTIMIZE do not honour
+# --read-only for a discussion why.
+#
+Success: Was able to run 'analyze table t1_base' under FTWRL.
+Success: Was able to run 'analyze table t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'analyze table t1_base' was active in another connection.
+#
+# 3) BEGIN, ROLLBACK and COMMIT statements.
+# BEGIN and ROLLBACK are compatible with FTWRL.
+# COMMIT is not.
+#
+# We need a special test for these statements as
+# FTWRL commits a transaction and because COMMIT
+# is handled in a special way.
+flush tables with read lock;
+begin;
+# ROLLBACK is allowed under FTWRL although there
+# no much sense in it. FTWRL commits any previous
+# changes and doesn't allows any DML after it.
+# So such a ROLLBACK is always a no-op.
+rollback;
+# Although COMMIT is incompatible with FTWRL in
+# other senses it is still allowed under FTWRL.
+# This fact relied upon by some versions of
+# innobackup tool.
+# Similarly to ROLLBACK it is a no-op in this situation.
+commit;
+unlock tables;
+# Check that BEGIN/ROLLBACK are not blocked and
+# COMMIT is blocked by active FTWRL in another
+# connection.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+begin;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+# Do some work so ROLLBACK is not a no-op.
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+rollback;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+begin;
+# Do some work so COMMIT is not a no-op.
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+# Send:
+commit;
+# Switching to connection 'con1'.
+# Wait until COMMIT is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap COMMIT.
+delete from t3_trans;
+#
+# Check that COMMIT blocks FTWRL in another connection.
+begin;
+insert into t3_trans values (1);
+set debug_sync='RESET';
+set debug_sync='ha_commit_trans_after_acquire_commit_lock SIGNAL parked WAIT_FOR go';
+commit;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL is blocked.
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap COMMIT.
+# Switching to connection 'con1'.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'default'.
+delete from t3_trans;
+set debug_sync= "RESET";
+# We don't run similar test for BEGIN and ROLLBACK as
+# they release metadata locks in non-standard place.
+#
+# 4) BINLOG statement should be incompatible with FTWRL.
+#
+#
+# Provide format description BINLOG statement first.
+BINLOG '
+MfmqTA8BAAAAZwAAAGsAAAABAAQANS41LjctbTMtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAx+apMEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
+';
+# Now test compatibility for BINLOG statement which is
+# equivalent to INSERT INTO t1_base VALUES (1).
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was not able to run 'BINLOG '
+MfmqTBMBAAAALgAAAN0AAAAAACgAAAAAAAEABHRlc3QAB3QxX2Jhc2UAAQMAAQ==
+MfmqTBcBAAAAIgAAAP8AAAAAACgAAAAAAAEAAf/+AQAAAA==
+'' under FTWRL.
+Success: 'BINLOG '
+MfmqTBMBAAAALgAAAN0AAAAAACgAAAAAAAEABHRlc3QAB3QxX2Jhc2UAAQMAAQ==
+MfmqTBcBAAAAIgAAAP8AAAAAACgAAAAAAAEAAf/+AQAAAA==
+'' is blocked by FTWRL active in another connection.
+#
+# 5) CALL statement. This statement uses resources in two
+# ways: through expressions used as parameters and through
+# sub-statements. This test covers only usage through
+# parameters as sub-statements do locking individually.
+#
+# 5.a) In simple cases a parameter expression should be
+# compatible with FTWRL.
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'call p2((select count(*) from t1_base))' under FTWRL.
+Success: Was able to run 'call p2((select count(*) from t1_base))' with FTWRL active in another connection.
+#
+# 5.b) In case when an expression uses function which updates
+# base tables CALL should be incompatible with FTWRL.
+#
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was not able to run 'call p2(f2_base())' under FTWRL.
+Success: 'call p2(f2_base())' is blocked by FTWRL active in another connection.
+#
+# 5.c) If function used as argument updates temporary tables
+# CALL statement should be compatible with FTWRL.
+#
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'call p2(f2_temp())' under FTWRL.
+Success: Was able to run 'call p2(f2_temp())' with FTWRL active in another connection.
+#
+# 6) CHECK TABLE statement is compatible with FTWRL.
+#
+Success: Was able to run 'check table t1_base' under FTWRL.
+Success: Was able to run 'check table t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'check table t1_base' was active in another connection.
+#
+# 7) CHECKSUM TABLE statement is compatible with FTWRL.
+#
+Success: Was able to run 'checksum table t1_base' under FTWRL.
+Success: Was able to run 'checksum table t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'checksum table t1_base' was active in another connection.
+#
+# 8) CREATE variants.
+#
+# 8.1) CREATE TABLE statement.
+#
+# 8.1.a) CREATE TABLE is incompatible with FTWRL when
+# base table is created.
+Success: Was not able to run 'create table t3_base(i int)' under FTWRL.
+Success: 'create table t3_base(i int)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create table t3_base(i int)' is active in another connection.
+# 8.1.b) CREATE TABLE is compatible with FTWRL when
+# temporary table is created.
+Success: Was able to run 'create temporary table t3_temp(i int)' under FTWRL.
+Success: Was able to run 'create temporary table t3_temp(i int)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'create temporary table t3_temp(i int)' was active in another connection.
+# 8.1.c) CREATE TABLE LIKE is incompatible with FTWRL when
+# base table is created.
+Success: Was not able to run 'create table t3_base like t1_temp' under FTWRL.
+Success: 'create table t3_base like t1_temp' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create table t3_base like t1_temp' is active in another connection.
+# 8.1.d) CREATE TABLE LIKE is compatible with FTWRL when
+# temporary table is created.
+Success: Was able to run 'create temporary table t3_temp like t1_base' under FTWRL.
+Success: Was able to run 'create temporary table t3_temp like t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'create temporary table t3_temp like t1_base' was active in another connection.
+# 8.1.e) CREATE TABLE SELECT is incompatible with FTWRL when
+# base table is created.
+Success: Was not able to run 'create table t3_base select 1 as i' under FTWRL.
+Success: 'create table t3_base select 1 as i' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create table t3_base select 1 as i' is active in another connection.
+# 8.1.f) CREATE TABLE SELECT is compatible with FTWRL when
+# temporary table is created.
+Success: Was able to run 'create temporary table t3_temp select 1 as i' under FTWRL.
+Success: Was able to run 'create temporary table t3_temp select 1 as i' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'create temporary table t3_temp select 1 as i' was active in another connection.
+# 8.2) CREATE INDEX statement.
+#
+# 8.2.a) CREATE INDEX is incompatible with FTWRL when
+# applied to base table.
+Success: Was not able to run 'create index i on t1_base (i)' under FTWRL.
+Success: 'create index i on t1_base (i)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create index i on t1_base (i)' is active in another connection.
+# 8.2.b) CREATE INDEX is compatible with FTWRL when
+# applied to temporary table.
+Success: Was able to run 'create index i on t1_temp (i)' under FTWRL.
+Success: Was able to run 'create index i on t1_temp (i)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'create index i on t1_temp (i)' was active in another connection.
+#
+# 8.3) CREATE DATABASE is incompatible with FTWRL.
+#
+Success: Was not able to run 'create database mysqltest2' under FTWRL.
+Success: 'create database mysqltest2' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create database mysqltest2' is active in another connection.
+#
+# 8.4) CREATE VIEW is incompatible with FTWRL.
+#
+Success: Was not able to run 'create view v2 as select 1 as j' under FTWRL.
+Success: 'create view v2 as select 1 as j' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create view v2 as select 1 as j' is active in another connection.
+#
+# 8.5) CREATE TRIGGER is incompatible with FTWRL.
+#
+Success: Was not able to run 'create trigger t1_bi before insert on t1_base for each row begin end' under FTWRL.
+Success: 'create trigger t1_bi before insert on t1_base for each row begin end' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create trigger t1_bi before insert on t1_base for each row begin end' is active in another connection.
+#
+# 8.6) CREATE FUNCTION is incompatible with FTWRL.
+#
+Success: Was not able to run 'create function f2() returns int return 0' under FTWRL.
+Success: 'create function f2() returns int return 0' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create function f2() returns int return 0' is active in another connection.
+#
+# 8.7) CREATE PROCEDURE is incompatible with FTWRL.
+#
+Success: Was not able to run 'create procedure p3() begin end' under FTWRL.
+Success: 'create procedure p3() begin end' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create procedure p3() begin end' is active in another connection.
+#
+# 8.8) CREATE EVENT should be incompatible with FTWRL.
+#
+Success: Was not able to run 'create event e2 on schedule every 1 minute do begin end' under FTWRL.
+Success: 'create event e2 on schedule every 1 minute do begin end' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create event e2 on schedule every 1 minute do begin end' is active in another connection.
+#
+# 8.9) CREATE USER should be incompatible with FTWRL.
+#
+Success: Was not able to run 'create user mysqltest_u1' under FTWRL.
+Success: 'create user mysqltest_u1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'create user mysqltest_u1' is active in another connection.
+#
+# 8.x) The rest of CREATE variants (CREATE LOGFILE GROUP,
+# CREATE TABLESPACE and CREATE SERVER) are too special
+# to test here.
+#
+#
+# 9) PREPARE, EXECUTE and DEALLOCATE PREPARE statements.
+#
+# 9.1) PREPARE statement is compatible with FTWRL as it
+# doesn't change any data.
+#
+# 9.1.a) Prepare of simple INSERT statement.
+#
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'prepare stmt1 from 'insert into t1_base values (1)'' under FTWRL.
+Success: Was able to run 'prepare stmt1 from 'insert into t1_base values (1)'' with FTWRL active in another connection.
+#
+# 9.1.b) Prepare of multi-UPDATE. At some point such statements
+# tried to acquire thr_lock.c locks during prepare phase.
+# This no longer happens and thus it is compatible with
+# FTWRL.
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'prepare stmt1 from 'update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j'' under FTWRL.
+Success: Was able to run 'prepare stmt1 from 'update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j'' with FTWRL active in another connection.
+#
+# 9.1.c) Prepare of multi-DELETE. Again PREPARE of such
+# statement should be compatible with FTWRL.
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'prepare stmt1 from 'delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j'' under FTWRL.
+Success: Was able to run 'prepare stmt1 from 'delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j'' with FTWRL active in another connection.
+#
+# 9.2) Compatibility of EXECUTE statement depends on statement
+# to be executed.
+#
+# 9.2.a) EXECUTE for statement which is itself compatible with
+# FTWRL should be compatible.
+prepare stmt1 from 'select * from t1_base';
+Success: Was able to run 'execute stmt1' under FTWRL.
+Success: Was able to run 'execute stmt1' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'execute stmt1' was active in another connection.
+deallocate prepare stmt1;
+call mtr.add_suppression("Slave SQL.*Can.t execute the query because you have a conflicting read lock., Error_code: 1223");
+#
+# 9.2.b) EXECUTE for statement which is incompatible with FTWRL
+# should be also incompatible.
+#
+# Check that EXECUTE is not allowed under FTWRL.
+prepare stmt1 from 'insert into t1_base values (1)';
+flush tables with read lock;
+execute stmt1;
+ERROR HY000: Can't execute the query because you have a conflicting read lock
+unlock tables;
+# Check that active FTWRL in another connection
+# blocks EXECUTE which changes data.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+execute stmt1 ;
+# Switching to connection 'con1'.
+# Check that EXECUTE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap EXECUTE.
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+execute stmt1; ;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL is blocked.
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap EXECUTE.
+# Switching to connection 'con1'.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'default'.
+set debug_sync= "RESET";
+delete from t1_base;
+deallocate prepare stmt1;
+#
+# 9.3) DEALLOCATE PREPARE is compatible with FTWRL.
+#
+prepare stmt1 from 'insert into t1_base values (1)';
+Success: Was able to run 'deallocate prepare stmt1' under FTWRL.
+Success: Was able to run 'deallocate prepare stmt1' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'deallocate prepare stmt1' was active in another connection.
+deallocate prepare stmt1;
+#
+# 10) DELETE variations.
+#
+# 10.1) Simple DELETE.
+#
+# 10.1.a) Simple DELETE on base table is incompatible with FTWRL.
+Success: Was not able to run 'delete from t1_base' under FTWRL.
+Success: 'delete from t1_base' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'delete from t1_base' is active in another connection.
+#
+# 10.1.b) Simple DELETE on temporary table is compatible with FTWRL.
+Success: Was able to run 'delete from t1_temp' under FTWRL.
+Success: Was able to run 'delete from t1_temp' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'delete from t1_temp' was active in another connection.
+#
+# 10.2) Multi DELETE.
+#
+# 10.2.a) Multi DELETE on base tables is incompatible with FTWRL.
+Success: Was not able to run 'delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j' under FTWRL.
+Success: 'delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j' is active in another connection.
+#
+# 10.2.b) Multi DELETE on temporary tables is compatible with FTWRL.
+Success: Was able to run 'delete t1_temp from t1_temp, t2_temp where t1_temp.i = t2_temp.j' under FTWRL.
+Success: Was able to run 'delete t1_temp from t1_temp, t2_temp where t1_temp.i = t2_temp.j' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'delete t1_temp from t1_temp, t2_temp where t1_temp.i = t2_temp.j' was active in another connection.
+#
+# 11) DESCRIBE should be compatible with FTWRL.
+#
+Success: Was able to run 'describe t1_base' under FTWRL.
+Success: Was able to run 'describe t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'describe t1_base' was active in another connection.
+#
+# 12) Compatibility of DO statement with FTWRL depends on its
+# expression.
+#
+# 12.a) DO with expression which does not change base table
+# should be compatible with FTWRL.
+Success: Was able to run 'do (select count(*) from t1_base)' under FTWRL.
+Success: Was able to run 'do (select count(*) from t1_base)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'do (select count(*) from t1_base)' was active in another connection.
+#
+# 12.b) DO which calls SF updating base table should be
+# incompatible with FTWRL.
+Success: Was not able to run 'do f2_base()' under FTWRL.
+Success: 'do f2_base()' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'do f2_base()' is active in another connection.
+#
+# 12.c) DO which calls SF updating temporary table should be
+# compatible with FTWRL.
+Success: Was able to run 'do f2_temp()' under FTWRL.
+Success: Was able to run 'do f2_temp()' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'do f2_temp()' was active in another connection.
+#
+# 13) DROP variants.
+#
+# 13.1) DROP TABLES.
+#
+# 13.1.a) DROP TABLES which affects base tables is incompatible
+# with FTWRL.
+Success: Was not able to run 'drop table t2_base' under FTWRL.
+Success: 'drop table t2_base' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop table t2_base' is active in another connection.
+# 13.1.b) DROP TABLES which affects only temporary tables
+# in theory can be compatible with FTWRL.
+# In practice it is not yet.
+Success: Was not able to run 'drop table t2_temp' under FTWRL.
+Success: 'drop table t2_temp' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop table t2_temp' is active in another connection.
+#
+# 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL.
+Success: Was able to run 'drop temporary table t2_temp' under FTWRL.
+Success: Was able to run 'drop temporary table t2_temp' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'drop temporary table t2_temp' was active in another connection.
+#
+# 13.2) DROP INDEX.
+#
+# 13.2.a) DROP INDEX on a base table is incompatible with FTWRL.
+create index i on t1_base (i);
+Success: Was not able to run 'drop index i on t1_base' under FTWRL.
+Success: 'drop index i on t1_base' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop index i on t1_base' is active in another connection.
+drop index i on t1_base;
+#
+# 13.2.b) DROP INDEX on a temporary table is compatible with FTWRL.
+create index i on t1_temp (i);
+Success: Was able to run 'drop index i on t1_temp' under FTWRL.
+Success: Was able to run 'drop index i on t1_temp' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'drop index i on t1_temp' was active in another connection.
+drop index i on t1_temp;
+#
+# 13.3) DROP DATABASE is incompatible with FTWRL
+#
+Success: Was not able to run 'drop database mysqltest1' under FTWRL.
+Success: 'drop database mysqltest1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop database mysqltest1' is active in another connection.
+#
+# 13.4) DROP FUNCTION is incompatible with FTWRL.
+#
+Success: Was not able to run 'drop function f1' under FTWRL.
+Success: 'drop function f1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop function f1' is active in another connection.
+#
+# 13.5) DROP PROCEDURE is incompatible with FTWRL.
+#
+Success: Was not able to run 'drop procedure p1' under FTWRL.
+Success: 'drop procedure p1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop procedure p1' is active in another connection.
+#
+# 13.6) DROP USER should be incompatible with FTWRL.
+#
+create user mysqltest_u1;
+Success: Was not able to run 'drop user mysqltest_u1' under FTWRL.
+Success: 'drop user mysqltest_u1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop user mysqltest_u1' is active in another connection.
+drop user mysqltest_u1;
+#
+# 13.7) DROP VIEW should be incompatible with FTWRL.
+#
+Success: Was not able to run 'drop view v1' under FTWRL.
+Success: 'drop view v1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop view v1' is active in another connection.
+#
+# 13.8) DROP EVENT should be incompatible with FTWRL.
+#
+Success: Was not able to run 'drop event e1' under FTWRL.
+Success: 'drop event e1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop event e1' is active in another connection.
+#
+# 13.9) DROP TRIGGER is incompatible with FTWRL.
+#
+create trigger t1_bi before insert on t1_base for each row begin end;
+Success: Was not able to run 'drop trigger t1_bi' under FTWRL.
+Success: 'drop trigger t1_bi' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'drop trigger t1_bi' is active in another connection.
+drop trigger t1_bi;
+#
+# 13.x) The rest of DROP variants (DROP TABLESPACE, DROP LOGFILE
+# GROUP and DROP SERVER) are too special to test here.
+#
+#
+# 14) FLUSH variants.
+#
+# Test compatibility of _some_ important FLUSH variants with FTWRL.
+#
+# 14.1) FLUSH TABLES WITH READ LOCK is compatible with itself.
+#
+# Check that FTWRL statements can be run while FTWRL
+# is active in another connection.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# The second FTWRL in a row is allowed at the moment.
+# It does not make much sense as it does only flush.
+flush tables with read lock;
+unlock tables;
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+flush tables with read lock;
+unlock tables;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+#
+# 14.2) FLUSH TABLES <list> WITH READ LOCK is not blocked by
+# active FTWRL. But since the latter keeps tables open
+# FTWRL is blocked by FLUSH TABLES <list> WITH READ LOCK.
+flush tables with read lock;
+# FT <list> WRL is allowed under FTWRL at the moment.
+# It does not make much sense though.
+flush tables t1_base, t2_base with read lock;
+unlock tables;
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+flush tables t1_base, t2_base with read lock;
+unlock tables;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+flush tables t1_base, t2_base with read lock;
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL is blocked.
+# Switching to connection 'default'.
+unlock tables;
+# Switching to connection 'con1'.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'default'.
+#
+# 14.3) FLUSH TABLES is compatible with FTWRL.
+Success: Was able to run 'flush tables' under FTWRL.
+Success: Was able to run 'flush tables' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'flush tables' was active in another connection.
+#
+# 14.4) FLUSH TABLES <list> is compatible with FTWRL.
+Success: Was able to run 'flush table t1_base, t2_base' under FTWRL.
+Success: Was able to run 'flush table t1_base, t2_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'flush table t1_base, t2_base' was active in another connection.
+#
+# 14.5) FLUSH PRIVILEGES is compatible with FTWRL.
+Success: Was able to run 'flush privileges' under FTWRL.
+Success: Was able to run 'flush privileges' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'flush privileges' was active in another connection.
+#
+# 15) GRANT statement should be incompatible with FTWRL.
+#
+Success: Was not able to run 'grant all privileges on t1_base to mysqltest_u1' under FTWRL.
+Success: 'grant all privileges on t1_base to mysqltest_u1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'grant all privileges on t1_base to mysqltest_u1' is active in another connection.
+drop user mysqltest_u1;
+#
+# 16) All HANDLER variants are half-compatible with FTWRL.
+# I.e. they are not blocked by active FTWRL. But since open
+# HANDLER means open table instance FTWRL is blocked while
+# HANDLER is not closed.
+#
+# Check that HANDLER statements succeed under FTWRL.
+flush tables with read lock;
+handler t1_base open;
+handler t1_base read first;
+i
+handler t1_base close;
+unlock tables;
+# Check that HANDLER statements can be run while FTWRL
+# is active in another connection.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+handler t1_base open;
+handler t1_base read first;
+i
+handler t1_base close;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+#
+# 17) HELP statement is compatible with FTWRL.
+#
+Success: Was able to run 'help no_such_topic' under FTWRL.
+Success: Was able to run 'help no_such_topic' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'help no_such_topic' was active in another connection.
+#
+# 18) INSERT statement.
+#
+# 18.a) Ordinary INSERT into base table is incompatible with FTWRL.
+Success: Was not able to run 'insert into t1_base values (1)' under FTWRL.
+Success: 'insert into t1_base values (1)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'insert into t1_base values (1)' is active in another connection.
+#
+# 18.b) Ordinary INSERT into temp table is compatible with FTWRL.
+Success: Was able to run 'insert into t1_temp values (1)' under FTWRL.
+Success: Was able to run 'insert into t1_temp values (1)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'insert into t1_temp values (1)' was active in another connection.
+#
+# 18.c) INSERT DELAYED is incompatible with FTWRL.
+Success: Was not able to run 'insert delayed into t1_base values (1)' under FTWRL.
+Success: 'insert delayed into t1_base values (1)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'insert delayed into t1_base values (1)' is active in another connection.
+delete from t1_base;
+#
+# 18.d) INSERT SELECT into base table is incompatible with FTWRL.
+Success: Was not able to run 'insert into t1_base select * from t1_temp' under FTWRL.
+Success: 'insert into t1_base select * from t1_temp' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'insert into t1_base select * from t1_temp' is active in another connection.
+#
+# 18.e) INSERT SELECT into temp table is compatible with FTWRL.
+Success: Was able to run 'insert into t1_temp select * from t1_base' under FTWRL.
+Success: Was able to run 'insert into t1_temp select * from t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'insert into t1_temp select * from t1_base' was active in another connection.
+#
+# 19) KILL statement is compatible with FTWRL.
+#
+# Check that KILL can be run under FTWRL.
+flush tables with read lock;
+set @id:= connection_id();
+kill query @id;
+ERROR 70100: Query execution was interrupted
+unlock tables;
+# Check that KILL statements can be run while FTWRL
+# is active in another connection.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+kill query @id;
+ERROR 70100: Query execution was interrupted
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+# Finally check that KILL doesn't block FTWRL
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+kill query @id;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap KILL.
+ERROR 70100: Query execution was interrupted
+set debug_sync='RESET';
+#
+# 20) LOAD DATA statement.
+#
+# 20.a) LOAD DATA into base table is incompatible with FTWRL.
+Success: Was not able to run 'load data infile '../../std_data/rpl_loaddata.dat' into table t1_base (@dummy, i)' under FTWRL.
+Success: 'load data infile '../../std_data/rpl_loaddata.dat' into table t1_base (@dummy, i)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'load data infile '../../std_data/rpl_loaddata.dat' into table t1_base (@dummy, i)' is active in another connection.
+#
+# 20.b) LOAD DATA into temporary table is compatible with FTWRL.
+Success: Was able to run 'load data infile '../../std_data/rpl_loaddata.dat' into table t1_temp (@dummy, i)' under FTWRL.
+Success: Was able to run 'load data infile '../../std_data/rpl_loaddata.dat' into table t1_temp (@dummy, i)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'load data infile '../../std_data/rpl_loaddata.dat' into table t1_temp (@dummy, i)' was active in another connection.
+#
+# 21) LOCK/UNLOCK TABLES statements.
+#
+# LOCK TABLES statement always (almost) blocks FTWRL as it
+# keeps tables open until UNLOCK TABLES.
+# Active FTWRL on the other hand blocks only those
+# LOCK TABLES which allow updating of base tables.
+#
+# 21.a) LOCK TABLES READ is allowed under FTWRL and
+# is not blocked by active FTWRL.
+flush tables with read lock;
+lock tables t1_base read;
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+lock tables t1_base read;
+unlock tables;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+#
+# 21.b) LOCK TABLES WRITE on a base table is disallowed
+# under FTWRL and should be blocked by active FTWRL.
+flush tables with read lock;
+lock tables t1_base write;
+ERROR HY000: Can't execute the query because you have a conflicting read lock
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+lock tables t1_base write ;
+# Switching to connection 'con1'.
+# Check that LOCK TABLES WRITE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap LOCK TABLES WRITE
+unlock tables;
+#
+# 21.c) LOCK TABLES WRITE on temporary table doesn't
+# make much sense but is allowed under FTWRL
+# and should not be blocked by active FTWRL.
+flush tables with read lock;
+lock tables t1_temp write;
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+lock tables t1_temp write;
+unlock tables;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+#
+# 22) OPTIMIZE TABLE statement.
+#
+# 22.a) OPTIMIZE TABLE of base table is incompatible with FTWRL.
+flush tables with read lock;
+# OPTIMIZE statement returns errors as part of result-set.
+optimize table t1_base;
+Table Op Msg_type Msg_text
+test.t1_base optimize Error Can't execute the query because you have a conflicting read lock
+test.t1_base optimize error Corrupt
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+optimize table t1_base;
+# Switching to connection 'con1'.
+# Check that OPTIMIZE TABLE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap OPTIMIZE TABLE
+Table Op Msg_type Msg_text
+test.t1_base optimize status OK
+# We don't check that active OPTIMIZE TABLE blocks
+# FTWRL as this one of statements releasing metadata
+# locks in non-standard place.
+#
+# 22.b) OPTIMIZE TABLE of temporary table is compatible with FTWRL.
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'optimize table t1_temp' under FTWRL.
+Success: Was able to run 'optimize table t1_temp' with FTWRL active in another connection.
+#
+# 23) CACHE statement is compatible with FTWRL.
+#
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'cache index t1_base in default' under FTWRL.
+Success: Was able to run 'cache index t1_base in default' with FTWRL active in another connection.
+#
+# 24) LOAD INDEX statement is compatible with FTWRL.
+#
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'load index into cache t1_base' under FTWRL.
+Success: Was able to run 'load index into cache t1_base' with FTWRL active in another connection.
+#
+# 25) SAVEPOINT/RELEASE SAVEPOINT/ROLLBACK TO SAVEPOINT are
+# compatible with FTWRL.
+#
+# Since manipulations on savepoint have to be done
+# inside transaction and FTWRL commits transaction we
+# need a special test for these statements.
+flush tables with read lock;
+begin;
+savepoint sv1;
+rollback to savepoint sv1;
+release savepoint sv1;
+unlock tables;
+commit;
+# Check that these statements are not blocked by
+# active FTWRL in another connection.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+begin;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+# Do some changes to avoid SAVEPOINT and friends
+# being almost no-ops.
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+savepoint sv1;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+insert into t3_trans values (2);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+rollback to savepoint sv1;
+release savepoint sv1;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+rollback;
+# Check that these statements don't block FTWRL in
+# another connection.
+begin;
+# Do some changes to avoid SAVEPOINT and friends
+# being almost no-ops.
+insert into t3_trans values (1);
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+savepoint sv1;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap SAVEPOINT
+insert into t3_trans values (2);
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+rollback to savepoint sv1;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap ROLLBACK TO SAVEPOINT
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+release savepoint sv1;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap RELEASE SAVEPOINT
+rollback;
+set debug_sync= "RESET";
+#
+# 26) RENAME variants.
+#
+# 26.1) RENAME TABLES is incompatible with FTWRL.
+Success: Was not able to run 'rename table t1_base to t3_base' under FTWRL.
+Success: 'rename table t1_base to t3_base' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'rename table t1_base to t3_base' is active in another connection.
+#
+# 26.2) RENAME USER is incompatible with FTWRL.
+create user mysqltest_u1;
+Success: Was not able to run 'rename user mysqltest_u1 to mysqltest_u2' under FTWRL.
+Success: 'rename user mysqltest_u1 to mysqltest_u2' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'rename user mysqltest_u1 to mysqltest_u2' is active in another connection.
+drop user mysqltest_u1;
+#
+# 27) REPAIR TABLE statement.
+#
+# 27.a) REPAIR TABLE of base table is incompatible with FTWRL.
+flush tables with read lock;
+# REPAIR statement returns errors as part of result-set.
+repair table t1_base;
+Table Op Msg_type Msg_text
+test.t1_base repair Error Can't execute the query because you have a conflicting read lock
+test.t1_base repair error Corrupt
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+repair table t1_base;
+# Switching to connection 'con1'.
+# Check that REPAIR TABLE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap REPAIR TABLE
+Table Op Msg_type Msg_text
+test.t1_base repair status OK
+# We don't check that active REPAIR TABLE blocks
+# FTWRL as this one of statements releasing metadata
+# locks in non-standard place.
+#
+# 27.b) REPAIR TABLE of temporary table is compatible with FTWRL.
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'repair table t1_temp' under FTWRL.
+Success: Was able to run 'repair table t1_temp' with FTWRL active in another connection.
+#
+# 28) REPLACE statement.
+#
+# 28.a) Ordinary REPLACE into base table is incompatible with FTWRL.
+Success: Was not able to run 'replace into t1_base values (1)' under FTWRL.
+Success: 'replace into t1_base values (1)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'replace into t1_base values (1)' is active in another connection.
+#
+# 28.b) Ordinary REPLACE into temp table is compatible with FTWRL.
+Success: Was able to run 'replace into t1_temp values (1)' under FTWRL.
+Success: Was able to run 'replace into t1_temp values (1)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'replace into t1_temp values (1)' was active in another connection.
+#
+# 28.c) REPLACE SELECT into base table is incompatible with FTWRL.
+Success: Was not able to run 'replace into t1_base select * from t1_temp' under FTWRL.
+Success: 'replace into t1_base select * from t1_temp' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'replace into t1_base select * from t1_temp' is active in another connection.
+#
+# 28.d) REPLACE SELECT into temp table is compatible with FTWRL.
+Success: Was able to run 'replace into t1_temp select * from t1_base' under FTWRL.
+Success: Was able to run 'replace into t1_temp select * from t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'replace into t1_temp select * from t1_base' was active in another connection.
+#
+# 29) REVOKE variants.
+#
+# 29.1) REVOKE privileges is incompatible with FTWRL.
+grant all privileges on t1_base to mysqltest_u1;
+Success: Was not able to run 'revoke all privileges on t1_base from mysqltest_u1' under FTWRL.
+Success: 'revoke all privileges on t1_base from mysqltest_u1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'revoke all privileges on t1_base from mysqltest_u1' is active in another connection.
+#
+# 29.2) REVOKE ALL PRIVILEGES, GRANT OPTION is incompatible with FTWRL.
+Success: Was not able to run 'revoke all privileges, grant option from mysqltest_u1' under FTWRL.
+Success: 'revoke all privileges, grant option from mysqltest_u1' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'revoke all privileges, grant option from mysqltest_u1' is active in another connection.
+drop user mysqltest_u1;
+#
+# 30) Compatibility of SELECT statement with FTWRL depends on
+# locking mode used and on functions being invoked by it.
+#
+# 30.a) Simple SELECT which does not change tables should be
+# compatible with FTWRL.
+Success: Was able to run 'select count(*) from t1_base' under FTWRL.
+Success: Was able to run 'select count(*) from t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'select count(*) from t1_base' was active in another connection.
+# 30.b) SELECT ... FOR UPDATE is incompatible with FTWRL.
+Success: Was not able to run 'select count(*) from t1_base for update' under FTWRL.
+Success: 'select count(*) from t1_base for update' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'select count(*) from t1_base for update' is active in another connection.
+# 30.c) SELECT ... LOCK IN SHARE MODE is compatible with FTWRL.
+Success: Was able to run 'select count(*) from t1_base lock in share mode' under FTWRL.
+Success: Was able to run 'select count(*) from t1_base lock in share mode' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'select count(*) from t1_base lock in share mode' was active in another connection.
+#
+# 30.d) SELECT which calls SF updating base table should be
+# incompatible with FTWRL.
+Success: Was not able to run 'select f2_base()' under FTWRL.
+Success: 'select f2_base()' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'select f2_base()' is active in another connection.
+#
+# 30.e) SELECT which calls SF updating temporary table should be
+# compatible with FTWRL.
+Success: Was able to run 'select f2_temp()' under FTWRL.
+Success: Was able to run 'select f2_temp()' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'select f2_temp()' was active in another connection.
+#
+# 31) Compatibility of SET statement with FTWRL depends on its
+# expression and on whether it is a special SET statement.
+#
+# 31.a) Ordinary SET with expression which does not
+# changes base table should be compatible with FTWRL.
+# Skip last part of compatibility testing as our helper debug
+# sync-point doesn't work for SET statements.
+Success: Was able to run 'set @a:= (select count(*) from t1_base)' under FTWRL.
+Success: Was able to run 'set @a:= (select count(*) from t1_base)' with FTWRL active in another connection.
+#
+# 31.b) Ordinary SET which calls SF updating base table should
+# be incompatible with FTWRL.
+# Skip last part of compatibility testing as our helper debug
+# sync-point doesn't work for SET statements.
+Success: Was not able to run 'set @a:= f2_base()' under FTWRL.
+Success: 'set @a:= f2_base()' is blocked by FTWRL active in another connection.
+#
+# 31.c) Ordinary SET which calls SF updating temporary table
+# should be compatible with FTWRL.
+# Skip last part of compatibility testing as our helper debug
+# sync-point doesn't work for SET statements.
+Success: Was able to run 'set @a:= f2_temp()' under FTWRL.
+Success: Was able to run 'set @a:= f2_temp()' with FTWRL active in another connection.
+#
+# 31.d) Special SET variants have different compatibility with FTWRL.
+#
+# 31.d.I) SET PASSWORD is incompatible with FTWRL as it changes data.
+create user mysqltest_u1;
+# Skip last part of compatibility testing as our helper debug
+# sync-point doesn't work for SET statements.
+Success: Was not able to run 'set password for 'mysqltest_u1' = password('')' under FTWRL.
+Success: 'set password for 'mysqltest_u1' = password('')' is blocked by FTWRL active in another connection.
+drop user mysqltest_u1;
+#
+# 31.d.II) SET READ_ONLY is compatible with FTWRL (but has no
+# effect when executed under it).
+# Skip last part of compatibility testing as our helper debug
+# sync-point doesn't work for SET statements.
+Success: Was able to run 'set global read_only= 1' under FTWRL.
+Success: Was able to run 'set global read_only= 1' with FTWRL active in another connection.
+#
+# 31.d.III) Situation with SET AUTOCOMMIT is complex.
+# Turning auto-commit off is always compatible with FTWRL.
+# Turning auto-commit on causes implicit commit and so
+# is incompatible with FTWRL if there are changes to be
+# committed.
+flush tables with read lock;
+set autocommit= 0;
+# Turning auto-commit on causes implicit commit so can
+# be incompatible with FTWRL if there is something to
+# commit. But since even in this case we allow commits
+# under active FTWRL such statement should always succeed.
+insert into t3_temp_trans values (1);
+set autocommit= 1;
+unlock tables;
+delete from t3_temp_trans;
+# Check that SET AUTOCOMMIT=0 is not blocked and
+# SET AUTOCOMMIT=1 is blocked by active FTWRL in
+# another connection.
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+set autocommit= 0;
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+# Do some work so implicit commit in SET AUTOCOMMIT=1
+# is not a no-op.
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+# Send:
+set autocommit= 1;
+# Switching to connection 'con1'.
+# Wait until SET AUTOCOMMIT=1 is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap SET AUTOCOMMIT=1.
+delete from t3_trans;
+#
+# Check that SET AUTOCOMMIT=1 blocks FTWRL in another connection.
+set autocommit= 0;
+insert into t3_trans values (1);
+set debug_sync='RESET';
+set debug_sync='ha_commit_trans_after_acquire_commit_lock SIGNAL parked WAIT_FOR go';
+set autocommit= 1;
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL is blocked.
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap SET AUTOCOMMIT=1.
+# Switching to connection 'con1'.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'default'.
+delete from t3_trans;
+set debug_sync= "RESET";
+#
+# 32) SHOW statements are compatible with FTWRL.
+# Let us test _some_ of them.
+#
+# 32.1) SHOW TABLES.
+Success: Was able to run 'show tables from test' under FTWRL.
+Success: Was able to run 'show tables from test' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'show tables from test' was active in another connection.
+#
+# 32.1) SHOW TABLES.
+Success: Was able to run 'show tables from test' under FTWRL.
+Success: Was able to run 'show tables from test' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'show tables from test' was active in another connection.
+#
+# 32.2) SHOW EVENTS.
+Success: Was able to run 'show events from test' under FTWRL.
+Success: Was able to run 'show events from test' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'show events from test' was active in another connection.
+#
+# 32.3) SHOW GRANTS.
+create user mysqltest_u1;
+Success: Was able to run 'show grants for mysqltest_u1' under FTWRL.
+Success: Was able to run 'show grants for mysqltest_u1' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'show grants for mysqltest_u1' was active in another connection.
+drop user mysqltest_u1;
+#
+# 32.4) SHOW CREATE TABLE.
+Success: Was able to run 'show create table t1_base' under FTWRL.
+Success: Was able to run 'show create table t1_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'show create table t1_base' was active in another connection.
+#
+# 32.5) SHOW CREATE FUNCTION.
+Success: Was able to run 'show create function f1' under FTWRL.
+Success: Was able to run 'show create function f1' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'show create function f1' was active in another connection.
+#
+# 33) SIGNAL statement is compatible with FTWRL.
+#
+# Note that we don't cover RESIGNAL as it requires
+# active handler context.
+Success: Was able to run 'signal sqlstate '01000'' under FTWRL.
+Success: Was able to run 'signal sqlstate '01000'' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'signal sqlstate '01000'' was active in another connection.
+#
+# 34) TRUNCATE TABLE statement.
+#
+# 34.a) TRUNCATE of base table is incompatible with FTWRL.
+Success: Was not able to run 'truncate table t1_base' under FTWRL.
+Success: 'truncate table t1_base' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'truncate table t1_base' is active in another connection.
+#
+# 34.b) TRUNCATE of temporary table is compatible with FTWRL.
+Success: Was able to run 'truncate table t1_temp' under FTWRL.
+Success: Was able to run 'truncate table t1_temp' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'truncate table t1_temp' was active in another connection.
+#
+# 35) UPDATE variants.
+#
+# 35.1) Simple UPDATE.
+#
+# 35.1.a) Simple UPDATE on base table is incompatible with FTWRL.
+Success: Was not able to run 'update t1_base set i= 1 where i = 0' under FTWRL.
+Success: 'update t1_base set i= 1 where i = 0' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'update t1_base set i= 1 where i = 0' is active in another connection.
+#
+# 35.1.b) Simple UPDATE on temporary table is compatible with FTWRL.
+Success: Was able to run 'update t1_temp set i= 1 where i = 0' under FTWRL.
+Success: Was able to run 'update t1_temp set i= 1 where i = 0' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'update t1_temp set i= 1 where i = 0' was active in another connection.
+#
+# 35.2) Multi UPDATE.
+#
+# 35.2.a) Multi UPDATE on base tables is incompatible with FTWRL.
+Success: Was not able to run 'update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j' under FTWRL.
+Success: 'update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j' is active in another connection.
+#
+# 35.2.b) Multi UPDATE on temporary tables is compatible with FTWRL.
+Success: Was able to run 'update t1_temp, t2_temp set t1_temp.i= 1 where t1_temp.i = t2_temp.j' under FTWRL.
+Success: Was able to run 'update t1_temp, t2_temp set t1_temp.i= 1 where t1_temp.i = t2_temp.j' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'update t1_temp, t2_temp set t1_temp.i= 1 where t1_temp.i = t2_temp.j' was active in another connection.
+#
+# 36) USE statement is compatible with FTWRL.
+#
+Success: Was able to run 'use mysqltest1' under FTWRL.
+Success: Was able to run 'use mysqltest1' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'use mysqltest1' was active in another connection.
+#
+# 37) XA statements.
+#
+# XA statements are similar to BEGIN/COMMIT/ROLLBACK.
+#
+# XA BEGIN, END, PREPARE, ROLLBACK and RECOVER are compatible
+# with FTWRL. XA COMMIT is not.
+flush tables with read lock;
+# Although all below statements are allowed under FTWRL they
+# are almost no-ops as FTWRL does commit and does not allows
+# any non-temporary DML under it.
+xa start 'test1';
+xa end 'test1';
+xa prepare 'test1';
+xa rollback 'test1';
+xa start 'test1';
+xa end 'test1';
+xa prepare 'test1';
+xa commit 'test1';
+xa recover;
+unlock tables;
+# Check that XA non-COMMIT statements are not and COMMIT is
+# blocked by active FTWRL in another connection
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+xa start 'test1';
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+xa end 'test1';
+xa prepare 'test1';
+xa rollback 'test1';
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+xa start 'test1';
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+xa end 'test1';
+xa prepare 'test1';
+# Send:
+xa commit 'test1';;
+# Switching to connection 'con1'.
+# Wait until XA COMMIT is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap XA COMMIT.
+delete from t3_trans;
+#
+# Check that XA COMMIT blocks FTWRL in another connection.
+xa start 'test1';
+insert into t3_trans values (1);
+xa end 'test1';
+xa prepare 'test1';
+set debug_sync='RESET';
+set debug_sync='trans_xa_commit_after_acquire_commit_lock SIGNAL parked WAIT_FOR go';
+xa commit 'test1';
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL is blocked.
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap XA COMMIT.
+# Switching to connection 'con1'.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'default'.
+delete from t3_trans;
+set debug_sync= "RESET";
+#
+# 38) Test effect of auto-commit mode for DML on transactional
+# temporary tables.
+#
+# 38.1) When auto-commit is on each such a statement ends with commit
+# of changes to temporary tables. But since transactions doing
+# such changes are considered read only [sic!/QQ] this commit
+# is compatible with FTWRL.
+#
+# Let us demostrate this fact for some common DML statements.
+Success: Was able to run 'delete from t3_temp_trans' under FTWRL.
+Success: Was able to run 'delete from t3_temp_trans' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'delete from t3_temp_trans' was active in another connection.
+Success: Was able to run 'insert into t3_temp_trans values (1)' under FTWRL.
+Success: Was able to run 'insert into t3_temp_trans values (1)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'insert into t3_temp_trans values (1)' was active in another connection.
+Success: Was able to run 'update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j' under FTWRL.
+Success: Was able to run 'update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j' was active in another connection.
+#
+# 38.2) When auto-commit is off DML on transaction temporary tables
+# is compatible with FTWRL.
+#
+set autocommit= 0;
+Success: Was able to run 'delete from t3_temp_trans' under FTWRL.
+Success: Was able to run 'delete from t3_temp_trans' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'delete from t3_temp_trans' was active in another connection.
+Success: Was able to run 'insert into t3_temp_trans values (1)' under FTWRL.
+Success: Was able to run 'insert into t3_temp_trans values (1)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'insert into t3_temp_trans values (1)' was active in another connection.
+Success: Was able to run 'update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j' under FTWRL.
+Success: Was able to run 'update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j' was active in another connection.
+set autocommit= 1;
+#
+# 39) Test effect of DDL on transactional tables.
+#
+# 39.1) Due to implicit commit at the end of statement some of DDL
+# statements which are compatible with FTWRL in non-transactional
+# case are not compatible in case of transactional tables.
+#
+# 39.1.a) ANALYZE TABLE for transactional table is incompatible with
+# FTWRL.
+flush tables with read lock;
+# Implicit commits are allowed under FTWRL.
+analyze table t3_trans;
+Table Op Msg_type Msg_text
+test.t3_trans analyze status OK
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+analyze table t3_trans;
+# Switching to connection 'con1'.
+# Check that ANALYZE TABLE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap ANALYZE TABLE
+Table Op Msg_type Msg_text
+test.t3_trans analyze status OK
+#
+# 39.1.b) CHECK TABLE for transactional table is compatible with FTWRL.
+# Although it does implicit commit at the end of statement it
+# is considered to be read-only operation.
+# Skip last part of compatibility testing as this statement
+# releases metadata locks in non-standard place.
+Success: Was able to run 'check table t3_trans' under FTWRL.
+Success: Was able to run 'check table t3_trans' with FTWRL active in another connection.
+#
+# 39.2) Situation with DDL on temporary transactional tables is
+# complex.
+#
+# 39.2.a) Some statements compatible with FTWRL since they don't
+# do implicit commit.
+#
+# For example, CREATE TEMPORARY TABLE:
+Success: Was able to run 'create temporary table t4_temp_trans(i int) engine=innodb' under FTWRL.
+Success: Was able to run 'create temporary table t4_temp_trans(i int) engine=innodb' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'create temporary table t4_temp_trans(i int) engine=innodb' was active in another connection.
+#
+# Or DROP TEMPORARY TABLE:
+Success: Was able to run 'drop temporary tables t3_temp_trans' under FTWRL.
+Success: Was able to run 'drop temporary tables t3_temp_trans' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'drop temporary tables t3_temp_trans' was active in another connection.
+#
+# 39.2.b) Some statements do implicit commit but are considered
+# read-only and so are compatible with FTWRL.
+#
+# For example, REPAIR TABLE:
+Success: Was able to run 'repair table t3_temp_trans' under FTWRL.
+Success: Was able to run 'repair table t3_temp_trans' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'repair table t3_temp_trans' was active in another connection.
+#
+# And ANALYZE TABLE:
+Success: Was able to run 'analyze table t3_temp_trans' under FTWRL.
+Success: Was able to run 'analyze table t3_temp_trans' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'analyze table t3_temp_trans' was active in another connection.
+#
+# 39.2.c) Some statements do implicit commit and not
+# considered read-only. As result they are
+# not compatible with FTWRL.
+#
+flush tables with read lock;
+# Implicit commits are allowed under FTWRL.
+alter table t3_temp_trans add column c1 int;
+unlock tables;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+alter table t3_temp_trans drop column c1;
+# Switching to connection 'con1'.
+# Check that ALTER TABLE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap ALTER TABLE
+#
+# 40) Test effect of implicit commit for DDL which is otherwise
+# compatible with FTWRL. Implicit commit at the start of DDL
+# statement can make it incompatible with FTWRL if there are
+# some changes to be commited even in case when DDL statement
+# itself is compatible with FTWRL.
+#
+# For example CHECK TABLE for base non-transactional tables and
+# ALTER TABLE for temporary non-transactional tables are affected.
+begin;
+insert into t3_trans values (1);
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+check table t1_base;
+# Switching to connection 'con1'.
+# Check that CHECK TABLE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap CHECK TABLE
+Table Op Msg_type Msg_text
+test.t1_base check status OK
+begin;
+delete from t3_trans;
+#
+# Switching to connection 'con1'.
+flush tables with read lock;
+# Switching to connection 'default'.
+alter table t1_temp add column c1 int;
+# Switching to connection 'con1'.
+# Check that ALTER TABLE is blocked.
+unlock tables;
+# Switching to connection 'default'.
+# Reap ALTER TABLE
+alter table t1_temp drop column c1;
+#
+# Check that FLUSH TABLES WITH READ LOCK is blocked by individual
+# statements and is not blocked in the presence of transaction which
+# has done some changes earlier but is idle now (or does only reads).
+# This allows to use this statement even on systems which has long
+# running transactions.
+#
+begin;
+insert into t1_base values (1);
+insert into t3_trans values (1);
+# Switching to connection 'con1'.
+# The below FTWRL should not be blocked by transaction in 'default'.
+flush tables with read lock;
+# Switching to connection 'default'.
+# Transaction still is able to read even with FTWRL active in another
+# connection.
+select * from t1_base;
+i
+1
+select * from t2_base;
+j
+select * from t3_trans;
+i
+1
+# Switching to connection 'con1'.
+unlock tables;
+# Switching to connection 'default'.
+commit;
+delete from t1_base;
+delete from t3_trans;
+#
+# Check that impending FTWRL blocks new DML statements and
+# so can't be starved by a constant flow of DML.
+# (a.k.a. test for bug #54673 "It takes too long to get
+# readlock for 'FLUSH TABLES WITH READ LOCK'").
+#
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+insert into t1_base values (1);
+# Switching to connection 'con1'.
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+# Switching to connection 'con2'.
+# Wait until FTWRL is blocked.
+# Try to run another INSERT and see that it is blocked.
+insert into t2_base values (1);;
+# Switching to connection 'con3'.
+# Wait until new INSERT is blocked.
+# Unblock INSERT in the first connection.
+set debug_sync='now SIGNAL go';
+# Switching to connection 'default'.
+# Reap first INSERT.
+# Switching to connection 'con1'.
+# Reap FTWRL.
+unlock tables;
+# Switching to connection 'con2'.
+# Reap second INSERT.
+# Switching to connection 'default'.
+set debug_sync= "RESET";
+delete from t1_base;
+delete from t2_base;
+
+# Check that COMMIT thas is issued after
+# FLUSH TABLES WITH READ LOCK is not blocked by
+# FLUSH TABLES WITH READ LOCK from another connection.
+# This scenario is used in innobackup.pl. The COMMIT goes
+# through because the transaction started by FTWRL does
+# not modify any tables, and the commit blocker lock is
+# only taken when there were such modifications.
+
+flush tables with read lock;
+# Switching to connection 'con1'.
+# The below FTWRL should not be blocked by transaction in 'default'.
+flush tables with read lock;
+# Switching to connection 'default'.
+select * from t1_base;
+i
+select * from t3_trans;
+i
+commit;
+# Switching to connection 'con1'.
+select * from t1_base;
+i
+select * from t3_trans;
+i
+commit;
+unlock tables;
+# Switching to connection 'default'.
+unlock tables;
+#
+# Check how FLUSH TABLE WITH READ LOCK is handled for MERGE tables.
+# As usual there are tricky cases related to this type of tables.
+#
+#
+# 1) Most typical case - base MERGE table with base underlying tables.
+#
+# 1.a) DML statements which change data should be incompatible with FTWRL.
+create table tm_base (i int) engine=merge union=(t1_base) insert_method=last;
+Success: Was not able to run 'insert into tm_base values (1)' under FTWRL.
+Success: 'insert into tm_base values (1)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'insert into tm_base values (1)' is active in another connection.
+#
+# 1.b) DDL statement on such table should be incompatible with FTWRL as well.
+Success: Was not able to run 'alter table tm_base insert_method=first' under FTWRL.
+Success: 'alter table tm_base insert_method=first' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter table tm_base insert_method=first' is active in another connection.
+drop table tm_base;
+#
+# 2) Temporary MERGE table with base underlying tables.
+#
+# 2.a) DML statements which change data should be incompatible with FTWRL
+# as they affect base tables.
+create temporary table tm_temp_base (i int) engine=merge union=(t1_base) insert_method=last;
+Success: Was not able to run 'insert into tm_temp_base values (1)' under FTWRL.
+Success: 'insert into tm_temp_base values (1)' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'insert into tm_temp_base values (1)' is active in another connection.
+#
+# 2.b) Some of DDL statements on such table can be compatible with FTWRL
+# as they don't affect base tables.
+Success: Was able to run 'drop temporary tables tm_temp_base' under FTWRL.
+Success: Was able to run 'drop temporary tables tm_temp_base' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'drop temporary tables tm_temp_base' was active in another connection.
+#
+# 2.c) ALTER statement is incompatible with FTWRL. Even though it does
+# not change data in base table it still acquires strong metadata
+# locks on them.
+Success: Was not able to run 'alter table tm_temp_base insert_method=first' under FTWRL.
+Success: 'alter table tm_temp_base insert_method=first' is blocked by FTWRL active in another connection.
+Success: FTWRL is blocked when 'alter table tm_temp_base insert_method=first' is active in another connection.
+drop table tm_temp_base;
+#
+# 3) Temporary MERGE table with temporary underlying tables.
+#
+# 3.a) DML statements should be compatible with FTWRL as
+# no base table is going to be affected.
+create temporary table tm_temp_temp (i int) engine=merge union=(t1_temp) insert_method=last;
+Success: Was able to run 'insert into tm_temp_temp values (1)' under FTWRL.
+Success: Was able to run 'insert into tm_temp_temp values (1)' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'insert into tm_temp_temp values (1)' was active in another connection.
+#
+# 3.b) DDL statements should be compatible with FTWRL as well
+# as no base table is going to be affected too.
+Success: Was able to run 'alter table tm_temp_temp union=(t1_temp) insert_method=first' under FTWRL.
+Success: Was able to run 'alter table tm_temp_temp union=(t1_temp) insert_method=first' with FTWRL active in another connection.
+Success: Was able to run FTWRL while 'alter table tm_temp_temp union=(t1_temp) insert_method=first' was active in another connection.
+drop table tm_temp_temp;
+#
+# 4) For the sake of completeness let us check that base MERGE tables
+# with temporary underlying tables are not functional.
+create table tm_base_temp (i int) engine=merge union=(t1_temp) insert_method=last;
+select * from tm_base_temp;
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+drop table tm_base_temp;
+#
+# Clean-up.
+#
+drop event e1;
+drop function f2_temp;
+drop function f2_base;
+drop procedure p2;
+drop view v1;
+drop function f1;
+drop procedure p1;
+drop database `#mysql50#mysqltest-2`;
+drop database mysqltest1;
+drop temporary tables t1_temp, t2_temp;
+drop tables t1_base, t2_base, t3_trans;
diff --git a/mysql-test/r/flush_read_lock_kill.result b/mysql-test/r/flush_read_lock_kill.result
index b16a8b114b3..8453d26cbea 100644
--- a/mysql-test/r/flush_read_lock_kill.result
+++ b/mysql-test/r/flush_read_lock_kill.result
@@ -1,12 +1,38 @@
-SET @old_concurrent_insert= @@global.concurrent_insert;
-SET @@global.concurrent_insert= 0;
DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (kill_id INT);
+SET DEBUG_SYNC= 'RESET';
+CREATE TABLE t1 (kill_id INT) engine = InnoDB;
INSERT INTO t1 VALUES(connection_id());
+# Switching to connection 'default'.
+# Start transaction.
+BEGIN;
+INSERT INTO t1 VALUES(connection_id());
+# Ensure that COMMIT will pause once it acquires protection
+# against its global read lock.
+SET DEBUG_SYNC='ha_commit_trans_after_acquire_commit_lock SIGNAL acquired WAIT_FOR go';
+# Sending:
+COMMIT;
+# Switching to 'con1'.
+# Wait till COMMIT acquires protection against global read
+# lock and pauses.
+SET DEBUG_SYNC='now WAIT_FOR acquired';
+# Sending:
FLUSH TABLES WITH READ LOCK;
-SELECT ((@id := kill_id) - kill_id) FROM t1;
+# Switching to 'con2'.
+SELECT ((@id := kill_id) - kill_id) FROM t1 LIMIT 1;
((@id := kill_id) - kill_id)
0
+# Wait till FLUSH TABLES WITH READ LOCK blocks due
+# to active COMMIT
+# Kill connection 'con1'.
KILL CONNECTION @id;
+# Switching to 'con1'.
+# Try to reap FLUSH TABLES WITH READ LOCK,
+# it fail due to killed statement and connection.
+Got one of the listed errors
+# Switching to 'con2'.
+# Resume COMMIT.
+SET DEBUG_SYNC='now SIGNAL go';
+# Switching to 'default'.
+# Reaping COMMIT.
DROP TABLE t1;
-SET @@global.concurrent_insert= @old_concurrent_insert;
+SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result
index 893c650dad4..a76abaa4544 100644
--- a/mysql-test/r/fulltext.result
+++ b/mysql-test/r/fulltext.result
@@ -660,4 +660,40 @@ Table Op Msg_type Msg_text
test.t1 repair status OK
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
DROP TABLE t1;
+#
+# Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine
+#
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1));
+INSERT INTO t1 VALUES ('test');
+SELECT 1 FROM t1 WHERE 1 >
+ALL((SELECT 1 FROM t1 JOIN t1 a
+ON (MATCH(t1.f1) against (""))
+WHERE t1.f1 GROUP BY t1.f1)) xor f1;
+1
+1
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1)) xor f1';
+EXECUTE stmt;
+1
+1
+EXECUTE stmt;
+1
+1
+DEALLOCATE PREPARE stmt;
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+EXECUTE stmt;
+1
+1
+EXECUTE stmt;
+1
+1
+DEALLOCATE PREPARE stmt;
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/func_analyse.result b/mysql-test/r/func_analyse.result
index 1820782d2f8..f82439090f6 100644
--- a/mysql-test/r/func_analyse.result
+++ b/mysql-test/r/func_analyse.result
@@ -123,3 +123,29 @@ CREATE TABLE t2 SELECT 1 FROM t1, t1 t3 GROUP BY t3.a PROCEDURE ANALYSE();
ERROR HY000: Incorrect usage of PROCEDURE and non-SELECT
DROP TABLE t1;
End of 5.0 tests
+#
+# Bug#11765202: Dbug_violation_helper::~Dbug_violation_helper(): Assertion `!_entered' failed.
+#
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE t1 (a VARCHAR(2) CHARSET UTF8 NOT NULL);
+INSERT INTO t1 VALUES ('e'),('e'),('e-');
+SELECT * FROM t1 PROCEDURE ANALYSE();
+Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
+test.t1.a e e- 1 2 0 0 1.3333 NULL ENUM('e','e-') NOT NULL
+DROP TABLE t1;
+#
+# Bug#11756242 48137: PROCEDURE ANALYSE() LEAKS MEMORY WHEN RETURNING NULL
+#
+CREATE TABLE t1(f1 INT) ENGINE=MYISAM;
+CREATE TABLE t2(f2 INT) ENGINE=INNODB;
+INSERT INTO t2 VALUES (1);
+SELECT DISTINCTROW f1 FROM t1 NATURAL RIGHT OUTER JOIN t2 PROCEDURE ANALYSE();
+Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
+test.t1.f1 NULL NULL 0 0 0 1 0.0 0.0 CHAR(0)
+SELECT * FROM t2 LIMIT 1 PROCEDURE ANALYSE();
+Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
+test.t2.f2 1 1 1 1 0 0 1.0000 0.0000 ENUM('1') NOT NULL
+DROP TABLE t1, t2;
+End of 5.1 tests
diff --git a/mysql-test/r/func_encrypt_ucs2.result b/mysql-test/r/func_encrypt_ucs2.result
new file mode 100644
index 00000000000..2ca40434cae
--- /dev/null
+++ b/mysql-test/r/func_encrypt_ucs2.result
@@ -0,0 +1,19 @@
+#
+# Bug#59648 my_strtoll10_mb2: Assertion `(*endptr - s) % 2 == 0' failed.
+#
+SELECT CHAR_LENGTH(DES_ENCRYPT(0, CHAR('1' USING ucs2)));
+CHAR_LENGTH(DES_ENCRYPT(0, CHAR('1' USING ucs2)))
+9
+SELECT CONVERT(DES_ENCRYPT(0, CHAR('1' USING ucs2)),UNSIGNED);
+CONVERT(DES_ENCRYPT(0, CHAR('1' USING ucs2)),UNSIGNED)
+0
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: ''
+SELECT CHAR_LENGTH(DES_DECRYPT(0xFF0DC9FC9537CA75F4, CHAR('1' USING ucs2)));
+CHAR_LENGTH(DES_DECRYPT(0xFF0DC9FC9537CA75F4, CHAR('1' USING ucs2)))
+4
+SELECT CONVERT(DES_DECRYPT(0xFF0DC9FC9537CA75F4, CHAR('1' using ucs2)), UNSIGNED);
+CONVERT(DES_DECRYPT(0xFF0DC9FC9537CA75F4, CHAR('1' using ucs2)), UNSIGNED)
+0
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'test'
diff --git a/mysql-test/r/func_gconcat.result b/mysql-test/r/func_gconcat.result
index 302de9de9f7..6c400a8ddcc 100644
--- a/mysql-test/r/func_gconcat.result
+++ b/mysql-test/r/func_gconcat.result
@@ -1038,6 +1038,25 @@ GROUP_CONCAT(t1.a ORDER BY t1.a)
1,1,2,2
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
+#
+# Bug#57194 group_concat cause crash and/or invalid memory reads with type errors
+#
+CREATE TABLE t1(f1 int);
+INSERT INTO t1 values (0),(0);
+SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d));
+ERROR 22007: Illegal non geometric '(select 1 from (select (1 = group_concat(`test`.`t1`.`f1` separator ',')) AS `1 IN (GROUP_CONCAT(t1.f1))` from `test`.`t1` join `test`.`t1` `t` group by `t`.`f1`) `d`)' value found during parsing
+DROP TABLE t1;
+#
+# Bug#58396 group_concat and explain extended are still crashy
+#
+CREATE TABLE t1(a INT);
+EXPLAIN EXTENDED SELECT UPDATEXML('1', a, '1')
+FROM t1 ORDER BY (SELECT GROUP_CONCAT(1) FROM t1);
+ERROR HY000: Only constant XPATH queries are supported
+SHOW WARNINGS;
+Level Code Message
+Error 1105 Only constant XPATH queries are supported
+DROP TABLE t1;
End of 5.1 tests
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (a VARCHAR(6), b INT);
diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result
index 5e03f93e425..4f493ccd928 100644
--- a/mysql-test/r/func_group.result
+++ b/mysql-test/r/func_group.result
@@ -1724,8 +1724,51 @@ m
1
DROP TABLE t1;
#
+# Bug#58030 crash in Item_func_geometry_from_text::val_str
+#
+SELECT MAX(TIMESTAMP(RAND(0)));
+SELECT MIN(TIMESTAMP(RAND(0)));
+#
+# Bug#58177 crash and valgrind warnings in decimal and protocol sending functions...
+#
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT RELEASE_LOCK('aaaaaaaaaaaaaaaaa');
+#
+# Bug #11766094 - 59132: MIN() AND MAX() REMOVE UNSIGNEDNESS
+#
+CREATE TABLE t1 (a BIGINT UNSIGNED);
+INSERT INTO t1 VALUES (18446668621106209655);
+SELECT MAX(LENGTH(a)), LENGTH(MAX(a)), MIN(a), MAX(a), CONCAT(MIN(a)), CONCAT(MAX(a)) FROM t1;
+MAX(LENGTH(a)) LENGTH(MAX(a)) MIN(a) MAX(a) CONCAT(MIN(a)) CONCAT(MAX(a))
+20 20 18446668621106209655 18446668621106209655 18446668621106209655 18446668621106209655
+DROP TABLE t1;
+#
+# Bug #11766270 59343: YEAR(4): INCORRECT RESULT AND VALGRIND WARNINGS WITH MIN/MAX, UNION
+#
+CREATE TABLE t1(f1 YEAR(4));
+INSERT INTO t1 VALUES (0000),(2001);
+(SELECT MAX(f1) FROM t1) UNION (SELECT MAX(f1) FROM t1);
+Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
+def MAX(f1) MAX(f1) 13 4 4 Y 32864 0 63
+MAX(f1)
+2001
+DROP TABLE t1;
+#
End of 5.1 tests
#
+# Bug#52123 Assertion failed: aggregator == aggr->Aggrtype(),
+# file .\item_sum.cc, line 587
+#
+CREATE TABLE t1(a int, KEY(a));
+INSERT INTO t1 VALUES (1), (2);
+SELECT 1 FROM t1 ORDER BY AVG(DISTINCT a);
+1
+1
+DROP TABLE t1;
+#
# Bug#55648: Server crash on MIN/MAX on maximum time value
#
CREATE TABLE t1(c1 TIME NOT NULL);
@@ -1746,3 +1789,18 @@ MAX(c1) MIN(c1)
-00:00:01 -00:00:01
DROP TABLE t1;
# End of the bug#56120
+#
+# Bug#57932 "query with AVG(DISTINCT) returns NULL if last
+# aggregated value was NULL"
+#
+CREATE TABLE t1 (col_int_nokey int(11));
+INSERT INTO t1 VALUES (7),(8),(NULL);
+SELECT AVG(DISTINCT col_int_nokey) FROM t1;
+AVG(DISTINCT col_int_nokey)
+7.5000
+SELECT AVG(DISTINCT outr.col_int_nokey) FROM t1 AS outr LEFT JOIN t1 AS outr2 ON
+outr.col_int_nokey = outr2.col_int_nokey;
+AVG(DISTINCT outr.col_int_nokey)
+7.5000
+DROP TABLE t1;
+# End of the bug#57932
diff --git a/mysql-test/r/func_group_innodb.result b/mysql-test/r/func_group_innodb.result
index 908e85c1652..8412317c91d 100644
--- a/mysql-test/r/func_group_innodb.result
+++ b/mysql-test/r/func_group_innodb.result
@@ -145,3 +145,50 @@ select count(*), min(7), max(7) from t2m, t1i;
count(*) min(7) max(7)
0 NULL NULL
drop table t1m, t1i, t2m, t2i;
+#
+# Bug #57954: BIT_AND function returns incorrect results when
+# semijoin=on
+CREATE TABLE c (
+pk INT,
+col_varchar_key VARCHAR(1),
+PRIMARY KEY (pk),
+KEY col_varchar_key (col_varchar_key)
+) ENGINE=InnoDB;
+INSERT INTO c VALUES (11,NULL);
+INSERT INTO c VALUES (16,'c');
+CREATE TABLE bb (
+pk INT,
+col_varchar_key VARCHAR(1),
+PRIMARY KEY (pk),
+KEY col_varchar_key (col_varchar_key)
+) ENGINE=InnoDB;
+INSERT INTO bb VALUES (10,NULL);
+SELECT straight_join BIT_AND(c.pk)
+FROM
+bb, c
+WHERE c.col_varchar_key='ABC'
+ORDER BY c.pk;
+BIT_AND(c.pk)
+18446744073709551615
+DROP TABLE c,bb;
+#
+# Bug #58050: BIT_OR and BIT_XOR return incorrect results when
+# semijoin=on
+#
+CREATE TABLE t1 (pk INT PRIMARY KEY, b INT, c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1, 1);
+CREATE TABLE t2 (pk INT PRIMARY KEY, b INT, c INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1, 1, NULL);
+SELECT t1.* FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+pk b c
+SELECT BIT_OR(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+BIT_OR(t1.b)
+0
+SELECT BIT_AND(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+BIT_AND(t1.b)
+18446744073709551615
+SELECT BIT_XOR(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+BIT_XOR(t1.b)
+0
+DROP TABLE t1, t2;
+End of 5.5 tests
diff --git a/mysql-test/r/func_in.result b/mysql-test/r/func_in.result
index 3ca4d9c2da5..ed835aea611 100644
--- a/mysql-test/r/func_in.result
+++ b/mysql-test/r/func_in.result
@@ -770,4 +770,10 @@ CASE a WHEN a THEN a END
NULL
DROP TABLE t1;
#
+# Bug #11766212 59270: NOT IN (YEAR( ... ), ... ) PRODUCES MANY VALGRIND WARNINGS
+#
+SELECT 1 IN (YEAR(FROM_UNIXTIME(NULL)) ,1);
+1 IN (YEAR(FROM_UNIXTIME(NULL)) ,1)
+1
+#
End of 5.1 tests
diff --git a/mysql-test/r/func_like.result b/mysql-test/r/func_like.result
index 552ff564a89..39590eb1c99 100644
--- a/mysql-test/r/func_like.result
+++ b/mysql-test/r/func_like.result
@@ -182,4 +182,9 @@ INSERT INTO t2 VALUES (1), (2), (3);
SELECT 1 FROM t2 JOIN t1 ON 1 LIKE a GROUP BY a;
1
DROP TABLE t1, t2;
+#
+# Bug#59149 valgrind warnings with "like .. escape .." function
+#
+SELECT '' LIKE '1' ESCAPE COUNT(1);
+ERROR HY000: Incorrect arguments to ESCAPE
End of 5.1 tests
diff --git a/mysql-test/r/func_math.result b/mysql-test/r/func_math.result
index ffd6d2fc5b2..cce6a4cbb3e 100644
--- a/mysql-test/r/func_math.result
+++ b/mysql-test/r/func_math.result
@@ -481,6 +481,18 @@ RAND(i)
0.15522042769493574
DROP TABLE t1;
#
+# Bug#57477 SIGFPE when dividing a huge number a negative number
+#
+SELECT -9999999999999999991 DIV -1;
+ERROR 22003: BIGINT value is out of range in '(-(9999999999999999991) DIV -(1))'
+SELECT -9223372036854775808 DIV -1;
+ERROR 22003: BIGINT value is out of range in '(-(9223372036854775808) DIV -(1))'
+SELECT -9223372036854775808 MOD -1;
+-9223372036854775808 MOD -1
+0
+SELECT -9223372036854775808999 MOD -1;
+-9223372036854775808999 MOD -1
+0
select 123456789012345678901234567890.123456789012345678901234567890 div 1 as x;
ERROR 22003: BIGINT value is out of range in '(123456789012345678901234567890.123456789012345678901234567890 DIV 1)'
select "123456789012345678901234567890.123456789012345678901234567890" div 1 as x;
@@ -489,6 +501,54 @@ SHOW WARNINGS;
Level Code Message
Warning 1292 Truncated incorrect DECIMAL value: ''
Error 1690 BIGINT value is out of range in '('123456789012345678901234567890.123456789012345678901234567890' DIV 1)'
+#
+# Bug#57810 case/when/then : Assertion failed: length || !scale
+#
+SELECT CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END;
+CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END
+NULL
+CREATE TABLE t1 SELECT CAST((CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END) AS CHAR) as C;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `C` varchar(23) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+#
+# Bug#11764994 57900: CREATE TABLE .. SELECT ASSERTS SCALE >= 0 && PRECISION > 0 && SCALE <= PR
+#
+CREATE TABLE t1 SELECT CEIL(LINESTRINGFROMWKB(1) DIV NULL);
+DROP TABLE t1;
+CREATE TABLE t1 SELECT FLOOR(LINESTRINGFROMWKB(1) DIV NULL);
+DROP TABLE t1;
+#
+# Bug#11765923 58937: MANY VALGRIND ERRORS AFTER GROUPING BY RESULT OF DECIMAL COLUMN FUNCTION
+#
+CREATE TABLE t1(f1 DECIMAL(22,1));
+INSERT INTO t1 VALUES (0),(1);
+SELECT ROUND(f1, f1) FROM t1;
+ROUND(f1, f1)
+0.0
+1.0
+SELECT ROUND(f1, f1) FROM t1 GROUP BY 1;
+ROUND(f1, f1)
+0.0
+1.0
+DROP TABLE t1;
+#
+# Bug#11764671 57533: UNINITIALISED VALUES IN COPY_AND_CONVERT (SQL_STRING.CC) WITH CERTAIN CHA
+#
+SELECT ROUND(LEAST(15, -4939092, 0.2704), STDDEV('a'));
+ROUND(LEAST(15, -4939092, 0.2704), STDDEV('a'))
+-4939092.0000
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'a'
+#
+# Bug#12392636 ASSERTION FAILED: SCALE >= 0 && PRECISION > 0 && SCALE <= PRECISION
+#
+SELECT SUM(DISTINCT (TRUNCATE((.1), NULL)));
+SUM(DISTINCT (TRUNCATE((.1), NULL)))
+NULL
End of 5.1 tests
#
# Bug #8433: Overflow must be an error
@@ -600,3 +660,42 @@ NULL
SELECT -9223372036854775808 MOD -1;
-9223372036854775808 MOD -1
0
+#
+# Bug #57209 valgrind + Assertion failed: dst > buf
+#
+SELECT floor(log10(format(concat_ws(5445796E25, 5306463, 30837), -358821)))
+as foo;
+foo
+2
+#
+# Bug #58137 char(0) column cause:
+# my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
+#
+CREATE TABLE t1(a char(0));
+INSERT INTO t1 (SELECT -pi());
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+DROP TABLE t1;
+#
+# Bug #59241 invalid memory read
+# in do_div_mod with doubly assigned variables
+#
+SELECT ((@a:=@b:=1.0) div (@b:=@a:=get_format(datetime, 'usa')));
+((@a:=@b:=1.0) div (@b:=@a:=get_format(datetime, 'usa')))
+NULL
+Warnings:
+Warning 1366 Incorrect decimal value: '' for column '' at row -1
+#
+# Bug #59498 div function broken in mysql-trunk
+#
+SELECT 1 div null;
+1 div null
+NULL
+#
+# Bug #11792200 - DIVIDING LARGE NUMBERS CAUSES STACK CORRUPTIONS
+#
+select (1.175494351E-37 div 1.7976931348623157E+308);
+(1.175494351E-37 div 1.7976931348623157E+308)
+0
+Warnings:
+Warning 1292 Truncated incorrect DECIMAL value: ''
diff --git a/mysql-test/r/func_misc.result b/mysql-test/r/func_misc.result
index 7e4f9b7a2e7..514994ed27c 100644
--- a/mysql-test/r/func_misc.result
+++ b/mysql-test/r/func_misc.result
@@ -258,6 +258,12 @@ GREATEST(a, (SELECT b FROM t1 LIMIT 1))
3
1
DROP TABLE t1;
+SELECT INET_NTOA(0);
+INET_NTOA(0)
+0.0.0.0
+SELECT '1' IN ('1', INET_NTOA(0));
+'1' IN ('1', INET_NTOA(0))
+1
#
# Bug #52165: Assertion failed: file .\dtoa.c, line 465
#
@@ -267,4 +273,40 @@ SELECT COALESCE(a) = COALESCE(b) FROM t1;
COALESCE(a) = COALESCE(b)
1
DROP TABLE t1;
-End of tests
+#
+# Bug #54461: crash with longblob and union or update with subquery
+#
+CREATE TABLE t1 (a INT, b LONGBLOB);
+INSERT INTO t1 VALUES (1, '2'), (2, '3'), (3, '2');
+SELECT DISTINCT LEAST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
+LEAST(a, (SELECT b FROM t1 LIMIT 1))
+1
+2
+SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
+GREATEST(a, (SELECT b FROM t1 LIMIT 1))
+2
+3
+1
+DROP TABLE t1;
+SELECT INET_NTOA(0);
+INET_NTOA(0)
+0.0.0.0
+SELECT '1' IN ('1', INET_NTOA(0));
+'1' IN ('1', INET_NTOA(0))
+1
+#
+# End of 5.1 tests
+#
+#
+# Bug #58199: name_const in the having clause crashes
+#
+CREATE TABLE t1 (a INT);
+SELECT 1 from t1 HAVING NAME_CONST('', a);
+ERROR HY000: Incorrect arguments to NAME_CONST
+DROP TABLE t1;
+#
+# End of 5.5 tests
+#
+#
+# End of tests
+#
diff --git a/mysql-test/r/func_set.result b/mysql-test/r/func_set.result
index 14ebc8203ec..ba9500bff46 100644
--- a/mysql-test/r/func_set.result
+++ b/mysql-test/r/func_set.result
@@ -159,3 +159,45 @@ SELECT CONVERT( a USING latin1 ) FROM t2;
CONVERT( a USING latin1 )
DROP TABLE t1, t2;
+#
+# BUG#59405: FIND_IN_SET won't work normaly after upgrade from 5.1 to 5.5
+#
+CREATE TABLE t1(days set('1','2','3','4','5','6','7'));
+INSERT INTO t1 VALUES('1,2,3,4,5,6,7'), (NULL), ('1,2,3,4,5,6,7');
+
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), days);
+days
+1,2,3,4,5,6,7
+1,2,3,4,5,6,7
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), days) IS UNKNOWN;
+days
+NULL
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), NULL);
+days
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), NULL) IS UNKNOWN;
+days
+1,2,3,4,5,6,7
+NULL
+1,2,3,4,5,6,7
+SELECT * FROM t1 WHERE FIND_IN_SET(7, days);
+days
+1,2,3,4,5,6,7
+1,2,3,4,5,6,7
+SELECT * FROM t1 WHERE FIND_IN_SET(8, days);
+days
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, days);
+days
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, days) IS UNKNOWN;
+days
+1,2,3,4,5,6,7
+NULL
+1,2,3,4,5,6,7
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, NULL);
+days
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, NULL) IS UNKNOWN;
+days
+1,2,3,4,5,6,7
+NULL
+1,2,3,4,5,6,7
+
+DROP TABLE t1;
diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result
index f01d46a9f41..81fe2413725 100644
--- a/mysql-test/r/func_str.result
+++ b/mysql-test/r/func_str.result
@@ -2603,6 +2603,34 @@ ORDER BY QUOTE(t1.a);
1
1
DROP TABLE t1;
+#
+# Bug#57913 large negative number to string conversion functions crash
+# Bug#57810 case/when/then : Assertion failed: length || !scale
+#
+SELECT '1' IN ('1', SUBSTRING(-9223372036854775809, 1));
+'1' IN ('1', SUBSTRING(-9223372036854775809, 1))
+1
+SELECT CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3));
+CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3))
+1
+Warnings:
+Warning 1292 Truncated incorrect DECIMAL value: ''
+#
+# Bug#58165: "my_empty_string" gets modified and causes LOAD DATA to fail
+# and other crashes
+#
+CREATE TABLE t1 ( a TEXT );
+SELECT 'aaaaaaaaaaaaaa' INTO OUTFILE 'bug58165.txt';
+SELECT insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' );
+insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' )
+x
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: 'b'
+LOAD DATA INFILE 'bug58165.txt' INTO TABLE t1;
+SELECT * FROM t1;
+a
+aaaaaaaaaaaaaa
+DROP TABLE t1;
End of 5.1 tests
Start of 5.4 tests
SELECT format(12345678901234567890.123, 3);
diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result
index e52c17b9648..fb647723756 100644
--- a/mysql-test/r/func_time.result
+++ b/mysql-test/r/func_time.result
@@ -136,7 +136,7 @@ dayname("1962-03-03") dayname("1962-03-03")+0
Saturday 5
select monthname("1972-03-04"),monthname("1972-03-04")+0;
monthname("1972-03-04") monthname("1972-03-04")+0
-March 3
+March 0
select time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T');
time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
00|12|0|12|00|AM|12:00:00 AM|00|00:00:00
@@ -1273,6 +1273,24 @@ date_add('1000-01-01 00:00:00', interval '1.03:02:01.05' day_microsecond)
select date_add('1000-01-01 00:00:00', interval '1.02' day_microsecond);
date_add('1000-01-01 00:00:00', interval '1.02' day_microsecond)
1000-01-01 00:00:01.020000
+#
+# Bug #52315 part 2 : utc_date() crashes when system time > year 2037
+#
+SET TIMESTAMP=-147490000;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=2147483648;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=2147483646;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=2147483647;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=0;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=-1;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=1;
+SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=0;
End of 5.0 tests
select date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND);
date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND)
@@ -1315,4 +1333,109 @@ SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
1
1
DROP TABLE t1;
+#
+# Bug #52160: crash and inconsistent results when grouping
+# by a function and column
+#
+CREATE TABLE t1(a CHAR(10) NOT NULL);
+INSERT INTO t1 VALUES (''),('');
+SELECT COUNT(*) FROM t1 GROUP BY TIME_TO_SEC(a);
+COUNT(*)
+2
+Warnings:
+Warning 1292 Truncated incorrect time value: ''
+Warning 1292 Truncated incorrect time value: ''
+Warning 1292 Truncated incorrect time value: ''
+DROP TABLE t1;
+#
+# Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
+#
+SELECT STR_TO_DATE(SPACE(2),'1');
+STR_TO_DATE(SPACE(2),'1')
+0000-00-00
+#
+# Bug#11765216 58154: UNINITIALIZED VARIABLE FORMAT IN STR_TO_DATE FUNCTION
+#
+SET GLOBAL SQL_MODE='';
+DO STR_TO_DATE((''), FROM_DAYS(@@GLOBAL.SQL_MODE));
+SET GLOBAL SQL_MODE=DEFAULT;
+#
+# Bug#11766087 59125: VALGRIND UNINITIALISED VALUE WARNING IN ULL2DEC, LONGLONG2DECIMAL
+#
+SELECT FORMAT(YEAR(STR_TO_DATE('',GET_FORMAT(TIME,''))),1);
+FORMAT(YEAR(STR_TO_DATE('',GET_FORMAT(TIME,''))),1)
+NULL
+#
+# Bug#11766126 59166: ANOTHER DATETIME VALGRIND UNINITIALIZED WARNING
+#
+SELECT CAST((MONTH(FROM_UNIXTIME(@@GLOBAL.SQL_MODE))) AS BINARY(1025));
+CAST((MONTH(FROM_UNIXTIME(@@GLOBAL.SQL_MODE))) AS BINARY(1025))
+NULL
+#
+# Bug#11766124 59164: VALGRIND: UNINITIALIZED VALUE IN NUMBER_TO_DATETIME
+#
+SELECT ADDDATE(MONTH(FROM_UNIXTIME(NULL)),INTERVAL 1 HOUR);
+ADDDATE(MONTH(FROM_UNIXTIME(NULL)),INTERVAL 1 HOUR)
+NULL
+#
+# Bug#11889186 60503: CRASH IN MAKE_DATE_TIME WITH DATE_FORMAT / STR_TO_DATE COMBINATION
+#
+SELECT DATE_FORMAT('0000-00-11', '%W');
+DATE_FORMAT('0000-00-11', '%W')
+NULL
+SELECT DATE_FORMAT('0000-00-11', '%a');
+DATE_FORMAT('0000-00-11', '%a')
+NULL
+SELECT DATE_FORMAT('0000-00-11', '%w');
+DATE_FORMAT('0000-00-11', '%w')
+NULL
+#
+# Bug#12403504 AFTER FIX FOR #11889186 : ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0
+#
+SELECT MAKEDATE(11111111,1);
+MAKEDATE(11111111,1)
+NULL
+SELECT WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1);
+WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1)
+NULL
End of 5.1 tests
+#
+# Bug#57039: constant subtime expression returns incorrect result.
+#
+CREATE TABLE t1 (`date_date` datetime NOT NULL);
+INSERT INTO t1 VALUES ('2008-01-03 00:00:00'), ('2008-01-03 00:00:00');
+SELECT * FROM t1 WHERE date_date >= subtime(now(), "00:30:00");
+date_date
+SELECT * FROM t1 WHERE date_date <= addtime(date_add("2000-1-1", INTERVAL "1:1:1" HOUR_SECOND), "00:20:00");
+date_date
+DROP TABLE t1;
+#
+# Bug#57512 str_to_date crash...
+#
+SELECT WEEK(STR_TO_DATE(NULL,0));
+WEEK(STR_TO_DATE(NULL,0))
+NULL
+SELECT SUBDATE(STR_TO_DATE(NULL,0), INTERVAL 1 HOUR);
+SUBDATE(STR_TO_DATE(NULL,0), INTERVAL 1 HOUR)
+NULL
+#
+# BUG#59895 - setting storage engine to null segfaults mysqld
+#
+SELECT MONTHNAME(0), MONTHNAME(0) IS NULL, MONTHNAME(0) + 1;
+MONTHNAME(0) MONTHNAME(0) IS NULL MONTHNAME(0) + 1
+NULL 1 NULL
+SET storage_engine=NULL;
+ERROR 42000: Variable 'storage_engine' can't be set to the value of 'NULL'
+#
+# Bug #59686 crash in String::copy() with time data type
+#
+SELECT min(timestampadd(month, 1>'', from_days('%Z')));
+min(timestampadd(month, 1>'', from_days('%Z')))
+NULL
+Warnings:
+Warning 1292 Truncated incorrect INTEGER value: '%Z'
+create table t1(a time);
+insert into t1 values ('00:00:00'),('00:01:00');
+select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
+1
+drop table t1;
diff --git a/mysql-test/r/gis-rtree.result b/mysql-test/r/gis-rtree.result
index a28f537b2de..6db63a6ada0 100644
--- a/mysql-test/r/gis-rtree.result
+++ b/mysql-test/r/gis-rtree.result
@@ -1099,3 +1099,30 @@ HANDLER t1 READ a NEXT;
HANDLER t1 CLOSE;
DROP TABLE t1;
End of 5.0 tests.
+#
+# Bug #57323/11764487: myisam corruption with insert ignore
+# and invalid spatial data
+#
+CREATE TABLE t1(a LINESTRING NOT NULL, b GEOMETRY NOT NULL,
+SPATIAL KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(GEOMFROMTEXT("point (0 0)"), GEOMFROMTEXT("point (1 1)"));
+INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=GEOMFROMTEXT("error");
+ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
+INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=NULL;
+ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
+SELECT ASTEXT(a), ASTEXT(b) FROM t1;
+ASTEXT(a) ASTEXT(b)
+POINT(0 0) POINT(1 1)
+DROP TABLE t1;
+CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL,
+KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(0, GEOMFROMTEXT("point (1 1)"));
+INSERT IGNORE INTO t1 SET a=0, b=GEOMFROMTEXT("error");
+ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
+INSERT IGNORE INTO t1 SET a=1, b=NULL;
+ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
+SELECT a, ASTEXT(b) FROM t1;
+a ASTEXT(b)
+0 POINT(1 1)
+DROP TABLE t1;
+End of 5.1 tests
diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result
index 5663f167d00..bfd0ddccb90 100644
--- a/mysql-test/r/gis.result
+++ b/mysql-test/r/gis.result
@@ -960,6 +960,18 @@ COUNT(*)
2
DROP TABLE t1, t2;
End of 5.0 tests
+#
+# Test for bug #58650 "Failing assertion: primary_key_no == -1 ||
+# primary_key_no == 0".
+#
+drop table if exists t1;
+# The minimal test case.
+create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a));
+drop table t1;
+# The original test case.
+create table t1 (a int not null, b linestring not null, unique key b (b(12)));
+create unique index a on t1(a);
+drop table t1;
create table `t1` (`col002` point)engine=myisam;
insert into t1 values (),(),();
select min(`col002`) from t1 union select `col002` from t1;
@@ -1014,7 +1026,27 @@ SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000
SET @a=POLYFROMWKB(@a);
SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
SET @a=POLYFROMWKB(@a);
+create table t1(a polygon NOT NULL)engine=myisam;
+insert into t1 values (geomfromtext("point(0 1)"));
+insert into t1 values (geomfromtext("point(1 0)"));
+select * from (select polygon(t1.a) as p from t1 order by t1.a) d;
+p
+NULL
+NULL
+drop table t1;
+#
+# Test for bug #59888 "debug assertion when attempt to create spatial index
+# on char > 31 bytes".
+#
+create table t1(a char(32) not null) engine=myisam;
+create spatial index i on t1 (a);
+ERROR 42000: A SPATIAL index may only contain a geometrical type column
+drop table t1;
End of 5.1 tests
+CREATE TABLE t0 (a BINARY(32) NOT NULL);
+CREATE SPATIAL INDEX i on t0 (a);
+ERROR 42000: A SPATIAL index may only contain a geometrical type column
+INSERT INTO t0 VALUES (1);
CREATE TABLE t1(
col0 BINARY NOT NULL,
col2 TIMESTAMP,
@@ -1043,5 +1075,5 @@ col2 LINESTRING,
SPATIAL INDEX i1 (col1, col2)
);
ERROR HY000: Incorrect arguments to SPATIAL INDEX
-DROP TABLE t1;
-DROP TABLE t2;
+DROP TABLE t0, t1, t2;
+End of 5.5 tests
diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result
index e80dcd9793f..a02c15c03fb 100644
--- a/mysql-test/r/grant.result
+++ b/mysql-test/r/grant.result
@@ -13,8 +13,48 @@ GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3
GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
grant delete on mysqltest.* to mysqltest_1@localhost;
select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin auth_string
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N SPECIFIED EDH-RSA-DES-CBC3-SHA 0 0 0 0
+Host localhost
+User mysqltest_1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type SPECIFIED
+ssl_cipher EDH-RSA-DES-CBC3-SHA
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
@@ -44,15 +84,95 @@ delete from mysql.user where user='mysqltest_1';
flush privileges;
grant usage on *.* to mysqltest_1@localhost with max_queries_per_hour 10;
select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin auth_string
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 10 0 0 0
+Host localhost
+User mysqltest_1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 10
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' WITH MAX_QUERIES_PER_HOUR 10
grant usage on *.* to mysqltest_1@localhost with max_updates_per_hour 20 max_connections_per_hour 30;
select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin auth_string
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 10 20 30 0
+Host localhost
+User mysqltest_1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 10
+max_updates 20
+max_connections 30
+max_user_connections 0
+plugin
+authentication_string NULL
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' WITH MAX_QUERIES_PER_HOUR 10 MAX_UPDATES_PER_HOUR 20 MAX_CONNECTIONS_PER_HOUR 30
@@ -474,6 +594,7 @@ Index Tables To create or drop indexes
Insert Tables To insert data into tables
Lock tables Databases To use LOCK TABLES (together with SELECT privilege)
Process Server Admin To view the plain text of currently executing queries
+Proxy Server Admin To make proxy user possible
References Databases,Tables To have references on tables
Reload Server Admin To reload or refresh tables, logs and privileges
Replication client Server Admin To ask where the slave or master servers are
@@ -626,16 +747,19 @@ show grants for root@localhost;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT SELECT ON `ÂÄ`.* TO 'root'@'localhost'
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
flush privileges;
show grants for root@localhost;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT SELECT ON `ÂÄ`.* TO 'root'@'localhost'
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
drop database ÂÄ;
revoke all privileges on ÂÄ.* from root@localhost;
show grants for root@localhost;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
set names latin1;
create user mysqltest_7@;
set password for mysqltest_7@ = password('systpass');
@@ -1254,6 +1378,273 @@ CURRENT_USER()
root@localhost
SET PASSWORD FOR CURRENT_USER() = PASSWORD("admin");
SET PASSWORD FOR CURRENT_USER() = PASSWORD("");
+
+# Bug#57952
+
+DROP DATABASE IF EXISTS mysqltest1;
+DROP DATABASE IF EXISTS mysqltest2;
+CREATE DATABASE mysqltest1;
+CREATE DATABASE mysqltest2;
+use mysqltest1;
+CREATE TABLE t1(a INT, b INT);
+INSERT INTO t1 VALUES (1, 1);
+CREATE TABLE t2(a INT);
+INSERT INTO t2 VALUES (2);
+CREATE TABLE mysqltest2.t3(a INT);
+INSERT INTO mysqltest2.t3 VALUES (4);
+CREATE USER testuser@localhost;
+GRANT CREATE ROUTINE, EXECUTE ON mysqltest1.* TO testuser@localhost;
+GRANT SELECT(b) ON t1 TO testuser@localhost;
+GRANT SELECT ON t2 TO testuser@localhost;
+GRANT SELECT ON mysqltest2.* TO testuser@localhost;
+
+# Connection: bug57952_con1 (testuser@localhost, db: mysqltest1)
+PREPARE s1 FROM 'SELECT b FROM t1';
+PREPARE s2 FROM 'SELECT a FROM t2';
+PREPARE s3 FROM 'SHOW TABLES FROM mysqltest2';
+CREATE PROCEDURE p1() SELECT b FROM t1;
+CREATE PROCEDURE p2() SELECT a FROM t2;
+CREATE PROCEDURE p3() SHOW TABLES FROM mysqltest2;
+CALL p1;
+b
+1
+CALL p2;
+a
+2
+CALL p3;
+Tables_in_mysqltest2
+t3
+
+# Connection: default
+REVOKE SELECT ON t1 FROM testuser@localhost;
+GRANT SELECT(a) ON t1 TO testuser@localhost;
+REVOKE SELECT ON t2 FROM testuser@localhost;
+REVOKE SELECT ON mysqltest2.* FROM testuser@localhost;
+
+# Connection: bug57952_con1 (testuser@localhost, db: mysqltest1)
+# - Check column-level privileges...
+EXECUTE s1;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
+SELECT b FROM t1;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
+EXECUTE s1;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
+CALL p1;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
+# - Check table-level privileges...
+SELECT a FROM t2;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for table 't2'
+EXECUTE s2;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for table 't2'
+CALL p2;
+ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for table 't2'
+# - Check database-level privileges...
+SHOW TABLES FROM mysqltest2;
+ERROR 42000: Access denied for user 'testuser'@'localhost' to database 'mysqltest2'
+EXECUTE s3;
+ERROR 42000: Access denied for user 'testuser'@'localhost' to database 'mysqltest2'
+CALL p3;
+ERROR 42000: Access denied for user 'testuser'@'localhost' to database 'mysqltest2'
+
+# Connection: default
+DROP DATABASE mysqltest1;
+DROP DATABASE mysqltest2;
+DROP USER testuser@localhost;
+use test;
+
+#
+# Test for bug #36544 "DROP USER does not remove stored function
+# privileges".
+#
+create database mysqltest1;
+create function mysqltest1.f1() returns int return 0;
+create procedure mysqltest1.p1() begin end;
+#
+# 1) Check that DROP USER properly removes privileges on both
+# stored procedures and functions.
+#
+create user mysqluser1@localhost;
+grant execute on function mysqltest1.f1 to mysqluser1@localhost;
+grant execute on procedure mysqltest1.p1 to mysqluser1@localhost;
+# Quick test that granted privileges are properly reflected
+# in privilege tables and in in-memory structures.
+show grants for mysqluser1@localhost;
+Grants for mysqluser1@localhost
+GRANT USAGE ON *.* TO 'mysqluser1'@'localhost'
+GRANT EXECUTE ON PROCEDURE `mysqltest1`.`p1` TO 'mysqluser1'@'localhost'
+GRANT EXECUTE ON FUNCTION `mysqltest1`.`f1` TO 'mysqluser1'@'localhost'
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+db routine_name routine_type proc_priv
+mysqltest1 f1 FUNCTION Execute
+mysqltest1 p1 PROCEDURE Execute
+#
+# Create connection 'bug_36544_con1' as 'mysqluser1@localhost'.
+call mysqltest1.p1();
+select mysqltest1.f1();
+mysqltest1.f1()
+0
+#
+# Switch to connection 'default'.
+drop user mysqluser1@localhost;
+#
+# Test that dropping of user is properly reflected in
+# both privilege tables and in in-memory structures.
+#
+# Switch to connection 'bug36544_con1'.
+# The connection cold be alive but should not be able to
+# access to any of the stored routines.
+call mysqltest1.p1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.p1'
+select mysqltest1.f1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.f1'
+#
+# Switch to connection 'default'.
+#
+# Now create user with the same name and check that he
+# has not inherited privileges.
+create user mysqluser1@localhost;
+show grants for mysqluser1@localhost;
+Grants for mysqluser1@localhost
+GRANT USAGE ON *.* TO 'mysqluser1'@'localhost'
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+db routine_name routine_type proc_priv
+#
+# Create connection 'bug_36544_con2' as 'mysqluser1@localhost'.
+# Newly created user should not be able to access any of the routines.
+call mysqltest1.p1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.p1'
+select mysqltest1.f1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.f1'
+#
+# Switch to connection 'default'.
+#
+# 2) Check that RENAME USER properly updates privileges on both
+# stored procedures and functions.
+#
+grant execute on function mysqltest1.f1 to mysqluser1@localhost;
+grant execute on procedure mysqltest1.p1 to mysqluser1@localhost;
+#
+# Create one more user to make in-memory hashes non-trivial.
+# User names 'mysqluser11' and 'mysqluser10' were selected
+# to trigger bug discovered during code inspection.
+create user mysqluser11@localhost;
+grant execute on function mysqltest1.f1 to mysqluser11@localhost;
+grant execute on procedure mysqltest1.p1 to mysqluser11@localhost;
+# Also create a couple of tables to test for another bug
+# discovered during code inspection (again table names were
+# chosen especially to trigger the bug).
+create table mysqltest1.t11 (i int);
+create table mysqltest1.t22 (i int);
+grant select on mysqltest1.t22 to mysqluser1@localhost;
+grant select on mysqltest1.t11 to mysqluser1@localhost;
+# Quick test that granted privileges are properly reflected
+# in privilege tables and in in-memory structures.
+show grants for mysqluser1@localhost;
+Grants for mysqluser1@localhost
+GRANT USAGE ON *.* TO 'mysqluser1'@'localhost'
+GRANT SELECT ON `mysqltest1`.`t11` TO 'mysqluser1'@'localhost'
+GRANT SELECT ON `mysqltest1`.`t22` TO 'mysqluser1'@'localhost'
+GRANT EXECUTE ON PROCEDURE `mysqltest1`.`p1` TO 'mysqluser1'@'localhost'
+GRANT EXECUTE ON FUNCTION `mysqltest1`.`f1` TO 'mysqluser1'@'localhost'
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+db routine_name routine_type proc_priv
+mysqltest1 f1 FUNCTION Execute
+mysqltest1 p1 PROCEDURE Execute
+select db, table_name, table_priv from mysql.tables_priv where user='mysqluser1' and host='localhost';
+db table_name table_priv
+mysqltest1 t11 Select
+mysqltest1 t22 Select
+#
+# Switch to connection 'bug36544_con2'.
+call mysqltest1.p1();
+select mysqltest1.f1();
+mysqltest1.f1()
+0
+select * from mysqltest1.t11;
+i
+select * from mysqltest1.t22;
+i
+#
+# Switch to connection 'default'.
+rename user mysqluser1@localhost to mysqluser10@localhost;
+#
+# Test that there are no privileges left for mysqluser1.
+#
+# Switch to connection 'bug36544_con2'.
+# The connection cold be alive but should not be able to
+# access to any of the stored routines or tables.
+call mysqltest1.p1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.p1'
+select mysqltest1.f1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.f1'
+select * from mysqltest1.t11;
+ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 't11'
+select * from mysqltest1.t22;
+ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 't22'
+#
+# Switch to connection 'default'.
+#
+# Now create user with the old name and check that he
+# has not inherited privileges.
+create user mysqluser1@localhost;
+show grants for mysqluser1@localhost;
+Grants for mysqluser1@localhost
+GRANT USAGE ON *.* TO 'mysqluser1'@'localhost'
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+db routine_name routine_type proc_priv
+select db, table_name, table_priv from mysql.tables_priv where user='mysqluser1' and host='localhost';
+db table_name table_priv
+#
+# Create connection 'bug_36544_con3' as 'mysqluser1@localhost'.
+# Newly created user should not be able to access to any of the
+# stored routines or tables.
+call mysqltest1.p1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.p1'
+select mysqltest1.f1();
+ERROR 42000: execute command denied to user 'mysqluser1'@'localhost' for routine 'mysqltest1.f1'
+select * from mysqltest1.t11;
+ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 't11'
+select * from mysqltest1.t22;
+ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 't22'
+#
+# Switch to connection 'default'.
+#
+# Now check that privileges became associated with a new user
+# name - mysqluser10.
+#
+show grants for mysqluser10@localhost;
+Grants for mysqluser10@localhost
+GRANT USAGE ON *.* TO 'mysqluser10'@'localhost'
+GRANT SELECT ON `mysqltest1`.`t22` TO 'mysqluser10'@'localhost'
+GRANT SELECT ON `mysqltest1`.`t11` TO 'mysqluser10'@'localhost'
+GRANT EXECUTE ON PROCEDURE `mysqltest1`.`p1` TO 'mysqluser10'@'localhost'
+GRANT EXECUTE ON FUNCTION `mysqltest1`.`f1` TO 'mysqluser10'@'localhost'
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser10' and host='localhost';
+db routine_name routine_type proc_priv
+mysqltest1 f1 FUNCTION Execute
+mysqltest1 p1 PROCEDURE Execute
+select db, table_name, table_priv from mysql.tables_priv where user='mysqluser10' and host='localhost';
+db table_name table_priv
+mysqltest1 t11 Select
+mysqltest1 t22 Select
+#
+# Create connection 'bug_36544_con4' as 'mysqluser10@localhost'.
+call mysqltest1.p1();
+select mysqltest1.f1();
+mysqltest1.f1()
+0
+select * from mysqltest1.t11;
+i
+select * from mysqltest1.t22;
+i
+#
+# Switch to connection 'default'.
+#
+# Clean-up.
+drop user mysqluser1@localhost;
+drop user mysqluser10@localhost;
+drop user mysqluser11@localhost;
+drop database mysqltest1;
End of 5.0 tests
set names utf8;
grant select on test.* to юзер_юзер@localhost;
@@ -1325,8 +1716,6 @@ CREATE USER 'userbug33464'@'localhost';
GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
userbug33464@localhost dbbug33464
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
CREATE PROCEDURE sp3(v1 char(20))
BEGIN
SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
@@ -1350,11 +1739,7 @@ fn2()
2
DROP USER 'userbug33464'@'localhost';
DROP FUNCTION fn1;
-Warnings:
-Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn1'
DROP FUNCTION fn2;
-Warnings:
-Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn2'
DROP PROCEDURE sp3;
DROP USER 'userbug33464'@'localhost';
USE test;
@@ -1454,6 +1839,17 @@ DROP USER 'testbug'@localhost;
DROP TABLE db2.t1;
DROP DATABASE db1;
DROP DATABASE db2;
+#
+# Bug #36742
+#
+grant usage on Foo.* to myuser@Localhost identified by 'foo';
+grant select on Foo.* to myuser@localhost;
+select host,user from mysql.user where User='myuser';
+host user
+localhost myuser
+revoke select on Foo.* from myuser@localhost;
+delete from mysql.user where User='myuser';
+flush privileges;
#########################################################################
#
# Bug#38347: ALTER ROUTINE privilege allows SHOW CREATE TABLE.
diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result
index 4758e2c9b22..a3323d51efb 100644
--- a/mysql-test/r/grant2.result
+++ b/mysql-test/r/grant2.result
@@ -11,7 +11,7 @@ grant create user on *.* to mysqltest_1@localhost;
create user mysqltest_2@localhost;
grant select on `my\_1`.* to mysqltest_2@localhost;
grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass';
-ERROR 42000: You must have privileges to update tables in the mysql database to be able to change passwords for others
+ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysql'
grant update on mysql.* to mysqltest_1@localhost;
grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass';
grant select on `my\_1`.* to mysqltest_3@localhost;
@@ -335,7 +335,7 @@ delete from mysql.user where user like 'mysqltest\_1';
flush privileges;
drop database mysqltest_1;
set password = password("changed");
-ERROR 42000: Access denied for user ''@'localhost' to database 'mysql'
+ERROR 42000: Can't find any matching row in the user table
lock table mysql.user write;
flush privileges;
grant all on *.* to 'mysqltest_1'@'localhost';
diff --git a/mysql-test/r/grant3.result b/mysql-test/r/grant3.result
index 59c64ee84ae..fd51a83d4b2 100644
--- a/mysql-test/r/grant3.result
+++ b/mysql-test/r/grant3.result
@@ -21,123 +21,108 @@ grant select on test.* to CUser@LOCALHOST;
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser' order by 1,2;
user host db select_priv
-CUser LOCALHOST test Y
CUser localhost test Y
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser' order by 1,2;
user host db select_priv
-CUser localhost test Y
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser' order by 1,2;
user host db select_priv
DROP USER CUser@localhost;
DROP USER CUser@LOCALHOST;
+ERROR HY000: Operation DROP USER failed for 'CUser'@'localhost'
create table t1 (a int);
grant select on test.t1 to CUser@localhost;
grant select on test.t1 to CUser@LOCALHOST;
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
user host db Table_name Table_priv Column_priv
-CUser LOCALHOST test t1 Select
CUser localhost test t1 Select
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
user host db Table_name Table_priv Column_priv
-CUser localhost test t1 Select
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
user host db Table_name Table_priv Column_priv
DROP USER CUser@localhost;
DROP USER CUser@LOCALHOST;
+ERROR HY000: Operation DROP USER failed for 'CUser'@'localhost'
grant select(a) on test.t1 to CUser@localhost;
grant select(a) on test.t1 to CUser@LOCALHOST;
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
user host db Table_name Table_priv Column_priv
-CUser LOCALHOST test t1 Select
CUser localhost test t1 Select
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'LOCALHOST';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
user host db Table_name Table_priv Column_priv
-CUser localhost test t1 Select
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'CUser'@'localhost';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
user host
-CUser LOCALHOST
CUser localhost
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
user host db Table_name Table_priv Column_priv
DROP USER CUser@localhost;
DROP USER CUser@LOCALHOST;
+ERROR HY000: Operation DROP USER failed for 'CUser'@'localhost'
drop table t1;
grant select on test.* to CUser2@localhost;
grant select on test.* to CUser2@LOCALHOST;
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser2' order by 1,2;
user host
-CUser2 LOCALHOST
CUser2 localhost
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2;
user host db select_priv
-CUser2 LOCALHOST test Y
CUser2 localhost test Y
REVOKE SELECT ON test.* FROM 'CUser2'@'LOCALHOST';
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser2' order by 1,2;
user host
-CUser2 LOCALHOST
CUser2 localhost
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2;
user host db select_priv
-CUser2 localhost test Y
REVOKE SELECT ON test.* FROM 'CUser2'@'localhost';
+ERROR 42000: There is no such grant defined for user 'CUser2' on host 'localhost'
flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser2' order by 1,2;
user host
-CUser2 LOCALHOST
CUser2 localhost
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2;
user host db select_priv
DROP USER CUser2@localhost;
DROP USER CUser2@LOCALHOST;
+ERROR HY000: Operation DROP USER failed for 'CUser2'@'localhost'
CREATE DATABASE mysqltest_1;
CREATE TABLE mysqltest_1.t1 (a INT);
CREATE USER 'mysqltest1'@'%';
diff --git a/mysql-test/r/grant_cache_no_prot.result b/mysql-test/r/grant_cache_no_prot.result
index 32bb9cce90e..019edb72086 100644
--- a/mysql-test/r/grant_cache_no_prot.result
+++ b/mysql-test/r/grant_cache_no_prot.result
@@ -7,9 +7,11 @@ flush status;
show grants for current_user;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
create database if not exists mysqltest;
create table mysqltest.t1 (a int,b int,c int);
create table mysqltest.t2 (a int,b int,c int);
diff --git a/mysql-test/r/grant_cache_ps_prot.result b/mysql-test/r/grant_cache_ps_prot.result
index 281468ee2e1..e95a858fd9a 100644
--- a/mysql-test/r/grant_cache_ps_prot.result
+++ b/mysql-test/r/grant_cache_ps_prot.result
@@ -7,9 +7,11 @@ flush status;
show grants for current_user;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
create database if not exists mysqltest;
create table mysqltest.t1 (a int,b int,c int);
create table mysqltest.t2 (a int,b int,c int);
diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result
index c1c14452bc2..12080ddf5a8 100644
--- a/mysql-test/r/group_by.result
+++ b/mysql-test/r/group_by.result
@@ -1863,6 +1863,52 @@ SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
SUBSTRING(a,1,10) LENGTH(a)
1111111111 1300
DROP TABLE t1;
+#
+# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
+#
+CREATE TABLE t1(f1 INT NOT NULL);
+INSERT INTO t1 VALUES (16777214),(0);
+SELECT COUNT(*) FROM t1 LEFT JOIN t1 t2
+ON 1 WHERE t2.f1 > 1 GROUP BY t2.f1;
+COUNT(*)
+2
+DROP TABLE t1;
+#
+# Bug#59839: Aggregation followed by subquery yields wrong result
+#
+CREATE TABLE t1 (
+a INT,
+b INT,
+c INT,
+KEY (a, b)
+);
+INSERT INTO t1 VALUES
+( 1, 1, 1 ),
+( 1, 2, 2 ),
+( 1, 3, 3 ),
+( 1, 4, 6 ),
+( 1, 5, 5 ),
+( 1, 9, 13 ),
+( 2, 1, 6 ),
+( 2, 2, 7 ),
+( 2, 3, 8 );
+EXPLAIN
+SELECT a, AVG(t1.b),
+(SELECT t11.c FROM t1 t11 WHERE t11.a = t1.a AND t11.b = AVG(t1.b)) AS t11c,
+(SELECT t12.c FROM t1 t12 WHERE t12.a = t1.a AND t12.b = AVG(t1.b)) AS t12c
+FROM t1 GROUP BY a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 index NULL a 10 NULL 9 Using index
+3 DEPENDENT SUBQUERY t12 ref a a 10 func,func 2 Using where
+2 DEPENDENT SUBQUERY t11 ref a a 10 func,func 2 Using where
+SELECT a, AVG(t1.b),
+(SELECT t11.c FROM t1 t11 WHERE t11.a = t1.a AND t11.b = AVG(t1.b)) AS t11c,
+(SELECT t12.c FROM t1 t12 WHERE t12.a = t1.a AND t12.b = AVG(t1.b)) AS t12c
+FROM t1 GROUP BY a;
+a AVG(t1.b) t11c t12c
+1 4.0000 6 6
+2 2.0000 7 7
+DROP TABLE t1;
# End of 5.1 tests
#
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
diff --git a/mysql-test/r/handler_innodb.result b/mysql-test/r/handler_innodb.result
index 121cfa89f1c..dd4cac669c8 100644
--- a/mysql-test/r/handler_innodb.result
+++ b/mysql-test/r/handler_innodb.result
@@ -1485,10 +1485,6 @@ ERROR 42S02: Table 'test.not_exists_write' doesn't exist
# We still have the read lock.
drop table t1;
ERROR HY000: Can't execute the query because you have a conflicting read lock
-handler t1 read next;
-a b
-1 1
-handler t1 close;
handler t1 open;
select a from t2;
a
@@ -1726,7 +1722,22 @@ CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (1);
HANDLER t1 OPEN;
HANDLER t1 READ FIRST WHERE f1() = 1;
-ERROR 42S02: Table 'test.t2' doesn't exist
+ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
+HANDLER t1 CLOSE;
+DROP FUNCTION f1;
+DROP TABLE t1;
+#
+# Bug#54920 Stored functions are allowed in HANDLER statements,
+# but broken.
+#
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2);
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+HANDLER t1 OPEN;
+HANDLER t1 READ FIRST WHERE f1() = 1;
+ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
HANDLER t1 CLOSE;
DROP FUNCTION f1;
DROP TABLE t1;
diff --git a/mysql-test/r/handler_myisam.result b/mysql-test/r/handler_myisam.result
index fd08fd12f15..69d791b8263 100644
--- a/mysql-test/r/handler_myisam.result
+++ b/mysql-test/r/handler_myisam.result
@@ -1481,10 +1481,6 @@ ERROR 42S02: Table 'test.not_exists_write' doesn't exist
# We still have the read lock.
drop table t1;
ERROR HY000: Can't execute the query because you have a conflicting read lock
-handler t1 read next;
-a b
-1 1
-handler t1 close;
handler t1 open;
select a from t2;
a
@@ -1722,7 +1718,22 @@ CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (1);
HANDLER t1 OPEN;
HANDLER t1 READ FIRST WHERE f1() = 1;
-ERROR 42S02: Table 'test.t2' doesn't exist
+ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
+HANDLER t1 CLOSE;
+DROP FUNCTION f1;
+DROP TABLE t1;
+#
+# Bug#54920 Stored functions are allowed in HANDLER statements,
+# but broken.
+#
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2);
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+HANDLER t1 OPEN;
+HANDLER t1 READ FIRST WHERE f1() = 1;
+ERROR 42000: This version of MySQL doesn't yet support 'stored functions in HANDLER ... READ'
HANDLER t1 CLOSE;
DROP FUNCTION f1;
DROP TABLE t1;
diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result
index 2f223f081c2..5838d3f01c2 100644
--- a/mysql-test/r/having.result
+++ b/mysql-test/r/having.result
@@ -549,4 +549,26 @@ FROM t1 JOIN t2 ON t2.f2 LIKE 'x'
HAVING field1 < 7;
field1
DROP TABLE t1,t2;
+#
+# Bug#48916 Server incorrectly processing HAVING clauses with an ORDER BY clause
+#
+CREATE TABLE t1 (f1 INT, f2 INT);
+INSERT INTO t1 VALUES (1, 0), (2, 1), (3, 2);
+CREATE TABLE t2 (f1 INT, f2 INT);
+SELECT t1.f1
+FROM t1
+HAVING (3, 2) IN (SELECT f1, f2 FROM t2) AND t1.f1 >= 0
+ORDER BY t1.f1;
+f1
+SELECT t1.f1
+FROM t1
+HAVING (3, 2) IN (SELECT 4, 2) AND t1.f1 >= 0
+ORDER BY t1.f1;
+f1
+SELECT t1.f1
+FROM t1
+HAVING 2 IN (SELECT f2 FROM t2) AND t1.f1 >= 0
+ORDER BY t1.f1;
+f1
+DROP TABLE t1,t2;
End of 5.1 tests
diff --git a/mysql-test/r/implicit_char_to_num_conversion.result b/mysql-test/r/implicit_char_to_num_conversion.result
new file mode 100644
index 00000000000..8f24a6b293c
--- /dev/null
+++ b/mysql-test/r/implicit_char_to_num_conversion.result
@@ -0,0 +1,366 @@
+DROP TABLE IF EXISTS t5;
+CREATE TABLE t5(c1 BIT(2) PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (0), (1), (2);
+SELECT HEX(c1) FROM t5 ORDER BY c1;
+HEX(c1)
+0
+1
+2
+SELECT HEX(c1) FROM t5 WHERE c1 = b'1' ORDER BY c1;
+HEX(c1)
+1
+SELECT HEX(c1) FROM t5 WHERE c1 <=> b'1' ORDER BY c1;
+HEX(c1)
+1
+SELECT HEX(c1) FROM t5 WHERE c1 != b'1' ORDER BY c1;
+HEX(c1)
+0
+2
+SELECT HEX(c1) FROM t5 WHERE c1 >= '1' ORDER BY c1;
+HEX(c1)
+1
+2
+SELECT HEX(c1) FROM t5 WHERE c1 <= '1' ORDER BY c1;
+HEX(c1)
+0
+1
+SELECT HEX(c1) FROM t5 WHERE c1 < '1' ORDER BY c1;
+HEX(c1)
+0
+SELECT HEX(c1) FROM t5 WHERE c1 > '0' ORDER BY c1;
+HEX(c1)
+1
+2
+DROP TABLE t5;
+CREATE TABLE t5(c1 FLOAT(5,2) PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (95.95), (-10.10), (1), (0);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-10.10
+0.00
+1.00
+95.95
+SELECT c1 FROM t5 WHERE c1 >= '95' ORDER BY c1;
+c1
+95.95
+SELECT c1 FROM t5 WHERE c1 <= '10.10' ORDER BY c1;
+c1
+-10.10
+0.00
+1.00
+SELECT c1 FROM t5 WHERE c1 != '1' ORDER BY c1;
+c1
+-10.10
+0.00
+95.95
+SELECT c1 FROM t5 WHERE c1 < '1' ORDER BY c1;
+c1
+-10.10
+0.00
+SELECT c1 FROM t5 WHERE c1 > '0' ORDER BY c1;
+c1
+1.00
+95.95
+DROP TABLE t5;
+CREATE TABLE t5(c1 TINYINT PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (95), (10),(11),(-8);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-8
+10
+11
+95
+SELECT c1 FROM t5 WHERE c1 = '10' ORDER BY c1;
+c1
+10
+SELECT c1 FROM t5 WHERE c1 <=> '10' ORDER BY c1;
+c1
+10
+SELECT c1 FROM t5 WHERE c1 >= '95' ORDER BY c1;
+c1
+95
+SELECT c1 FROM t5 WHERE c1 <= '11' ORDER BY c1;
+c1
+-8
+10
+11
+SELECT c1 FROM t5 WHERE c1 != '-8' ORDER BY c1;
+c1
+10
+11
+95
+SELECT c1 FROM t5 WHERE c1 < '11' ORDER BY c1;
+c1
+-8
+10
+SELECT c1 FROM t5 WHERE c1 > '10' ORDER BY c1;
+c1
+11
+95
+DROP TABLE t5;
+CREATE TABLE t5(c1 SMALLINT PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (395), (-200), (100), (111);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-200
+100
+111
+395
+SELECT c1 FROM t5 WHERE c1 = '100' ORDER BY c1;
+c1
+100
+SELECT c1 FROM t5 WHERE c1 <=> '100' ORDER BY c1;
+c1
+100
+SELECT c1 FROM t5 WHERE c1 >= '395' ORDER BY c1;
+c1
+395
+SELECT c1 FROM t5 WHERE c1 <= '-200' ORDER BY c1;
+c1
+-200
+SELECT c1 FROM t5 WHERE c1 != '100' ORDER BY c1;
+c1
+-200
+111
+395
+SELECT c1 FROM t5 WHERE c1 < '111' ORDER BY c1;
+c1
+-200
+100
+SELECT c1 FROM t5 WHERE c1 > '111' ORDER BY c1;
+c1
+395
+DROP TABLE t5;
+CREATE TABLE t5(c1 MEDIUMINT PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (-8388607), (311),(215),(88608);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-8388607
+215
+311
+88608
+SELECT c1 FROM t5 WHERE c1 = '311' ORDER BY c1;
+c1
+311
+SELECT c1 FROM t5 WHERE c1 <=> '311' ORDER BY c1;
+c1
+311
+SELECT c1 FROM t5 WHERE c1 >= '215' ORDER BY c1;
+c1
+215
+311
+88608
+SELECT c1 FROM t5 WHERE c1 <= '88608' ORDER BY c1;
+c1
+-8388607
+215
+311
+88608
+SELECT c1 FROM t5 WHERE c1 != '-8388607' ORDER BY c1;
+c1
+215
+311
+88608
+SELECT c1 FROM t5 WHERE c1 < '215' ORDER BY c1;
+c1
+-8388607
+SELECT c1 FROM t5 WHERE c1 > '215' ORDER BY c1;
+c1
+311
+88608
+DROP TABLE t5;
+CREATE TABLE t5(c1 INT PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (-2147483647), (1011),(15),(9388607);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-2147483647
+15
+1011
+9388607
+SELECT c1 FROM t5 WHERE c1 = '9388607' ORDER BY c1;
+c1
+9388607
+SELECT c1 FROM t5 WHERE c1 <=> '9388607' ORDER BY c1;
+c1
+9388607
+SELECT c1 FROM t5 WHERE c1 >= '15' ORDER BY c1;
+c1
+15
+1011
+9388607
+SELECT c1 FROM t5 WHERE c1 <= '1011' ORDER BY c1;
+c1
+-2147483647
+15
+1011
+SELECT c1 FROM t5 WHERE c1 != '-2147483647' ORDER BY c1;
+c1
+15
+1011
+9388607
+SELECT c1 FROM t5 WHERE c1 < '15' ORDER BY c1;
+c1
+-2147483647
+SELECT c1 FROM t5 WHERE c1 > '15' ORDER BY c1;
+c1
+1011
+9388607
+DROP TABLE t5;
+CREATE TABLE t5(c1 BIGINT PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (-9223372036854775807), (12011),(500),(3372036854775808);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-9223372036854775807
+500
+12011
+3372036854775808
+SELECT c1 FROM t5 WHERE c1 = '-9223372036854775807' ORDER BY c1;
+c1
+-9223372036854775807
+SELECT c1 FROM t5 WHERE c1 <=> '-9223372036854775807' ORDER BY c1;
+c1
+-9223372036854775807
+SELECT c1 FROM t5 WHERE c1 >= '12011' ORDER BY c1;
+c1
+12011
+3372036854775808
+SELECT c1 FROM t5 WHERE c1 <= '500' ORDER BY c1;
+c1
+-9223372036854775807
+500
+SELECT c1 FROM t5 WHERE c1 != '3372036854775808' ORDER BY c1;
+c1
+-9223372036854775807
+500
+12011
+SELECT c1 FROM t5 WHERE c1 < '12011' ORDER BY c1;
+c1
+-9223372036854775807
+500
+SELECT c1 FROM t5 WHERE c1 > '12011' ORDER BY c1;
+c1
+3372036854775808
+DROP TABLE t5;
+CREATE TABLE t5(c1 DOUBLE(5,2) PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (95.95), (11.11),(5),(-908.92);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 = '11.11' ORDER BY c1;
+c1
+11.11
+SELECT c1 FROM t5 WHERE c1 <=> '11.11' ORDER BY c1;
+c1
+11.11
+SELECT c1 FROM t5 WHERE c1 >= '5' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 <= '95.95' ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 != '-908.92' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 < '95.95' ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+SELECT c1 FROM t5 WHERE c1 > '-908.92' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+DROP TABLE t5;
+CREATE TABLE t5(c1 NUMERIC(5,2) PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (95.95), (11.11),(5),(-908.92);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 = '11.11' ORDER BY c1;
+c1
+11.11
+SELECT c1 FROM t5 WHERE c1 <=> '11.11' ORDER BY c1;
+c1
+11.11
+SELECT c1 FROM t5 WHERE c1 >= '5' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 <= '95.95' ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 != '-908.92' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 < '95.95' ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+SELECT c1 FROM t5 WHERE c1 > '-908.92' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+DROP TABLE t5;
+CREATE TABLE t5(c1 DECIMAL(5,2) PRIMARY KEY) ENGINE = <default_engine>;
+INSERT INTO t5 VALUES (95.95), (11.11),(5),(-908.92);
+SELECT c1 FROM t5 ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 = '11.11' ORDER BY c1;
+c1
+11.11
+SELECT c1 FROM t5 WHERE c1 <=> '11.11' ORDER BY c1;
+c1
+11.11
+SELECT c1 FROM t5 WHERE c1 >= '5' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 <= '95.95' ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 != '-908.92' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+SELECT c1 FROM t5 WHERE c1 < '95.95' ORDER BY c1;
+c1
+-908.92
+5.00
+11.11
+SELECT c1 FROM t5 WHERE c1 > '-908.92' ORDER BY c1;
+c1
+5.00
+11.11
+95.95
+DROP TABLE t5;
diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result
index 0040221884e..1caf9be8ac2 100644
--- a/mysql-test/r/index_merge_myisam.result
+++ b/mysql-test/r/index_merge_myisam.result
@@ -1156,6 +1156,61 @@ key1 key2 key3
38 38 38
39 39 39
drop table t1;
+#
+# Bug#56423: Different count with SELECT and CREATE SELECT queries
+#
+CREATE TABLE t1 (
+a INT,
+b INT,
+c INT,
+d INT,
+PRIMARY KEY (a),
+KEY (c),
+KEY bd (b,d)
+);
+INSERT INTO t1 VALUES
+(1, 0, 1, 0),
+(2, 1, 1, 1),
+(3, 1, 1, 1),
+(4, 0, 1, 1);
+EXPLAIN
+SELECT a
+FROM t1
+WHERE c = 1 AND b = 1 AND d = 1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ref c,bd bd 10 const,const 2 Using where
+CREATE TABLE t2 ( a INT )
+SELECT a
+FROM t1
+WHERE c = 1 AND b = 1 AND d = 1;
+SELECT * FROM t2;
+a
+2
+3
+DROP TABLE t1, t2;
+CREATE TABLE t1( a INT, b INT, KEY(a), KEY(b) );
+INSERT INTO t1 VALUES (1, 2), (1, 2), (1, 2), (1, 2);
+SELECT * FROM t1 FORCE INDEX(a, b) WHERE a = 1 AND b = 2;
+a b
+1 2
+1 2
+1 2
+1 2
+DROP TABLE t1;
+# Code coverage of fix.
+CREATE TABLE t1 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b INT);
+INSERT INTO t1 (b) VALUES (1);
+UPDATE t1 SET b = 2 WHERE a = 1;
+SELECT * FROM t1;
+a b
+1 2
+CREATE TABLE t2 ( a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b VARCHAR(1) );
+INSERT INTO t2 (b) VALUES ('a');
+UPDATE t2 SET b = 'b' WHERE a = 1;
+SELECT * FROM t2;
+a b
+1 b
+DROP TABLE t1, t2;
#---------------- 2-sweeps read Index merge test 2 -------------------------------
SET SESSION STORAGE_ENGINE = MyISAM;
drop table if exists t1;
diff --git a/mysql-test/r/information_schema-big.result b/mysql-test/r/information_schema-big.result
index 248b8d606dc..92408c439a5 100644
--- a/mysql-test/r/information_schema-big.result
+++ b/mysql-test/r/information_schema-big.result
@@ -30,6 +30,7 @@ FILES TABLE_SCHEMA
GLOBAL_STATUS VARIABLE_NAME
GLOBAL_VARIABLES VARIABLE_NAME
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
+PARAMETERS SPECIFIC_SCHEMA
PARTITIONS TABLE_SCHEMA
PLUGINS PLUGIN_NAME
PROCESSLIST ID
@@ -42,6 +43,7 @@ SESSION_STATUS VARIABLE_NAME
SESSION_VARIABLES VARIABLE_NAME
STATISTICS TABLE_SCHEMA
TABLES TABLE_SCHEMA
+TABLESPACES TABLESPACE_NAME
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
TABLE_PRIVILEGES TABLE_SCHEMA
TRIGGERS TRIGGER_SCHEMA
@@ -74,6 +76,7 @@ FILES TABLE_SCHEMA
GLOBAL_STATUS VARIABLE_NAME
GLOBAL_VARIABLES VARIABLE_NAME
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
+PARAMETERS SPECIFIC_SCHEMA
PARTITIONS TABLE_SCHEMA
PLUGINS PLUGIN_NAME
PROCESSLIST ID
@@ -86,6 +89,7 @@ SESSION_STATUS VARIABLE_NAME
SESSION_VARIABLES VARIABLE_NAME
STATISTICS TABLE_SCHEMA
TABLES TABLE_SCHEMA
+TABLESPACES TABLESPACE_NAME
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
TABLE_PRIVILEGES TABLE_SCHEMA
TRIGGERS TRIGGER_SCHEMA
diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result
index 9ed397bbe1e..c9bac8be27f 100644
--- a/mysql-test/r/information_schema.result
+++ b/mysql-test/r/information_schema.result
@@ -94,6 +94,7 @@ host
plugin
proc
procs_priv
+proxies_priv
servers
slow_log
t1
@@ -696,6 +697,7 @@ Alter_routine_priv select,insert,update,references
max_questions select,insert,update,references
max_connections select,insert,update,references
max_user_connections select,insert,update,references
+authentication_string select,insert,update,references
use test;
create function sub1(i int) returns int
return i+1;
@@ -1770,3 +1772,47 @@ USING (TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME)
WHERE COLUMNS.TABLE_SCHEMA = 'test'
AND COLUMNS.TABLE_NAME = 't1';
TABLE_SCHEMA TABLE_NAME COLUMN_NAME CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME TABLE_CATALOG ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
+#
+# A test case for Bug#56540 "Exception (crash) in sql_show.cc
+# during rqg_info_schema test on Windows"
+# Ensure that we never access memory of a closed table,
+# in particular, never access table->field[] array.
+# Before the fix, the below test case, produced
+# valgrind errors.
+#
+drop table if exists t1;
+drop view if exists v1;
+create table t1 (a int, b int);
+create view v1 as select t1.a, t1.b from t1;
+alter table t1 change b c int;
+lock table t1 read;
+# --> connection con1
+flush tables;
+# --> connection default
+select * from information_schema.views;
+TABLE_CATALOG def
+TABLE_SCHEMA test
+TABLE_NAME v1
+VIEW_DEFINITION select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1`
+CHECK_OPTION NONE
+IS_UPDATABLE
+DEFINER root@localhost
+SECURITY_TYPE DEFINER
+CHARACTER_SET_CLIENT latin1
+COLLATION_CONNECTION latin1_swedish_ci
+Warnings:
+Level Warning
+Code 1356
+Message View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+unlock tables;
+#
+# Cleanup.
+#
+# --> connection con1
+# Reaping 'flush tables'
+# --> connection default
+drop table t1;
+drop view v1;
+#
+# End of 5.5 tests
+#
diff --git a/mysql-test/r/init_file.result b/mysql-test/r/init_file.result
index 43ed908ad01..6394014f3e5 100644
--- a/mysql-test/r/init_file.result
+++ b/mysql-test/r/init_file.result
@@ -21,4 +21,3 @@ y
11
13
drop table t1, t2;
-call mtr.force_restart();
diff --git a/mysql-test/r/innodb_mysql_lock.result b/mysql-test/r/innodb_mysql_lock.result
index bf1c3a89f40..4c7e7f11987 100644
--- a/mysql-test/r/innodb_mysql_lock.result
+++ b/mysql-test/r/innodb_mysql_lock.result
@@ -148,3 +148,27 @@ COMMIT;
# Connection default
DROP TABLE t1, t2;
DROP VIEW v1;
+#
+# Bug#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY
+# KEY NO 0 FOR TABLE IN ERROR LOG
+#
+DROP TABLE IF EXISTS t1;
+# Connection default
+CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1, 12345);
+START TRANSACTION;
+SELECT * FROM t1;
+id value
+1 12345
+# Connection con1
+SET lock_wait_timeout=1;
+ALTER TABLE t1 ADD INDEX idx(value);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+ALTER TABLE t1 ADD INDEX idx(value);
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
+# Connection default
+SELECT * FROM t1;
+id value
+1 12345
+COMMIT;
+DROP TABLE t1;
diff --git a/mysql-test/r/innodb_mysql_sync.result b/mysql-test/r/innodb_mysql_sync.result
index 43a98829d4e..605aaf4df5a 100644
--- a/mysql-test/r/innodb_mysql_sync.result
+++ b/mysql-test/r/innodb_mysql_sync.result
@@ -66,3 +66,123 @@ SELECT ((@id := id) - id) FROM t2;
KILL @id;
SET DEBUG_SYNC= "now SIGNAL killed";
DROP TABLE t1, t2;
+SET DEBUG_SYNC= "RESET";
+#
+# Bug#58933 Assertion `thd- >is_error()' fails on shutdown with ongoing
+# OPTIMIZE TABLE
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+# Connection con1
+SET DEBUG_SYNC= 'ha_admin_open_ltable SIGNAL waiting WAIT_FOR killed';
+# Sending:
+OPTIMIZE TABLE t1;
+# Connection default
+SET DEBUG_SYNC= 'now WAIT_FOR waiting';
+KILL QUERY ID;
+SET DEBUG_SYNC= 'now SIGNAL killed';
+# Connection con1
+# Reaping: OPTIMIZE TABLE t1
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status Operation failed
+# Connection default
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+#
+# Bug#42230 during add index, cannot do queries on storage engines
+# that implement add_index
+#
+DROP DATABASE IF EXISTS db1;
+DROP TABLE IF EXISTS t1;
+# Test 1: Secondary index, should not block reads (original test case).
+# Connection default
+CREATE DATABASE db1;
+CREATE TABLE db1.t1(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT) engine=innodb;
+INSERT INTO db1.t1(value) VALUES (1), (2);
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+# Sending:
+ALTER TABLE db1.t1 ADD INDEX(value);
+# Connection con1
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+USE db1;
+SELECT * FROM t1;
+id value
+1 1
+2 2
+SET DEBUG_SYNC= "now SIGNAL query";
+# Connection default
+# Reaping: ALTER TABLE db1.t1 ADD INDEX(value)
+DROP DATABASE db1;
+# Test 2: Primary index (implicit), should block reads.
+CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+# Sending:
+ALTER TABLE t1 ADD UNIQUE INDEX(a);
+# Connection con1
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+USE test;
+# Sending:
+SELECT * FROM t1;
+# Connection con2
+# Waiting for SELECT to be blocked by the metadata lock on t1
+SET DEBUG_SYNC= "now SIGNAL query";
+# Connection default
+# Reaping: ALTER TABLE t1 ADD UNIQUE INDEX(a)
+# Connection con1
+# Reaping: SELECT * FROM t1
+a b
+# Test 3: Primary index (explicit), should block reads.
+# Connection default
+ALTER TABLE t1 DROP INDEX a;
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+# Sending:
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+# Connection con1
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+# Sending:
+SELECT * FROM t1;
+# Connection con2
+# Waiting for SELECT to be blocked by the metadata lock on t1
+SET DEBUG_SYNC= "now SIGNAL query";
+# Connection default
+# Reaping: ALTER TABLE t1 ADD PRIMARY KEY (a)
+# Connection con1
+# Reaping: SELECT * FROM t1
+a b
+# Test 4: Secondary unique index, should not block reads.
+# Connection default
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+# Sending:
+ALTER TABLE t1 ADD UNIQUE (b);
+# Connection con1
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+SELECT * FROM t1;
+a b
+SET DEBUG_SYNC= "now SIGNAL query";
+# Connection default
+# Reaping: ALTER TABLE t1 ADD UNIQUE (b)
+SET DEBUG_SYNC= "RESET";
+DROP TABLE t1;
+#
+# Bug#11853126 RE-ENABLE CONCURRENT READS WHILE CREATING SECONDARY INDEX
+# IN INNODB
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
+INSERT INTO t1 VALUES (1, 12345), (2, 23456);
+# Connection con1
+SET SESSION debug= "+d,alter_table_rollback_new_index";
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+ERROR HY000: Unknown error
+SELECT * FROM t1;
+a b
+1 12345
+2 23456
+# Connection default
+SELECT * FROM t1;
+a b
+1 12345
+2 23456
+DROP TABLE t1;
diff --git a/mysql-test/r/insert_select.result b/mysql-test/r/insert_select.result
index e6655e155db..538d6ddd0fd 100644
--- a/mysql-test/r/insert_select.result
+++ b/mysql-test/r/insert_select.result
@@ -843,7 +843,7 @@ SET max_heap_table_size = 16384;
SET @old_myisam_data_pointer_size = @@myisam_data_pointer_size;
SET GLOBAL myisam_data_pointer_size = 2;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
-call mtr.add_suppression("mysqld: The table '.*#sql.*' is full");
+call mtr.add_suppression("mysqld.*: The table '.*#sql.*' is full");
INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;
SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size;
DROP TABLE t1;
diff --git a/mysql-test/r/ipv4_as_ipv6.result b/mysql-test/r/ipv4_as_ipv6.result
index 8523dc82f02..82bca393d71 100644
--- a/mysql-test/r/ipv4_as_ipv6.result
+++ b/mysql-test/r/ipv4_as_ipv6.result
@@ -32,9 +32,9 @@ mysqld is alive
CREATE USER testuser@'0:0:0:0:0:FFFF:127.0.0.1' identified by '1234';
GRANT ALL ON test.* TO testuser@'0:0:0:0:0:FFFF:127.0.0.1';
SHOW GRANTS FOR testuser@'0:0:0:0:0:FFFF:127.0.0.1';
-Grants for testuser@0:0:0:0:0:FFFF:127.0.0.1
-GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
-GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:FFFF:127.0.0.1'
+Grants for testuser@0:0:0:0:0:ffff:127.0.0.1
+GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:ffff:127.0.0.1'
SET @nip= inet_aton('0:0:0:0:0:FFFF:127.0.0.1');
SELECT @nip;
@nip
@@ -61,9 +61,9 @@ mysqld is alive
CREATE USER testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' identified by '1234';
GRANT ALL ON test.* TO testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
SHOW GRANTS FOR testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
-Grants for testuser@0000:0000:0000:0000:0000:FFFF:127.0.0.1
-GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
-GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:FFFF:127.0.0.1'
+Grants for testuser@0000:0000:0000:0000:0000:ffff:127.0.0.1
+GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:ffff:127.0.0.1'
SET @nip= inet_aton('0000:0000:0000:0000:0000:FFFF:127.0.0.1');
SELECT @nip;
@nip
@@ -90,9 +90,9 @@ mysqld is alive
CREATE USER testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1' identified by '1234';
GRANT ALL ON test.* TO testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
SHOW GRANTS FOR testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
-Grants for testuser@0:0000:0000:0:0000:FFFF:127.0.0.1
-GRANT USAGE ON *.* TO 'testuser'@'0:0000:0000:0:0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
-GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0000:0000:0:0000:FFFF:127.0.0.1'
+Grants for testuser@0:0000:0000:0:0000:ffff:127.0.0.1
+GRANT USAGE ON *.* TO 'testuser'@'0:0000:0000:0:0000:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0000:0000:0:0000:ffff:127.0.0.1'
SET @nip= inet_aton('0:0000:0000:0:0000:FFFF:127.0.0.1');
SELECT @nip;
@nip
@@ -119,9 +119,9 @@ mysqld is alive
CREATE USER testuser@'0::0000:FFFF:127.0.0.1' identified by '1234';
GRANT ALL ON test.* TO testuser@'0::0000:FFFF:127.0.0.1';
SHOW GRANTS FOR testuser@'0::0000:FFFF:127.0.0.1';
-Grants for testuser@0::0000:FFFF:127.0.0.1
-GRANT USAGE ON *.* TO 'testuser'@'0::0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
-GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0::0000:FFFF:127.0.0.1'
+Grants for testuser@0::0000:ffff:127.0.0.1
+GRANT USAGE ON *.* TO 'testuser'@'0::0000:ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0::0000:ffff:127.0.0.1'
SET @nip= inet_aton('0::0000:FFFF:127.0.0.1');
SELECT @nip;
@nip
@@ -149,9 +149,9 @@ mysqld is alive
CREATE USER testuser@'::FFFF:127.0.0.1' identified by '1234';
GRANT ALL ON test.* TO testuser@'::FFFF:127.0.0.1';
SHOW GRANTS FOR testuser@'::FFFF:127.0.0.1';
-Grants for testuser@::FFFF:127.0.0.1
-GRANT USAGE ON *.* TO 'testuser'@'::FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
-GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::FFFF:127.0.0.1'
+Grants for testuser@::ffff:127.0.0.1
+GRANT USAGE ON *.* TO 'testuser'@'::ffff:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
+GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::ffff:127.0.0.1'
SET @nip= inet_aton('::FFFF:127.0.0.1');
SELECT @nip;
@nip
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index 5e896dc93ed..98735e9b05a 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -1403,6 +1403,247 @@ Warnings:
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on((`test`.`jt6`.`f1` and 1)) left join `test`.`t1` `jt1` on(1) where 1
DROP TABLE t1;
#
+# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
+#
+CREATE TABLE t1 (f1 INT NOT NULL, PRIMARY KEY (f1));
+CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY (f1, f2));
+INSERT INTO t1 VALUES (4);
+INSERT INTO t2 VALUES (3, 3);
+INSERT INTO t2 VALUES (7, 7);
+EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4
+GROUP BY t2.f1, t2.f2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using temporary; Using filesort
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using index
+SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4
+GROUP BY t2.f1, t2.f2;
+f1 f1 f2
+4 NULL NULL
+EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
+GROUP BY t2.f1, t2.f2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index
+SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
+GROUP BY t2.f1, t2.f2;
+f1 f1 f2
+DROP TABLE t1,t2;
+#
+# Bug#57034 incorrect OUTER JOIN result when joined on unique key
+#
+CREATE TABLE t1 (pk INT PRIMARY KEY,
+col_int INT,
+col_int_unique INT UNIQUE KEY);
+INSERT INTO t1 VALUES (1,NULL,2), (2,0,0);
+CREATE TABLE t2 (pk INT PRIMARY KEY,
+col_int INT,
+col_int_unique INT UNIQUE KEY);
+INSERT INTO t2 VALUES (1,0,1), (2,0,2);
+EXPLAIN
+SELECT * FROM t1 LEFT JOIN t2
+ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int
+WHERE t1.pk=1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
+1 SIMPLE t2 const col_int_unique col_int_unique 5 const 1
+SELECT * FROM t1 LEFT JOIN t2
+ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int
+WHERE t1.pk=1;
+pk col_int col_int_unique pk col_int col_int_unique
+1 NULL 2 NULL NULL NULL
+DROP TABLE t1,t2;
+#
+# Bug#48046 Server incorrectly processing JOINs on NULL values
+#
+CREATE TABLE `BB` (
+`pk` int(11) NOT NULL AUTO_INCREMENT,
+`time_key` time DEFAULT NULL,
+`varchar_key` varchar(1) DEFAULT NULL,
+`varchar_nokey` varchar(1) DEFAULT NULL,
+PRIMARY KEY (`pk`),
+KEY `time_key` (`time_key`),
+KEY `varchar_key` (`varchar_key`)
+) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
+INSERT INTO `BB` VALUES (10,'18:27:58',NULL,NULL);
+SELECT table1.time_key AS field1, table2.pk
+FROM BB table1 LEFT JOIN BB table2
+ON table2.varchar_nokey = table1.varchar_key
+HAVING field1;
+field1 pk
+18:27:58 NULL
+DROP TABLE BB;
+#
+# Bug#49600 Server incorrectly processing RIGHT JOIN with
+# constant WHERE clause and no index
+#
+CREATE TABLE `BB` (
+`col_datetime_key` datetime DEFAULT NULL,
+`col_varchar_key` varchar(1) DEFAULT NULL,
+`col_varchar_nokey` varchar(1) DEFAULT NULL,
+KEY `col_datetime_key` (`col_datetime_key`),
+KEY `col_varchar_key` (`col_varchar_key`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO `BB` VALUES ('1900-01-01 00:00:00',NULL,NULL);
+SELECT table1.col_datetime_key
+FROM BB table1 RIGHT JOIN BB table2
+ON table2 .col_varchar_nokey = table1.col_varchar_key
+WHERE 7;
+col_datetime_key
+NULL
+ALTER TABLE BB DISABLE KEYS;
+SELECT table1.col_datetime_key
+FROM BB table1 RIGHT JOIN BB table2
+ON table2 .col_varchar_nokey = table1.col_varchar_key
+WHERE 7;
+col_datetime_key
+NULL
+DROP TABLE BB;
+#
+# Bug#58490: Incorrect result in multi level OUTER JOIN
+# in combination with IS NULL
+#
+CREATE TABLE t1 (i INT NOT NULL);
+INSERT INTO t1 VALUES (0), (2),(3),(4);
+CREATE TABLE t2 (i INT NOT NULL);
+INSERT INTO t2 VALUES (0),(1), (3),(4);
+CREATE TABLE t3 (i INT NOT NULL);
+INSERT INTO t3 VALUES (0),(1),(2), (4);
+CREATE TABLE t4 (i INT NOT NULL);
+INSERT INTO t4 VALUES (0),(1),(2),(3) ;
+SELECT * FROM
+t1 LEFT JOIN
+( t2 LEFT JOIN
+( t3 LEFT JOIN
+t4
+ON t4.i = t3.i
+)
+ON t3.i = t2.i
+)
+ON t2.i = t1.i
+;
+i i i i
+0 0 0 0
+2 NULL NULL NULL
+3 3 NULL NULL
+4 4 4 NULL
+SELECT * FROM
+t1 LEFT JOIN
+( t2 LEFT JOIN
+( t3 LEFT JOIN
+t4
+ON t4.i = t3.i
+)
+ON t3.i = t2.i
+)
+ON t2.i = t1.i
+WHERE t4.i IS NULL;
+i i i i
+2 NULL NULL NULL
+3 3 NULL NULL
+4 4 4 NULL
+SELECT * FROM
+t1 LEFT JOIN
+( ( t2 LEFT JOIN
+t3
+ON t3.i = t2.i
+)
+)
+ON t2.i = t1.i
+WHERE t3.i IS NULL;
+i i i
+2 NULL NULL
+3 3 NULL
+SELECT * FROM
+t1 LEFT JOIN
+( ( t2 LEFT JOIN
+t3
+ON t3.i = t2.i
+)
+JOIN t4
+ON t4.i=t2.i
+)
+ON t2.i = t1.i
+WHERE t3.i IS NULL;
+i i i i
+2 NULL NULL NULL
+3 3 NULL 3
+4 NULL NULL NULL
+SELECT * FROM
+t1 LEFT JOIN
+( ( t2 LEFT JOIN
+t3
+ON t3.i = t2.i
+)
+JOIN (t4 AS t4a JOIN t4 AS t4b ON t4a.i=t4b.i)
+ON t4a.i=t2.i
+)
+ON t2.i = t1.i
+WHERE t3.i IS NULL;
+i i i i i
+2 NULL NULL NULL NULL
+3 3 NULL 3 3
+4 NULL NULL NULL NULL
+SELECT * FROM
+t1 LEFT JOIN
+( ( t2 LEFT JOIN
+t3
+ON t3.i = t2.i
+)
+JOIN (t4 AS t4a, t4 AS t4b)
+ON t4a.i=t2.i
+)
+ON t2.i = t1.i
+WHERE t3.i IS NULL;
+i i i i i
+2 NULL NULL NULL NULL
+3 3 NULL 3 0
+3 3 NULL 3 1
+3 3 NULL 3 2
+3 3 NULL 3 3
+4 NULL NULL NULL NULL
+DROP TABLE t1,t2,t3,t4;
+#
+# Bug#49322(Duplicate): Server is adding extra NULL row
+# on processing a WHERE clause
+#
+CREATE TABLE h (pk INT NOT NULL, col_int_key INT);
+INSERT INTO h VALUES (1,NULL),(4,2),(5,2),(3,4),(2,8);
+CREATE TABLE m (pk INT NOT NULL, col_int_key INT);
+INSERT INTO m VALUES (1,2),(2,7),(3,5),(4,7),(5,5),(6,NULL),(7,NULL),(8,9);
+CREATE TABLE k (pk INT NOT NULL, col_int_key INT);
+INSERT INTO k VALUES (1,9),(2,2),(3,5),(4,2),(5,7),(6,0),(7,5);
+SELECT TABLE1.pk FROM k TABLE1
+RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key
+RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key;
+pk
+2
+4
+2
+4
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+SELECT TABLE1.pk FROM k TABLE1
+RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key
+RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key
+WHERE TABLE1.pk IS NULL;
+pk
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+DROP TABLE h,m,k;
# Bug#49600: outer join of two single-row tables with joining attributes
# evaluated to nulls
create table t1 (a int, b int);
diff --git a/mysql-test/r/join_outer_innodb.result b/mysql-test/r/join_outer_innodb.result
index 56e557ec881..e27139e83e7 100644
--- a/mysql-test/r/join_outer_innodb.result
+++ b/mysql-test/r/join_outer_innodb.result
@@ -17,3 +17,38 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where
DROP TABLE t1,t2;
+#
+# BUG#58456: Assertion 0 in QUICK_INDEX_MERGE_SELECT::need_sorted_output
+# in opt_range.h
+#
+CREATE TABLE t1 (
+col_int INT,
+col_int_key INT,
+pk INT NOT NULL,
+PRIMARY KEY (pk),
+KEY col_int_key (col_int_key)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (NULL,1,1), (6,2,2), (5,3,3), (NULL,4,4);
+INSERT INTO t1 VALUES (1,NULL,6), (8,5,7), (NULL,8,8), (8,NULL,5);
+CREATE TABLE t2 (
+pk INT PRIMARY KEY
+) ENGINE=InnoDB;
+
+EXPLAIN SELECT t1.pk
+FROM t2 LEFT JOIN t1 ON t2.pk = t1.col_int
+WHERE t1.col_int_key BETWEEN 5 AND 6
+AND t1.pk IS NULL OR t1.pk IN (5)
+ORDER BY pk;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const PRIMARY,col_int_key PRIMARY 4 const 2 Using where
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.col_int 1 Using index
+
+SELECT t1.pk
+FROM t2 LEFT JOIN t1 ON t2.pk = t1.col_int
+WHERE t1.col_int_key BETWEEN 5 AND 6
+AND t1.pk IS NULL OR t1.pk IN (5)
+ORDER BY pk;
+pk
+
+DROP TABLE t1,t2;
+# End BUG#58456
diff --git a/mysql-test/r/keywords.result b/mysql-test/r/keywords.result
index 5f338ad6a62..58cb7430563 100644
--- a/mysql-test/r/keywords.result
+++ b/mysql-test/r/keywords.result
@@ -45,3 +45,227 @@ p1
max=1
drop procedure p1;
drop table t1;
+CREATE TABLE slow (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO slow(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO slow(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO slow(slow, general) VALUES (1,2), (5,6);
+INSERT INTO slow(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM slow ORDER BY slow;
+slow general master_heartbeat_period ignore_server_ids
+1 2 3 4
+1 2 3 NULL
+1 2 NULL NULL
+1 NULL NULL NULL
+5 6 7 8
+5 6 7 NULL
+5 6 NULL NULL
+5 NULL NULL NULL
+SELECT slow, general, master_heartbeat_period FROM slow ORDER BY slow;
+slow general master_heartbeat_period
+1 2 3
+1 2 3
+1 2 NULL
+1 NULL NULL
+5 6 7
+5 6 7
+5 6 NULL
+5 NULL NULL
+SELECT slow, master_heartbeat_period FROM slow ORDER BY slow;
+slow master_heartbeat_period
+1 3
+1 3
+1 NULL
+1 NULL
+5 7
+5 7
+5 NULL
+5 NULL
+SELECT slow FROM slow ORDER BY slow;
+slow
+1
+1
+1
+1
+5
+5
+5
+5
+DROP TABLE slow;
+CREATE TABLE general (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO general(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO general(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO general(slow, general) VALUES (1,2), (5,6);
+INSERT INTO general(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM general ORDER BY slow;
+slow general master_heartbeat_period ignore_server_ids
+1 2 3 4
+1 2 3 NULL
+1 2 NULL NULL
+1 NULL NULL NULL
+5 6 7 8
+5 6 7 NULL
+5 6 NULL NULL
+5 NULL NULL NULL
+SELECT slow, general, master_heartbeat_period FROM general ORDER BY slow;
+slow general master_heartbeat_period
+1 2 3
+1 2 3
+1 2 NULL
+1 NULL NULL
+5 6 7
+5 6 7
+5 6 NULL
+5 NULL NULL
+SELECT slow, master_heartbeat_period FROM general ORDER BY slow;
+slow master_heartbeat_period
+1 3
+1 3
+1 NULL
+1 NULL
+5 7
+5 7
+5 NULL
+5 NULL
+SELECT slow FROM general ORDER BY slow;
+slow
+1
+1
+1
+1
+5
+5
+5
+5
+DROP TABLE general;
+CREATE TABLE master_heartbeat_period (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO master_heartbeat_period(slow, general) VALUES (1,2), (5,6);
+INSERT INTO master_heartbeat_period(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM master_heartbeat_period ORDER BY slow;
+slow general master_heartbeat_period ignore_server_ids
+1 2 3 4
+1 2 3 NULL
+1 2 NULL NULL
+1 NULL NULL NULL
+5 6 7 8
+5 6 7 NULL
+5 6 NULL NULL
+5 NULL NULL NULL
+SELECT slow, general, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
+slow general master_heartbeat_period
+1 2 3
+1 2 3
+1 2 NULL
+1 NULL NULL
+5 6 7
+5 6 7
+5 6 NULL
+5 NULL NULL
+SELECT slow, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
+slow master_heartbeat_period
+1 3
+1 3
+1 NULL
+1 NULL
+5 7
+5 7
+5 NULL
+5 NULL
+SELECT slow FROM master_heartbeat_period ORDER BY slow;
+slow
+1
+1
+1
+1
+5
+5
+5
+5
+DROP TABLE master_heartbeat_period;
+CREATE TABLE ignore_server_ids (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO ignore_server_ids(slow, general) VALUES (1,2), (5,6);
+INSERT INTO ignore_server_ids(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM ignore_server_ids ORDER BY slow;
+slow general master_heartbeat_period ignore_server_ids
+1 2 3 4
+1 2 3 NULL
+1 2 NULL NULL
+1 NULL NULL NULL
+5 6 7 8
+5 6 7 NULL
+5 6 NULL NULL
+5 NULL NULL NULL
+SELECT slow, general, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
+slow general master_heartbeat_period
+1 2 3
+1 2 3
+1 2 NULL
+1 NULL NULL
+5 6 7
+5 6 7
+5 6 NULL
+5 NULL NULL
+SELECT slow, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
+slow master_heartbeat_period
+1 3
+1 3
+1 NULL
+1 NULL
+5 7
+5 7
+5 NULL
+5 NULL
+SELECT slow FROM ignore_server_ids ORDER BY slow;
+slow
+1
+1
+1
+1
+5
+5
+5
+5
+DROP TABLE ignore_server_ids;
+CREATE TABLE t1 (slow INT, general INT, ignore_server_ids INT, master_heartbeat_period INT);
+INSERT INTO t1 VALUES (1,2,3,4);
+CREATE PROCEDURE p1()
+BEGIN
+DECLARE slow INT;
+DECLARE general INT;
+DECLARE ignore_server_ids INT;
+DECLARE master_heartbeat_period INT;
+SELECT max(t1.slow) INTO slow FROM t1;
+SELECT max(t1.general) INTO general FROM t1;
+SELECT max(t1.ignore_server_ids) INTO ignore_server_ids FROM t1;
+SELECT max(t1.master_heartbeat_period) INTO master_heartbeat_period FROM t1;
+SELECT slow, general, ignore_server_ids, master_heartbeat_period;
+END|
+CREATE PROCEDURE p2()
+BEGIN
+DECLARE n INT DEFAULT 2;
+general: WHILE n > 0 DO
+SET n = n -1;
+END WHILE general;
+SET n = 2;
+slow: WHILE n > 0 DO
+SET n = n -1;
+END WHILE slow;
+SET n = 2;
+ignore_server_ids: WHILE n > 0 DO
+SET n = n -1;
+END WHILE ignore_server_ids;
+SET n = 2;
+master_heartbeat_period: WHILE n > 0 DO
+SET n = n -1;
+END WHILE master_heartbeat_period;
+END|
+CALL p1();
+slow general ignore_server_ids master_heartbeat_period
+1 2 3 4
+call p2();
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP TABLE t1;
diff --git a/mysql-test/r/kill.result b/mysql-test/r/kill.result
index 1f4f4bb32eb..964f2947f6a 100644
--- a/mysql-test/r/kill.result
+++ b/mysql-test/r/kill.result
@@ -1,143 +1,178 @@
-set @old_concurrent_insert= @@global.concurrent_insert;
-set @@global.concurrent_insert= 0;
-drop table if exists t1, t2, t3;
-create table t1 (kill_id int);
-insert into t1 values(connection_id());
-select ((@id := kill_id) - kill_id) from t1;
-((@id := kill_id) - kill_id)
-0
-kill @id;
-select ((@id := kill_id) - kill_id) from t1;
-((@id := kill_id) - kill_id)
-0
-select @id != connection_id();
-@id != connection_id()
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE IF EXISTS t1, t2, t3;
+DROP FUNCTION IF EXISTS MY_KILL;
+CREATE FUNCTION MY_KILL(tid INT) RETURNS INT
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+KILL tid;
+RETURN (SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = tid);
+END|
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read';
+SET DEBUG_SYNC='now WAIT_FOR con1_read';
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+SET DEBUG_SYNC = 'RESET';
+SELECT 1;
+Got one of the listed errors
+SELECT 1;
+1
1
-select 4;
+SELECT @id != CONNECTION_ID();
+@id != CONNECTION_ID()
+1
+SELECT 4;
4
4
-drop table t1;
-kill (select count(*) from mysql.user);
+KILL (SELECT COUNT(*) FROM mysql.user);
ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement'
-create table t1 (id int primary key);
-create table t2 (id int unsigned not null);
-insert into t2 select id from t1;
-create table t3 (kill_id int);
-insert into t3 values(connection_id());
-select id from t1 where id in (select distinct a.id from t2 a, t2 b, t2 c, t2 d group by a.id, b.id, c.id, d.id having a.id between 10 and 20);
-select ((@id := kill_id) - kill_id) from t3;
-((@id := kill_id) - kill_id)
-0
-kill @id;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read WAIT_FOR kill';
+SET DEBUG_SYNC= 'now WAIT_FOR con1_read';
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+SET DEBUG_SYNC = 'RESET';
+SELECT 1;
Got one of the listed errors
-drop table t1, t2, t3;
-select get_lock("a", 10);
-get_lock("a", 10)
-1
-select get_lock("a", 10);
-get_lock("a", 10)
-NULL
-select 1;
-1
-1
-select RELEASE_LOCK("a");
-RELEASE_LOCK("a")
-1
-create table t1(f1 int);
-create function bug27563() returns int(11)
-deterministic
-begin
-declare continue handler for sqlstate '70100' set @a:= 'killed';
-declare continue handler for sqlexception set @a:= 'exception';
-set @a= get_lock("lock27563", 10);
-return 1;
-end|
-select get_lock("lock27563",10);
-get_lock("lock27563",10)
-1
-insert into t1 values (bug27563());
-ERROR 70100: Query execution was interrupted
-select @a;
-@a
-NULL
-select * from t1;
+SELECT 1;
+1
+1
+SELECT @id != CONNECTION_ID();
+@id != CONNECTION_ID()
+1
+SELECT 4;
+4
+4
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT);
+CREATE TABLE t2 (id INT UNSIGNED NOT NULL);
+INSERT INTO t1 VALUES
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0);
+INSERT t1 SELECT 0 FROM t1 AS a1, t1 AS a2 LIMIT 4032;
+INSERT INTO t2 SELECT id FROM t1;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync';
+SELECT id FROM t1 WHERE id IN
+(SELECT DISTINCT a.id FROM t2 a, t2 b, t2 c, t2 d
+GROUP BY ACOS(1/a.id), b.id, c.id, d.id
+HAVING a.id BETWEEN 10 AND 20);
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL @id;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+Got one of the listed errors
+SELECT 1;
+1
+1
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1, t2;
+SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill';
+SELECT ACOS(0);
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+ACOS(0)
+1.5707963267948966
+SELECT 1;
+1
+1
+SELECT @id = CONNECTION_ID();
+@id = CONNECTION_ID()
+1
+SET DEBUG_SYNC = 'RESET';
+CREATE TABLE t1 (f1 INT);
+CREATE FUNCTION bug27563() RETURNS INT(11)
+DETERMINISTIC
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLSTATE '70100' SET @a:= 'killed';
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @a:= 'exception';
+SET DEBUG_SYNC= 'now SIGNAL in_sync WAIT_FOR kill';
+RETURN 1;
+END|
+INSERT INTO t1 VALUES (bug27563());
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
f1
-insert into t1 values(0);
-update t1 set f1= bug27563();
+SET DEBUG_SYNC = 'RESET';
+INSERT INTO t1 VALUES(0);
+UPDATE t1 SET f1= bug27563();
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
ERROR 70100: Query execution was interrupted
-select @a;
-@a
-NULL
-select * from t1;
+SELECT * FROM t1;
f1
0
-insert into t1 values(1);
-delete from t1 where bug27563() is null;
+SET DEBUG_SYNC = 'RESET';
+INSERT INTO t1 VALUES(1);
+DELETE FROM t1 WHERE bug27563() IS NULL;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
ERROR 70100: Query execution was interrupted
-select @a;
-@a
-NULL
-select * from t1;
+SELECT * FROM t1;
f1
0
1
-select * from t1 where f1= bug27563();
-ERROR 70100: Query execution was interrupted
-select @a;
-@a
-NULL
-create procedure proc27563()
-begin
-declare continue handler for sqlstate '70100' set @a:= 'killed';
-declare continue handler for sqlexception set @a:= 'exception';
-select get_lock("lock27563",10);
-select "shouldn't be selected";
-end|
-call proc27563();
-get_lock("lock27563",10)
-NULL
-ERROR 70100: Query execution was interrupted
-select @a;
-@a
-NULL
-create table t2 (f2 int);
-create trigger trg27563 before insert on t1 for each row
-begin
-declare continue handler for sqlstate '70100' set @a:= 'killed';
-declare continue handler for sqlexception set @a:= 'exception';
-set @a:= get_lock("lock27563",10);
-insert into t2 values(1);
-end|
-insert into t1 values(2),(3);
-ERROR 70100: Query execution was interrupted
-select @a;
-@a
-NULL
-select * from t1;
+SET DEBUG_SYNC = 'RESET';
+SELECT * FROM t1 WHERE f1= bug27563();
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
f1
0
1
-select * from t2;
-f2
-select release_lock("lock27563");
-release_lock("lock27563")
+SET DEBUG_SYNC = 'RESET';
+DROP FUNCTION bug27563;
+CREATE TABLE t2 (f2 INT);
+CREATE TRIGGER trg27563 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLSTATE '70100' SET @a:= 'killed';
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @a:= 'exception';
+INSERT INTO t2 VALUES(0);
+SET DEBUG_SYNC= 'now SIGNAL in_sync WAIT_FOR kill';
+INSERT INTO t2 VALUES(1);
+END|
+INSERT INTO t1 VALUES(2),(3);
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
+f1
+0
1
-drop table t1, t2;
-drop function bug27563;
-drop procedure proc27563;
+SELECT * FROM t2;
+f2
+0
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1, t2;
+SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync';
PREPARE stmt FROM 'EXPLAIN SELECT * FROM t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40 WHERE a1=a2 AND a2=a3 AND a3=a4 AND a4=a5 AND a5=a6 AND a6=a7 AND a7=a8 AND a8=a9 AND a9=a10 AND a10=a11 AND a11=a12 AND a12=a13 AND a13=a14 AND a14=a15 AND a15=a16 AND a16=a17 AND a17=a18 AND a18=a19 AND a19=a20 AND a20=a21 AND a21=a22 AND a22=a23 AND a23=a24 AND a24=a25 AND a25=a26 AND a26=a27 AND a27=a28 AND a28=a29 AND a29=a30 AND a30=a31 AND a31=a32 AND a32=a33 AND a33=a34 AND a34=a35 AND a35=a36 AND a36=a37 AND a37=a38 AND a38=a39 AND a39=a40 ';
EXECUTE stmt;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+ERROR 70100: Query execution was interrupted
+SET DEBUG_SYNC = 'RESET';
#
# Bug#19723: kill of active connection yields different error code
# depending on platform.
#
-# Connection: con2.
-KILL CONNECTION_ID();
-# CR_SERVER_LOST, CR_SERVER_GONE_ERROR, depending on the timing
-# of close of the connection socket
+# Connection: con1.
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+KILL @id;
+ERROR 70100: Query execution was interrupted
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+# ER_SERVER_SHUTDOWN, CR_SERVER_GONE_ERROR, CR_SERVER_LOST,
+# depending on the timing of close of the connection socket
SELECT 1;
Got one of the listed errors
+SELECT 1;
+1
+1
+SELECT @id != CONNECTION_ID();
+@id != CONNECTION_ID()
+1
+SET DEBUG_SYNC = 'RESET';
#
# Additional test for WL#3726 "DDL locking for all metadata objects"
# Check that DDL and DML statements waiting for metadata locks can
@@ -208,13 +243,11 @@ ERROR 70100: Query execution was interrupted
# Test for DML waiting for meta-data lock
# Switching to connection 'blocker'
unlock tables;
-drop table t2;
-create table t2 (k int);
lock tables t1 read;
# Switching to connection 'ddl'
-rename tables t1 to t3, t2 to t1;
+truncate table t1;
# Switching to connection 'dml'
-insert into t2 values (1);
+insert into t1 values (1);
# Switching to connection 'default'
kill query ID2;
# Switching to connection 'dml'
@@ -239,6 +272,7 @@ unlock tables;
# Switching to connection 'ddl'
# Cleanup.
# Switching to connection 'default'
-drop table t3;
drop table t1;
-set @@global.concurrent_insert= @old_concurrent_insert;
+drop table t2;
+SET DEBUG_SYNC = 'RESET';
+DROP FUNCTION MY_KILL;
diff --git a/mysql-test/r/loaddata.result b/mysql-test/r/loaddata.result
index 1c59f41cfc0..c4c8216c14a 100644
--- a/mysql-test/r/loaddata.result
+++ b/mysql-test/r/loaddata.result
@@ -532,4 +532,20 @@ a
0
1
DROP TABLE t1;
+#
+# Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U
+#
+CREATE TABLE t1(f1 INT);
+SELECT 0xE1BB30 INTO OUTFILE 't1.dat';
+LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8;
+DROP TABLE t1;
+#
+# Bug#11765141 - 58072: LOAD DATA INFILE: LEAKS IO CACHE MEMORY
+# WHEN ERROR OCCURS
+#
+SELECT '1\n' INTO DUMPFILE 'MYSQLTEST_VARDIR/tmp/bug11735141.txt';
+create table t1(a point);
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug11735141.txt' INTO TABLE t1;
+ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
+drop table t1;
End of 5.1 tests
diff --git a/mysql-test/r/lock_multi.result b/mysql-test/r/lock_multi.result
index 99e1f54e762..1a8ef2deefd 100644
--- a/mysql-test/r/lock_multi.result
+++ b/mysql-test/r/lock_multi.result
@@ -430,6 +430,8 @@ SELECT table_name, table_comment FROM information_schema.tables
WHERE table_schema= 'test' AND table_name= 't1';
table_name table_comment
t1 Lock wait timeout exceeded; try restarting transaction
+Warnings:
+Warning 1205 Lock wait timeout exceeded; try restarting transaction
# Connection default
UNLOCK TABLES;
# Connection con3
diff --git a/mysql-test/r/lock_sync.result b/mysql-test/r/lock_sync.result
index 3682f0df26a..8fe94679e70 100644
--- a/mysql-test/r/lock_sync.result
+++ b/mysql-test/r/lock_sync.result
@@ -704,3 +704,72 @@ SET DEBUG_SYNC="now SIGNAL query";
# Connection default
DROP EVENT e2;
SET DEBUG_SYNC="RESET";
+#
+# Bug#55930 Assertion `thd->transaction.stmt.is_empty() ||
+# thd->in_sub_stmt || (thd->state..
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a INT) engine=InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+# Connection con1
+SET SESSION lock_wait_timeout= 1;
+SET DEBUG_SYNC= 'ha_admin_open_ltable SIGNAL opti_recreate WAIT_FOR opti_analyze';
+# Sending:
+OPTIMIZE TABLE t1;
+# Connection con2
+SET DEBUG_SYNC= 'now WAIT_FOR opti_recreate';
+SET DEBUG_SYNC= 'after_lock_tables_takes_lock SIGNAL thrlock WAIT_FOR release_thrlock';
+# Sending:
+INSERT INTO t1 VALUES (3);
+# Connection default
+SET DEBUG_SYNC= 'now WAIT_FOR thrlock';
+SET DEBUG_SYNC= 'now SIGNAL opti_analyze';
+# Connection con1
+# Reaping: OPTIMIZE TABLE t1
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize error Lock wait timeout exceeded; try restarting transaction
+test.t1 optimize status Operation failed
+Warnings:
+Error 1205 Lock wait timeout exceeded; try restarting transaction
+SET DEBUG_SYNC= 'now SIGNAL release_thrlock';
+# Connection con2
+# Reaping: INSERT INTO t1 VALUES (3)
+# Connection default
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+#
+# Bug#57130 crash in Item_field::print during SHOW CREATE TABLE or VIEW
+#
+DROP TABLE IF EXISTS t1;
+DROP VIEW IF EXISTS v1;
+DROP FUNCTION IF EXISTS f1;
+CREATE TABLE t1(a INT);
+CREATE FUNCTION f1() RETURNS INTEGER RETURN 1;
+CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1() = 1;
+DROP FUNCTION f1;
+# Connection con1
+SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped EXECUTE 2';
+# Sending:
+SHOW CREATE VIEW v1;
+# Connection con2
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+SET DEBUG_SYNC= 'now SIGNAL dropped';
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+# Sending:
+FLUSH TABLES;
+# Connection default
+# Waiting for FLUSH TABLES to be blocked.
+SET DEBUG_SYNC= 'now SIGNAL dropped';
+# Connection con1
+# Reaping: SHOW CREATE VIEW v1
+View Create View character_set_client collation_connection
+v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`f1`() = 1) latin1 latin1_swedish_ci
+Warnings:
+Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+# Connection con2
+# Reaping: FLUSH TABLES
+# Connection default
+SET DEBUG_SYNC= 'RESET';
+DROP VIEW v1;
+DROP TABLE t1;
diff --git a/mysql-test/r/log_tables.result b/mysql-test/r/log_tables.result
index 1666d5e0297..f64894c9f10 100644
--- a/mysql-test/r/log_tables.result
+++ b/mysql-test/r/log_tables.result
@@ -896,6 +896,16 @@ TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1
TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2
DROP TABLE t1;
TRUNCATE TABLE mysql.slow_log;
+use mysql;
+drop table if exists renamed_general_log;
+drop table if exists renamed_slow_log;
+RENAME TABLE general_log TO renamed_general_log;
+ERROR HY000: Cannot rename 'general_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'general_log'
+RENAME TABLE slow_log TO renamed_slow_log;
+ERROR HY000: Cannot rename 'slow_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'slow_log'
+use test;
+flush tables with read lock;
+unlock tables;
SET @@session.long_query_time= @old_long_query_time;
SET @@global.log_output= @old_log_output;
SET @@global.slow_query_log= @old_slow_query_log;
diff --git a/mysql-test/r/log_tables_upgrade.result b/mysql-test/r/log_tables_upgrade.result
index 850bdf5c2bd..5ed59eecc31 100644
--- a/mysql-test/r/log_tables_upgrade.result
+++ b/mysql-test/r/log_tables_upgrade.result
@@ -32,6 +32,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.renamed_general_log OK
mysql.servers OK
mysql.tables_priv OK
diff --git a/mysql-test/r/lowercase_fs_off.result b/mysql-test/r/lowercase_fs_off.result
index 30f835a8ea3..c3284b225dd 100644
--- a/mysql-test/r/lowercase_fs_off.result
+++ b/mysql-test/r/lowercase_fs_off.result
@@ -55,3 +55,11 @@ DROP USER user_1@localhost;
DROP USER USER_1@localhost;
DROP DATABASE db1;
use test;
+#
+# Extra test coverage for Bug#56595 RENAME TABLE causes assert on OS X
+#
+CREATE TABLE t1(a INT);
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a= 1;
+RENAME TABLE t1 TO T1;
+ALTER TABLE T1 RENAME t1;
+DROP TABLE t1;
diff --git a/mysql-test/r/lowercase_table2.result b/mysql-test/r/lowercase_table2.result
index caee7a7662b..abd16641b56 100644
--- a/mysql-test/r/lowercase_table2.result
+++ b/mysql-test/r/lowercase_table2.result
@@ -175,6 +175,35 @@ TABLE_SCHEMA TABLE_NAME
mysqltest_lc2 myUC
use test;
drop database mysqltest_LC2;
+#
+# Bug #11758687: 50924: object names not resolved correctly
+# on lctn2 systems
+#
+CREATE DATABASE BUP_XPFM_COMPAT_DB2;
+CREATE TABLE BUP_XPFM_COMPAT_DB2.TABLE2 (c13 INT) DEFAULT CHARSET latin1;
+CREATE TABLE BUP_XPFM_COMPAT_DB2.table1 (c13 INT) DEFAULT CHARSET latin1;
+CREATE TABLE bup_xpfm_compat_db2.table3 (c13 INT) DEFAULT CHARSET latin1;
+CREATE TRIGGER BUP_XPFM_COMPAT_DB2.trigger1 AFTER INSERT
+ON BUP_XPFM_COMPAT_DB2.table1 FOR EACH ROW
+update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
+|
+CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TRIGGER2 AFTER INSERT
+ON BUP_XPFM_COMPAT_DB2.TABLE2 FOR EACH ROW
+update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
+|
+CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TrigGer3 AFTER INSERT
+ON BUP_XPFM_COMPAT_DB2.TaBle3 FOR EACH ROW
+update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
+|
+SELECT trigger_schema, trigger_name, event_object_table FROM
+INFORMATION_SCHEMA.TRIGGERS
+WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
+ ORDER BY trigger_schema, trigger_name;
+trigger_schema trigger_name event_object_table
+BUP_XPFM_COMPAT_DB2 trigger1 table1
+BUP_XPFM_COMPAT_DB2 TRIGGER2 TABLE2
+BUP_XPFM_COMPAT_DB2 TrigGer3 table3
+DROP DATABASE BUP_XPFM_COMPAT_DB2;
# End of 5.1 tests
#
# Test for bug #44738 "fill_schema_table_from_frm() opens tables without
diff --git a/mysql-test/r/lowercase_table4.result b/mysql-test/r/lowercase_table4.result
new file mode 100755
index 00000000000..f896b9008e3
--- /dev/null
+++ b/mysql-test/r/lowercase_table4.result
@@ -0,0 +1,115 @@
+#
+# Bug#46941 crash with lower_case_table_names=2 and
+# foreign data dictionary confusion
+#
+CREATE DATABASE XY;
+USE XY;
+DROP DATABASE XY;
+USE TEST;
+#
+# Bug55222 Mysqldump table names case bug in REFERENCES clause
+# InnoDB did not handle lower_case_table_names=2 for
+# foreign_table_names and referenced_table_names.
+#
+SHOW VARIABLES LIKE 'lower_case_table_names';
+Variable_name Value
+lower_case_table_names 2
+DROP TABLE IF EXISTS `Table2`;
+DROP TABLE IF EXISTS `Table1`;
+CREATE TABLE `Table1`(c1 INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE `Table2`(c1 INT PRIMARY KEY, c2 INT) ENGINE=InnoDB;
+ALTER TABLE `Table2` ADD CONSTRAINT fk1 FOREIGN KEY(c2) REFERENCES `Table1`(c1);
+SHOW CREATE TABLE `Table2`;
+Table Table2
+Create Table CREATE TABLE `Table2` (
+ `c1` int(11) NOT NULL,
+ `c2` int(11) DEFAULT NULL,
+ PRIMARY KEY (`c1`),
+ KEY `fk1` (`c2`),
+ CONSTRAINT `fk1` FOREIGN KEY (`c2`) REFERENCES `Table1` (`c1`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+CONSTRAINT_CATALOG def
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME fk1
+UNIQUE_CONSTRAINT_CATALOG def
+UNIQUE_CONSTRAINT_SCHEMA test
+UNIQUE_CONSTRAINT_NAME PRIMARY
+MATCH_OPTION NONE
+UPDATE_RULE RESTRICT
+DELETE_RULE RESTRICT
+TABLE_NAME Table2
+REFERENCED_TABLE_NAME Table1
+DROP TABLE `Table2`;
+DROP TABLE `Table1`;
+DROP TABLE IF EXISTS Product_Order;
+DROP TABLE IF EXISTS Product;
+DROP TABLE IF EXISTS Customer;
+CREATE TABLE Product (Category INT NOT NULL, Id INT NOT NULL,
+Price DECIMAL, PRIMARY KEY(Category, Id)) ENGINE=InnoDB;
+CREATE TABLE Customer (Id INT NOT NULL, PRIMARY KEY (Id)) ENGINE=InnoDB;
+CREATE TABLE Product_Order (No INT NOT NULL AUTO_INCREMENT,
+Product_Category INT NOT NULL,
+Product_Id INT NOT NULL,
+Customer_Id INT NOT NULL,
+PRIMARY KEY(No),
+INDEX (Product_Category, Product_Id),
+FOREIGN KEY (Product_Category, Product_Id)
+REFERENCES Product(Category, Id) ON UPDATE CASCADE ON DELETE RESTRICT,
+INDEX (Customer_Id),
+FOREIGN KEY (Customer_Id)
+REFERENCES Customer(Id)
+) ENGINE=INNODB;
+SHOW CREATE TABLE Product_Order;
+Table Product_Order
+Create Table CREATE TABLE `Product_Order` (
+ `No` int(11) NOT NULL AUTO_INCREMENT,
+ `Product_Category` int(11) NOT NULL,
+ `Product_Id` int(11) NOT NULL,
+ `Customer_Id` int(11) NOT NULL,
+ PRIMARY KEY (`No`),
+ KEY `Product_Category` (`Product_Category`,`Product_Id`),
+ KEY `Customer_Id` (`Customer_Id`),
+ CONSTRAINT `product_order_ibfk_1` FOREIGN KEY (`Product_Category`, `Product_Id`) REFERENCES `Product` (`Category`, `Id`) ON UPDATE CASCADE,
+ CONSTRAINT `product_order_ibfk_2` FOREIGN KEY (`Customer_Id`) REFERENCES `Customer` (`Id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE Product;
+Table Product
+Create Table CREATE TABLE `Product` (
+ `Category` int(11) NOT NULL,
+ `Id` int(11) NOT NULL,
+ `Price` decimal(10,0) DEFAULT NULL,
+ PRIMARY KEY (`Category`,`Id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SHOW CREATE TABLE Customer;
+Table Customer
+Create Table CREATE TABLE `Customer` (
+ `Id` int(11) NOT NULL,
+ PRIMARY KEY (`Id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+CONSTRAINT_CATALOG def
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME product_order_ibfk_1
+UNIQUE_CONSTRAINT_CATALOG def
+UNIQUE_CONSTRAINT_SCHEMA test
+UNIQUE_CONSTRAINT_NAME PRIMARY
+MATCH_OPTION NONE
+UPDATE_RULE CASCADE
+DELETE_RULE RESTRICT
+TABLE_NAME Product_Order
+REFERENCED_TABLE_NAME Product
+CONSTRAINT_CATALOG def
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME product_order_ibfk_2
+UNIQUE_CONSTRAINT_CATALOG def
+UNIQUE_CONSTRAINT_SCHEMA test
+UNIQUE_CONSTRAINT_NAME PRIMARY
+MATCH_OPTION NONE
+UPDATE_RULE RESTRICT
+DELETE_RULE RESTRICT
+TABLE_NAME Product_Order
+REFERENCED_TABLE_NAME Customer
+DROP TABLE Product_Order;
+DROP TABLE Product;
+DROP TABLE Customer;
diff --git a/mysql-test/r/mdl_sync.result b/mysql-test/r/mdl_sync.result
index d484ab77701..b2e71faf741 100644
--- a/mysql-test/r/mdl_sync.result
+++ b/mysql-test/r/mdl_sync.result
@@ -2322,6 +2322,8 @@ select table_name, table_type, auto_increment, table_comment
from information_schema.tables where table_schema='test' and table_name='t2';
table_name table_type auto_increment table_comment
t2 BASE TABLE NULL Table 'test'.'t2' was skipped since its definition is being modified by concurrent DDL statement
+Warnings:
+Warning 1684 Table 'test'.'t2' was skipped since its definition is being modified by concurrent DDL statement
# Switching to connection 'default'.
unlock tables;
# Switching to connection 'con46044'.
@@ -2471,7 +2473,7 @@ CREATE PROCEDURE p1() SELECT 1;
SET DEBUG_SYNC= 'now WAIT_FOR table_opened';
# Check that FLUSH must wait to get the GRL
# and let CREATE PROCEDURE continue
-SET DEBUG_SYNC= 'wait_lock_global_read_lock SIGNAL grlwait';
+SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL grlwait';
FLUSH TABLES WITH READ LOCK;
# Connection 1
# Connection 2
@@ -2486,10 +2488,17 @@ DROP PROCEDURE p1;
SET DEBUG_SYNC= 'now WAIT_FOR table_opened';
# Check that FLUSH must wait to get the GRL
# and let DROP PROCEDURE continue
-SET DEBUG_SYNC= 'wait_lock_global_read_lock SIGNAL grlwait';
+SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL grlwait';
FLUSH TABLES WITH READ LOCK;
# Connection 1
+# Once FLUSH TABLES WITH READ LOCK starts waiting
+# DROP PROCEDURE will be waked up and will drop
+# procedure. Global read lock will be granted after
+# this statement ends.
+#
+# Reaping DROP PROCEDURE.
# Connection 2
+# Reaping FTWRL.
UNLOCK TABLES;
# Connection 1
SET DEBUG_SYNC= 'RESET';
@@ -2632,7 +2641,8 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1),(2),(3);
# Connection: con1
-SET debug_sync='lock_table_for_truncate SIGNAL parked_truncate WAIT_FOR go_truncate';
+LOCK TABLES t1 WRITE;
+SET debug_sync='upgrade_lock_for_truncate SIGNAL parked_truncate WAIT_FOR go_truncate';
TRUNCATE TABLE t1;
# Connection: default
SET debug_sync='now WAIT_FOR parked_truncate';
@@ -2647,10 +2657,11 @@ FLUSH TABLES t1;
# Connection: default
SET debug_sync='now WAIT_FOR parked_flush';
SET debug_sync='now SIGNAL go_truncate';
-# Connection: con1
-# Reaping...
-# Connection: default
+# Ensure that truncate waits for a exclusive lock
SET debug_sync= 'now SIGNAL go_show';
+# Connection: con1 (TRUNCATE)
+# Reaping...
+UNLOCK TABLES;
# Connection: con2 (SHOW FIELDS FROM t1)
# Reaping...
Field Type Null Key Default Extra
@@ -2913,3 +2924,41 @@ UNLOCK TABLES;
# Connection default
UNLOCK TABLES;
DROP DATABASE db1;
+#
+# Bug#56292 Deadlock with ALTER TABLE and MERGE tables
+#
+DROP TABLE IF EXISTS t1, t2, m1;
+CREATE TABLE t1(a INT) engine=MyISAM;
+CREATE TABLE t2(a INT) engine=MyISAM;
+CREATE TABLE m1(a INT) engine=MERGE UNION=(t1, t2);
+INSERT INTO t1 VALUES (1), (2);
+INSERT INTO t2 VALUES (3), (4);
+# Connection con1
+SET DEBUG_SYNC= 'mdl_upgrade_shared_lock_to_exclusive SIGNAL upgrade WAIT_FOR continue';
+# Sending:
+ALTER TABLE m1 engine=MERGE UNION=(t2, t1);
+# Connection con2
+# Waiting for ALTER TABLE to try lock upgrade
+SET DEBUG_SYNC= 'now WAIT_FOR upgrade';
+# Sending:
+DELETE FROM t2 WHERE a = 3;
+# Connection default
+# Check that DELETE is waiting on a metadata lock and not a table lock.
+# Now that DELETE blocks on a metadata lock, we should be able to do
+# SELECT * FROM m1 here. SELECT used to be blocked by a DELETE table
+# lock request.
+SELECT * FROM m1;
+a
+1
+2
+3
+4
+# Resuming ALTER TABLE
+SET DEBUG_SYNC= 'now SIGNAL continue';
+# Connection con1
+# Reaping: ALTER TABLE m1 engine=MERGE UNION=(t2, t1)
+# Connection con2
+# Reaping: DELETE FROM t2 WHERE a = 3
+# Connection default
+DROP TABLE m1, t1, t2;
+SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result
index b6ebf5c8c9e..3219f81b125 100644
--- a/mysql-test/r/merge.result
+++ b/mysql-test/r/merge.result
@@ -2080,6 +2080,8 @@ SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE
TABLE_SCHEMA = 'test' and TABLE_NAME='tm1';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
def test tm1 BASE TABLE NULL NULL NULL # # # # # # # # # # NULL # # Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+Warnings:
+Warning 1168 Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
DROP TABLE tm1;
CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM;
CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM;
@@ -2354,6 +2356,48 @@ t2 WHERE b SOUNDS LIKE e AND d = 1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
DROP TABLE t2, t1;
+#
+# Bug#46339 - crash on REPAIR TABLE merge table USE_FRM
+#
+DROP TABLE IF EXISTS m1, t1;
+CREATE TABLE t1 (c1 INT) ENGINE=MYISAM;
+CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1) INSERT_METHOD=LAST;
+LOCK TABLE m1 READ;
+REPAIR TABLE m1 USE_FRM;
+Table Op Msg_type Msg_text
+test.m1 repair Error Table 'm1' was locked with a READ lock and can't be updated
+test.m1 repair status Operation failed
+UNLOCK TABLES;
+REPAIR TABLE m1 USE_FRM;
+Table Op Msg_type Msg_text
+test.m1 repair note The storage engine for the table doesn't support repair
+DROP TABLE m1,t1;
+CREATE TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+REPAIR TABLE m1 USE_FRM;
+Table Op Msg_type Msg_text
+test.m1 repair Warning Can't open table
+test.m1 repair error Corrupt
+CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
+REPAIR TABLE m1 USE_FRM;
+Table Op Msg_type Msg_text
+test.m1 repair note The storage engine for the table doesn't support repair
+REPAIR TABLE m1;
+Table Op Msg_type Msg_text
+test.m1 repair note The storage engine for the table doesn't support repair
+DROP TABLE m1, t1;
+CREATE TEMPORARY TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+REPAIR TABLE m1 USE_FRM;
+Table Op Msg_type Msg_text
+test.m1 repair Error Table 'test.m1' doesn't exist
+test.m1 repair error Corrupt
+CREATE TEMPORARY TABLE t1 (f1 BIGINT) ENGINE=MyISAM;
+REPAIR TABLE m1 USE_FRM;
+Table Op Msg_type Msg_text
+m1 repair error Cannot repair temporary table from .frm file
+REPAIR TABLE m1;
+Table Op Msg_type Msg_text
+test.m1 repair note The storage engine for the table doesn't support repair
+DROP TABLE m1, t1;
End of 5.1 tests
#
# An additional test case for Bug#27430 Crash in subquery code
@@ -2673,7 +2717,7 @@ OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize Error Table 'test.t_not_exists' doesn't exist
test.t1 optimize Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
-test.t1 optimize note The storage engine for the table doesn't support optimize
+test.t1 optimize error Corrupt
DROP TABLE t1;
#
# Bug#36171 - CREATE TEMPORARY TABLE and MERGE engine
@@ -3440,7 +3484,7 @@ ALTER TABLE m1 ADD INDEX (c1);
UNLOCK TABLES;
DROP TABLE m1, t1;
#
-# If children are to be altered, they need an explicit lock.
+# Locking the merge table won't implicitly lock children.
#
CREATE TABLE t1 (c1 INT);
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1);
@@ -3572,4 +3616,60 @@ ERROR HY000: The definition of table 'v1' prevents operation DELETE on table 'm1
drop view v1;
drop temporary table tmp;
drop table t1, t2, t3, m1, m2;
+#
+# Bug#56494 Segfault in upgrade_shared_lock_to_exclusive() for
+# REPAIR of merge table
+#
+DROP TABLE IF EXISTS t1, t2, t_not_exists;
+CREATE TABLE t1(a INT);
+ALTER TABLE t1 engine= MERGE UNION (t_not_exists);
+ANALYZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 analyze Error Table 'test.t_not_exists' doesn't exist
+test.t1 analyze Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+test.t1 analyze error Corrupt
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Error Table 'test.t_not_exists' doesn't exist
+test.t1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+test.t1 check error Corrupt
+CHECKSUM TABLE t1;
+Table Checksum
+test.t1 NULL
+Warnings:
+Error 1146 Table 'test.t_not_exists' doesn't exist
+Error 1168 Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize Error Table 'test.t_not_exists' doesn't exist
+test.t1 optimize Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+test.t1 optimize error Corrupt
+REPAIR TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 repair Error Table 'test.t_not_exists' doesn't exist
+test.t1 repair Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+test.t1 repair error Corrupt
+REPAIR TABLE t1 USE_FRM;
+Table Op Msg_type Msg_text
+test.t1 repair Warning Can't open table
+test.t1 repair error Corrupt
+DROP TABLE t1;
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(a INT) engine= MERGE UNION (t1);
+REPAIR TABLE t2 USE_FRM;
+Table Op Msg_type Msg_text
+test.t2 repair note The storage engine for the table doesn't support repair
+DROP TABLE t1, t2;
+#
+# Bug#57002 Assert in upgrade_shared_lock_to_exclusive()
+# for ALTER TABLE + MERGE tables
+#
+DROP TABLE IF EXISTS t1, m1;
+CREATE TABLE t1(a INT) engine=myisam;
+CREATE TABLE m1(a INT) engine=merge UNION(t1);
+LOCK TABLES t1 READ, m1 WRITE;
+ALTER TABLE t1 engine=myisam;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+DROP TABLE m1, t1;
End of 6.0 tests
diff --git a/mysql-test/r/metadata.result b/mysql-test/r/metadata.result
index 480cec792c0..3418348854f 100644
--- a/mysql-test/r/metadata.result
+++ b/mysql-test/r/metadata.result
@@ -126,7 +126,7 @@ renamed
1
select * from v3 where renamed=1 group by renamed;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def v3 v3 renamed renamed 8 11 0 Y 32896 0 63
+def v3 v3 renamed renamed 8 12 0 Y 32896 0 63
renamed
drop table t1;
drop view v1,v2,v3;
diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result
index 07a92e2abf0..c6ee170eef7 100644
--- a/mysql-test/r/multi_update.result
+++ b/mysql-test/r/multi_update.result
@@ -669,4 +669,68 @@ Error 1242 Subquery returns more than 1 row
Error 1242 Subquery returns more than 1 row
DROP TABLE t1, t2, t3;
SET SESSION sql_safe_updates = DEFAULT;
-end of tests
+#
+# Bug#52157 various crashes and assertions with multi-table update, stored function
+#
+CREATE FUNCTION f1 () RETURNS BLOB RETURN 1;
+CREATE TABLE t1 (f1 DATE);
+INSERT INTO t1 VALUES('2001-01-01');
+UPDATE (SELECT 1 FROM t1 WHERE f1 = (SELECT f1() FROM t1)) x, t1 SET f1 = 1;
+Warnings:
+Warning 1292 Truncated incorrect datetime value: '1'
+DROP FUNCTION f1;
+DROP TABLE t1;
+#
+# BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a
+# table is updated twice
+#
+CREATE TABLE t1(
+pk INT,
+a INT,
+PRIMARY KEY (pk)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (0,0);
+UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
+
+# Should be (1,2)
+SELECT * FROM t1;
+pk a
+1 2
+DROP TABLE t1;
+#
+# BUG#11882110: UPDATE REPORTS ER_KEY_NOT_FOUND IF TABLE IS
+# UPDATED TWICE
+#
+CREATE TABLE t1 (
+col_int_key int,
+pk int,
+col_int int,
+key(col_int_key),
+primary key (pk)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,2,3);
+
+CREATE TABLE t2 (
+col_int_key int,
+pk_1 int,
+pk_2 int,
+col_int int,
+key(col_int_key),
+primary key (pk_1,pk_2)
+) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,2,3,4);
+
+UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7;
+
+SELECT * FROM t1;
+col_int_key pk col_int
+1 7 3
+
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7;
+
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11;
+
+SELECT * FROM t2;
+col_int_key pk_1 pk_2 col_int
+1 7 11 4
+DROP TABLE t1,t2;
diff --git a/mysql-test/r/multi_update_innodb.result b/mysql-test/r/multi_update_innodb.result
new file mode 100644
index 00000000000..643287c3a93
--- /dev/null
+++ b/mysql-test/r/multi_update_innodb.result
@@ -0,0 +1,69 @@
+#
+# BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a
+# table is updated twice
+#
+CREATE TABLE t1(
+pk INT,
+a INT,
+b INT,
+PRIMARY KEY (pk)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (0,0,0);
+UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+SELECT * FROM t1;
+pk a b
+0 0 0
+CREATE VIEW v1 AS SELECT * FROM t1;
+UPDATE v1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+SELECT * FROM t1;
+pk a b
+0 0 0
+UPDATE t1 AS A, t1 AS B SET A.a = 1, B.b = 2;
+# Should be (0,1,2)
+SELECT * FROM t1;
+pk a b
+0 1 2
+DROP VIEW v1;
+DROP TABLE t1;
+#
+# BUG#11882110: UPDATE REPORTS ER_KEY_NOT_FOUND IF TABLE IS
+# UPDATED TWICE
+#
+CREATE TABLE t1 (
+col_int_key int,
+pk int,
+col_int int,
+key(col_int_key),
+primary key (pk)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,2,3);
+
+CREATE TABLE t2 (
+col_int_key int,
+pk_1 int,
+pk_2 int,
+col_int int,
+key(col_int_key),
+primary key (pk_1,pk_2)
+) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,2,3,4);
+
+UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+
+SELECT * FROM t1;
+col_int_key pk col_int
+1 2 3
+
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+
+SELECT * FROM t2;
+col_int_key pk_1 pk_2 col_int
+1 2 3 4
+DROP TABLE t1,t2;
diff --git a/mysql-test/r/myisampack.result b/mysql-test/r/myisampack.result
index dd14c31f32e..91700701139 100644
--- a/mysql-test/r/myisampack.result
+++ b/mysql-test/r/myisampack.result
@@ -46,14 +46,12 @@ insert into t1 select * from t1;
flush tables;
optimize table t1;
Table Op Msg_type Msg_text
-test.t1 optimize error Table 'test.t1' is read only
-Warnings:
-Error 1036 Table 't1' is read only
+test.t1 optimize Error Table 't1' is read only
+test.t1 optimize status Operation failed
repair table t1;
Table Op Msg_type Msg_text
-test.t1 repair error Table 'test.t1' is read only
-Warnings:
-Error 1036 Table 't1' is read only
+test.t1 repair Error Table 't1' is read only
+test.t1 repair status Operation failed
drop table t1;
#
# BUG#41541 - Valgrind warnings on packed MyISAM table
diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result
index 3c53faff526..9923ba03b3d 100644
--- a/mysql-test/r/mysql.result
+++ b/mysql-test/r/mysql.result
@@ -433,4 +433,73 @@ Bug #47147: mysql client option --skip-column-names does not apply to vertical o
*************************** 1. row ***************************
1
+#
+# Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
+# commands.
+#
+CREATE DATABASE connected_db;
+USE connected_db;
+SHOW TABLES;
+Tables_in_connected_db
+table_in_connected_db
+DROP DATABASE connected_db;
+
+#
+# Testing --one-database option
+#
+CREATE DATABASE connected_db;
+SHOW TABLES IN connected_db;
+Tables_in_connected_db
+t1
+SHOW TABLES IN test;
+Tables_in_test
+t1
+USE test;
+DROP TABLE t1;
+DROP DATABASE connected_db;
+
+SHOW TABLES IN test;
+Tables_in_test
+SHOW TABLES IN test1;
+Tables_in_test1
+DROP DATABASE test1;
+
+#
+# Checking --one-database option followed by the execution of
+# connect command.
+#
+CREATE DATABASE connected_db;
+SHOW TABLES IN connected_db;
+Tables_in_connected_db
+t1
+t2
+SHOW TABLES IN test;
+Tables_in_test
+t1
+t2
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP DATABASE connected_db;
+
+#
+# Checking --one-database option with no database specified
+# at command-line.
+#
+SHOW TABLES IN test;
+Tables_in_test
+
+#
+# Checking --one-database option with non_existent_db
+# specified with USE command
+#
+CREATE DATABASE connected_db;
+SHOW TABLES IN connected_db;
+Tables_in_connected_db
+table_in_connected_db
+
+SHOW TABLES IN connected_db;
+Tables_in_connected_db
+table_in_connected_db
+DROP DATABASE connected_db;
+
End of tests
diff --git a/mysql-test/r/mysql_embedded.result b/mysql-test/r/mysql_embedded.result
new file mode 100644
index 00000000000..3ba79a01e44
--- /dev/null
+++ b/mysql-test/r/mysql_embedded.result
@@ -0,0 +1,5 @@
+#
+# Bug#12561297 : LIBMYSQLD/EXAMPLE/MYSQL_EMBEDDED IS ABORTING.
+#
+1
+1
diff --git a/mysql-test/r/mysql_upgrade.result b/mysql-test/r/mysql_upgrade.result
index 7737dab49b2..cc4c7a1dad9 100644
--- a/mysql-test/r/mysql_upgrade.result
+++ b/mysql-test/r/mysql_upgrade.result
@@ -20,6 +20,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -56,6 +57,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -92,6 +94,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -131,6 +134,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -173,6 +177,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -218,6 +223,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
diff --git a/mysql-test/r/mysql_upgrade_ssl.result b/mysql-test/r/mysql_upgrade_ssl.result
index 23ad09dbd9c..a08e7c115cc 100644
--- a/mysql-test/r/mysql_upgrade_ssl.result
+++ b/mysql-test/r/mysql_upgrade_ssl.result
@@ -22,6 +22,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
diff --git a/mysql-test/r/mysqladmin.result b/mysql-test/r/mysqladmin.result
index 57927f8aa67..8a9b009946b 100644
--- a/mysql-test/r/mysqladmin.result
+++ b/mysql-test/r/mysqladmin.result
@@ -2,3 +2,18 @@ mysqld is alive
mysqladmin: unknown variable 'database=db1'
Warning: mysqladmin: unknown variable 'loose-database=db2'
mysqld is alive
+#
+# Bug#58221 : mysqladmin --sleep=x --count=x keeps looping
+#
+# Executing mysqladmin with --sleep=1 and --count=2.
+# Done.
+# Displaying the output :
+mysqld is alive
+mysqld is alive
+#
+# BUG#11766184 - 59234: cmdline clients crash --defaults-extra-file
+# with no .cnf or .ini extension.
+#
+# Creating an empty file 'cnf_file'
+# Using --defaults-extra-file option with 'cnf_file'.
+mysqld is alive
diff --git a/mysql-test/r/mysqlbinlog.result b/mysql-test/r/mysqlbinlog.result
index 51fad679909..5a47b6700c0 100644
--- a/mysql-test/r/mysqlbinlog.result
+++ b/mysql-test/r/mysqlbinlog.result
@@ -879,3 +879,39 @@ ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
End of 5.0 tests
End of 5.1 tests
+# Expect deprecation warning.
+WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
+# Expect deprecation warning again.
+WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
+RESET MASTER;
+CREATE DATABASE test1;
+USE test1;
+CREATE TABLE t1(id int);
+DROP DATABASE test1;
+CREATE DATABASE test1;
+USE test1;
+CREATE TABLE t1(id int);
+DROP TABLE t1;
+DROP DATABASE test1;
+FLUSH LOGS;
+show binlog events in 'master-bin.000002' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Query # # CREATE DATABASE test1
+master-bin.000002 # Query # # use `test1`; CREATE TABLE t1(id int)
+master-bin.000002 # Query # # DROP DATABASE test1
+master-bin.000002 # Query # # CREATE DATABASE test1
+master-bin.000002 # Query # # use `test1`; CREATE TABLE t1(id int)
+master-bin.000002 # Query # # use `test1`; DROP TABLE `t1` /* generated by server */
+master-bin.000002 # Query # # DROP DATABASE test1
+RESET MASTER;
+USE test;
+CREATE TABLE t1 (a INT);
+SET GLOBAL SERVER_ID = 2;
+DROP TABLE t1;
+FLUSH LOGS;
+SHOW TABLES IN test;
+Tables_in_test
+t1
+SHOW TABLES IN test;
+Tables_in_test
+SET GLOBAL SERVER_ID = 1;
diff --git a/mysql-test/r/mysqlbinlog_base64.result b/mysql-test/r/mysqlbinlog_base64.result
index c5e1e2f8ca1..72d49c16cc8 100644
--- a/mysql-test/r/mysqlbinlog_base64.result
+++ b/mysql-test/r/mysqlbinlog_base64.result
@@ -109,3 +109,13 @@ count(*)
35840
drop table t1;
drop table t2;
+RESET MASTER;
+USE test;
+SET @old_binlog_format= @@binlog_format;
+SET SESSION binlog_format=ROW;
+CREATE TABLE t1(c1 INT);
+INSERT INTO t1 VALUES (1);
+FLUSH LOGS;
+DROP TABLE t1;
+SET SESSION binlog_format= @old_binlog_format;
+RESET MASTER;
diff --git a/mysql-test/r/mysqlbinlog_row_big.result b/mysql-test/r/mysqlbinlog_row_big.result
index 46fa0dc79cd..0bdbfdcee3a 100644
--- a/mysql-test/r/mysqlbinlog_row_big.result
+++ b/mysql-test/r/mysqlbinlog_row_big.result
@@ -36,8 +36,8 @@ c1 LONGTEXT
#
# Insert some big rows.
#
-256MB
-INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 16777216));
+64MB
+INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 4194304));
affected rows: 1
32MB
INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 2097152));
@@ -53,7 +53,7 @@ affected rows: 1
# Do not display the column value itself, just its length.
#
SELECT LENGTH(c1) FROM t1;
-LENGTH(c1) 268435456
+LENGTH(c1) 67108864
LENGTH(c1) 33554432
LENGTH(c1) 4194304
LENGTH(c1) 524288
@@ -69,7 +69,7 @@ info: Rows matched: 4 Changed: 4 Warnings: 0
# Do not display the column value itself, just its length.
#
SELECT LENGTH(c1) FROM t1;
-LENGTH(c1) 536870912
+LENGTH(c1) 134217728
LENGTH(c1) 1048576
LENGTH(c1) 67108864
LENGTH(c1) 8388608
diff --git a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result
index 6217f4e48ee..f59942d609c 100644
--- a/mysql-test/r/mysqlcheck.result
+++ b/mysql-test/r/mysqlcheck.result
@@ -16,6 +16,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -24,6 +25,8 @@ mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
+mtr.global_suppressions Table is already up to date
+mtr.test_suppressions Table is already up to date
mysql.columns_priv OK
mysql.db OK
mysql.event OK
@@ -37,6 +40,7 @@ mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.proxies_priv OK
mysql.servers OK
mysql.tables_priv OK
mysql.time_zone OK
@@ -45,20 +49,66 @@ mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
-create table t1 (a int);
+mysql.columns_priv OK
+mysql.db OK
+mysql.event OK
+mysql.func OK
+mysql.help_category OK
+mysql.help_keyword OK
+mysql.help_relation OK
+mysql.help_topic OK
+mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
+mysql.proc OK
+mysql.procs_priv OK
+mysql.proxies_priv OK
+mysql.servers OK
+mysql.tables_priv OK
+mysql.time_zone OK
+mysql.time_zone_leap_second OK
+mysql.time_zone_name OK
+mysql.time_zone_transition OK
+mysql.time_zone_transition_type OK
+mysql.user OK
+mysql.columns_priv Table is already up to date
+mysql.db Table is already up to date
+mysql.event Table is already up to date
+mysql.func Table is already up to date
+mysql.help_category Table is already up to date
+mysql.help_keyword Table is already up to date
+mysql.help_relation Table is already up to date
+mysql.help_topic Table is already up to date
+mysql.host Table is already up to date
+mysql.ndb_binlog_index Table is already up to date
+mysql.plugin Table is already up to date
+mysql.proc Table is already up to date
+mysql.procs_priv Table is already up to date
+mysql.proxies_priv Table is already up to date
+mysql.servers Table is already up to date
+mysql.tables_priv Table is already up to date
+mysql.time_zone Table is already up to date
+mysql.time_zone_leap_second Table is already up to date
+mysql.time_zone_name Table is already up to date
+mysql.time_zone_transition Table is already up to date
+mysql.time_zone_transition_type Table is already up to date
+mysql.user Table is already up to date
+create table t1 (a int) engine=myisam;
create view v1 as select * from t1;
test.t1 OK
+test.t1 Table is already up to date
test.t1 OK
+test.t1 Table is already up to date
drop view v1;
drop table t1;
-create table `t``1`(a int);
-create table `t 1`(a int);
+create table `t``1`(a int) engine=myisam;
+create table `t 1`(a int) engine=myisam;
test.t 1 OK
test.t`1 OK
drop table `t``1`, `t 1`;
create database d_bug25347;
use d_bug25347;
-create table t_bug25347 (a int);
+create table t_bug25347 (a int) engine=myisam;
create view v_bug25347 as select * from t_bug25347;
insert into t_bug25347 values (1),(2),(3);
flush tables;
@@ -98,15 +148,15 @@ Table Op Msg_type Msg_text
test.v1 check status OK
information_schema.routines check note The storage engine for the table doesn't support check
drop view v1;
-CREATE TABLE t1(a INT);
-CREATE TABLE t2(a INT);
+CREATE TABLE t1(a INT) engine=myisam;
+CREATE TABLE t2(a INT) engine=myisam;
test.t1
Error : Incorrect information in file: './test/t1.frm'
error : Corrupt
test.t2 OK
DROP TABLE t1, t2;
End of 5.0 tests
-create table t1(a int);
+create table t1(a int) engine=myisam;
create view v1 as select * from t1;
show tables;
Tables_in_test
@@ -117,6 +167,7 @@ Tables_in_test
t1
#mysql50#v-1
v1
+test.t1 OK
show tables;
Tables_in_test
t1
@@ -125,7 +176,7 @@ v-1
drop view v1, `v-1`;
drop table t1;
SET NAMES utf8;
-CREATE TABLE `#mysql50#@` (a INT);
+CREATE TABLE `#mysql50#@` (a INT) engine=myisam;
SHOW TABLES;
Tables_in_test
#mysql50#@
@@ -136,7 +187,7 @@ SHOW TABLES;
Tables_in_test
@
DROP TABLE `@`;
-CREATE TABLE `Ñ` (a INT);
+CREATE TABLE `Ñ` (a INT) engine=myisam;
SET NAMES DEFAULT;
mysqlcheck --default-character-set="latin1" --databases test
test.?
@@ -149,8 +200,8 @@ DROP TABLE `Ñ`;
SET NAMES DEFAULT;
CREATE DATABASE `#mysql50#a@b`;
USE `#mysql50#a@b`;
-CREATE TABLE `#mysql50#c@d` (a INT);
-CREATE TABLE t1 (a INT);
+CREATE TABLE `#mysql50#c@d` (a INT) engine=myisam;
+CREATE TABLE t1 (a INT) engine=myisam;
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA="#mysql50#a@b" ORDER BY trigger_name;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
@@ -179,14 +230,81 @@ USE test;
# Bug #31821: --all-in-1 and --fix-table-names don't work together
#
drop table if exists `#mysql50#t1-1`;
-create table `#mysql50#t1-1` (a int);
+create table `#mysql50#t1-1` (a int) engine=myisam;
show tables like 't1-1';
Tables_in_test (t1-1)
t1-1
drop table `t1-1`;
-create table `#mysql50#t1-1` (a int);
+create table `#mysql50#t1-1` (a int) engine=myisam;
show tables like 't1-1';
Tables_in_test (t1-1)
t1-1
drop table `t1-1`;
End of 5.1 tests
+#
+# Bug #35269: mysqlcheck behaves different depending on order of parameters
+#
+#
+# Bug#11755431 47205: MAP 'REPAIR TABLE' TO RECREATE +ANALYZE FOR
+# ENGINES NOT SUPPORTING NATIVE
+#
+DROP TABLE IF EXISTS bug47205;
+#
+# Test 1: Check that ALTER TABLE ... rebuilds the table
+CREATE TABLE bug47205(a VARCHAR(20) PRIMARY KEY)
+DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci engine=innodb;
+INSERT INTO bug47205 VALUES ("foobar");
+FLUSH TABLE bug47205;
+# Replace the FRM with a 5.0 FRM that will require upgrade
+# Should indicate that ALTER TABLE ... FORCE is needed
+CHECK TABLE bug47205 FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.bug47205 check error Table rebuild required. Please do "ALTER TABLE `bug47205` FORCE" or dump/reload to fix it!
+# ALTER TABLE ... FORCE should rebuild the table
+# and therefore output "affected rows: 1"
+ALTER TABLE bug47205 FORCE;
+affected rows: 1
+info: Records: 1 Duplicates: 0 Warnings: 0
+# Table should now be ok
+CHECK TABLE bug47205 FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.bug47205 check status OK
+DROP TABLE bug47205;
+#
+# Test 2: InnoDB - REPAIR not supported
+CREATE TABLE bug47205(a VARCHAR(20) PRIMARY KEY)
+DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci engine=innodb;
+FLUSH TABLE bug47205;
+# Replace the FRM with a 5.0 FRM that will require upgrade
+# Should indicate that ALTER TABLE .. FORCE is needed
+CHECK TABLE bug47205 FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.bug47205 check error Table rebuild required. Please do "ALTER TABLE `bug47205` FORCE" or dump/reload to fix it!
+# Running mysqlcheck to check and upgrade
+test.bug47205
+error : Table rebuild required. Please do "ALTER TABLE `bug47205` FORCE" or dump/reload to fix it!
+
+Repairing tables
+# Table should now be ok
+CHECK TABLE bug47205 FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.bug47205 check status OK
+DROP TABLE bug47205;
+#
+# Test 3: MyISAM - REPAIR supported
+# Use an old FRM that will require upgrade
+# Should indicate that REPAIR TABLE is needed
+CHECK TABLE bug47205 FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.bug47205 check error Table upgrade required. Please do "REPAIR TABLE `bug47205`" or dump/reload to fix it!
+# Running mysqlcheck to check and upgrade
+test.bug47205
+error : Table upgrade required. Please do "REPAIR TABLE `bug47205`" or dump/reload to fix it!
+
+Repairing tables
+test.bug47205 OK
+# Table should now be ok
+CHECK TABLE bug47205 FOR UPGRADE;
+Table Op Msg_type Msg_text
+test.bug47205 check status OK
+DROP TABLE bug47205;
diff --git a/mysql-test/r/mysqld--defaults-file.result b/mysql-test/r/mysqld--defaults-file.result
new file mode 100644
index 00000000000..5fd5ca8d95a
--- /dev/null
+++ b/mysql-test/r/mysqld--defaults-file.result
@@ -0,0 +1,12 @@
+Could not open required defaults file: /path/with/no/extension
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: /path/with.ext
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/relative/path/with.ext
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/relative/path/without/extension
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/with.ext
+Fatal error in defaults handling. Program aborted
+Could not open required defaults file: MYSQL_TEST_DIR/no_extension
+Fatal error in defaults handling. Program aborted
diff --git a/mysql-test/r/mysqld--help-notwin.result b/mysql-test/r/mysqld--help-notwin.result
index 8cd8dc2b0dd..631829c30de 100644
--- a/mysql-test/r/mysqld--help-notwin.result
+++ b/mysql-test/r/mysqld--help-notwin.result
@@ -19,6 +19,8 @@ The following options may be given as the first argument:
--auto-increment-offset[=#]
Offset added to Auto-increment columns. Used when
auto-increment-increment != 1
+ --autocommit Set default value for autocommit (0 or 1)
+ (Defaults to on; use --skip-autocommit to disable.)
--automatic-sp-privileges
Creating and dropping stored procedures alters ACLs
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
@@ -31,10 +33,10 @@ The following options may be given as the first argument:
file (Solves most 'table full' errors)
--bind-address=name IP address to bind to.
--binlog-cache-size=#
- The size of the cache to hold the SQL statements for the
- binary log during a transaction. If you often use big,
- multi-statement transactions you can increase this to get
- more performance
+ The size of the transactional cache for updates to
+ transactional engines for the binary log. If you often
+ use transactions containing many statements, you can
+ increase this to get more performance
--binlog-direct-non-transactional-updates
Causes updates to non-transactional engines using
statement format to be written directly to binary log.
@@ -65,6 +67,11 @@ The following options may be given as the first argument:
The maximum size of a row-based binary log event in
bytes. Rows will be grouped into events smaller than this
size if possible. The value has to be a multiple of 256.
+ --binlog-stmt-cache-size=#
+ The size of the statement cache for updates to
+ non-transactional engines for the binary log. If you
+ often use statements updating a great number of rows, you
+ can increase this to get more performance
--bootstrap Used by mysql installation scripts.
--bulk-insert-buffer-size=#
Size of tree cache used in bulk insert optimisation. Note
@@ -311,14 +318,15 @@ The following options may be given as the first argument:
--max-allowed-packet=#
Max packet length to send to or receive from the server
--max-binlog-cache-size=#
- Can be used to restrict the total size used to cache a
- multi-transaction query
+ Sets the total size of the transactional cache
--max-binlog-dump-events=#
Option used by mysql-test for debugging and testing of
replication.
--max-binlog-size=# Binary log will be rotated automatically when the size
exceeds this value. Will also apply to relay logs if
max_relay_log_size is 0
+ --max-binlog-stmt-cache-size=#
+ Sets the total size of the statement cache
--max-connect-errors=#
If there is more than this number of interrupted
connections from a host this host will be blocked from
@@ -335,6 +343,10 @@ The following options may be given as the first argument:
max_join_size records return an error
--max-length-for-sort-data=#
Max number of bytes in sorted records
+ --max-long-data-size=#
+ The maximum BLOB length to send to server from
+ mysql_send_long_data API. Deprecated option; use
+ max_allowed_packet instead.
--max-prepared-stmt-count=#
Maximum number of prepared statements in the server
--max-relay-log-size=#
@@ -775,6 +787,7 @@ abort-slave-event-count 0
allow-suspicious-udfs FALSE
auto-increment-increment 1
auto-increment-offset 1
+autocommit TRUE
automatic-sp-privileges TRUE
back-log 50
big-tables FALSE
@@ -783,6 +796,7 @@ binlog-cache-size 32768
binlog-direct-non-transactional-updates FALSE
binlog-format STATEMENT
binlog-row-event-max-size 1024
+binlog-stmt-cache-size 32768
bulk-insert-buffer-size 8388608
character-set-client-handshake TRUE
character-set-filesystem binary
@@ -873,6 +887,7 @@ max-allowed-packet 1048576
max-binlog-cache-size 18446744073709547520
max-binlog-dump-events 0
max-binlog-size 1073741824
+max-binlog-stmt-cache-size 18446744073709547520
max-connect-errors 10
max-connections 151
max-delayed-threads 20
@@ -880,6 +895,7 @@ max-error-count 64
max-heap-table-size 16777216
max-join-size 18446744073709551615
max-length-for-sort-data 1024
+max-long-data-size 1048576
max-prepared-stmt-count 16382
max-relay-log-size 0
max-seeks-for-key 18446744073709551615
@@ -977,7 +993,6 @@ slave-transaction-retries 10
slave-type-conversions
slow-launch-time 2
slow-query-log FALSE
-socket /tmp/mysql.sock
sort-buffer-size 2097152
sporadic-binlog-dump-fail FALSE
sql-mode
diff --git a/mysql-test/r/mysqld--help-win.result b/mysql-test/r/mysqld--help-win.result
index e1098b71e25..361d30620f7 100644
--- a/mysql-test/r/mysqld--help-win.result
+++ b/mysql-test/r/mysqld--help-win.result
@@ -19,6 +19,8 @@ The following options may be given as the first argument:
--auto-increment-offset[=#]
Offset added to Auto-increment columns. Used when
auto-increment-increment != 1
+ --autocommit Set default value for autocommit (0 or 1)
+ (Defaults to on; use --skip-autocommit to disable.)
--automatic-sp-privileges
Creating and dropping stored procedures alters ACLs
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
@@ -31,10 +33,10 @@ The following options may be given as the first argument:
file (Solves most 'table full' errors)
--bind-address=name IP address to bind to.
--binlog-cache-size=#
- The size of the cache to hold the SQL statements for the
- binary log during a transaction. If you often use big,
- multi-statement transactions you can increase this to get
- more performance
+ The size of the transactional cache for updates to
+ transactional engines for the binary log. If you often
+ use transactions containing many statements, you can
+ increase this to get more performance
--binlog-direct-non-transactional-updates
Causes updates to non-transactional engines using
statement format to be written directly to binary log.
@@ -65,6 +67,11 @@ The following options may be given as the first argument:
The maximum size of a row-based binary log event in
bytes. Rows will be grouped into events smaller than this
size if possible. The value has to be a multiple of 256.
+ --binlog-stmt-cache-size=#
+ The size of the statement cache for updates to
+ non-transactional engines for the binary log. If you
+ often use statements updating a great number of rows, you
+ can increase this to get more performance
--bootstrap Used by mysql installation scripts.
--bulk-insert-buffer-size=#
Size of tree cache used in bulk insert optimisation. Note
@@ -276,14 +283,15 @@ The following options may be given as the first argument:
--max-allowed-packet=#
Max packet length to send to or receive from the server
--max-binlog-cache-size=#
- Can be used to restrict the total size used to cache a
- multi-transaction query
+ Sets the total size of the transactional cache
--max-binlog-dump-events=#
Option used by mysql-test for debugging and testing of
replication.
--max-binlog-size=# Binary log will be rotated automatically when the size
exceeds this value. Will also apply to relay logs if
max_relay_log_size is 0
+ --max-binlog-stmt-cache-size=#
+ Sets the total size of the statement cache
--max-connect-errors=#
If there is more than this number of interrupted
connections from a host this host will be blocked from
@@ -300,6 +308,10 @@ The following options may be given as the first argument:
max_join_size records return an error
--max-length-for-sort-data=#
Max number of bytes in sorted records
+ --max-long-data-size=#
+ The maximum BLOB length to send to server from
+ mysql_send_long_data API. Deprecated option; use
+ max_allowed_packet instead.
--max-prepared-stmt-count=#
Maximum number of prepared statements in the server
--max-relay-log-size=#
@@ -729,6 +741,7 @@ abort-slave-event-count 0
allow-suspicious-udfs FALSE
auto-increment-increment 1
auto-increment-offset 1
+autocommit TRUE
automatic-sp-privileges TRUE
back-log 50
big-tables FALSE
@@ -737,6 +750,7 @@ binlog-cache-size 32768
binlog-direct-non-transactional-updates FALSE
binlog-format STATEMENT
binlog-row-event-max-size 1024
+binlog-stmt-cache-size 32768
bulk-insert-buffer-size 8388608
character-set-client-handshake TRUE
character-set-filesystem binary
@@ -815,6 +829,7 @@ max-allowed-packet 1048576
max-binlog-cache-size 18446744073709547520
max-binlog-dump-events 0
max-binlog-size 1073741824
+max-binlog-stmt-cache-size 18446744073709547520
max-connect-errors 10
max-connections 151
max-delayed-threads 20
@@ -822,6 +837,7 @@ max-error-count 64
max-heap-table-size 16777216
max-join-size 18446744073709551615
max-length-for-sort-data 1024
+max-long-data-size 1048576
max-prepared-stmt-count 16382
max-relay-log-size 0
max-seeks-for-key 18446744073709551615
@@ -919,7 +935,6 @@ slave-transaction-retries 10
slave-type-conversions
slow-launch-time 2
slow-query-log FALSE
-socket MySQL
sort-buffer-size 2097152
sporadic-binlog-dump-fail FALSE
sql-mode
diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result
index 87e7d837587..9f1d1a50ef1 100644
--- a/mysql-test/r/mysqldump.result
+++ b/mysql-test/r/mysqldump.result
@@ -15,7 +15,7 @@ INSERT INTO t1 VALUES (1), (2);
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
<table_structure name="t1">
- <field Field="a" Type="int(11)" Null="YES" Key="MUL" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="MUL" Extra="" Comment="" />
<key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_comment="" />
</table_structure>
<table_data name="t1">
@@ -151,9 +151,9 @@ INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES");
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
<table_structure name="t1">
- <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" />
- <field Field="b" Type="text" Null="YES" Key="" Extra="" />
- <field Field="c" Type="varchar(3)" Null="YES" Key="" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
+ <field Field="b" Type="text" Null="YES" Key="" Extra="" Comment="" />
+ <field Field="c" Type="varchar(3)" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
<table_data name="t1">
<row>
@@ -179,7 +179,7 @@ INSERT INTO t1 VALUES ("1\""), ("\"2");
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
<table_structure name="t1">
- <field Field="a&quot;b&quot;" Type="char(2)" Null="YES" Key="" Extra="" />
+ <field Field="a&quot;b&quot;" Type="char(2)" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
<table_data name="t1">
<row>
@@ -1613,10 +1613,10 @@ CREATE TABLE `t2` (
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="mysqldump_test_db">
<table_structure name="t1">
- <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
<table_structure name="t2">
- <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
</database>
</mysqldump>
@@ -1624,10 +1624,10 @@ CREATE TABLE `t2` (
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="mysqldump_test_db">
<table_structure name="t1">
- <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
<table_structure name="t2">
- <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" />
+ <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
</database>
</mysqldump>
@@ -3645,8 +3645,8 @@ INSERT INTO t1 VALUES(1,0xff00fef0);
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
<table_structure name="t1">
- <field Field="f1" Type="int(10)" Null="YES" Key="" Extra="" />
- <field Field="data" Type="mediumblob" Null="YES" Key="" Extra="" />
+ <field Field="f1" Type="int(10)" Null="YES" Key="" Extra="" Comment="" />
+ <field Field="data" Type="mediumblob" Null="YES" Key="" Extra="" Comment="" />
</table_structure>
<table_data name="t1">
<row>
@@ -4577,5 +4577,89 @@ LENGTH(a)
800
DROP TABLE t1, t2;
#
+# Bug #13618 : mysqldump --xml ommit comment on table field
+#
+CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT';
+<?xml version="1.0"?>
+<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<database name="test">
+ <table_structure name="comment_table">
+ <field Field="i" Type="int(11)" Null="YES" Key="" Extra="" Comment="FIELD COMMENT" />
+ </table_structure>
+ <table_data name="comment_table">
+ </table_data>
+</database>
+</mysqldump>
+DROP TABLE `comment_table`;
+#
+# BUG#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH ("-") IN
+# DATABASE NAMES IN ALTER DATABASE
+#
+CREATE DATABASE `test-database`;
+USE `test-database`;
+CREATE TABLE `test` (`c1` VARCHAR(10)) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+CREATE TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
+END |
+ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
+ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `test` (
+ `c1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
+/*!50003 SET @saved_cs_client = @@character_set_client */ ;
+/*!50003 SET @saved_cs_results = @@character_set_results */ ;
+/*!50003 SET @saved_col_connection = @@collation_connection */ ;
+/*!50003 SET character_set_client = latin1 */ ;
+/*!50003 SET character_set_results = latin1 */ ;
+/*!50003 SET collation_connection = latin1_swedish_ci */ ;
+/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
+/*!50003 SET sql_mode = '' */ ;
+DELIMITER ;;
+/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
+END */;;
+DELIMITER ;
+/*!50003 SET sql_mode = @saved_sql_mode */ ;
+/*!50003 SET character_set_client = @saved_cs_client */ ;
+/*!50003 SET character_set_results = @saved_cs_results */ ;
+/*!50003 SET collation_connection = @saved_col_connection */ ;
+ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+DROP DATABASE `test-database`;
+USE test;
+#
# End of 5.1 tests
#
+#
+# Verify that two modes can be given in --compatible;
+# and are reflected in SET SQL_MODE in the mysqldump output.
+# Also verify that a prefix of the mode's name is enough.
+#
+CREATE TABLE t1 (a INT);
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+DROP TABLE IF EXISTS `t1`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+);
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+LOCK TABLES `t1` WRITE;
+/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
+/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+DROP TABLE t1;
diff --git a/mysql-test/r/mysqldump_restore.result b/mysql-test/r/mysqldump_restore.result
index 16698251913..9eac8b253de 100644
--- a/mysql-test/r/mysqldump_restore.result
+++ b/mysql-test/r/mysqldump_restore.result
@@ -20,7 +20,7 @@ ALTER TABLE test.t1 RENAME to test.t1_orig;
# Compare original and recreated tables
# Recreated table: test.t1
# Original table: test.t1_orig
-Comparing tables test.t1 and test.t1_orig
+include/diff_tables.inc [test.t1, test.t1_orig]
# Cleanup
DROP TABLE test.t1, test.t1_orig;
#
@@ -45,7 +45,7 @@ ALTER TABLE test.t1 RENAME to test.t1_orig;
# Compare original and recreated tables
# Recreated table: test.t1
# Original table: test.t1_orig
-Comparing tables test.t1 and test.t1_orig
+include/diff_tables.inc [test.t1, test.t1_orig]
# Cleanup
DROP TABLE test.t1, test.t1_orig;
#
@@ -63,7 +63,7 @@ ALTER TABLE test.t1 RENAME to test.t1_orig;
# Compare original and recreated tables
# Recreated table: test.t1
# Original table: test.t1_orig
-Comparing tables test.t1 and test.t1_orig
+include/diff_tables.inc [test.t1, test.t1_orig]
# Cleanup
DROP TABLE test.t1, test.t1_orig;
#
@@ -82,7 +82,7 @@ ALTER TABLE test.t2 RENAME to test.t2_orig;
# Compare original and recreated tables
# Recreated table: test.t2
# Original table: test.t2_orig
-Comparing tables test.t2 and test.t2_orig
+include/diff_tables.inc [test.t2, test.t2_orig]
# Cleanup
DROP TABLE test.t2, test.t2_orig;
DROP TABLE t1;
@@ -100,7 +100,7 @@ ALTER TABLE test.t1 RENAME to test.t1_orig;
# Compare original and recreated tables
# Recreated table: test.t1
# Original table: test.t1_orig
-Comparing tables test.t1 and test.t1_orig
+include/diff_tables.inc [test.t1, test.t1_orig]
# Cleanup
DROP TABLE test.t1, test.t1_orig;
# End tests
diff --git a/mysql-test/r/mysqlslap.result b/mysql-test/r/mysqlslap.result
index c113f18bd3f..9defe1d6093 100644
--- a/mysql-test/r/mysqlslap.result
+++ b/mysql-test/r/mysqlslap.result
@@ -219,3 +219,25 @@ DROP SCHEMA IF EXISTS `mysqlslap`;
DROP PROCEDURE IF EXISTS p1;
CREATE PROCEDURE p1() SELECT 1;
DROP PROCEDURE p1;
+#
+# Bug #11765157 - 58090: mysqlslap drops schema specified in
+# create_schema if auto-generate-sql also set.
+#
+# 'bug58090' database should not be present.
+SHOW DATABASES;
+Database
+information_schema
+mtr
+mysql
+performance_schema
+test
+# 'bug58090' database should be present.
+SHOW DATABASES;
+Database
+information_schema
+bug58090
+mtr
+mysql
+performance_schema
+test
+DROP DATABASE bug58090;
diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index edb1ec72070..8f72669ac06 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -309,11 +309,36 @@ var3 two columns with same name
var4 from query that returns NULL
var5 from query that returns no row
failing query in let
+create table t1 (a varchar(100));
+insert into t1 values ('`select 42`');
+`select 42`
+insert into t1 values ('$dollar');
+$dollar
+`select 42`
+drop table t1;
mysqltest: At line 1: Error running query 'failing query': 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'failing query' at line 1
mysqltest: At line 1: Missing required argument 'filename' to command 'source'
mysqltest: At line 1: Could not open './non_existingFile' for reading, errno: 2
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql": At line 1: Source directives are nesting too deep
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/recursive.sql":
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1:
+At line 1: Source directives are nesting too deep
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql":
+included from MYSQLTEST_VARDIR/tmp/error.sql at line 1:
+At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1
2 = outer loop variable after while
here is the sourced script
@@ -370,23 +395,24 @@ mysqltest: At line 1: Missing required argument 'sleep_delay' to command 'real_s
mysqltest: At line 1: Invalid argument to sleep "abc"
mysqltest: At line 1: Invalid argument to real_sleep "abc"
1
-2
101
-hej
-1
+-99
mysqltest: At line 1: Missing argument to inc
mysqltest: At line 1: The argument to inc must be a variable (start with $)
+mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
mysqltest: At line 1: End of line junk detected: "1000"
-4
-4
+mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
+mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
+-96
+-96
-1
--2
99
-hej
--1
mysqltest: At line 1: Missing argument to dec
mysqltest: At line 1: The argument to dec must be a variable (start with $)
+mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
mysqltest: At line 1: End of line junk detected: "1000"
+mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
+mysqltest: At line 1: Cannot perform inc/dec on a non-numeric value
mysqltest: At line 1: Missing arguments to system, nothing to do!
mysqltest: At line 1: Missing arguments to system, nothing to do!
system command 'NonExistsinfComamdn 2> /dev/null' failed
@@ -399,13 +425,50 @@ true-inner
true-inner again
true-outer
Counter is greater than 0, (counter=10)
+Counter should still be 10, is 10
Counter is not 0, (counter=0)
+Not space var works
Counter is true, (counter=alpha)
-Beta is true
while with string, only once
+5<7
+5<7 again
+5<7 still
+5<6
+5>=5
+5>=5 again
+5>3
+5==5
+5!=8
+5!=five
+5==3+2
+5 == 5
+hello == hello
+hello == hello
+hello != goodbye
+'quoted' == ''quoted''
+two words
+'two words'
+"two words"
+two words are two words
+right answer
+anything goes
+0 != string
+mysqltest: At line 2: Only == and != are supported for string values
+mysqltest: At line 2: Found junk '~= 6' after $variable in condition
+mysqltest: At line 2: Expression in if/while must beging with $, ` or a number
+mysqltest: At line 1: Missing right operand in comparison
+mysqltest: At line 1: Missing right operand in comparison
+counter is 2
+counter is 3
+counter is 4
+counter is 5
+counter is 6
+counter is 7
1
Testing while with not
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest_while.inc": At line 64: Nesting too deeply
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest_while.inc":
+included from MYSQLTEST_VARDIR/tmp/mysqltest_while.inc at line 65:
+At line 64: Nesting too deeply
mysqltest: At line 1: missing '(' in while
mysqltest: At line 1: missing ')' in while
mysqltest: At line 1: Missing '{' after while. Found "dec $i"
@@ -454,8 +517,12 @@ mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1
mysqltest: At line 1: Illegal argument for port: 'illegal_port'
mysqltest: At line 1: Illegal option to connect: SMTP
200 connects succeeded
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
-mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql":
+included from MYSQLTEST_VARDIR/tmp/mysqltest.sql at line 3:
+At line 3: connection 'test_con1' not found in connection pool
+mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql":
+included from MYSQLTEST_VARDIR/tmp/mysqltest.sql at line 2:
+At line 2: Connection test_con1 already exists
show tables;
ERROR 3D000: No database selected
connect con1,localhost,root,,;
@@ -586,7 +653,7 @@ if things work as expected
Some data
for cat_file command
of mysqltest
-mysqltest: At line 1: command "cat_file" failed with error 1
+mysqltest: At line 1: command "cat_file" failed with error 1. (my_errno)
mysqltest: At line 1: Missing required argument 'filename' to command 'file_exists'
mysqltest: At line 1: Missing required argument 'from_file' to command 'copy_file'
mysqltest: At line 1: Missing required argument 'to_file' to command 'copy_file'
@@ -799,7 +866,7 @@ drop table t1;
mysqltest: At line 1: change user failed: Unknown database 'inexistent'
mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO)
mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES)
-file1.txt
+REPLACED_FILE1.txt
file1.txt
file2.txt
file11.txt
@@ -807,8 +874,6 @@ dir-list.txt
SELECT 'c:\\a.txt' AS col;
col
z
-hej
-mysqltest: At line 1: Found junk ' != 143' after $variable in expression
select 1;
1
1
diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result
index fac38624695..eccf6151d33 100644
--- a/mysql-test/r/not_embedded_server.result
+++ b/mysql-test/r/not_embedded_server.result
@@ -3,14 +3,47 @@ SHOW VARIABLES like 'slave_skip_errors';
Variable_name Value
slave_skip_errors OFF
#
+# Bug#58026: massive recursion and crash in regular expression handling
+#
+SELECT '1' RLIKE RPAD('1', 10000, '(');
+#
# WL#4284: Transactional DDL locking
#
# FLUSH PRIVILEGES should not implicitly unlock locked tables.
#
-drop table if exists t1;
-create table t1 (c1 int);
-lock tables t1 read;
-flush privileges;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (c1 INT);
+LOCK TABLES t1 READ;
+FLUSH PRIVILEGES;
ERROR HY000: Table 'host' was not locked with LOCK TABLES
-unlock tables;
-drop table t1;
+UNLOCK TABLES;
+DROP TABLE t1;
+#
+# Bug#54812: assert in Diagnostics_area::set_ok_status during EXPLAIN
+#
+CREATE USER nopriv_user@localhost;
+connection: default
+DROP TABLE IF EXISTS t1,t2,t3;
+DROP FUNCTION IF EXISTS f;
+CREATE TABLE t1 (key1 INT PRIMARY KEY);
+CREATE TABLE t2 (key2 INT);
+INSERT INTO t1 VALUES (1),(2);
+CREATE FUNCTION f() RETURNS INT RETURN 1;
+GRANT FILE ON *.* TO 'nopriv_user'@'localhost';
+FLUSH PRIVILEGES;
+connection: con1
+SELECT MAX(key1) FROM t1 WHERE f() < 1 INTO OUTFILE '<outfile>';
+ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
+INSERT INTO t2 SELECT MAX(key1) FROM t1 WHERE f() < 1;
+ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
+SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1;
+ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
+CREATE TABLE t3 (i INT) AS SELECT MAX(key1) FROM t1 WHERE f() < 1;
+ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
+connection: default
+DROP TABLE t1,t2;
+DROP FUNCTION f;
+DROP USER nopriv_user@localhost;
+#
+# End Bug#54812
+#
diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result
index d87aeefbc34..72bbaa71da5 100644
--- a/mysql-test/r/openssl_1.result
+++ b/mysql-test/r/openssl_1.result
@@ -44,13 +44,13 @@ ERROR 42000: DELETE command denied to user 'ssl_user4'@'localhost' for table 't1
drop user ssl_user1@localhost, ssl_user2@localhost,
ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost;
drop table t1;
-mysqltest: Could not open connection 'default': 2026 SSL error: ASN: bad other signature confirmation
-mysqltest: Could not open connection 'default': 2026 SSL error: ASN: bad other signature confirmation
-mysqltest: Could not open connection 'default': 2026 SSL error: ASN: bad other signature confirmation
+mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation
+mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation
+mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation
SSL error: Unable to get private key from ''
-mysqltest: Could not open connection 'default': 2026 SSL connection error
+mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key
SSL error: Unable to get certificate from ''
-mysqltest: Could not open connection 'default': 2026 SSL connection error
+mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get certificate
SHOW STATUS LIKE 'Ssl_cipher';
Variable_name Value
Ssl_cipher DHE-RSA-AES256-SHA
@@ -83,7 +83,7 @@ Ssl_cipher AES128-SHA
SHOW STATUS LIKE 'Ssl_cipher';
Variable_name Value
Ssl_cipher AES128-SHA
-mysqltest: Could not open connection 'default': 2026 SSL connection error
+mysqltest: Could not open connection 'default': 2026 SSL connection error: SSL_CTX_new failed
CREATE TABLE t1(a int);
INSERT INTO t1 VALUES (1), (2);
@@ -189,7 +189,7 @@ UNLOCK TABLES;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
SSL error: Unable to get private key from 'MYSQL_TEST_DIR/std_data/client-cert.pem'
-mysqldump: Got error: 2026: "SSL connection error" when trying to connect
+mysqldump: Got error: 2026: SSL connection error: Unable to get private key when trying to connect
DROP TABLE t1;
Variable_name Value
Ssl_cipher DHE-RSA-AES256-SHA
diff --git a/mysql-test/r/order_by.result b/mysql-test/r/order_by.result
index c92e3696c21..1405893213d 100644
--- a/mysql-test/r/order_by.result
+++ b/mysql-test/r/order_by.result
@@ -1430,9 +1430,11 @@ set session sort_buffer_size= 30000;
Warnings:
Warning 1292 Truncated incorrect sort_buffer_size value: '30000'
set session max_sort_length= 2180;
+CALL mtr.add_suppression("Out of sort memory");
select * from t1 order by b;
-ERROR HY001: Out of sort memory; increase server sort buffer size
+ERROR HY001: Out of sort memory, consider increasing server sort buffer size
drop table t1;
+call mtr.add_suppression("Out of sort memory; increase server sort buffer size");
#
# Bug #39844: Query Crash Mysql Server 5.0.67
#
@@ -1643,6 +1645,31 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL a 8 NULL 10 Using index; Using temporary; Using filesort
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 Using where
DROP TABLE t1, t2;
+#
+# Bug #59110: Memory leak of QUICK_SELECT_I allocated memory
+# and
+# Bug #59308: Incorrect result for
+SELECT DISTINCT <col>... ORDER BY <col> DESC
+
+# Use Valgrind to detect #59110!
+#
+CREATE TABLE t1 (a INT,KEY (a));
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+EXPLAIN SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 index a a 5 NULL 10 Using where; Using index; Using filesort
+SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
+a 1
+10 1
+9 1
+8 1
+7 1
+6 1
+5 1
+4 1
+3 1
+2 1
+DROP TABLE t1;
End of 5.1 tests
#
# Bug #38745: MySQL 5.1 optimizer uses filesort for ORDER BY
diff --git a/mysql-test/r/packet.result b/mysql-test/r/packet.result
index ecbb47d4ee0..dcc2c608d0b 100644
--- a/mysql-test/r/packet.result
+++ b/mysql-test/r/packet.result
@@ -3,6 +3,7 @@ set @net_buffer_length=@@global.net_buffer_length;
set global max_allowed_packet=100;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '100'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
set global net_buffer_length=100;
Warnings:
Warning 1292 Truncated incorrect net_buffer_length value: '100'
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result
index 83ff66eabe5..0febdbc38d0 100644
--- a/mysql-test/r/partition.result
+++ b/mysql-test/r/partition.result
@@ -1,5 +1,105 @@
drop table if exists t1, t2;
#
+# Bug#11765667: bug#58655: ASSERTION FAILED,
+# SERVER CRASHES WITH MYSQLD GOT SIGNAL 6
+#
+CREATE TABLE t1 (
+id MEDIUMINT NOT NULL AUTO_INCREMENT,
+dt DATE, st VARCHAR(255), uid INT,
+id2nd LONGBLOB, filler VARCHAR(255), PRIMARY KEY(id, dt)
+);
+INSERT INTO t1 (dt, st, uid, id2nd, filler) VALUES
+('1991-03-14', 'Initial Insert', 200, 1234567, 'No Data'),
+('1991-02-26', 'Initial Insert', 201, 1234567, 'No Data'),
+('1992-03-16', 'Initial Insert', 234, 1234567, 'No Data'),
+('1992-07-02', 'Initial Insert', 287, 1234567, 'No Data'),
+('1991-05-26', 'Initial Insert', 256, 1234567, 'No Data'),
+('1991-04-25', 'Initial Insert', 222, 1234567, 'No Data'),
+('1993-03-12', 'Initial Insert', 267, 1234567, 'No Data'),
+('1993-03-14', 'Initial Insert', 291, 1234567, 'No Data'),
+('1991-12-20', 'Initial Insert', 298, 1234567, 'No Data'),
+('1994-10-31', 'Initial Insert', 220, 1234567, 'No Data');
+ALTER TABLE t1 PARTITION BY LIST (YEAR(dt)) (
+PARTITION d1 VALUES IN (1991, 1994),
+PARTITION d2 VALUES IN (1993),
+PARTITION d3 VALUES IN (1992, 1995, 1996)
+);
+INSERT INTO t1 (dt, st, uid, id2nd, filler) VALUES
+('1991-07-14', 'After Partitioning Insert', 299, 1234567, 'Insert row');
+UPDATE t1 SET filler='Updating the row' WHERE uid=298;
+DROP TABLE t1;
+#
+# Bug#59297: Can't find record in 'tablename' on update inner join
+#
+CREATE TABLE t1 (
+a char(2) NOT NULL,
+b char(2) NOT NULL,
+c int(10) unsigned NOT NULL,
+d varchar(255) DEFAULT NULL,
+e varchar(1000) DEFAULT NULL,
+PRIMARY KEY (a, b, c),
+KEY (a),
+KEY (a, b)
+)
+/*!50100 PARTITION BY KEY (a)
+PARTITIONS 20 */;
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343')
+;
+UPDATE t1 AS A,
+(SELECT '03' AS a, '06' AS b, 343 AS c, 'last' AS d) AS B
+SET A.e = B.d
+WHERE A.a = '03'
+AND A.b = '06'
+AND A.c = 343;
+DROP TABLE t1;
+#
+# Bug#57778: failed primary key add to partitioned innodb table
+# inconsistent and crashes
+#
+CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL)
+PARTITION BY KEY (a) PARTITIONS 2;
+INSERT INTO t1 VALUES (0,1), (0,2);
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+PARTITIONS 2 */
+SELECT * FROM t1;
+a b
+0 1
+0 2
+UPDATE t1 SET a = 1, b = 1 WHERE a = 0 AND b = 2;
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+SELECT * FROM t1;
+a b
+1 1
+0 1
+ALTER TABLE t1 DROP PRIMARY KEY;
+SELECT * FROM t1;
+a b
+1 1
+0 1
+DROP TABLE t1;
+#
# Bug#57113: ha_partition::extra(ha_extra_function):
# Assertion `m_extra_cache' failed
CREATE TABLE t1
@@ -118,6 +218,15 @@ a b
2007-07-30 17:35:48 p1
2009-07-14 17:35:55 pmax
2009-09-21 17:31:42 pmax
+SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+a b
+2007-07-30 17:35:48 p1
+EXPLAIN PARTITIONS SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 system PRIMARY NULL NULL NULL 1
+EXPLAIN PARTITIONS SELECT * FROM t1 where a = '2007-07-30 17:35:48';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 system PRIMARY NULL NULL NULL 1
ALTER TABLE t1 REORGANIZE PARTITION pmax INTO (
PARTITION p3 VALUES LESS THAN (1247688000),
PARTITION pmax VALUES LESS THAN MAXVALUE);
@@ -126,6 +235,15 @@ a b
2007-07-30 17:35:48 p1
2009-07-14 17:35:55 pmax
2009-09-21 17:31:42 pmax
+SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+a b
+2007-07-30 17:35:48 p1
+EXPLAIN PARTITIONS SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 system PRIMARY NULL NULL NULL 1
+EXPLAIN PARTITIONS SELECT * FROM t1 where a = '2007-07-30 17:35:48';
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 p1 system PRIMARY NULL NULL NULL 1
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -566,12 +684,12 @@ create table t1 (a bigint)
partition by range (a)
(partition p0 values less than (0xFFFFFFFFFFFFFFFF),
partition p1 values less than (10));
-ERROR HY000: VALUES value must be of same type as partition function
+ERROR HY000: VALUES value for partition 'p0' must have type INT
create table t1 (a bigint)
partition by list (a)
(partition p0 values in (0xFFFFFFFFFFFFFFFF),
partition p1 values in (10));
-ERROR HY000: VALUES value must be of same type as partition function
+ERROR HY000: VALUES value for partition 'p0' must have type INT
create table t1 (a bigint unsigned)
partition by range (a)
(partition p0 values less than (100),
@@ -1868,7 +1986,7 @@ c1 bigint,
c2 set('sweet'),
key (c2,c1,c0),
key(c0)
-) engine=myisam partition by hash (month(c0)) partitions 5;
+) engine=myisam partition by hash (c0) partitions 5;
insert ignore into t1 set c0 = -6502262, c1 = 3992917, c2 = 35019;
insert ignore into t1 set c0 = 241221, c1 = -6862346, c2 = 56644;
select c1 from t1 group by (select c0 from t1 limit 1);
@@ -2231,3 +2349,51 @@ INSERT INTO t1 VALUES(0);
DROP TABLE t1;
SET GLOBAL myisam_use_mmap=default;
End of 5.1 tests
+#
+# BUG#55385: UPDATE statement throws an error, but still updates
+# the table entries
+CREATE TABLE t1_part (
+partkey int,
+nokey int
+) PARTITION BY LINEAR HASH(partkey) PARTITIONS 3;
+INSERT INTO t1_part VALUES (1, 1) , (10, 10);
+CREATE VIEW v1 AS SELECT * FROM t1_part;
+
+# Should be (1,1),(10,10)
+SELECT * FROM t1_part;
+partkey nokey
+1 1
+10 10
+
+# Case 1
+# Update is refused because partitioning key is updated
+UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.partkey = 2, B.nokey = 3;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2, B.partkey = 3;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+
+# Case 2
+# Like 1, but partition accessed through a view
+UPDATE t1_part AS A NATURAL JOIN v1 as B SET A.nokey = 2 , B.partkey = 3;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+UPDATE v1 AS A NATURAL JOIN t1_part as B SET A.nokey = 2 , B.partkey = 3;
+ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
+
+# Should be (1,1),(10,10)
+SELECT * FROM t1_part;
+partkey nokey
+1 1
+10 10
+
+# Case 3
+# Update is accepted because partitioning key is not updated
+UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2 , B.nokey = 3;
+
+# Should be (1,3),(10,3)
+SELECT * FROM t1_part;
+partkey nokey
+1 3
+10 3
+
+DROP VIEW v1;
+DROP TABLE t1_part;
diff --git a/mysql-test/r/partition_binlog.result b/mysql-test/r/partition_binlog.result
new file mode 100644
index 00000000000..c8fa02c4b99
--- /dev/null
+++ b/mysql-test/r/partition_binlog.result
@@ -0,0 +1,49 @@
+DROP TABLE IF EXISTS t1;
+#
+# Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails
+# but the statement is written to binlog
+#
+CREATE TABLE t1(id INT)
+PARTITION BY RANGE (id)
+(PARTITION p0 VALUES LESS THAN (100),
+PARTITION pmax VALUES LESS THAN (MAXVALUE));
+INSERT INTO t1 VALUES (1), (10), (100), (1000);
+ALTER TABLE t1 TRUNCATE PARTITION p1;
+ERROR HY000: Incorrect partition name
+ALTER TABLE t1 DROP PARTITION p1;
+ERROR HY000: Error in list of partitions to DROP
+# No error returned, output in table format instead:
+ALTER TABLE t1 ANALYZE PARTITION p1;
+Table Op Msg_type Msg_text
+test.t1 analyze error Error in list of partitions to test.t1
+ALTER TABLE t1 CHECK PARTITION p1;
+Table Op Msg_type Msg_text
+test.t1 check error Error in list of partitions to test.t1
+ALTER TABLE t1 OPTIMIZE PARTITION p1;
+Table Op Msg_type Msg_text
+test.t1 optimize error Error in list of partitions to test.t1
+ALTER TABLE t1 REPAIR PARTITION p1;
+Table Op Msg_type Msg_text
+test.t1 repair error Error in list of partitions to test.t1
+ALTER TABLE t1 ANALYZE PARTITION p0;
+Table Op Msg_type Msg_text
+test.t1 analyze status OK
+ALTER TABLE t1 CHECK PARTITION p0;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+ALTER TABLE t1 OPTIMIZE PARTITION p0;
+Table Op Msg_type Msg_text
+test.t1 optimize status OK
+ALTER TABLE t1 REPAIR PARTITION p0;
+Table Op Msg_type Msg_text
+test.t1 repair status OK
+ALTER TABLE t1 TRUNCATE PARTITION p0;
+ALTER TABLE t1 DROP PARTITION p0;
+show binlog events in 'master-bin.000001' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ANALYZE PARTITION p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 OPTIMIZE PARTITION p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REPAIR PARTITION p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 TRUNCATE PARTITION p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p0
+DROP TABLE t1;
diff --git a/mysql-test/r/partition_datatype.result b/mysql-test/r/partition_datatype.result
index 47ea799f497..651d924d7e5 100644
--- a/mysql-test/r/partition_datatype.result
+++ b/mysql-test/r/partition_datatype.result
@@ -338,3 +338,1003 @@ select hex(a) from t1 where a = 7;
hex(a)
7
drop table t1;
+#
+# Bug#28928: UNIX_TIMESTAMP() should be considered unary monotonic
+# by partition pruning
+SET @old_time_zone= @@session.time_zone;
+SET @@session.time_zone = 'UTC';
+# Using MyISAM to get stable values on TABLE_ROWS in I_S.PARTITIONS
+CREATE TABLE t1
+(a TIMESTAMP NULL,
+tz varchar(16))
+ENGINE = MyISAM;
+CREATE TABLE t2 LIKE t1;
+ALTER TABLE t2 PARTITION BY RANGE (UNIX_TIMESTAMP(a))
+(PARTITION `p0` VALUES LESS THAN (0),
+PARTITION `p-2000` VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01')),
+PARTITION `p-2011-MSK` VALUES LESS THAN (UNIX_TIMESTAMP('2011-03-26 23:00:00')),
+PARTITION `p-2011-MSD-1` VALUES LESS THAN (UNIX_TIMESTAMP('2011-10-29 22:00:00')),
+PARTITION `p-2011-MSD-2` VALUES LESS THAN (UNIX_TIMESTAMP('2011-10-29 23:00:00')),
+PARTITION `p-2012-MSK-1` VALUES LESS THAN (UNIX_TIMESTAMP('2011-10-30 00:00:00')),
+PARTITION `p-2012-MSK-2` VALUES LESS THAN (UNIX_TIMESTAMP('2012-03-24 23:00:00')),
+PARTITION `pEnd` VALUES LESS THAN (UNIX_TIMESTAMP('2038-01-19 03:14:07')),
+PARTITION `pMax` VALUES LESS THAN MAXVALUE);
+# Test 'odd' values
+INSERT INTO t1 VALUES (NULL, 'UTC');
+INSERT INTO t1 VALUES ('0000-00-00 00:00:00', 'UTC');
+# Test invalid values
+INSERT INTO t1 VALUES ('1901-01-01 00:00:00', 'UTCI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('1969-12-31 23:59:59', 'UTCI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('2038-01-19 03:14:08', 'UTCI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('1970-01-01 00:00:00', 'UTCI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+# Test start range
+INSERT INTO t1 VALUES ('1970-01-01 00:00:01', 'UTC');
+INSERT INTO t1 VALUES ('1974-02-05 21:28:16', 'UTC');
+# Test end range
+INSERT INTO t1 VALUES ('2038-01-19 03:14:06', 'UTC');
+INSERT INTO t1 VALUES ('2038-01-19 03:14:07', 'UTC');
+# Test Daylight saving shift
+INSERT INTO t1 VALUES ('2011-03-26 22:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-03-26 23:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-03-26 23:00:01', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 21:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 22:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 22:00:01', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 22:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 23:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 23:00:01', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 23:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-30 00:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-30 00:00:01', 'UTC');
+SET @@session.time_zone = 'Europe/Moscow';
+# Test 'odd' values
+INSERT INTO t1 VALUES (NULL, 'Moscow');
+INSERT INTO t1 VALUES ('0000-00-00 00:00:00', 'Moscow');
+# Test invalid values
+INSERT INTO t1 VALUES ('0000-00-00 03:00:00', 'MoscowI');
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+INSERT INTO t1 VALUES ('1901-01-01 00:00:00', 'MoscowI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('1969-12-31 23:59:59', 'MoscowI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('1970-01-01 02:29:29', 'MoscowI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('2038-01-19 06:14:08', 'MoscowI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+INSERT INTO t1 VALUES ('1970-01-01 03:00:00', 'MoscowI');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+# values truncated to 03:00:00 due to daylight saving shift
+INSERT INTO t1 VALUES ('2011-03-27 02:00:00', 'MoscowI');
+Warnings:
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 1
+INSERT INTO t1 VALUES ('2011-03-27 02:00:01', 'MoscowI');
+Warnings:
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 1
+INSERT INTO t1 VALUES ('2011-03-27 02:59:59', 'MoscowI');
+Warnings:
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 1
+# Test start range
+INSERT INTO t1 VALUES ('1970-01-01 03:00:01', 'Moscow');
+INSERT INTO t1 VALUES ('1974-02-05 21:28:16', 'Moscow');
+# Test end range
+INSERT INTO t1 VALUES ('2038-01-19 06:14:06', 'Moscow');
+INSERT INTO t1 VALUES ('2038-01-19 06:14:07', 'Moscow');
+# Test Daylight saving shift
+INSERT INTO t1 VALUES ('2011-03-27 01:59:59', 'Moscow');
+INSERT INTO t1 VALUES ('2011-03-27 03:00:00', 'Moscow');
+INSERT INTO t1 VALUES ('2011-03-27 03:00:01', 'Moscow');
+INSERT INTO t1 VALUES ('2011-10-30 01:59:59', 'Moscow');
+# All values between 02:00 and 02:59:59 will be interpretated as DST
+INSERT INTO t1 VALUES ('2011-10-30 02:00:00', 'MoscowD');
+INSERT INTO t1 VALUES ('2011-10-30 02:00:01', 'MoscowD');
+INSERT INTO t1 VALUES ('2011-10-30 02:59:59', 'MoscowD');
+INSERT INTO t1 VALUES ('2011-10-30 03:00:00', 'Moscow');
+INSERT INTO t1 VALUES ('2011-10-30 03:00:01', 'Moscow');
+SET @@session.time_zone = 'UTC';
+INSERT INTO t2 SELECT * FROM t1;
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+PARTITION_NAME TABLE_ROWS
+p0 2
+p-2000 16
+p-2011-MSK 2
+p-2011-MSD-1 9
+p-2011-MSD-2 6
+p-2012-MSK-1 3
+p-2012-MSK-2 4
+pEnd 2
+pMax 2
+SELECT * FROM t1 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 Moscow
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 UTC
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+1970-01-01 00:00:01 Moscow
+1970-01-01 00:00:01 UTC
+1974-02-05 18:28:16 Moscow
+1974-02-05 21:28:16 UTC
+2011-03-26 22:59:59 Moscow
+2011-03-26 22:59:59 UTC
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 UTC
+2011-03-26 23:00:01 Moscow
+2011-03-26 23:00:01 UTC
+2011-10-29 21:59:59 Moscow
+2011-10-29 21:59:59 UTC
+2011-10-29 22:00:00 MoscowD
+2011-10-29 22:00:00 UTC
+2011-10-29 22:00:01 MoscowD
+2011-10-29 22:00:01 UTC
+2011-10-29 22:59:59 MoscowD
+2011-10-29 22:59:59 UTC
+2011-10-29 23:00:00 UTC
+2011-10-29 23:00:01 UTC
+2011-10-29 23:59:59 UTC
+2011-10-30 00:00:00 Moscow
+2011-10-30 00:00:00 UTC
+2011-10-30 00:00:01 Moscow
+2011-10-30 00:00:01 UTC
+2038-01-19 03:14:06 Moscow
+2038-01-19 03:14:06 UTC
+2038-01-19 03:14:07 Moscow
+2038-01-19 03:14:07 UTC
+SELECT * FROM t2 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 Moscow
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 UTC
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+1970-01-01 00:00:01 Moscow
+1970-01-01 00:00:01 UTC
+1974-02-05 18:28:16 Moscow
+1974-02-05 21:28:16 UTC
+2011-03-26 22:59:59 Moscow
+2011-03-26 22:59:59 UTC
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 UTC
+2011-03-26 23:00:01 Moscow
+2011-03-26 23:00:01 UTC
+2011-10-29 21:59:59 Moscow
+2011-10-29 21:59:59 UTC
+2011-10-29 22:00:00 MoscowD
+2011-10-29 22:00:00 UTC
+2011-10-29 22:00:01 MoscowD
+2011-10-29 22:00:01 UTC
+2011-10-29 22:59:59 MoscowD
+2011-10-29 22:59:59 UTC
+2011-10-29 23:00:00 UTC
+2011-10-29 23:00:01 UTC
+2011-10-29 23:59:59 UTC
+2011-10-30 00:00:00 Moscow
+2011-10-30 00:00:00 UTC
+2011-10-30 00:00:01 Moscow
+2011-10-30 00:00:01 UTC
+2038-01-19 03:14:06 Moscow
+2038-01-19 03:14:06 UTC
+2038-01-19 03:14:07 Moscow
+2038-01-19 03:14:07 UTC
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 23:00:00' ORDER BY a, tz;
+a tz
+2011-03-26 22:59:59 Moscow
+2011-03-26 22:59:59 UTC
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 23:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK,p-2011-MSD-1 ALL NULL NULL NULL NULL 11 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 22:59:59' ORDER BY a, tz;
+a tz
+2011-03-26 22:59:59 Moscow
+2011-03-26 22:59:59 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 22:59:59' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK ALL NULL NULL NULL NULL 2 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 22:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+a tz
+2011-03-26 22:59:59 Moscow
+2011-03-26 22:59:59 UTC
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 UTC
+2011-03-26 23:00:01 Moscow
+2011-03-26 23:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 22:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK,p-2011-MSD-1 ALL NULL NULL NULL NULL 11 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 23:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+a tz
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 UTC
+2011-03-26 23:00:01 Moscow
+2011-03-26 23:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 23:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1 ALL NULL NULL NULL NULL 9 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 23:00:00' ORDER BY a, tz;
+a tz
+2011-10-29 21:59:59 Moscow
+2011-10-29 21:59:59 UTC
+2011-10-29 22:00:00 MoscowD
+2011-10-29 22:00:00 UTC
+2011-10-29 22:00:01 MoscowD
+2011-10-29 22:00:01 UTC
+2011-10-29 22:59:59 MoscowD
+2011-10-29 22:59:59 UTC
+2011-10-29 23:00:00 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 23:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1,p-2011-MSD-2,p-2012-MSK-1 ALL NULL NULL NULL NULL 18 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 22:59:59' ORDER BY a, tz;
+a tz
+2011-10-29 21:59:59 Moscow
+2011-10-29 21:59:59 UTC
+2011-10-29 22:00:00 MoscowD
+2011-10-29 22:00:00 UTC
+2011-10-29 22:00:01 MoscowD
+2011-10-29 22:00:01 UTC
+2011-10-29 22:59:59 MoscowD
+2011-10-29 22:59:59 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 22:59:59' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1,p-2011-MSD-2 ALL NULL NULL NULL NULL 15 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 22:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+a tz
+2011-10-29 22:59:59 MoscowD
+2011-10-29 22:59:59 UTC
+2011-10-29 23:00:00 UTC
+2011-10-29 23:00:01 UTC
+2011-10-29 23:59:59 UTC
+2011-10-30 00:00:00 Moscow
+2011-10-30 00:00:00 UTC
+2011-10-30 00:00:01 Moscow
+2011-10-30 00:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 22:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-2,p-2012-MSK-1,p-2012-MSK-2 ALL NULL NULL NULL NULL 13 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 23:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+a tz
+2011-10-29 23:00:00 UTC
+2011-10-29 23:00:01 UTC
+2011-10-29 23:59:59 UTC
+2011-10-30 00:00:00 Moscow
+2011-10-30 00:00:00 UTC
+2011-10-30 00:00:01 Moscow
+2011-10-30 00:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 23:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2012-MSK-1,p-2012-MSK-2 ALL NULL NULL NULL NULL 7 Using where; Using filesort
+# Test end range changes
+DELETE FROM t2 WHERE a = 0;
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'UTC');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+35
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+1
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+a tz
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 UTC
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+a tz
+2038-01-19 03:14:07 Moscow
+2038-01-19 03:14:07 UTC
+2038-01-19 03:14:06 Moscow
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, 1, a);
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 34
+Warning 1264 Out of range value for column 'a' at row 35
+SELECT MIN(a), MAX(a) FROM t2;
+MIN(a) MAX(a)
+0000-00-00 00:00:00 2038-01-19 03:14:07
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+35
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+2
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+PARTITION_NAME TABLE_ROWS
+p0 3
+p-2000 6
+p-2011-MSK 0
+p-2011-MSD-1 9
+p-2011-MSD-2 6
+p-2012-MSK-1 4
+p-2012-MSK-2 5
+pEnd 0
+pMax 2
+SELECT * FROM t2 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL UTC
+NULL UTC
+0000-00-00 00:00:00 Moscow
+0000-00-00 00:00:00 UTC
+1970-01-01 00:00:02 Moscow
+1970-01-01 00:00:02 UTC
+1974-02-05 18:28:17 Moscow
+1974-02-05 21:28:17 UTC
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 UTC
+2011-03-26 23:00:01 Moscow
+2011-03-26 23:00:01 MoscowI
+2011-03-26 23:00:01 MoscowI
+2011-03-26 23:00:01 MoscowI
+2011-03-26 23:00:01 UTC
+2011-03-26 23:00:02 Moscow
+2011-03-26 23:00:02 UTC
+2011-10-29 22:00:00 Moscow
+2011-10-29 22:00:00 UTC
+2011-10-29 22:00:01 MoscowD
+2011-10-29 22:00:01 UTC
+2011-10-29 22:00:02 MoscowD
+2011-10-29 22:00:02 UTC
+2011-10-29 23:00:00 MoscowD
+2011-10-29 23:00:00 UTC
+2011-10-29 23:00:01 UTC
+2011-10-29 23:00:02 UTC
+2011-10-30 00:00:00 UTC
+2011-10-30 00:00:01 Moscow
+2011-10-30 00:00:01 UTC
+2011-10-30 00:00:02 Moscow
+2011-10-30 00:00:02 UTC
+2038-01-19 03:14:07 Moscow
+2038-01-19 03:14:07 UTC
+# Test start range changes
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'UTC');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+36
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+3
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+a tz
+NULL Moscow
+NULL UTC
+NULL UTC
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+a tz
+2038-01-19 03:14:07 Moscow
+2038-01-19 03:14:07 UTC
+2011-10-30 00:00:02 Moscow
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, -1, a);
+SELECT MIN(a), MAX(a) FROM t2;
+MIN(a) MAX(a)
+1970-01-01 00:00:01 2038-01-19 03:14:06
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+36
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+0
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+PARTITION_NAME TABLE_ROWS
+p0 6
+p-2000 4
+p-2011-MSK 2
+p-2011-MSD-1 9
+p-2011-MSD-2 6
+p-2012-MSK-1 3
+p-2012-MSK-2 4
+pEnd 2
+pMax 0
+SELECT * FROM t2 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL Moscow
+NULL UTC
+NULL UTC
+NULL UTC
+NULL UTC
+1970-01-01 00:00:01 Moscow
+1970-01-01 00:00:01 UTC
+1974-02-05 18:28:16 Moscow
+1974-02-05 21:28:16 UTC
+2011-03-26 22:59:59 Moscow
+2011-03-26 22:59:59 UTC
+2011-03-26 23:00:00 Moscow
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 MoscowI
+2011-03-26 23:00:00 UTC
+2011-03-26 23:00:01 Moscow
+2011-03-26 23:00:01 UTC
+2011-10-29 21:59:59 Moscow
+2011-10-29 21:59:59 UTC
+2011-10-29 22:00:00 MoscowD
+2011-10-29 22:00:00 UTC
+2011-10-29 22:00:01 MoscowD
+2011-10-29 22:00:01 UTC
+2011-10-29 22:59:59 MoscowD
+2011-10-29 22:59:59 UTC
+2011-10-29 23:00:00 UTC
+2011-10-29 23:00:01 UTC
+2011-10-29 23:59:59 UTC
+2011-10-30 00:00:00 Moscow
+2011-10-30 00:00:00 UTC
+2011-10-30 00:00:01 Moscow
+2011-10-30 00:00:01 UTC
+2038-01-19 03:14:06 Moscow
+2038-01-19 03:14:06 UTC
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` timestamp NULL DEFAULT NULL,
+ `tz` varchar(16) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (UNIX_TIMESTAMP(a))
+(PARTITION p0 VALUES LESS THAN (0) ENGINE = MyISAM,
+ PARTITION `p-2000` VALUES LESS THAN (946684800) ENGINE = MyISAM,
+ PARTITION `p-2011-MSK` VALUES LESS THAN (1301180400) ENGINE = MyISAM,
+ PARTITION `p-2011-MSD-1` VALUES LESS THAN (1319925600) ENGINE = MyISAM,
+ PARTITION `p-2011-MSD-2` VALUES LESS THAN (1319929200) ENGINE = MyISAM,
+ PARTITION `p-2012-MSK-1` VALUES LESS THAN (1319932800) ENGINE = MyISAM,
+ PARTITION `p-2012-MSK-2` VALUES LESS THAN (1332630000) ENGINE = MyISAM,
+ PARTITION pEnd VALUES LESS THAN (2147483647) ENGINE = MyISAM,
+ PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+TRUNCATE TABLE t2;
+SET @@session.time_zone = 'Europe/Moscow';
+INSERT INTO t2 SELECT * FROM t1;
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+PARTITION_NAME TABLE_ROWS
+p0 2
+p-2000 16
+p-2011-MSK 2
+p-2011-MSD-1 9
+p-2011-MSD-2 6
+p-2012-MSK-1 3
+p-2012-MSK-2 4
+pEnd 2
+pMax 2
+SELECT * FROM t1 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 Moscow
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 UTC
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+1970-01-01 03:00:01 Moscow
+1970-01-01 03:00:01 UTC
+1974-02-05 21:28:16 Moscow
+1974-02-06 00:28:16 UTC
+2011-03-27 01:59:59 Moscow
+2011-03-27 01:59:59 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:01 Moscow
+2011-03-27 03:00:01 UTC
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+2038-01-19 06:14:06 Moscow
+2038-01-19 06:14:06 UTC
+2038-01-19 06:14:07 Moscow
+2038-01-19 06:14:07 UTC
+SELECT * FROM t2 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 Moscow
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 MoscowI
+0000-00-00 00:00:00 UTC
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+0000-00-00 00:00:00 UTCI
+1970-01-01 03:00:01 Moscow
+1970-01-01 03:00:01 UTC
+1974-02-05 21:28:16 Moscow
+1974-02-06 00:28:16 UTC
+2011-03-27 01:59:59 Moscow
+2011-03-27 01:59:59 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:01 Moscow
+2011-03-27 03:00:01 UTC
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+2038-01-19 06:14:06 Moscow
+2038-01-19 06:14:06 UTC
+2038-01-19 06:14:07 Moscow
+2038-01-19 06:14:07 UTC
+# Testing the leap from 01:59:59 to 03:00:00
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 03:00:00' ORDER BY a, tz;
+a tz
+2011-03-27 01:59:59 Moscow
+2011-03-27 01:59:59 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 03:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK,p-2011-MSD-1 ALL NULL NULL NULL NULL 11 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 01:59:59' ORDER BY a, tz;
+a tz
+2011-03-27 01:59:59 Moscow
+2011-03-27 01:59:59 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 01:59:59' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK ALL NULL NULL NULL NULL 2 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 01:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+a tz
+2011-03-27 01:59:59 Moscow
+2011-03-27 01:59:59 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:01 Moscow
+2011-03-27 03:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 01:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK,p-2011-MSD-1 ALL NULL NULL NULL NULL 11 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 03:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+a tz
+2011-03-27 01:59:59 Moscow
+2011-03-27 01:59:59 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:01 Moscow
+2011-03-27 03:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 03:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSK,p-2011-MSD-1 ALL NULL NULL NULL NULL 11 Using where; Using filesort
+# Testing the leap from 02:59:59 to 02:00:00
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:00:00' ORDER BY a, tz;
+a tz
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1 ALL NULL NULL NULL NULL 9 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:59:59' ORDER BY a, tz;
+a tz
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:59:59' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1 ALL NULL NULL NULL NULL 9 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 03:00:00' ORDER BY a, tz;
+a tz
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 03:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1 ALL NULL NULL NULL NULL 9 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 01:59:59' ORDER BY a, tz;
+a tz
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 01:59:59' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1 ALL NULL NULL NULL NULL 9 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+a tz
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1,p-2011-MSD-2,p-2012-MSK-1,p-2012-MSK-2 ALL NULL NULL NULL NULL 22 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+a tz
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1,p-2011-MSD-2,p-2012-MSK-1,p-2012-MSK-2 ALL NULL NULL NULL NULL 22 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 03:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+a tz
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 03:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1,p-2011-MSD-2,p-2012-MSK-1,p-2012-MSK-2 ALL NULL NULL NULL NULL 22 Using where; Using filesort
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 01:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+a tz
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 01:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+id select_type table partitions type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 p-2011-MSD-1,p-2011-MSD-2,p-2012-MSK-1,p-2012-MSK-2 ALL NULL NULL NULL NULL 22 Using where; Using filesort
+# Test end range changes
+DELETE FROM t2 WHERE a = 0;
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'Moscow');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+35
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+1
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+a tz
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 Moscow
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+a tz
+2038-01-19 06:14:07 Moscow
+2038-01-19 06:14:07 UTC
+2038-01-19 06:14:06 Moscow
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, 1, a);
+Warnings:
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 8
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 9
+Warning 1264 Out of range value for column 'a' at row 34
+Warning 1264 Out of range value for column 'a' at row 35
+SELECT MIN(a), MAX(a) FROM t2;
+MIN(a) MAX(a)
+0000-00-00 00:00:00 2038-01-19 06:14:07
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+35
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+2
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+PARTITION_NAME TABLE_ROWS
+p0 3
+p-2000 6
+p-2011-MSK 0
+p-2011-MSD-1 9
+p-2011-MSD-2 8
+p-2012-MSK-1 0
+p-2012-MSK-2 7
+pEnd 0
+pMax 2
+SELECT * FROM t2 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL Moscow
+NULL UTC
+0000-00-00 00:00:00 Moscow
+0000-00-00 00:00:00 UTC
+1970-01-01 03:00:02 Moscow
+1970-01-01 03:00:02 UTC
+1974-02-05 21:28:17 Moscow
+1974-02-06 00:28:17 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:01 Moscow
+2011-03-27 03:00:01 MoscowI
+2011-03-27 03:00:01 MoscowI
+2011-03-27 03:00:01 MoscowI
+2011-03-27 03:00:01 UTC
+2011-03-27 03:00:02 Moscow
+2011-03-27 03:00:02 UTC
+2011-10-30 02:00:00 Moscow
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:00:02 MoscowD
+2011-10-30 02:00:02 UTC
+2011-10-30 02:00:02 UTC
+2011-10-30 03:00:00 MoscowD
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+2011-10-30 03:00:02 Moscow
+2011-10-30 03:00:02 UTC
+2038-01-19 06:14:07 Moscow
+2038-01-19 06:14:07 UTC
+# Test start range changes
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'Moscow');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+36
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+3
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+a tz
+NULL Moscow
+NULL Moscow
+NULL UTC
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+a tz
+2038-01-19 06:14:07 Moscow
+2038-01-19 06:14:07 UTC
+2011-10-30 03:00:02 Moscow
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, -1, a);
+Warnings:
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 18
+Warning 1299 Invalid TIMESTAMP value in column 'a' at row 19
+SELECT MIN(a), MAX(a) FROM t2;
+MIN(a) MAX(a)
+1970-01-01 03:00:01 2038-01-19 06:14:06
+SELECT COUNT(*) FROM t2;
+COUNT(*)
+36
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+COUNT(*)
+0
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+PARTITION_NAME TABLE_ROWS
+p0 6
+p-2000 4
+p-2011-MSK 0
+p-2011-MSD-1 11
+p-2011-MSD-2 9
+p-2012-MSK-1 0
+p-2012-MSK-2 4
+pEnd 2
+pMax 0
+SELECT * FROM t2 ORDER BY a, tz;
+a tz
+NULL Moscow
+NULL Moscow
+NULL Moscow
+NULL Moscow
+NULL UTC
+NULL UTC
+1970-01-01 03:00:01 Moscow
+1970-01-01 03:00:01 UTC
+1974-02-05 21:28:16 Moscow
+1974-02-06 00:28:16 UTC
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 Moscow
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 MoscowI
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:00 UTC
+2011-03-27 03:00:01 Moscow
+2011-03-27 03:00:01 UTC
+2011-10-30 01:59:59 Moscow
+2011-10-30 01:59:59 UTC
+2011-10-30 02:00:00 MoscowD
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:00 UTC
+2011-10-30 02:00:01 MoscowD
+2011-10-30 02:00:01 UTC
+2011-10-30 02:00:01 UTC
+2011-10-30 02:59:59 MoscowD
+2011-10-30 02:59:59 UTC
+2011-10-30 02:59:59 UTC
+2011-10-30 03:00:00 Moscow
+2011-10-30 03:00:00 UTC
+2011-10-30 03:00:01 Moscow
+2011-10-30 03:00:01 UTC
+2038-01-19 06:14:06 Moscow
+2038-01-19 06:14:06 UTC
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` timestamp NULL DEFAULT NULL,
+ `tz` varchar(16) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (UNIX_TIMESTAMP(a))
+(PARTITION p0 VALUES LESS THAN (0) ENGINE = MyISAM,
+ PARTITION `p-2000` VALUES LESS THAN (946684800) ENGINE = MyISAM,
+ PARTITION `p-2011-MSK` VALUES LESS THAN (1301180400) ENGINE = MyISAM,
+ PARTITION `p-2011-MSD-1` VALUES LESS THAN (1319925600) ENGINE = MyISAM,
+ PARTITION `p-2011-MSD-2` VALUES LESS THAN (1319929200) ENGINE = MyISAM,
+ PARTITION `p-2012-MSK-1` VALUES LESS THAN (1319932800) ENGINE = MyISAM,
+ PARTITION `p-2012-MSK-2` VALUES LESS THAN (1332630000) ENGINE = MyISAM,
+ PARTITION pEnd VALUES LESS THAN (2147483647) ENGINE = MyISAM,
+ PARTITION pMax VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+TRUNCATE TABLE t2;
+DROP TABLE t1, t2;
+SET @@session.time_zone= @old_time_zone;
diff --git a/mysql-test/r/partition_debug_sync.result b/mysql-test/r/partition_debug_sync.result
index 0e3241cf88e..6b8c8e48acc 100644
--- a/mysql-test/r/partition_debug_sync.result
+++ b/mysql-test/r/partition_debug_sync.result
@@ -25,7 +25,7 @@ ALTER TABLE t1 REMOVE PARTITIONING;
# Con default
SET DEBUG_SYNC= 'now WAIT_FOR removing_partitioning';
SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL waiting_for_alter';
-SET DEBUG_SYNC= 'rm_table_part2_before_delete_table WAIT_FOR partitioning_removed';
+SET DEBUG_SYNC= 'rm_table_no_locks_before_delete_table WAIT_FOR partitioning_removed';
DROP TABLE IF EXISTS t1;
# Con 1
SET SESSION debug= "-d,sleep_before_create_table_no_lock";
@@ -51,12 +51,12 @@ SET DEBUG_SYNC= 'alter_table_before_open_tables SIGNAL removing_partitions WAIT_
SET DEBUG_SYNC= 'alter_table_before_rename_result_table WAIT_FOR delete_done';
ALTER TABLE t2 REMOVE PARTITIONING;
# Con default
-SET SESSION debug= "+d,sleep_before_part2_delete_table";
+SET SESSION debug= "+d,sleep_before_no_locks_delete_table";
SET DEBUG_SYNC= 'now WAIT_FOR removing_partitions';
-SET DEBUG_SYNC= 'rm_table_part2_before_delete_table SIGNAL waiting_for_alter';
-SET DEBUG_SYNC= 'rm_table_part2_before_binlog SIGNAL delete_done';
+SET DEBUG_SYNC= 'rm_table_no_locks_before_delete_table SIGNAL waiting_for_alter';
+SET DEBUG_SYNC= 'rm_table_no_locks_before_binlog SIGNAL delete_done';
DROP TABLE IF EXISTS t2;
-SET SESSION debug= "-d,sleep_before_part2_delete_table";
+SET SESSION debug= "-d,sleep_before_no_locks_delete_table";
# Con 1
ERROR 42S02: Table 'test.t2' doesn't exist
SET DEBUG_SYNC= 'RESET';
diff --git a/mysql-test/r/partition_error.result b/mysql-test/r/partition_error.result
index 8fe16fd7afb..252a6b4386a 100644
--- a/mysql-test/r/partition_error.result
+++ b/mysql-test/r/partition_error.result
@@ -1,20 +1,717 @@
-drop table if exists t1;
+drop table if exists t1, t2;
#
-# Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
+# Bug#57924: crash when creating partitioned table with
+# multiple columns in the partition key
#
-CREATE TABLE t1 (a INT) PARTITION BY HASH (a);
-FLUSH TABLES;
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check Error Failed to read from the .par file
-test.t1 check Error Incorrect information in file: './test/t1.frm'
-test.t1 check error Corrupt
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
+PARTITION BY KEY(a, b, a);
+ERROR HY000: Duplicate partition field name 'a'
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
+PARTITION BY KEY(A, b);
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
+PARTITION BY KEY(a, b, A);
+ERROR HY000: Duplicate partition field name 'a'
+#
+# Bug#54483: valgrind errors when making warnings for multiline inserts
+# into partition
+#
+CREATE TABLE t1 (a VARBINARY(10))
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a CHAR(10))
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIMESTAMP)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+INSERT INTO t1 VALUES ('test'),('a'),('5');
+Warnings:
+Warning 1265 Data truncated for column 'a' at row 1
+Warning 1265 Data truncated for column 'a' at row 2
+Warning 1265 Data truncated for column 'a' at row 3
+SHOW WARNINGS;
+Level Code Message
+Warning 1265 Data truncated for column 'a' at row 1
+Warning 1265 Data truncated for column 'a' at row 2
+Warning 1265 Data truncated for column 'a' at row 3
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+INSERT INTO t1 VALUES ('test'),('a'),('5');
+Warnings:
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+SHOW WARNINGS;
+Level Code Message
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1264 Out of range value for column 'a' at row 2
+Warning 1264 Out of range value for column 'a' at row 3
+DROP TABLE t1;
+CREATE TABLE t1 (a TIME)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+SHOW WARNINGS;
+Level Code Message
+Error 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TO_DAYS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TO_DAYS(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TO_DAYS(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TO_DAYS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TO_DAYS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (DAYOFMONTH(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (DAYOFMONTH(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (DAYOFMONTH(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (DAYOFMONTH(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (DAYOFMONTH(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (MONTH(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (MONTH(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (MONTH(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (MONTH(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (MONTH(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (DAYOFYEAR(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (DAYOFYEAR(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (DAYOFYEAR(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (DAYOFYEAR(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (DAYOFYEAR(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (HOUR(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (HOUR(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (HOUR(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (HOUR(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (HOUR(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (MINUTE(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (MINUTE(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (MINUTE(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (MINUTE(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (MINUTE(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (QUARTER(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (QUARTER(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (QUARTER(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (QUARTER(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (QUARTER(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (SECOND(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (SECOND(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (SECOND(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (SECOND(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (SECOND(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (YEARWEEK(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (YEARWEEK(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (YEARWEEK(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (YEARWEEK(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (YEARWEEK(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (WEEKDAY(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (WEEKDAY(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (WEEKDAY(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (WEEKDAY(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (WEEKDAY(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+# TO_SECONDS() is added in 5.5.
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TO_SECONDS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TO_SECONDS(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TO_SECONDS(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TO_SECONDS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TO_SECONDS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TIME_TO_SEC(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TIME_TO_SEC(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TIME_TO_SEC(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (FROM_DAYS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (FROM_DAYS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (FROM_DAYS(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TO_DAYS(FROM_DAYS(a)));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (FROM_DAYS(a));
+ERROR HY000: The PARTITION function returns the wrong type
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TO_DAYS(FROM_DAYS(a)));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (FROM_DAYS(a));
+ERROR HY000: The PARTITION function returns the wrong type
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (MICROSECOND(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (MICROSECOND(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (MICROSECOND(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (MICROSECOND(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (MICROSECOND(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+# Bug#57071
+CREATE TABLE t1
+(`date` date,
+`extracted_week` int,
+`yearweek` int,
+`week` int,
+`default_week_format` int)
+PARTITION BY LIST (EXTRACT(WEEK FROM date) % 3)
+(PARTITION p0 VALUES IN (0),
+PARTITION p1 VALUES IN (1),
+PARTITION p2 VALUES IN (2));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1
+(`date` date,
+`extracted_week` int,
+`yearweek` int,
+`week` int,
+`default_week_format` int);
+SET @old_default_week_format := @@default_week_format;
+SET default_week_format = 0;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 1;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 2;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 3;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 4;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 5;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 6;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 7;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
SELECT * FROM t1;
-ERROR HY000: Failed to read from the .par file
-# Note that it is currently impossible to drop a partitioned table
-# without the .par file
+date extracted_week yearweek week default_week_format
+2000-01-01 0 199952 0 0
+2000-01-01 0 199952 0 1
+2000-01-01 52 199952 52 2
+2000-01-01 52 199952 52 3
+2000-01-01 0 199952 0 4
+2000-01-01 0 199952 0 5
+2000-01-01 52 199952 52 6
+2000-01-01 52 199952 52 7
+SET default_week_format = @old_default_week_format;
+DROP TABLE t1;
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
DROP TABLE t1;
-ERROR 42S02: Unknown table 't1'
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+# EXTRACT(WEEK...) is disallowed, see bug#57071.
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME, b DATE)
+PARTITION BY HASH (DATEDIFF(a, b));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATE, b DATETIME)
+PARTITION BY HASH (DATEDIFF(a, b));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME, b DATE)
+PARTITION BY HASH (DATEDIFF(a, b));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE, b VARCHAR(10))
+PARTITION BY HASH (DATEDIFF(a, b));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT, b DATETIME)
+PARTITION BY HASH (DATEDIFF(a, b));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TIME_TO_SEC(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TIME_TO_SEC(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TIME_TO_SEC(a));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+#
+# Bug#50036: Inconsistent errors when using TIMESTAMP
+# columns/expressions
+# 1. correct and appropriate errors in light of
+# the fix for BUG#42849:
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (TO_DAYS(c))
+(PARTITION p0 VALUES LESS THAN (10000),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t2 (c TIMESTAMP);
+ALTER TABLE t2
+PARTITION BY RANGE (TO_DAYS(c))
+(PARTITION p0 VALUES LESS THAN (10000),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE COLUMNS(c)
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning
+ALTER TABLE t2 PARTITION BY RANGE COLUMNS(c)
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning
+DROP TABLE t2;
+# 2. These errors where questionable before the fix:
+# VALUES clause are checked first, clearified the error message.
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (c)
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: VALUES value for partition 'p0' must have type INT
+# TIMESTAMP is not INT (e.g. UNIX_TIMESTAMP).
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (UNIX_TIMESTAMP(c))
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: VALUES value for partition 'p0' must have type INT
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (UNIX_TIMESTAMP(c))
+(PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+DROP TABLE t1;
+# Changed error from ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY HASH (c) PARTITIONS 4;
+ERROR HY000: Field 'c' is of a not allowed type for this type of partitioning
+# Moved to partition_myisam, since it was MyISAM specific
+# Added test with existing TIMESTAMP partitioning (when it was allowed).
#
# Bug#49477: Assertion `0' failed in ha_partition.cc:5530
# with temporary table and partitions
@@ -47,10 +744,10 @@ Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) DEFAULT NULL,
`purchased` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=<curr_engine> DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(purchased))
SUBPARTITION BY HASH (TO_DAYS(purchased))
-(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = <curr_engine>) */
DROP TABLE t1;
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
@@ -68,12 +765,12 @@ Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) DEFAULT NULL,
`purchased` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=<curr_engine> DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(purchased))
SUBPARTITION BY HASH (TO_DAYS(purchased))
(PARTITION p0 VALUES LESS THAN MAXVALUE
- (SUBPARTITION sp0 ENGINE = MyISAM,
- SUBPARTITION sp1 ENGINE = MyISAM)) */
+ (SUBPARTITION sp0 ENGINE = <curr_engine>,
+ SUBPARTITION sp1 ENGINE = <curr_engine>)) */
DROP TABLE t1;
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
@@ -88,53 +785,11 @@ Table Create Table
t1 CREATE TABLE `t1` (
`id` int(11) DEFAULT NULL,
`purchased` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=<curr_engine> DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(purchased))
-(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+(PARTITION p0 VALUES LESS THAN MAXVALUE ENGINE = <curr_engine>) */
DROP TABLE t1;
SET @@sql_mode= @org_mode;
-#
-# Bug#50392: insert_id is not reset for partitioned tables
-# auto_increment on duplicate entry
-CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY);
-SET INSERT_ID= 13;
-INSERT INTO t1 VALUES (NULL);
-SET INSERT_ID= 12;
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-ERROR 23000: Duplicate entry '13' for key 'PRIMARY'
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1;
-a
-12
-13
-14
-DROP TABLE t1;
-CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY(a);
-SET INSERT_ID= 13;
-INSERT INTO t1 VALUES (NULL);
-SET INSERT_ID= 12;
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-ERROR 23000: Duplicate entry '13' for key 'PRIMARY'
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a) */
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1;
-a
-12
-13
-14
-DROP TABLE t1;
CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a));
INSERT INTO t1 VALUES (1),(1);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
@@ -144,19 +799,6 @@ PARTITION BY KEY (a) PARTITIONS 2;
INSERT INTO t1 VALUES (1),(1);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
DROP TABLE t1;
-CREATE TABLE t1 (a INT)
-PARTITION BY HASH (a)
-( PARTITION p0 ENGINE=MyISAM,
-PARTITION p1);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
-CREATE TABLE t1 (a INT)
-PARTITION BY LIST (a)
-SUBPARTITION BY HASH (a)
-( PARTITION p0 VALUES IN (0)
-( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2),
-PARTITION p1 VALUES IN (1)
-( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM));
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
CREATE TABLE t1 (
a int
)
@@ -497,7 +1139,7 @@ partition by range (a)
partitions 2
(partition x1 values less than (4.0) tablespace ts1,
partition x2 values less than (8) tablespace ts2);
-ERROR HY000: VALUES value must be of same type as partition function
+ERROR HY000: VALUES value for partition 'x1' must have type INT
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -736,7 +1378,7 @@ partition by list (a)
partitions 2
(partition x1 values in (4.0, 12+8),
partition x2 values in (3, 21));
-ERROR HY000: VALUES value must be of same type as partition function
+ERROR HY000: VALUES value for partition 'x1' must have type INT
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -796,12 +1438,12 @@ CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY)
PARTITION BY RANGE (a) (
PARTITION p VALUES LESS THAN (20080819),
PARTITION pmax VALUES LESS THAN MAXVALUE);
-ERROR HY000: The PARTITION function returns the wrong type
+ERROR HY000: Field 'a' is of a not allowed type for this type of partitioning
ALTER TABLE old
PARTITION BY RANGE (a) (
PARTITION p VALUES LESS THAN (20080819),
PARTITION pmax VALUES LESS THAN MAXVALUE);
-ERROR HY000: The PARTITION function returns the wrong type
+ERROR HY000: Field 'a' is of a not allowed type for this type of partitioning
CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY)
PARTITION BY RANGE (a+0) (
PARTITION p VALUES LESS THAN (20080819),
diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result
index bbd69083038..da2f59f375e 100644
--- a/mysql-test/r/partition_innodb.result
+++ b/mysql-test/r/partition_innodb.result
@@ -1,12 +1,38 @@
+set global default_storage_engine='innodb';
+set session default_storage_engine='innodb';
drop table if exists t1, t2;
#
+# Bug#56287: crash when using Partition datetime in sub in query
+#
+CREATE TABLE t1
+(c1 bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+c2 varchar(40) not null default '',
+c3 datetime not NULL,
+PRIMARY KEY (c1,c3),
+KEY partidx(c3))
+ENGINE=InnoDB
+PARTITION BY RANGE (TO_DAYS(c3))
+(PARTITION p200912 VALUES LESS THAN (to_days('2010-01-01')),
+PARTITION p201103 VALUES LESS THAN (to_days('2011-04-01')),
+PARTITION p201912 VALUES LESS THAN MAXVALUE);
+insert into t1(c2,c3) values ("Test row",'2010-01-01 00:00:00');
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't1' AND TABLE_SCHEMA = 'test';
+PARTITION_NAME TABLE_ROWS
+p200912 0
+p201103 1
+p201912 0
+SELECT count(*) FROM t1 p where c3 in
+(select c3 from t1 t where t.c3 < date '2011-04-26 19:19:44'
+ and t.c3 > date '2011-04-26 19:18:44') ;
+count(*)
+0
+DROP TABLE t1;
+#
# Bug#54747: Deadlock between REORGANIZE PARTITION and
# SELECT is not detected
#
SET @old_innodb_thread_concurrency:= @@innodb_thread_concurrency;
SET GLOBAL innodb_thread_concurrency = 1;
-set global default_storage_engine='innodb';
-set session default_storage_engine='innodb';
CREATE TABLE t1
(user_num BIGINT,
hours SMALLINT,
@@ -491,4 +517,32 @@ Warning 1265 Data truncated for column 'b' at row 1
Error 1067 Invalid default value for 'b'
SET SESSION sql_mode = @old_mode;
DROP TABLE t1;
+#
+# Bug#57985 "ONLINE/FAST ALTER PARTITION can fail and leave the
+# table unusable".
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a bigint not null, b int not null, PRIMARY KEY (a))
+ENGINE = InnoDB PARTITION BY KEY(a) PARTITIONS 2;
+INSERT INTO t1 values (0,1), (1,2);
+# The below ALTER should fail. It should leave the
+# table in its original, non-corrupted, usable state.
+ALTER TABLE t1 ADD UNIQUE KEY (b);
+ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
+# The below statements should succeed, as ALTER should
+# have left table intact.
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` bigint(20) NOT NULL,
+ `b` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+PARTITIONS 2 */
+SELECT * FROM t1;
+a b
+1 2
+0 1
+DROP TABLE t1;
set global default_storage_engine=default;
diff --git a/mysql-test/r/partition_innodb_plugin.result b/mysql-test/r/partition_innodb_plugin.result
index dd91eee316a..aa0944e96b5 100644
--- a/mysql-test/r/partition_innodb_plugin.result
+++ b/mysql-test/r/partition_innodb_plugin.result
@@ -1,3 +1,76 @@
+call mtr.add_suppression("nnoDB: Error: table `test`.`t1` .* Partition.* InnoDB internal");
+#
+# Bug#55091: Server crashes on ADD PARTITION after a failed attempt
+#
+SET @old_innodb_file_format_max = @@global.innodb_file_format_max;
+SET @old_innodb_file_format = @@global.innodb_file_format;
+SET @old_innodb_file_per_table = @@global.innodb_file_per_table;
+SET @old_innodb_strict_mode = @@global.innodb_strict_mode;
+SET @@global.innodb_file_format = Barracuda,
+@@global.innodb_file_per_table = ON,
+@@global.innodb_strict_mode = ON;
+# Connection con1
+CREATE TABLE t1 (id INT NOT NULL
+PRIMARY KEY,
+user_num CHAR(10)
+) ENGINE = InnoDB
+KEY_BLOCK_SIZE=4
+PARTITION BY HASH(id) PARTITIONS 1;
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `user_num` char(10) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=4
+/*!50100 PARTITION BY HASH (id)
+PARTITIONS 1 */
+SET GLOBAL innodb_file_per_table = OFF;
+# Connection con2
+LOCK TABLE t1 WRITE;
+# ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
+# are incompatible with innodb_file_per_table = OFF;
+ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
+ERROR HY000: Got error 1478 from storage engine
+t1#P#p0.ibd
+t1.frm
+t1.par
+# This SET is not needed to reproduce the bug,
+# it is here just to make the test case more realistic
+SET innodb_strict_mode = OFF;
+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
+Warnings:
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
+t1.frm
+t1.par
+ALTER TABLE t1 REBUILD PARTITION p0;
+Warnings:
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4.
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `user_num` char(10) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=4
+/*!50100 PARTITION BY HASH (id)
+PARTITIONS 3 */
+DROP TABLE t1;
+# Connection default
+SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
+SET @@global.innodb_file_format = @old_innodb_file_format;
+SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
+SET @@global.innodb_file_format_max = @old_innodb_file_format_max;
SET NAMES utf8;
CREATE TABLE `t``\""e` (a INT, PRIMARY KEY (a))
ENGINE=InnoDB
diff --git a/mysql-test/r/partition_myisam.result b/mysql-test/r/partition_myisam.result
new file mode 100644
index 00000000000..97bcc11495c
--- /dev/null
+++ b/mysql-test/r/partition_myisam.result
@@ -0,0 +1,250 @@
+DROP TABLE IF EXISTS t1, t2;
+#
+# Bug#50036: Inconsistent errors when using TIMESTAMP
+# columns/expressions
+# Added test with existing TIMESTAMP partitioning (when it was allowed).
+CREATE TABLE t1 (a TIMESTAMP)
+ENGINE = MyISAM
+PARTITION BY HASH (UNIX_TIMESTAMP(a));
+INSERT INTO t1 VALUES ('2000-01-02 03:04:05');
+SELECT * FROM t1;
+a
+2000-01-02 03:04:05
+FLUSH TABLES;
+# replacing t1.frm with TO_DAYS(a) which was allowed earlier.
+# Disable warnings, since the result would differ when running with
+# --ps-protocol (only for the 'SELECT * FROM t1' statement).
+SELECT * FROM t1;
+a
+2000-01-02 03:04:05
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=<curr_engine> DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (TO_DAYS(a)) */
+INSERT INTO t1 VALUES ('2001-02-03 04:05:06');
+SELECT * FROM t1;
+a
+2000-01-02 03:04:05
+2001-02-03 04:05:06
+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
+Warnings:
+Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+ALTER TABLE t1
+PARTITION BY RANGE (TO_DAYS(a))
+(PARTITION p0 VALUES LESS THAN (10000),
+PARTITION p1 VALUES LESS THAN (MAXVALUE));
+ERROR HY000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (TO_DAYS(a))
+PARTITIONS 3 */
+CREATE TABLE t2 LIKE t1;
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (TO_DAYS(a))
+PARTITIONS 3 */
+Warnings:
+Warning 1486 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed
+DROP TABLE t2;
+CREATE TABLE t2 SELECT * FROM t1;
+DROP TABLE t2;
+ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a));
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a)) */
+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY HASH (UNIX_TIMESTAMP(a))
+PARTITIONS 3 */
+SELECT * FROM t1;
+a
+2000-01-02 03:04:05
+2001-02-03 04:05:06
+DROP TABLE t1;
+#
+# Bug#31931: Mix of handlers error message
+#
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (a)
+( PARTITION p0 ENGINE=MyISAM,
+PARTITION p1);
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a)
+SUBPARTITION BY HASH (a)
+( PARTITION p0 VALUES IN (0)
+( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2),
+PARTITION p1 VALUES IN (1)
+( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM));
+ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
+#
+# Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
+#
+CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
+PARTITION BY HASH (a);
+FLUSH TABLES;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check Error Failed to read from the .par file
+test.t1 check Error Incorrect information in file: './test/t1.frm'
+test.t1 check error Corrupt
+SELECT * FROM t1;
+ERROR HY000: Failed to read from the .par file
+# Note that it is currently impossible to drop a partitioned table
+# without the .par file
+DROP TABLE t1;
+ERROR 42S02: Unknown table 't1'
+#
+# Bug#50392: insert_id is not reset for partitioned tables
+# auto_increment on duplicate entry
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY)
+ENGINE = MyISAM;
+SET INSERT_ID= 13;
+INSERT INTO t1 VALUES (NULL);
+SET INSERT_ID= 12;
+# For transactional engines, 12 will not be inserted, since the failing
+# statement is rolled back.
+INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
+ERROR 23000: Duplicate entry '13' for key 'PRIMARY'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (NULL);
+# NOTE: 12 exists only in non transactional engines!
+SELECT * FROM t1;
+a
+12
+13
+14
+DROP TABLE t1;
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY)
+ENGINE = MyISAM
+PARTITION BY KEY(a);
+SET INSERT_ID= 13;
+INSERT INTO t1 VALUES (NULL);
+SET INSERT_ID= 12;
+INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
+ERROR 23000: Duplicate entry '13' for key 'PRIMARY'
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a) */
+INSERT INTO t1 VALUES (NULL);
+SELECT * FROM t1;
+a
+12
+13
+14
+DROP TABLE t1;
+# Bug#30102 test
+CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (6),
+PARTITION `p1....................` VALUES LESS THAN (9),
+PARTITION p2 VALUES LESS THAN MAXVALUE);
+# List of files in database `test`, all original t1-files here
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+# Renaming to a file name where the first partition is 250 chars
+# and the second partition is 350 chars
+RENAME TABLE t1 TO `t2_new..............................................end`;
+Got one of the listed errors
+# List of files in database `test`, should not be any t2-files here
+# List of files in database `test`, should be all t1-files here
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+SELECT * FROM t1;
+a
+1
+10
+2
+3
+4
+5
+6
+7
+8
+9
+# List of files in database `test`, should be all t1-files here
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+# Renaming to a file name where the first partition is 156 chars
+# and the second partition is 256 chars
+RENAME TABLE t1 TO `t2_............................_end`;
+Got one of the listed errors
+# List of files in database `test`, should not be any t2-files here
+# List of files in database `test`, should be all t1-files here
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
+t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+SELECT * FROM t1;
+a
+1
+10
+2
+3
+4
+5
+6
+7
+8
+9
+DROP TABLE t1;
+# Should not be any files left here
+# End of bug#30102 test.
+# Test of post-push fix for bug#11766249/59316
+CREATE TABLE t1 (a INT, b VARCHAR(255), PRIMARY KEY (a))
+ENGINE = MyISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (0) MAX_ROWS=100,
+PARTITION p1 VALUES LESS THAN (100) MAX_ROWS=100,
+PARTITION pMax VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Partition p1, first row");
+DROP TABLE t1;
diff --git a/mysql-test/r/partition_not_embedded.result b/mysql-test/r/partition_not_embedded.result
deleted file mode 100644
index c942189a956..00000000000
--- a/mysql-test/r/partition_not_embedded.result
+++ /dev/null
@@ -1,81 +0,0 @@
-DROP TABLE IF EXISTS t1, t2;
-# Bug#30102 test
-CREATE TABLE t1 (a INT)
-PARTITION BY RANGE (a)
-(PARTITION p0 VALUES LESS THAN (6),
-PARTITION `p1....................` VALUES LESS THAN (9),
-PARTITION p2 VALUES LESS THAN MAXVALUE);
-# List of files in database `test`, all original t1-files here
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1.frm
-t1.par
-INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
-# Renaming to a file name where the first partition is 250 chars
-# and the second partition is 350 chars
-RENAME TABLE t1 TO `t2_new..............................................end`;
-Got one of the listed errors
-# List of files in database `test`, should not be any t2-files here
-# List of files in database `test`, should be all t1-files here
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1.frm
-t1.par
-SELECT * FROM t1;
-a
-1
-10
-2
-3
-4
-5
-6
-7
-8
-9
-# List of files in database `test`, should be all t1-files here
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1.frm
-t1.par
-# Renaming to a file name where the first partition is 156 chars
-# and the second partition is 256 chars
-RENAME TABLE t1 TO `t2_............................_end`;
-Got one of the listed errors
-# List of files in database `test`, should not be any t2-files here
-# List of files in database `test`, should be all t1-files here
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYD
-t1#P#p1@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e@002e.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1.frm
-t1.par
-SELECT * FROM t1;
-a
-1
-10
-2
-3
-4
-5
-6
-7
-8
-9
-DROP TABLE t1;
-# Should not be any files left here
-# End of bug#30102 test.
diff --git a/mysql-test/r/partition_range.result b/mysql-test/r/partition_range.result
index 4280158dd16..339f2209cb3 100644
--- a/mysql-test/r/partition_range.result
+++ b/mysql-test/r/partition_range.result
@@ -13,16 +13,16 @@ EXPLAIN SELECT a, MAX(b) FROM t1 WHERE a IN (10, 100, 3) GROUP BY a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range a a 5 NULL 4 Using where; Using index
DROP TABLE t1;
-create table t1 (a int)
-partition by range (a)
+create table t1 (a DATETIME)
+partition by range (TO_DAYS(a))
subpartition by hash(to_seconds(a))
(partition p0 values less than (1));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
+ `a` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50500 PARTITION BY RANGE (a)
+/*!50500 PARTITION BY RANGE (TO_DAYS(a))
SUBPARTITION BY HASH (to_seconds(a))
(PARTITION p0 VALUES LESS THAN (1) ENGINE = MyISAM) */
drop table t1;
diff --git a/mysql-test/r/partition_symlink.result b/mysql-test/r/partition_symlink.result
index 60184d11d9c..f26a1642a52 100644
--- a/mysql-test/r/partition_symlink.result
+++ b/mysql-test/r/partition_symlink.result
@@ -6,11 +6,12 @@ DROP DATABASE IF EXISTS mysqltest2;
CREATE USER mysqltest_1@localhost;
CREATE DATABASE mysqltest2;
USE mysqltest2;
-CREATE TABLE t1 (a INT);
+CREATE TABLE t1 (a INT) ENGINE = MyISAM;
INSERT INTO t1 VALUES (0);
# user mysqltest_1:
USE test;
CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
@@ -47,6 +48,7 @@ DROP DATABASE mysqltest2;
CREATE DATABASE mysqltest2;
USE mysqltest2;
CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
@@ -58,6 +60,7 @@ DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
# user mysqltest_1:
USE test;
CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
@@ -68,6 +71,7 @@ DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
);
Got one of the listed errors
CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY 'MYSQLTEST_VARDIR/tmp'
@@ -82,6 +86,7 @@ DROP DATABASE mysqltest2;
USE test;
DROP USER mysqltest_1@localhost;
create table t2 (i int )
+ENGINE = MyISAM
partition by range (i)
(
partition p01 values less than (1000)
@@ -94,6 +99,7 @@ select @@sql_mode;
@@sql_mode
NO_DIR_IN_CREATE
create table t1 (i int )
+ENGINE = MyISAM
partition by range (i)
(
partition p01 values less than (1000)
@@ -113,10 +119,12 @@ t2 CREATE TABLE `t2` (
DROP TABLE t1, t2;
set @@sql_mode=@org_mode;
create table t1 (a int)
+ENGINE = MyISAM
partition by key (a)
(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
Got one of the listed errors
create table t1 (a int)
+ENGINE = MyISAM
partition by key (a)
(partition p0,
partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
diff --git a/mysql-test/r/plugin_auth.result b/mysql-test/r/plugin_auth.result
new file mode 100644
index 00000000000..91a5d2d8478
--- /dev/null
+++ b/mysql-test/r/plugin_auth.result
@@ -0,0 +1,450 @@
+SELECT PLUGIN_STATUS, PLUGIN_TYPE, PLUGIN_DESCRIPTION
+FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='test_plugin_server';
+PLUGIN_STATUS ACTIVE
+PLUGIN_TYPE AUTHENTICATION
+PLUGIN_DESCRIPTION plugin API test plugin
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT plugin,authentication_string FROM mysql.user WHERE User='plug';
+plugin authentication_string
+test_plugin_server plug_dest
+## test plugin auth
+ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
+GRANT PROXY ON plug_dest TO plug;
+test proxies_priv columns
+SELECT * FROM mysql.proxies_priv;
+Host User Proxied_host Proxied_user With_grant Grantor Timestamp
+xx root 1 xx
+xx root 1 xx
+xx plug % plug_dest 0 root@localhost xx
+test mysql.proxies_priv;
+SHOW CREATE TABLE mysql.proxies_priv;
+Table Create Table
+proxies_priv CREATE TABLE `proxies_priv` (
+ `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Proxied_user` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `With_grant` tinyint(1) NOT NULL DEFAULT '0',
+ `Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
+ `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
+ KEY `Grantor` (`Grantor`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User proxy privileges'
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+plug@localhost plug_dest@%
+## test SET PASSWORD
+SET PASSWORD = PASSWORD('plug_dest');
+Warnings:
+Note 1699 SET PASSWORD has no significance for users authenticating via plugins
+## test bad credentials
+ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
+## test bad default plugin : should get CR_AUTH_PLUGIN_CANNOT_LOAD
+## test correct default plugin
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+plug@localhost plug@%
+## test no_auto_create_user sql mode with plugin users
+SET @@sql_mode=no_auto_create_user;
+GRANT INSERT ON TEST.* TO grant_user IDENTIFIED WITH 'test_plugin_server';
+SET @@sql_mode=default;
+DROP USER grant_user;
+## test utf-8 user name
+CREATE USER `Ÿ` IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+GRANT PROXY ON plug_dest TO `Ÿ`;
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+Ÿ@localhost plug_dest@%
+DROP USER `Ÿ`;
+## test GRANT ... IDENTIFIED WITH/BY ...
+CREATE DATABASE test_grant_db;
+# create new user via GRANT WITH
+GRANT ALL PRIVILEGES ON test_grant_db.* TO new_grant_user
+IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+GRANT PROXY ON plug_dest TO new_grant_user;
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+new_grant_user@localhost plug_dest@%
+USE test_grant_db;
+CREATE TABLE t1 (a INT);
+DROP TABLE t1;
+REVOKE ALL PRIVILEGES ON test_grant_db.* FROM new_grant_user;
+# try re-create existing user via GRANT IDENTIFIED BY
+GRANT ALL PRIVILEGES ON test_grant_db.* TO new_grant_user
+IDENTIFIED BY 'unused_password';
+# make sure password doesn't take precendence
+ERROR 28000: Access denied for user 'new_grant_user'@'localhost' (using password: YES)
+#make sure plugin auth still available
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+new_grant_user@localhost plug_dest@%
+USE test_grant_db;
+CREATE TABLE t1 (a INT);
+DROP TABLE t1;
+DROP USER new_grant_user;
+# try re-create existing user via GRANT IDENTIFIED WITH
+GRANT ALL PRIVILEGES ON test_grant_db.* TO plug
+IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR HY000: GRANT with IDENTIFIED WITH is illegal because the user plug already exists
+GRANT ALL PRIVILEGES ON test_grant_db.* TO plug_dest
+IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR HY000: GRANT with IDENTIFIED WITH is illegal because the user plug_dest already exists
+REVOKE SELECT on test_grant_db.* FROM joro
+INDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'' at line 2
+REVOKE SELECT on test_grant_db.* FROM joro
+INDENTIFIED BY 'plug_dest_passwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INDENTIFIED BY 'plug_dest_passwd'' at line 2
+REVOKE SELECT on test_grant_db.* FROM joro
+INDENTIFIED BY PASSWORD 'plug_dest_passwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INDENTIFIED BY PASSWORD 'plug_dest_passwd'' at line 2
+DROP DATABASE test_grant_db;
+## GRANT PROXY tests
+CREATE USER grant_plug IDENTIFIED WITH 'test_plugin_server'
+AS 'grant_plug_dest';
+CREATE USER grant_plug_dest IDENTIFIED BY 'grant_plug_dest_passwd';
+CREATE USER grant_plug_dest2 IDENTIFIED BY 'grant_plug_dest_passwd2';
+# ALL PRIVILEGES doesn't include PROXY
+GRANT ALL PRIVILEGES ON *.* TO grant_plug;
+ERROR 28000: Access denied for user 'grant_plug'@'localhost' (using password: YES)
+GRANT ALL PRIVILEGES,PROXY ON grant_plug_dest TO grant_plug;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PROXY ON grant_plug_dest TO grant_plug' at line 1
+this should fail : can't combine PROXY
+GRANT ALL SELECT,PROXY ON grant_plug_dest TO grant_plug;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT,PROXY ON grant_plug_dest TO grant_plug' at line 1
+# this should fail : no such grant
+REVOKE PROXY ON grant_plug_dest FROM grant_plug;
+ERROR 42000: There is no such grant defined for user 'grant_plug' on host '%'
+in grant_plug_dest_con
+## testing what an ordinary user can grant
+this should fail : no rights to grant all
+GRANT PROXY ON ''@'' TO grant_plug;
+ERROR 28000: Access denied for user 'grant_plug_dest'@'localhost'
+this should fail : not the same user
+GRANT PROXY ON grant_plug TO grant_plug_dest;
+ERROR 28000: Access denied for user 'grant_plug_dest'@'localhost'
+this should fail : same user, but on a different host
+GRANT PROXY ON grant_plug_dest TO grant_plug;
+ERROR 28000: Access denied for user 'grant_plug_dest'@'localhost'
+this should work : same user
+GRANT PROXY ON grant_plug_dest@localhost TO grant_plug_dest2;
+REVOKE PROXY ON grant_plug_dest@localhost FROM grant_plug_dest2;
+this should work : same user
+GRANT PROXY ON grant_plug_dest@localhost TO grant_plug WITH GRANT OPTION;
+REVOKE PROXY ON grant_plug_dest@localhost FROM grant_plug;
+this should fail : can't create users
+GRANT PROXY ON grant_plug_dest@localhost TO grant_plug@localhost;
+ERROR 42000: You are not allowed to create a user with GRANT
+in default connection
+# test what root can grant
+should work : root has PROXY to all users
+GRANT PROXY ON ''@'' TO grant_plug;
+REVOKE PROXY ON ''@'' FROM grant_plug;
+should work : root has PROXY to all users
+GRANT PROXY ON ''@'' TO proxy_admin IDENTIFIED BY 'test'
+WITH GRANT OPTION;
+need USAGE : PROXY doesn't contain it.
+GRANT USAGE on *.* TO proxy_admin;
+in proxy_admin_con;
+should work : proxy_admin has proxy to ''@''
+GRANT PROXY ON future_user TO grant_plug;
+in default connection
+SHOW GRANTS FOR grant_plug;
+Grants for grant_plug@%
+GRANT ALL PRIVILEGES ON *.* TO 'grant_plug'@'%' WITH GRANT OPTION
+GRANT PROXY ON 'future_user'@'%' TO 'grant_plug'@'%'
+REVOKE PROXY ON future_user FROM grant_plug;
+SHOW GRANTS FOR grant_plug;
+Grants for grant_plug@%
+GRANT ALL PRIVILEGES ON *.* TO 'grant_plug'@'%' WITH GRANT OPTION
+## testing drop user
+CREATE USER test_drop@localhost;
+GRANT PROXY ON future_user TO test_drop@localhost;
+SHOW GRANTS FOR test_drop@localhost;
+Grants for test_drop@localhost
+GRANT USAGE ON *.* TO 'test_drop'@'localhost'
+GRANT PROXY ON 'future_user'@'%' TO 'test_drop'@'localhost'
+DROP USER test_drop@localhost;
+SELECT * FROM mysql.proxies_priv WHERE Host = 'test_drop' AND User = 'localhost';
+Host User Proxied_host Proxied_user With_grant Grantor Timestamp
+DROP USER proxy_admin;
+DROP USER grant_plug,grant_plug_dest,grant_plug_dest2;
+## END GRANT PROXY tests
+## cleanup
+DROP USER plug;
+DROP USER plug_dest;
+## @@proxy_user tests
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug;
+SELECT USER(),CURRENT_USER(),@@LOCAL.proxy_user;
+USER() CURRENT_USER() @@LOCAL.proxy_user
+root@localhost root@localhost NULL
+SELECT @@GLOBAL.proxy_user;
+ERROR HY000: Variable 'proxy_user' is a SESSION variable
+SELECT @@LOCAL.proxy_user;
+@@LOCAL.proxy_user
+NULL
+SET GLOBAL proxy_user = 'test';
+ERROR HY000: Variable 'proxy_user' is a read only variable
+SET LOCAL proxy_user = 'test';
+ERROR HY000: Variable 'proxy_user' is a read only variable
+SELECT @@LOCAL.proxy_user;
+@@LOCAL.proxy_user
+NULL
+# in connection plug_con
+SELECT @@LOCAL.proxy_user;
+@@LOCAL.proxy_user
+'plug'@'%'
+# in connection default
+## cleanup
+DROP USER plug;
+DROP USER plug_dest;
+## END @@proxy_user tests
+## @@external_user tests
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug;
+SELECT USER(),CURRENT_USER(),@@LOCAL.external_user;
+USER() CURRENT_USER() @@LOCAL.external_user
+root@localhost root@localhost NULL
+SELECT @@GLOBAL.external_user;
+ERROR HY000: Variable 'external_user' is a SESSION variable
+SELECT @@LOCAL.external_user;
+@@LOCAL.external_user
+NULL
+SET GLOBAL external_user = 'test';
+ERROR HY000: Variable 'external_user' is a read only variable
+SET LOCAL external_user = 'test';
+ERROR HY000: Variable 'external_user' is a read only variable
+SELECT @@LOCAL.external_user;
+@@LOCAL.external_user
+NULL
+# in connection plug_con
+SELECT @@LOCAL.external_user;
+@@LOCAL.external_user
+'plug'@'%'
+# in connection default
+## cleanup
+DROP USER plug;
+DROP USER plug_dest;
+## END @@external_user tests
+#
+# Bug #56798 : Wrong credentials assigned when using a proxy user.
+#
+GRANT ALL PRIVILEGES ON *.* TO power_user;
+GRANT USAGE ON anonymous_db.* TO ''@''
+ IDENTIFIED WITH 'test_plugin_server' AS 'power_user';
+GRANT PROXY ON power_user TO ''@'';
+CREATE DATABASE confidential_db;
+SELECT user(),current_user(),@@proxy_user;
+user() current_user() @@proxy_user
+test_login_user@localhost power_user@% ''@''
+DROP USER power_user;
+DROP USER ''@'';
+DROP DATABASE confidential_db;
+# Test case #2 (crash with double grant proxy)
+CREATE USER ''@'' IDENTIFIED WITH 'test_plugin_server' AS 'standard_user';
+CREATE USER standard_user;
+CREATE DATABASE shared;
+GRANT ALL PRIVILEGES ON shared.* TO standard_user;
+GRANT PROXY ON standard_user TO ''@'';
+#should not crash
+GRANT PROXY ON standard_user TO ''@'';
+DROP USER ''@'';
+DROP USER standard_user;
+DROP DATABASE shared;
+#
+# Bug #57551 : Live upgrade fails between 5.1.52 -> 5.5.7-rc
+#
+CALL mtr.add_suppression("Missing system table mysql.proxies_priv.");
+DROP TABLE mysql.proxies_priv;
+# Must come back with mysql.proxies_priv absent.
+SELECT * FROM mysql.proxies_priv;
+ERROR 42S02: Table 'mysql.proxies_priv' doesn't exist
+CREATE USER u1@localhost;
+GRANT ALL PRIVILEGES ON *.* TO u1@localhost;
+REVOKE ALL PRIVILEGES ON *.* FROM u1@localhost;
+GRANT ALL PRIVILEGES ON *.* TO u1@localhost;
+CREATE USER u2@localhost;
+GRANT ALL PRIVILEGES ON *.* TO u2@localhost;
+# access denied because of no privileges to root
+GRANT PROXY ON u2@localhost TO u1@localhost;
+ERROR 28000: Access denied for user 'root'@'localhost'
+# access denied because of no privileges to root
+REVOKE PROXY ON u2@localhost FROM u1@localhost;
+ERROR 28000: Access denied for user 'root'@'localhost'
+# go try graning proxy on itself, so that it will need the table
+GRANT PROXY ON u2@localhost TO u1@localhost;
+ERROR 42S02: Table 'mysql.proxies_priv' doesn't exist
+REVOKE PROXY ON u2@localhost FROM u1@localhost;
+ERROR 42S02: Table 'mysql.proxies_priv' doesn't exist
+# test if REVOKE works without the proxies_priv table
+REVOKE ALL PRIVILEGES ON *.* FROM u1@localhost, u2@localhost;
+# test if DROP USER work without the proxies_priv table
+DROP USER u1@localhost,u2@localhost;
+# test if FLUSH PRIVILEGES works without the proxies_priv table
+FLUSH PRIVILEGES;
+mtr.global_suppressions OK
+mtr.test_suppressions OK
+mysql.columns_priv OK
+mysql.db OK
+mysql.event OK
+mysql.func OK
+mysql.general_log OK
+mysql.help_category OK
+mysql.help_keyword OK
+mysql.help_relation OK
+mysql.help_topic OK
+mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
+mysql.proc OK
+mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log OK
+mysql.tables_priv OK
+mysql.time_zone OK
+mysql.time_zone_leap_second OK
+mysql.time_zone_name OK
+mysql.time_zone_transition OK
+mysql.time_zone_transition_type OK
+mysql.user OK
+SELECT Host,User,Proxied_host,Proxied_user,With_grant FROM mysql.proxies_priv;
+Host localhost
+User root
+Proxied_host
+Proxied_user
+With_grant 1
+FLUSH PRIVILEGES;
+#
+# Bug#58139 : default-auth option not recognized in MySQL standard
+# command line clients
+#
+# Executing 'mysql'
+1
+1
+# Executing 'mysqladmin'
+mysqld is alive
+# Executing 'mysqldump'
+# Executing 'mysql_upgrade'
+The --upgrade-system-tables option was used, databases won't be touched.
+#
+# Bug #59657: Move the client authentication_pam plugin into the
+# server repository
+#
+CREATE USER uplain@localhost IDENTIFIED WITH 'cleartext_plugin_server'
+ AS 'cleartext_test';
+## test plugin auth
+ERROR 28000: Access denied for user 'uplain'@'localhost' (using password: YES)
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+uplain@localhost uplain@localhost
+DROP USER uplain@localhost;
+#
+# Bug #59038 : mysql.user.authentication_string column
+# causes configuration wizard to fail
+INSERT INTO mysql.user(
+Host,
+User,
+Password,
+Select_priv,
+Insert_priv,
+Update_priv,
+Delete_priv,
+Create_priv,
+Drop_priv,
+Reload_priv,
+Shutdown_priv,
+Process_priv,
+File_priv,
+Grant_priv,
+References_priv,
+Index_priv,
+Alter_priv,
+Show_db_priv,
+Super_priv,
+Create_tmp_table_priv,
+Lock_tables_priv,
+Execute_priv,
+Repl_slave_priv,
+Repl_client_priv,
+/*!50001
+Create_view_priv,
+Show_view_priv,
+Create_routine_priv,
+Alter_routine_priv,
+Create_user_priv,
+*/
+ssl_type,
+ssl_cipher,
+x509_issuer,
+x509_subject,
+max_questions,
+max_updates,
+max_connections)
+VALUES (
+'localhost',
+'inserttest', '',
+'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
+'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
+/*!50001 'Y', 'Y', 'Y', 'Y', 'Y', */'', '', '', '', '0', '0', '0');
+FLUSH PRIVILEGES;
+DROP USER inserttest@localhost;
+SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
+COLUMN_NAME IN ('authentication_string', 'plugin') AND
+TABLE_NAME='user' AND
+TABLE_SCHEMA='mysql'
+ORDER BY COLUMN_NAME;
+IS_NULLABLE COLUMN_NAME
+YES authentication_string
+YES plugin
+#
+# Bug #11936829: diff. between mysql.user (authentication_string)
+# in fresh and upgraded 5.5.11
+#
+SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
+WHERE TABLE_SCHEMA= 'mysql' AND TABLE_NAME= 'user' AND
+COLUMN_NAME IN ('plugin', 'authentication_string')
+ORDER BY COLUMN_NAME;
+IS_NULLABLE COLUMN_NAME
+YES authentication_string
+YES plugin
+ALTER TABLE mysql.user MODIFY plugin char(64) DEFAULT '' NOT NULL;
+ALTER TABLE mysql.user MODIFY authentication_string TEXT NOT NULL;
+Run mysql_upgrade on a 5.5.10 external authentication column layout
+mtr.global_suppressions OK
+mtr.test_suppressions OK
+mysql.columns_priv OK
+mysql.db OK
+mysql.event OK
+mysql.func OK
+mysql.general_log OK
+mysql.help_category OK
+mysql.help_keyword OK
+mysql.help_relation OK
+mysql.help_topic OK
+mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
+mysql.proc OK
+mysql.procs_priv OK
+mysql.proxies_priv OK
+mysql.servers OK
+mysql.slow_log OK
+mysql.tables_priv OK
+mysql.time_zone OK
+mysql.time_zone_leap_second OK
+mysql.time_zone_name OK
+mysql.time_zone_transition OK
+mysql.time_zone_transition_type OK
+mysql.user OK
+SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
+WHERE TABLE_SCHEMA= 'mysql' AND TABLE_NAME= 'user' AND
+COLUMN_NAME IN ('plugin', 'authentication_string')
+ORDER BY COLUMN_NAME;
+IS_NULLABLE COLUMN_NAME
+YES authentication_string
+YES plugin
+End of 5.5 tests
diff --git a/mysql-test/r/plugin_auth_qa.result b/mysql-test/r/plugin_auth_qa.result
new file mode 100644
index 00000000000..d1128cf04ee
--- /dev/null
+++ b/mysql-test/r/plugin_auth_qa.result
@@ -0,0 +1,327 @@
+CREATE DATABASE test_user_db;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+========== test 1.1 ======================================================
+CREATE USER plug IDENTIFIED WITH test_plugin_server;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug;
+DROP USER plug;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug;
+DROP USER plug;
+CREATE USER plug IDENTIFIED WITH test_plugin_server AS '';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS '';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug;
+DROP USER plug;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS ;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
+CREATE USER plug IDENTIFIED WITH test_plugin_server AS plug_dest;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plug_dest' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS plug_dest;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plug_dest' at line 1
+========== test 1.1 syntax errors ========================================
+CREATE USER plug IDENTIFIED WITH AS plug_dest;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS plug_dest' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH AS plug_dest;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS plug_dest' at line 1
+CREATE USER plug IDENTIFIED WITH;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
+CREATE USER plug IDENTIFIED AS '';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS ''' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED AS '';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS ''' at line 1
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' IDENTIFIED WITH 'test_plugin_server';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED WITH 'test_plugin_server'' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug
+IDENTIFIED WITH 'test_plugin_server' IDENTIFIED WITH 'test_plugin_server';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED WITH 'test_plugin_server'' at line 2
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS '' AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS 'plug_dest'' at line 1
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug AS '' AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS '' AS 'plug_dest'' at line 1
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS ''
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED WITH test_plugin_server AS 'plug_dest'' at line 2
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS ''
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED WITH test_plugin_server AS 'plug_dest'' at line 2
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd'
+IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'' at line 2
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED BY 'plug_dest_passwd'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'' at line 2
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+USER plug_dest IDENTIFIED by 'plug_dest_pwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USER plug_dest IDENTIFIED by 'plug_dest_pwd'' at line 2
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ USER plug_dest IDENTIFIED by 'plug_dest_pwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USER plug_dest IDENTIFIED by 'plug_dest_pwd'' at line 2
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+plug_dest IDENTIFIED by 'plug_dest_pwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plug_dest IDENTIFIED by 'plug_dest_pwd'' at line 2
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ plug_dest IDENTIFIED by 'plug_dest_pwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plug_dest IDENTIFIED by 'plug_dest_pwd'' at line 2
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+IDENTIFIED by 'plug_dest_pwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED by 'plug_dest_pwd'' at line 2
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ IDENTIFIED by 'plug_dest_pwd';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED by 'plug_dest_pwd'' at line 2
+========== test 1.1 combinations ==========================
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+========== test 1.1.1.6/1.1.2.5 ============================
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+plug_dest NULL
+DROP USER plug, plug_dest;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+DROP USER plug;
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug_dest NULL
+DROP USER plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+plug_dest NULL
+DROP USER plug, plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+DROP USER plug;
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug_dest NULL
+DROP USER plug_dest;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+plug_dest NULL
+DROP USER plug, plug_dest;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plug_dest
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug_dest NULL
+DROP USER plug_dest;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR HY000: GRANT with IDENTIFIED WITH is illegal because the user plug already exists
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server';
+ERROR HY000: GRANT with IDENTIFIED WITH is illegal because the user plug already exists
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+ERROR HY000: Operation CREATE USER failed for 'plug'@'%'
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server';
+ERROR HY000: Operation CREATE USER failed for 'plug'@'%'
+DROP USER plug;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+plug test_plugin_server plug_dest
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+plug test_plugin_server plug_dest *939AEE68989794C0F408277411C26055CDF41119
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug IDENTIFIED BY 'plug_dest_passwd';
+ERROR HY000: Operation CREATE USER failed for 'plug'@'%'
+DROP USER plug;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+plug test_plugin_server plug_dest
+plug_dest test_plugin_server plug_dest
+DROP USER plug,plug_dest;
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+plug test_plugin_server plug_dest
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+plug test_plugin_server plug_dest
+plug_dest test_plugin_server plug_dest
+DROP USER plug,plug_dest;
+========== test 1.1.1.1/1.1.2.1/1.1.1.5 ====================
+SET NAMES utf8;
+CREATE USER plüg IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg test_plugin_server plüg_dest
+DROP USER plüg;
+CREATE USER plüg_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg_dest NULL
+DROP USER plüg_dest;
+SET NAMES ascii;
+CREATE USER 'plüg' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+pl??g test_plugin_server pl??g_dest
+DROP USER 'plüg';
+CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+pl??g_dest NULL
+DROP USER 'plüg_dest';
+SET NAMES latin1;
+========== test 1.1.1.5 ====================================
+CREATE USER 'plüg' IDENTIFIED WITH 'test_plügin_server' AS 'plüg_dest';
+ERROR HY000: Plugin 'test_plügin_server' is not loaded
+CREATE USER 'plug' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server plüg_dest
+DROP USER 'plug';
+CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg_dest NULL
+DROP USER 'plüg_dest';
+SET NAMES utf8;
+CREATE USER plüg IDENTIFIED WITH 'test_plügin_server' AS 'plüg_dest';
+ERROR HY000: Plugin 'test_plügin_server' is not loaded
+CREATE USER 'plüg' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg test_plugin_server plüg_dest
+DROP USER 'plüg';
+CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg_dest NULL
+DROP USER 'plüg_dest';
+CREATE USER plüg IDENTIFIED WITH test_plugin_server AS 'plüg_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg test_plugin_server plüg_dest
+DROP USER plüg;
+CREATE USER plüg_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plüg_dest NULL
+DROP USER plüg_dest;
+========== test 1.1.1.2/1.1.2.2=============================
+SET @auth_name= 'test_plugin_server';
+CREATE USER plug IDENTIFIED WITH @auth_name AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@auth_name AS 'plug_dest'' at line 1
+SET @auth_string= 'plug_dest';
+CREATE USER plug IDENTIFIED WITH test_plugin_server AS @auth_string;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@auth_string' at line 1
+========== test 1.1.1.3/1.1.2.3=============================
+CREATE USER plug IDENTIFIED WITH 'hh''s_test_plugin_server' AS 'plug_dest';
+ERROR HY000: Plugin 'hh's_test_plugin_server' is not loaded
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'hh''s_plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug test_plugin_server hh's_plug_dest
+DROP USER plug;
+CREATE USER 'hh''s_plug_dest' IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+hh's_plug_dest NULL
+DROP USER 'hh''s_plug_dest';
+========== test 1.1.1.4 ====================================
+CREATE USER plug IDENTIFIED WITH hh''s_test_plugin_server AS 'plug_dest';
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''s_test_plugin_server AS 'plug_dest'' at line 1
+========== test 1.1.3.1 ====================================
+GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+grant_user test_plugin_server plug_dest
+CREATE USER plug_dest;
+DROP USER plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+grant_user test_plugin_server plug_dest
+plug_dest NULL
+DROP USER grant_user,plug_dest;
+set @save_sql_mode= @@sql_mode;
+SET @@sql_mode=no_auto_create_user;
+GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+grant_user test_plugin_server plug_dest
+CREATE USER plug_dest;
+DROP USER plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest;
+ERROR 42000: Can't find any matching row in the user table
+DROP USER grant_user;
+GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+grant_user test_plugin_server plug_dest
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+grant_user test_plugin_server plug_dest
+plug_dest NULL *939AEE68989794C0F408277411C26055CDF41119
+DROP USER plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_user_passwd';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+grant_user test_plugin_server plug_dest
+plug_dest NULL *560881EB651416CEF77314D07D55EDCD5FC1BD6D
+DROP USER grant_user,plug_dest;
+set @@sql_mode= @save_sql_mode;
+DROP DATABASE test_user_db;
diff --git a/mysql-test/r/plugin_auth_qa_1.result b/mysql-test/r/plugin_auth_qa_1.result
new file mode 100644
index 00000000000..51c7260d9ae
--- /dev/null
+++ b/mysql-test/r/plugin_auth_qa_1.result
@@ -0,0 +1,335 @@
+CREATE DATABASE test_user_db;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+========== test 1.1.3.2 ====================================
+CREATE USER plug_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+current_user()
+plug_dest@%
+user()
+plug_user@localhost
+Tables_in_test_user_db
+t1
+REVOKE PROXY ON plug_dest FROM plug_user;
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+DROP USER plug_user,plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug_dest NULL
+plug_user test_plugin_server plug_dest
+1)
+current_user()
+plug_dest@%
+user()
+plug_user@localhost
+Tables_in_test_user_db
+t1
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user'
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+2)
+current_user()
+plug_dest@%
+user()
+plug_user@localhost
+Tables_in_test_user_db
+t1
+REVOKE PROXY ON plug_dest FROM plug_user;
+3)
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+DROP USER plug_user,plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+1)
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+GRANT PROXY ON plug_dest TO plug_user;
+2)
+current_user()
+plug_dest@%
+user()
+plug_user@localhost
+Tables_in_test_user_db
+t1
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user'
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+DROP USER plug_user,plug_dest;
+========== test 1.2 ========================================
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+current_user()
+plug_dest@%
+user()
+plug_user@localhost
+RENAME USER plug_dest TO new_dest;
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+GRANT PROXY ON new_dest TO plug_user;
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_dest NULL
+plug_user test_plugin_server plug_dest
+DROP USER plug_user,new_dest;
+CREATE USER plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+GRANT PROXY ON plug_dest TO plug_user;
+current_user()
+plug_dest@%
+user()
+plug_user@localhost
+RENAME USER plug_dest TO new_dest;
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+GRANT PROXY ON new_dest TO plug_user;
+ERROR 1045 (28000): Access denied for user 'plug_user'@'localhost' (using password: YES)
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_dest NULL
+plug_user test_plugin_server plug_dest
+DROP USER plug_user,new_dest;
+CREATE USER plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+connect(plug_user,localhost,plug_user,plug_dest);
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+plug_user@localhost plug_dest@%
+connection default;
+disconnect plug_user;
+RENAME USER plug_user TO new_user;
+connect(plug_user,localhost,new_user,plug_dest);
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+new_user@localhost plug_dest@%
+connection default;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_user test_plugin_server plug_dest
+plug_dest NULL
+disconnect plug_user;
+UPDATE mysql.user SET user='plug_user' WHERE user='new_user';
+FLUSH PRIVILEGES;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug_dest NULL
+plug_user test_plugin_server plug_dest
+DROP USER plug_dest,plug_user;
+========== test 1.3 ========================================
+CREATE USER plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+connect(plug_user,localhost,plug_user,plug_dest);
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+plug_user@localhost plug_dest@%
+connection default;
+disconnect plug_user;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+plug_dest NULL
+plug_user test_plugin_server plug_dest
+UPDATE mysql.user SET user='new_user' WHERE user='plug_user';
+FLUSH PRIVILEGES;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_user test_plugin_server plug_dest
+plug_dest NULL
+UPDATE mysql.user SET authentication_string='new_dest' WHERE user='new_user';
+FLUSH PRIVILEGES;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_user test_plugin_server new_dest
+plug_dest NULL
+UPDATE mysql.user SET plugin='new_plugin_server' WHERE user='new_user';
+FLUSH PRIVILEGES;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_user new_plugin_server new_dest
+plug_dest NULL
+connect(plug_user,localhost,new_user,new_dest);
+ERROR HY000: Plugin 'new_plugin_server' is not loaded
+UPDATE mysql.user SET plugin='test_plugin_server' WHERE user='new_user';
+UPDATE mysql.user SET USER='new_dest' WHERE user='plug_dest';
+FLUSH PRIVILEGES;
+GRANT PROXY ON new_dest TO new_user;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_dest NULL
+new_user test_plugin_server new_dest
+connect(plug_user,localhost,new_user,new_dest);
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+new_user@localhost new_dest@%
+connection default;
+disconnect plug_user;
+UPDATE mysql.user SET USER='plug_dest' WHERE user='new_dest';
+FLUSH PRIVILEGES;
+CREATE USER new_dest IDENTIFIED BY 'new_dest_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+new_dest NULL
+new_user test_plugin_server new_dest
+plug_dest NULL
+GRANT ALL PRIVILEGES ON test.* TO new_user;
+connect(plug_user,localhost,new_dest,new_dest_passwd);
+select USER(),CURRENT_USER();
+USER() CURRENT_USER()
+new_dest@localhost new_dest@%
+connection default;
+disconnect plug_user;
+DROP USER new_user,new_dest,plug_dest;
+========== test 2, 2.1, 2.2 ================================
+CREATE USER ''@'' IDENTIFIED WITH test_plugin_server AS 'proxied_user';
+CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+ test_plugin_server proxied_user
+proxied_user NULL
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user@localhost proxied_user@%
+========== test 2.2.1 ======================================
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection default;
+disconnect proxy_con;
+connect(proxy_con,localhost,proxy_user,proxied_user);
+ERROR 28000: Access denied for user 'proxy_user'@'localhost' (using password: YES)
+GRANT PROXY ON proxied_user TO ''@'';
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user@localhost proxied_user@%
+connection default;
+disconnect proxy_con;
+connect(proxy_con,localhost,proxy_user,proxied_user);
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxy_user@localhost proxied_user@%
+========== test 2.2.1 ======================================
+SELECT @@proxy_user;
+@@proxy_user
+''@''
+connection default;
+disconnect proxy_con;
+DROP USER ''@'',proxied_user;
+GRANT ALL PRIVILEGES ON test_user_db.* TO ''@''
+IDENTIFIED WITH test_plugin_server AS 'proxied_user';
+CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+ test_plugin_server proxied_user
+proxied_user NULL
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user@localhost proxied_user@%
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection default;
+disconnect proxy_con;
+connect(proxy_con,localhost,proxy_user,proxied_user);
+ERROR 28000: Access denied for user 'proxy_user'@'localhost' (using password: YES)
+GRANT PROXY ON proxied_user TO ''@'';
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user@localhost proxied_user@%
+connection default;
+disconnect proxy_con;
+connect(proxy_con,localhost,proxy_user,proxied_user);
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxy_user@localhost proxied_user@%
+SELECT @@proxy_user;
+@@proxy_user
+''@''
+connection default;
+disconnect proxy_con;
+DROP USER ''@'',proxied_user;
+CREATE USER ''@'' IDENTIFIED WITH test_plugin_server AS 'proxied_user';
+CREATE USER proxied_user_1 IDENTIFIED BY 'proxied_user_1_pwd';
+CREATE USER proxied_user_2 IDENTIFIED BY 'proxied_user_2_pwd';
+CREATE USER proxied_user_3 IDENTIFIED BY 'proxied_user_3_pwd';
+CREATE USER proxied_user_4 IDENTIFIED BY 'proxied_user_4_pwd';
+CREATE USER proxied_user_5 IDENTIFIED BY 'proxied_user_5_pwd';
+GRANT PROXY ON proxied_user_1 TO ''@'';
+GRANT PROXY ON proxied_user_2 TO ''@'';
+GRANT PROXY ON proxied_user_3 TO ''@'';
+GRANT PROXY ON proxied_user_4 TO ''@'';
+GRANT PROXY ON proxied_user_5 TO ''@'';
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+ test_plugin_server proxied_user
+proxied_user_1 NULL
+proxied_user_2 NULL
+proxied_user_3 NULL
+proxied_user_4 NULL
+proxied_user_5 NULL
+connect(proxy_con_1,localhost,proxied_user_1,'proxied_user_1_pwd');
+connect(proxy_con_2,localhost,proxied_user_2,proxied_user_2_pwd);
+connect(proxy_con_3,localhost,proxied_user_3,proxied_user_3_pwd);
+connect(proxy_con_4,localhost,proxied_user_4,proxied_user_4_pwd);
+connect(proxy_con_5,localhost,proxied_user_5,proxied_user_5_pwd);
+connection proxy_con_1;
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user_1@localhost proxied_user_1@%
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection proxy_con_2;
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user_2@localhost proxied_user_2@%
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection proxy_con_3;
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user_3@localhost proxied_user_3@%
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection proxy_con_4;
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user_4@localhost proxied_user_4@%
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection proxy_con_5;
+SELECT USER(),CURRENT_USER();
+USER() CURRENT_USER()
+proxied_user_5@localhost proxied_user_5@%
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+connection default;
+disconnect proxy_con_1;
+disconnect proxy_con_2;
+disconnect proxy_con_3;
+disconnect proxy_con_4;
+disconnect proxy_con_5;
+DROP USER ''@'',proxied_user_1,proxied_user_2,proxied_user_3,proxied_user_4,proxied_user_5;
+========== test 3 ==========================================
+GRANT ALL PRIVILEGES ON *.* TO plug_user
+IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+FLUSH PRIVILEGES;
+DROP USER plug_user, plug_dest;
+DROP DATABASE test_user_db;
diff --git a/mysql-test/r/plugin_auth_qa_2.result b/mysql-test/r/plugin_auth_qa_2.result
new file mode 100644
index 00000000000..f4706e5aa0b
--- /dev/null
+++ b/mysql-test/r/plugin_auth_qa_2.result
@@ -0,0 +1,150 @@
+CREATE DATABASE test_user_db;
+========== test 1.1.3.2 ====================================
+=== check contens of components of info ====================
+CREATE USER qa_test_1_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_1_dest';
+CREATE USER qa_test_1_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_1_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_1_dest TO qa_test_1_user;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+qa_test_1_dest NULL
+qa_test_1_user qa_auth_interface qa_test_1_dest
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+SELECT @@external_user;
+@@external_user
+NULL
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+current_user() user() @@local.proxy_user @@local.external_user
+qa_test_1_user@% qa_test_1_user@localhost NULL NULL
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+qa_test_1_dest NULL
+qa_test_1_user qa_auth_interface qa_test_1_dest
+DROP USER qa_test_1_user;
+DROP USER qa_test_1_dest;
+=== Assign values to components of info ====================
+CREATE USER qa_test_2_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_2_dest';
+CREATE USER qa_test_2_dest IDENTIFIED BY 'dest_passwd';
+CREATE USER authenticated_as IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_2_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_2_dest TO qa_test_2_user;
+GRANT PROXY ON authenticated_as TO qa_test_2_user;
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+authenticated_as NULL
+qa_test_2_dest NULL
+qa_test_2_user qa_auth_interface qa_test_2_dest
+SELECT @@proxy_user;
+@@proxy_user
+NULL
+SELECT @@external_user;
+@@external_user
+NULL
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+current_user() user() @@local.proxy_user @@local.external_user
+authenticated_as@% user_name@localhost 'qa_test_2_user'@'%' 'qa_test_2_user'@'%'
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+user plugin authentication_string
+authenticated_as NULL
+qa_test_2_dest NULL
+qa_test_2_user qa_auth_interface qa_test_2_dest
+DROP USER qa_test_2_user;
+DROP USER qa_test_2_dest;
+DROP USER authenticated_as;
+=== Assign too high values for *length, which should have no effect ====
+CREATE USER qa_test_3_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_3_dest';
+CREATE USER qa_test_3_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_3_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_3_dest TO qa_test_3_user;
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+current_user() user() @@local.proxy_user @@local.external_user
+qa_test_3_dest@% qa_test_3_user@localhost 'qa_test_3_user'@'%' 'qa_test_3_user'@'%'
+DROP USER qa_test_3_user;
+DROP USER qa_test_3_dest;
+=== Assign too low values for *length, which should have no effect ====
+CREATE USER qa_test_4_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_4_dest';
+CREATE USER qa_test_4_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_4_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_4_dest TO qa_test_4_user;
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+current_user() user() @@local.proxy_user @@local.external_user
+qa_test_4_dest@% qa_test_4_user@localhost 'qa_test_4_user'@'%' 'qa_test_4_user'@'%'
+DROP USER qa_test_4_user;
+DROP USER qa_test_4_dest;
+=== Assign empty string especially to authenticated_as (in plugin) ====
+CREATE USER qa_test_5_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_5_dest';
+CREATE USER qa_test_5_dest IDENTIFIED BY 'dest_passwd';
+CREATE USER ''@'localhost' IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_5_dest identified by 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO ''@'localhost' identified by 'dest_passwd';
+GRANT PROXY ON qa_test_5_dest TO qa_test_5_user;
+GRANT PROXY ON qa_test_5_dest TO ''@'localhost';
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+user plugin authentication_string password
+ NULL *DFCACE76914AD7BD801FC1A1ECF6562272621A22
+qa_test_5_dest NULL *DFCACE76914AD7BD801FC1A1ECF6562272621A22
+qa_test_5_user qa_auth_interface qa_test_5_dest
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+ERROR 1045 (28000): Access denied for user 'qa_test_5_user'@'localhost' (using password: YES)
+DROP USER qa_test_5_user;
+DROP USER qa_test_5_dest;
+DROP USER ''@'localhost';
+=== Assign 'root' especially to authenticated_as (in plugin) ====
+CREATE USER qa_test_6_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
+CREATE USER qa_test_6_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_6_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_6_dest TO qa_test_6_user;
+SELECT user,plugin,authentication_string,password FROM mysql.user;
+user plugin authentication_string password
+qa_test_6_dest NULL *DFCACE76914AD7BD801FC1A1ECF6562272621A22
+qa_test_6_user qa_auth_interface qa_test_6_dest
+root
+root
+root
+root
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+ERROR 1045 (28000): Access denied for user 'qa_test_6_user'@'localhost' (using password: YES)
+GRANT PROXY ON qa_test_6_dest TO root IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
+SELECT user,plugin,authentication_string,password FROM mysql.user;
+user plugin authentication_string password
+qa_test_6_dest NULL *DFCACE76914AD7BD801FC1A1ECF6562272621A22
+qa_test_6_user qa_auth_interface qa_test_6_dest
+root
+root
+root
+root
+root qa_auth_interface qa_test_6_dest
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
+REVOKE PROXY ON qa_test_6_dest FROM root;
+SELECT user,plugin,authentication_string FROM mysql.user;
+user plugin authentication_string
+qa_test_6_dest NULL
+qa_test_6_user qa_auth_interface qa_test_6_dest
+root
+root
+root
+root
+root qa_auth_interface qa_test_6_dest
+exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
+DROP USER qa_test_6_user;
+DROP USER qa_test_6_dest;
+DELETE FROM mysql.user WHERE user='root' AND plugin='qa_auth_interface';
+SELECT user,plugin,authentication_string,password FROM mysql.user;
+user plugin authentication_string password
+root
+root
+root
+root
+=== Test of the --default_auth option for clients ====
+CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_11_dest';
+CREATE USER qa_test_11_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
+exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+ERROR 1045 (28000): Access denied for user 'qa_test_11_user'@'localhost' (using password: YES)
+DROP USER qa_test_11_user, qa_test_11_dest;
+DROP DATABASE test_user_db;
diff --git a/mysql-test/r/plugin_auth_qa_3.result b/mysql-test/r/plugin_auth_qa_3.result
new file mode 100644
index 00000000000..d94d8879e7d
--- /dev/null
+++ b/mysql-test/r/plugin_auth_qa_3.result
@@ -0,0 +1,11 @@
+CREATE DATABASE test_user_db;
+CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_server AS 'qa_test_11_dest';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
+exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+current_user() user() @@local.proxy_user @@local.external_user
+qa_test_11_dest@% qa_test_11_user@localhost 'qa_test_11_user'@'%' 'qa_test_11_user'@'%'
+exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+ERROR 1045 (28000): Access denied for user 'qa_test_2_user'@'localhost' (using password: NO)
+DROP USER qa_test_11_user, qa_test_11_dest;
+DROP DATABASE test_user_db;
diff --git a/mysql-test/r/plugin_load_option.result b/mysql-test/r/plugin_load_option.result
new file mode 100644
index 00000000000..fec41bac8e6
--- /dev/null
+++ b/mysql-test/r/plugin_load_option.result
@@ -0,0 +1,7 @@
+UNINSTALL PLUGIN example;
+ERROR HY000: Plugin 'example' is force_plus_permanent and can not be unloaded
+SELECT PLUGIN_NAME, PLUGIN_STATUS, LOAD_OPTION FROM INFORMATION_SCHEMA.PLUGINS
+WHERE PLUGIN_NAME IN ('MyISAM', 'EXAMPLE');
+PLUGIN_NAME PLUGIN_STATUS LOAD_OPTION
+MyISAM ACTIVE FORCE
+EXAMPLE ACTIVE FORCE_PLUS_PERMANENT
diff --git a/mysql-test/r/plugin_not_embedded.result b/mysql-test/r/plugin_not_embedded.result
index 82cfe7b23b8..27553366660 100644
--- a/mysql-test/r/plugin_not_embedded.result
+++ b/mysql-test/r/plugin_not_embedded.result
@@ -8,3 +8,5 @@ ERROR 42000: DELETE command denied to user 'bug51770'@'localhost' for table 'plu
GRANT DELETE ON mysql.plugin TO bug51770@localhost;
UNINSTALL PLUGIN example;
DROP USER bug51770@localhost;
+INSTALL PLUGIN example SONAME '../ha_example.so';
+ERROR HY000: No paths allowed for shared library
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result
index 48a995f1b10..fb6951f49fd 100644
--- a/mysql-test/r/ps.result
+++ b/mysql-test/r/ps.result
@@ -3046,6 +3046,7 @@ id select_type table type possible_keys key key_len ref rows Extra
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
+
End of 5.1 tests.
#
@@ -3204,6 +3205,510 @@ test1
DROP PROCEDURE p1;
DROP PROCEDURE p2;
+TINYINT
+
+CREATE PROCEDURE p1(OUT v TINYINT)
+SET v = 127;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 127;
+@a @a = 127
+127 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+SMALLINT
+
+CREATE PROCEDURE p1(OUT v SMALLINT)
+SET v = 32767;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 32767;
+@a @a = 32767
+32767 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+MEDIUMINT
+
+CREATE PROCEDURE p1(OUT v MEDIUMINT)
+SET v = 8388607;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 8388607;
+@a @a = 8388607
+8388607 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+INT
+
+CREATE PROCEDURE p1(OUT v INT)
+SET v = 2147483647;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 2147483647;
+@a @a = 2147483647
+2147483647 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+BIGINT
+
+CREATE PROCEDURE p1(OUT v BIGINT)
+SET v = 9223372036854775807;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 9223372036854775807;
+@a @a = 9223372036854775807
+9223372036854775807 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+BIT(11)
+
+CREATE PROCEDURE p1(OUT v BIT(11))
+SET v = b'10100100101';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = b'10100100101';
+@a @a = b'10100100101'
+1317 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+TIMESTAMP
+
+CREATE PROCEDURE p1(OUT v TIMESTAMP)
+SET v = '2007-11-18 15:01:02';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = '2007-11-18 15:01:02';
+@a @a = '2007-11-18 15:01:02'
+2007-11-18 15:01:02 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+DATETIME
+
+CREATE PROCEDURE p1(OUT v DATETIME)
+SET v = '1234-11-12 12:34:59';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = '1234-11-12 12:34:59';
+@a @a = '1234-11-12 12:34:59'
+1234-11-12 12:34:59 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+TIME
+
+CREATE PROCEDURE p1(OUT v TIME)
+SET v = '123:45:01';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = '123:45:01';
+@a @a = '123:45:01'
+123:45:01 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+DATE
+
+CREATE PROCEDURE p1(OUT v DATE)
+SET v = '1234-11-12';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = '1234-11-12';
+@a @a = '1234-11-12'
+1234-11-12 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+YEAR
+
+CREATE PROCEDURE p1(OUT v YEAR)
+SET v = 2010;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` bigint(20) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 2010;
+@a @a = 2010
+2010 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+FLOAT(7, 4)
+
+CREATE PROCEDURE p1(OUT v FLOAT(7, 4))
+SET v = 123.4567;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` double DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a - 123.4567 < 0.00001;
+@a @a - 123.4567 < 0.00001
+123.45670318603516 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+DOUBLE(8, 5)
+
+CREATE PROCEDURE p1(OUT v DOUBLE(8, 5))
+SET v = 123.45678;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` double DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a - 123.45678 < 0.000001;
+@a @a - 123.45678 < 0.000001
+123.45678 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+DECIMAL(9, 6)
+
+CREATE PROCEDURE p1(OUT v DECIMAL(9, 6))
+SET v = 123.456789;
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` decimal(65,30) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 123.456789;
+@a @a = 123.456789
+123.456789 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+CHAR(32)
+
+CREATE PROCEDURE p1(OUT v CHAR(32))
+SET v = REPEAT('a', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('a', 16);
+@a @a = REPEAT('a', 16)
+aaaaaaaaaaaaaaaa 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+VARCHAR(32)
+
+CREATE PROCEDURE p1(OUT v VARCHAR(32))
+SET v = REPEAT('b', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('b', 16);
+@a @a = REPEAT('b', 16)
+bbbbbbbbbbbbbbbb 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+TINYTEXT
+
+CREATE PROCEDURE p1(OUT v TINYTEXT)
+SET v = REPEAT('c', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('c', 16);
+@a @a = REPEAT('c', 16)
+cccccccccccccccc 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+TEXT
+
+CREATE PROCEDURE p1(OUT v TEXT)
+SET v = REPEAT('d', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('d', 16);
+@a @a = REPEAT('d', 16)
+dddddddddddddddd 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+MEDIUMTEXT
+
+CREATE PROCEDURE p1(OUT v MEDIUMTEXT)
+SET v = REPEAT('e', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('e', 16);
+@a @a = REPEAT('e', 16)
+eeeeeeeeeeeeeeee 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+LONGTEXT
+
+CREATE PROCEDURE p1(OUT v LONGTEXT)
+SET v = REPEAT('f', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('f', 16);
+@a @a = REPEAT('f', 16)
+ffffffffffffffff 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+BINARY(32)
+
+CREATE PROCEDURE p1(OUT v BINARY(32))
+SET v = REPEAT('g', 32);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('g', 32);
+@a @a = REPEAT('g', 32)
+gggggggggggggggggggggggggggggggg 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+VARBINARY(32)
+
+CREATE PROCEDURE p1(OUT v VARBINARY(32))
+SET v = REPEAT('h', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('h', 16);
+@a @a = REPEAT('h', 16)
+hhhhhhhhhhhhhhhh 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+TINYBLOB
+
+CREATE PROCEDURE p1(OUT v TINYBLOB)
+SET v = REPEAT('i', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('i', 16);
+@a @a = REPEAT('i', 16)
+iiiiiiiiiiiiiiii 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+BLOB
+
+CREATE PROCEDURE p1(OUT v BLOB)
+SET v = REPEAT('j', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('j', 16);
+@a @a = REPEAT('j', 16)
+jjjjjjjjjjjjjjjj 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+MEDIUMBLOB
+
+CREATE PROCEDURE p1(OUT v MEDIUMBLOB)
+SET v = REPEAT('k', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('k', 16);
+@a @a = REPEAT('k', 16)
+kkkkkkkkkkkkkkkk 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+LONGBLOB
+
+CREATE PROCEDURE p1(OUT v LONGBLOB)
+SET v = REPEAT('l', 16);
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = REPEAT('l', 16);
+@a @a = REPEAT('l', 16)
+llllllllllllllll 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+SET('aaa', 'bbb')
+
+CREATE PROCEDURE p1(OUT v SET('aaa', 'bbb'))
+SET v = 'aaa';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 'aaa';
+@a @a = 'aaa'
+aaa 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+ENUM('aaa', 'bbb')
+
+CREATE PROCEDURE p1(OUT v ENUM('aaa', 'bbb'))
+SET v = 'aaa';
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+SHOW CREATE TABLE tmp1;
+Table Create Table
+tmp1 CREATE TEMPORARY TABLE `tmp1` (
+ `c1` longblob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT @a, @a = 'aaa';
+@a @a = 'aaa'
+aaa 1
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
# End of WL#4435.
#
# WL#4284: Transactional DDL locking
@@ -3229,5 +3734,19 @@ CREATE TABLE t1 (a INT);
BEGIN;
PREPARE stmt1 FROM "SELECT * FROM t1";
DROP TABLE t1;
+
+#
+# Bug#56115: invalid memory reads when PS selecting from
+# information_schema tables
+# Bug#58701: crash in Field::make_field, cursor-protocol
+#
+# NOTE: MTR should be run both with --ps-protocol and --cursor-protocol.
+#
+
+SELECT *
+FROM (SELECT 1 UNION SELECT 2) t;
+1
+1
+2
#
-# End of 6.0 tests.
+# End of 5.5 tests.
diff --git a/mysql-test/r/query_cache_28249.result b/mysql-test/r/query_cache_28249.result
index aed84911032..72d713e8e70 100644
--- a/mysql-test/r/query_cache_28249.result
+++ b/mysql-test/r/query_cache_28249.result
@@ -8,7 +8,7 @@ SET @query_cache_size= @@global.query_cache_size;
SET GLOBAL query_cache_type=1;
SET GLOBAL query_cache_limit=10000;
SET GLOBAL query_cache_min_res_unit=0;
-SET GLOBAL query_cache_size= 100000;
+SET GLOBAL query_cache_size= 102400;
FLUSH TABLES;
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (a INT);
@@ -23,10 +23,10 @@ SELECT *, (SELECT COUNT(*) FROM t2) FROM t1;
# Switch to connection user3
# Poll till the select of connection user1 is blocked by the write lock on t1.
SELECT user,command,state,info FROM information_schema.processlist
-WHERE state = 'Locked'
+WHERE state = 'Waiting for table metadata lock'
AND info = 'SELECT *, (SELECT COUNT(*) FROM t2) FROM t1';
user command state info
-root Query Locked SELECT *, (SELECT COUNT(*) FROM t2) FROM t1
+root Query Waiting for table metadata lock SELECT *, (SELECT COUNT(*) FROM t2) FROM t1
INSERT INTO t1 VALUES (4);
# Switch to connection user2
UNLOCK TABLES;
diff --git a/mysql-test/r/query_cache_debug.result b/mysql-test/r/query_cache_debug.result
index 80c21add075..ec78fe65802 100644
--- a/mysql-test/r/query_cache_debug.result
+++ b/mysql-test/r/query_cache_debug.result
@@ -5,20 +5,24 @@ drop table if exists t1;
create table t1 (a varchar(100));
insert into t1 values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'),('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
Activate debug hook and attempt to retrieve the statement from the cache.
-set session debug='+d,foobar,wait_in_query_cache_insert';
+set debug_sync="wait_in_query_cache_insert SIGNAL parked WAIT_FOR go";
select SQL_CACHE * from t1;;
+set debug_sync="now WAIT_FOR parked";
On a second connection; clear the query cache.
show status like 'Qcache_queries_in_cache';
Variable_name Value
Qcache_queries_in_cache 1
set global query_cache_size= 0;
Signal the debug hook to release the lock.
-select id from information_schema.processlist where state='wait_in_query_cache_insert' into @thread_id;
-kill query @thread_id;
+set debug_sync="now SIGNAL go";
Show query cache status.
show status like 'Qcache_queries_in_cache';
Variable_name Value
Qcache_queries_in_cache 0
+a
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+set debug_sync= 'RESET';
set global query_cache_size= 0;
use test;
drop table t1;
@@ -32,11 +36,12 @@ SET GLOBAL concurrent_insert= 1;
SET GLOBAL query_cache_size= 1024*512;
SET GLOBAL query_cache_type= ON;
# Switch to connection con1
-SET SESSION debug='+d,foobar,wait_after_query_cache_invalidate';
+SET DEBUG_SYNC = "wait_after_query_cache_invalidate SIGNAL parked WAIT_FOR go";
# Send concurrent insert, will wait in the query cache table invalidate
INSERT INTO t1 VALUES (4);
# Switch to connection default
# Wait for concurrent insert to reach the debug point
+SET DEBUG_SYNC = "now WAIT_FOR parked";
# Switch to connection con2
# Send SELECT that shouldn't be cached
SELECT * FROM t1;
@@ -46,9 +51,7 @@ a
3
# Switch to connection default
# Notify the concurrent insert to proceed
-SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
-WHERE STATE = 'wait_after_query_cache_invalidate' INTO @thread_id;
-KILL QUERY @thread_id;
+SET DEBUG_SYNC = "now SIGNAL go";
# Switch to connection con1
# Gather insert result
SHOW STATUS LIKE "Qcache_queries_in_cache";
@@ -66,6 +69,7 @@ Variable_name Value
Qcache_queries_in_cache 1
# Disconnect
# Restore defaults
+SET DEBUG_SYNC= 'RESET';
RESET QUERY CACHE;
DROP TABLE t1,t2;
SET GLOBAL concurrent_insert= DEFAULT;
@@ -108,43 +112,50 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
** before the mutex lock in invalidate_table_internal.
** This will allow new result sets to be written into the QC.
**
-SET SESSION debug='+d,foobar,wait_in_query_cache_invalidate1';
-SET SESSION debug='+d,foobar,wait_in_query_cache_invalidate2';
+SET DEBUG_SYNC="wait_in_query_cache_invalidate1 SIGNAL parked1_1 WAIT_FOR go1_1";
+SET DEBUG_SYNC="wait_in_query_cache_invalidate2 SIGNAL parked1_2 WAIT_FOR go1_2";
DELETE FROM t1 WHERE a like '%a%';;
=================================== Connection default
** Assert that the expect process status is obtained.
+SET DEBUG_SYNC="now WAIT_FOR parked1_1";
**
=================================== Connection thd2
** On THD2: Insert a result into the cache. This attempt will be blocked
** because of a debug hook placed just before the mutex lock after which
** the first part of the result set is written.
-SET SESSION debug='+d,foobar,wait_in_query_cache_insert';
+SET DEBUG_SYNC="wait_in_query_cache_insert SIGNAL parked2 WAIT_FOR go2 EXECUTE 1";
SELECT SQL_CACHE * FROM t2 UNION SELECT * FROM t3;
+=================================== Connection default
+** Assert that the SELECT-stmt thread reaches the sync point.
+SET DEBUG_SYNC="now WAIT_FOR parked2";
+**
+**
=================================== Connection thd3
** On THD3: Insert another result into the cache and block on the same
** debug hook.
-SET SESSION debug='+d,foobar,wait_in_query_cache_insert';
-SELECT SQL_CACHE * FROM t4 UNION SELECT * FROM t5;;
+SET DEBUG_SYNC="wait_in_query_cache_insert SIGNAL parked3 WAIT_FOR go3 EXECUTE 1";
+SELECT SQL_CACHE * FROM t4 UNION SELECT * FROM t5;
=================================== Connection default
-** Assert that the two SELECT-stmt threads to reach the hook.
+** Assert that the SELECT-stmt thread reaches the sync point.
+SET DEBUG_SYNC="now WAIT_FOR parked3";
**
**
** Signal the DELETE thread, THD1, to continue. It will enter the mutex
** lock and set query cache status to TABLE_FLUSH_IN_PROGRESS and then
** unlock the mutex before stopping on the next debug hook.
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_invalidate1' LIMIT 1 INTO @flush_thread_id;
-KILL QUERY @flush_thread_id;
+SET DEBUG_SYNC="now SIGNAL go1_1";
** Assert that we reach the next debug hook.
+SET DEBUG_SYNC="now WAIT_FOR parked1_2";
**
** Signal the remaining debug hooks blocking THD2 and THD3.
** The threads will grab the guard mutex enter the wait condition and
** and finally release the mutex. The threads will continue to wait
** until a broadcast signal reaches them causing both threads to
** come alive and check the condition.
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_insert' ORDER BY id ASC LIMIT 1 INTO @thread_id;
-KILL QUERY @thread_id;
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_insert' ORDER BY id DESC LIMIT 1 INTO @thread_id;
-KILL QUERY @thread_id;
+SET DEBUG_SYNC="now SIGNAL go2";
+** Wait for thd2 to receive the signal
+SET DEBUG_SYNC="now SIGNAL go3";
+** Wait for thd3 to receive the signal
**
** Finally signal the DELETE statement on THD1 one last time.
** The stmt will complete the query cache invalidation and return
@@ -152,8 +163,7 @@ KILL QUERY @thread_id;
** One signal will be sent to the thread group waiting for executing
** invalidations and a broadcast signal will be sent to the thread
** group holding result set writers.
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_invalidate2' LIMIT 1 INTO @flush_thread_id;
-KILL QUERY @flush_thread_id;
+SET DEBUG_SYNC="now SIGNAL go1_2";
**
*************************************************************************
** No tables should be locked
@@ -172,6 +182,7 @@ DELETE FROM t4;
DELETE FROM t5;
=================================== Connection thd1
** Done.
+SET DEBUG_SYNC= 'RESET';
SET GLOBAL query_cache_size= 0;
# Restore defaults
RESET QUERY CACHE;
@@ -179,3 +190,35 @@ FLUSH STATUS;
DROP TABLE t1,t2,t3,t4,t5;
SET GLOBAL query_cache_size= DEFAULT;
SET GLOBAL query_cache_type= DEFAULT;
+#
+# Bug#56822: Add a thread state for sessions waiting on the query cache lock
+#
+SET @old_query_cache_size= @@GLOBAL.query_cache_size;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+SET GLOBAL concurrent_insert= 1;
+SET GLOBAL query_cache_size= 1024*512;
+SET GLOBAL query_cache_type= ON;
+# Switch to connection con1
+SET DEBUG_SYNC = "wait_in_query_cache_invalidate2 SIGNAL parked WAIT_FOR go";
+# Send INSERT, will wait in the query cache table invalidation
+INSERT INTO t1 VALUES (4);;
+# Switch to connection default
+# Wait for insert to reach the debug point
+SET DEBUG_SYNC = "now WAIT_FOR parked";
+# Switch to connection con2
+# Send a query that should wait on the query cache lock
+RESET QUERY CACHE;
+# Switch to connection default
+# Wait for the state to be reflected in the processlist
+# Signal that the query cache can be unlocked
+SET DEBUG_SYNC="now SIGNAL go";
+# Reap con1 and disconnect
+# Reap con2 and disconnect
+# Restore defaults
+SET DEBUG_SYNC= 'RESET';
+RESET QUERY CACHE;
+DROP TABLE t1;
+SET GLOBAL query_cache_size= DEFAULT;
+SET GLOBAL query_cache_type= DEFAULT;
diff --git a/mysql-test/r/range.result b/mysql-test/r/range.result
index 1b1ac169869..eff45844064 100644
--- a/mysql-test/r/range.result
+++ b/mysql-test/r/range.result
@@ -1666,4 +1666,105 @@ c_key c_notkey
1 1
3 3
DROP TABLE t1;
+#
+# Bug #57030: 'BETWEEN' evaluation is incorrect
+#
+CREATE TABLE t1(pk INT PRIMARY KEY, i4 INT);
+CREATE UNIQUE INDEX i4_uq ON t1(i4);
+INSERT INTO t1 VALUES (1,10), (2,20), (3,30);
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const i4_uq i4_uq 5 const 1
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 10;
+pk i4
+1 10
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND i4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 const i4_uq i4_uq 5 const 1
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND i4;
+pk i4
+1 10
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND i4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range i4_uq i4_uq 5 NULL 3 Using where
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND i4;
+pk i4
+1 10
+2 20
+3 30
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range i4_uq i4_uq 5 NULL 1 Using where
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND 10;
+pk i4
+1 10
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND 10;
+pk i4
+1 10
+2 20
+3 30
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 11 AND 11;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+SELECT * FROM t1 WHERE 10 BETWEEN 11 AND 11;
+pk i4
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 100 AND 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
+SELECT * FROM t1 WHERE 10 BETWEEN 100 AND 0;
+pk i4
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 100 AND 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT * FROM t1 WHERE i4 BETWEEN 100 AND 0;
+pk i4
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 99999999999999999;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range i4_uq i4_uq 5 NULL 2 Using where
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 99999999999999999;
+pk i4
+1 10
+2 20
+3 30
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 999999999999999 AND 30;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT * FROM t1 WHERE i4 BETWEEN 999999999999999 AND 30;
+pk i4
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND '20';
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 range i4_uq i4_uq 5 NULL 1 Using where
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND '20';
+pk i4
+1 10
+2 20
+EXPLAIN
+SELECT * FROM t1, t1 as t2 WHERE t2.pk BETWEEN t1.i4 AND t1.i4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL i4_uq NULL NULL NULL 3
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.i4 1 Using where
+SELECT * FROM t1, t1 as t2 WHERE t2.pk BETWEEN t1.i4 AND t1.i4;
+pk i4 pk i4
+EXPLAIN
+SELECT * FROM t1, t1 as t2 WHERE t1.i4 BETWEEN t2.pk AND t2.pk;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL i4_uq NULL NULL NULL 3
+1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.i4 1 Using where
+SELECT * FROM t1, t1 as t2 WHERE t1.i4 BETWEEN t2.pk AND t2.pk;
+pk i4 pk i4
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/rpl_mysqldump_slave.result b/mysql-test/r/rpl_mysqldump_slave.result
index 2229725a61d..76caab5fcfa 100644
--- a/mysql-test/r/rpl_mysqldump_slave.result
+++ b/mysql-test/r/rpl_mysqldump_slave.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#
# New --dump-slave, --apply-slave-statements functionality
#
@@ -15,3 +11,4 @@ START SLAVE;
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT='MASTER_MYPORT', MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
START SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index b5716264f56..49fea815b62 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -4866,6 +4866,70 @@ SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
1
1
DROP TABLE t1;
+#
+# Bug #58422: Incorrect result when OUTER JOIN'ing
+# with an empty table
+#
+CREATE TABLE t_empty(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
+CREATE TABLE t1(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
+INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
+CREATE TABLE t2(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
+INSERT INTO t2 VALUES (1,1), (2,2), (3,3);
+EXPLAIN
+SELECT *
+FROM
+t1
+LEFT OUTER JOIN
+(t2 INNER JOIN t_empty ON TRUE)
+ON t1.pk=t2.pk
+WHERE t2.pk <> 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT *
+FROM
+t1
+LEFT OUTER JOIN
+(t2 INNER JOIN t_empty ON TRUE)
+ON t1.pk=t2.pk
+WHERE t2.pk <> 2;
+pk i pk i pk i
+EXPLAIN
+SELECT *
+FROM
+t1
+LEFT OUTER JOIN
+(t2 CROSS JOIN t_empty)
+ON t1.pk=t2.pk
+WHERE t2.pk <> 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT *
+FROM
+t1
+LEFT OUTER JOIN
+(t2 CROSS JOIN t_empty)
+ON t1.pk=t2.pk
+WHERE t2.pk <> 2;
+pk i pk i pk i
+EXPLAIN
+SELECT *
+FROM
+t1
+LEFT OUTER JOIN
+(t2 INNER JOIN t_empty ON t_empty.i=t2.i)
+ON t1.pk=t2.pk
+WHERE t2.pk <> 2;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
+SELECT *
+FROM
+t1
+LEFT OUTER JOIN
+(t2 INNER JOIN t_empty ON t_empty.i=t2.i)
+ON t1.pk=t2.pk
+WHERE t2.pk <> 2;
+pk i pk i pk i
+DROP TABLE t1,t2,t_empty;
End of 5.1 tests
#
# Bug#54515: Crash in opt_range.cc::get_best_group_min_max on
@@ -4886,3 +4950,22 @@ col_int_key
DROP VIEW view_t1;
DROP TABLE t1;
# End of test BUG#54515
+#
+# Bug #57203 Assertion `field_length <= 255' failed.
+#
+SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
+UNION ALL
+SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
+AS foo
+;
+coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
+0.0000
+0.0000
+CREATE table t1(a text);
+INSERT INTO t1 VALUES (''), ('');
+SELECT avg(distinct(t1.a)) FROM t1, t1 t2
+GROUP BY t2.a ORDER BY t1.a;
+avg(distinct(t1.a))
+0
+DROP TABLE t1;
+# End of test BUG#57203
diff --git a/mysql-test/r/shm.result b/mysql-test/r/shm.result
index 4f57049406d..53b2483d97e 100644
--- a/mysql-test/r/shm.result
+++ b/mysql-test/r/shm.result
@@ -2155,6 +2155,8 @@ mysqld is alive
SET @max_allowed_packet= @@global.max_allowed_packet;
SET @net_buffer_length= @@global.net_buffer_length;
SET GLOBAL max_allowed_packet= 1024;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SET GLOBAL net_buffer_length= 1024;
ERROR 1153 (08S01) at line 1: Got a packet bigger than 'max_allowed_packet' bytes
SET GLOBAL max_allowed_packet= @max_allowed_packet;
diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
index 073b0b331f0..351bfaf9d96 100644
--- a/mysql-test/r/show_check.result
+++ b/mysql-test/r/show_check.result
@@ -663,6 +663,8 @@ flush tables;
SHOW TABLE STATUS like 't1';
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect information in file: './test/t1.frm'
+Warnings:
+Warning 1033 Incorrect information in file: './test/t1.frm'
show create table t1;
ERROR HY000: Incorrect information in file: './test/t1.frm'
drop table if exists t1;
@@ -1323,8 +1325,20 @@ Tables_in_test Table_type
été BASE TABLE
drop table `été`;
set names latin1;
+#
+# Bug#4374 SHOW TABLE STATUS FROM ignores collation_connection
+# Character set: Latin-1 (ISO-8859-1)
+#
+SET NAMES latin1;
+CREATE DATABASE `ä`;
+CREATE TABLE `ä`.`ä` (a int) ENGINE=Memory;
+SHOW TABLE STATUS FROM `ä` LIKE 'ä';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+ä MEMORY 10 Fixed 0 # # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
+DROP DATABASE `ä`;
show columns from `#mysql50#????????`;
Got one of the listed errors
+call mtr.add_suppression("Can.t find file: '.\\\\test\\\\\\?{8}.frm'");
DROP TABLE IF EXISTS t1;
DROP PROCEDURE IF EXISTS p1;
CREATE TABLE t1(c1 INT);
@@ -1514,3 +1528,27 @@ ALTER TABLE t1 CHARACTER SET = utf8;
COMMIT;
DROP TRIGGER t1_bi;
DROP TABLE t1;
+#
+# Bug#57306 SHOW PROCESSLIST does not display string literals well.
+#
+SET NAMES latin1;
+SELECT GET_LOCK('t', 1000);
+GET_LOCK('t', 1000)
+1
+SET NAMES latin1;
+SELECT GET_LOCK('t',1000) AS 'óóóó';;
+SHOW PROCESSLIST;
+Id User Host db Command Time State Info
+### root ### test Query ### ### SHOW PROCESSLIST
+### root ### test Query ### ### SELECT GET_LOCK('t',1000) AS 'óóóó'
+SET NAMES utf8;
+SHOW PROCESSLIST;
+Id User Host db Command Time State Info
+### root ### test Query ### ### SHOW PROCESSLIST
+### root ### test Query ### ### SELECT GET_LOCK('t',1000) AS 'óóóó'
+SELECT RELEASE_LOCK('t');
+RELEASE_LOCK('t')
+1
+óóóó
+1
+SET NAMES latin1;
diff --git a/mysql-test/r/signal.result b/mysql-test/r/signal.result
index 67bf9330451..cfa056d5d13 100644
--- a/mysql-test/r/signal.result
+++ b/mysql-test/r/signal.result
@@ -1379,9 +1379,6 @@ MESSAGE_TEXT = msg,
MYSQL_ERRNO = 1012;
end $$
insert into t1 values (1), (2) $$
-Warnings:
-Warning 1012 This trigger SIGNAL a warning, a=1
-Warning 1012 This trigger SIGNAL a warning, a=2
drop trigger t1_ai $$
create trigger t1_ai after insert on t1 for each row
begin
@@ -1416,11 +1413,7 @@ MESSAGE_TEXT = NEW.msg,
MYSQL_ERRNO = NEW.errno;
end $$
insert into t1 set errno=1012, msg='Warning message 1 in trigger' $$
-Warnings:
-Warning 1012 Warning message 1 in trigger
insert into t1 set errno=1013, msg='Warning message 2 in trigger' $$
-Warnings:
-Warning 1013 Warning message 2 in trigger
drop table t1 $$
drop table if exists t1 $$
drop procedure if exists p1 $$
diff --git a/mysql-test/r/signal_code.result b/mysql-test/r/signal_code.result
index 2ecba4701fa..ca46f1d2079 100644
--- a/mysql-test/r/signal_code.result
+++ b/mysql-test/r/signal_code.result
@@ -20,16 +20,16 @@ return 0;
end $$
show procedure code signal_proc;
Pos Instruction
-0 stmt 131 "SIGNAL foo"
-1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
-2 stmt 132 "RESIGNAL foo"
-3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
+0 stmt 130 "SIGNAL foo"
+1 stmt 130 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
+2 stmt 131 "RESIGNAL foo"
+3 stmt 131 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
drop procedure signal_proc;
show function code signal_func;
Pos Instruction
-0 stmt 131 "SIGNAL foo"
-1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
-2 stmt 132 "RESIGNAL foo"
-3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
+0 stmt 130 "SIGNAL foo"
+1 stmt 130 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
+2 stmt 131 "RESIGNAL foo"
+3 stmt 131 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
4 freturn 3 0
drop function signal_func;
diff --git a/mysql-test/r/sp-bugs.result b/mysql-test/r/sp-bugs.result
index a88c89537e2..2425f40d9c2 100644
--- a/mysql-test/r/sp-bugs.result
+++ b/mysql-test/r/sp-bugs.result
@@ -75,4 +75,40 @@ CALL p1 ();
ERROR HY000: Trigger does not exist
DROP TABLE t1;
DROP PROCEDURE p1;
+#
+# Bug#54375: Error in stored procedure leaves connection
+# in different default schema
+#
+SET @@SQL_MODE = 'STRICT_ALL_TABLES';
+DROP DATABASE IF EXISTS db1;
+CREATE DATABASE db1;
+USE db1;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (c1 int NOT NULL PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+CREATE FUNCTION f1 (
+some_value int
+)
+RETURNS smallint
+DETERMINISTIC
+BEGIN
+INSERT INTO t1 SET c1 = some_value;
+RETURN(LAST_INSERT_ID());
+END$$
+DROP DATABASE IF EXISTS db2;
+CREATE DATABASE db2;
+USE db2;
+SELECT DATABASE();
+DATABASE()
+db2
+SELECT db1.f1(1);
+ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
+SELECT DATABASE();
+DATABASE()
+db2
+USE test;
+DROP FUNCTION db1.f1;
+DROP TABLE db1.t1;
+DROP DATABASE db1;
+DROP DATABASE db2;
End of 5.1 tests
diff --git a/mysql-test/r/sp-code.result b/mysql-test/r/sp-code.result
index c7ea4cbb311..16a43a00f04 100644
--- a/mysql-test/r/sp-code.result
+++ b/mysql-test/r/sp-code.result
@@ -155,11 +155,11 @@ Pos Instruction
0 stmt 9 "drop temporary table if exists sudoku..."
1 stmt 1 "create temporary table sudoku_work ( ..."
2 stmt 1 "create temporary table sudoku_schedul..."
-3 stmt 89 "call sudoku_init()"
+3 stmt 88 "call sudoku_init()"
4 jump_if_not 7(8) p_naive@0
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
6 jump 8
-7 stmt 89 "call sudoku_count()"
+7 stmt 88 "call sudoku_count()"
8 stmt 6 "insert into sudoku_schedule (row,col)..."
9 set v_scounter@2 0
10 set v_i@3 1
diff --git a/mysql-test/r/sp-destruct.result b/mysql-test/r/sp-destruct.result
index fbe982b86bc..a529a62680b 100644
--- a/mysql-test/r/sp-destruct.result
+++ b/mysql-test/r/sp-destruct.result
@@ -1,4 +1,5 @@
call mtr.add_suppression("Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted");
+call mtr.add_suppression("Stored routine .test...bug14233_[123].: invalid value in column mysql.proc");
flush table mysql.proc;
use test;
drop procedure if exists bug14233;
@@ -151,3 +152,21 @@ Warnings:
Error 1547 Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted
# Restore mysql.proc.
drop table mysql.proc;
+#
+# Bug#58414 mysql_upgrade fails on dump upgrade between 5.1.53 -> 5.5.8
+#
+DROP TABLE IF EXISTS proc_backup;
+DROP DATABASE IF EXISTS db1;
+# Backup the proc table
+RENAME TABLE mysql.proc TO proc_backup;
+CREATE TABLE mysql.proc LIKE proc_backup;
+CREATE DATABASE db1;
+CREATE PROCEDURE db1.p1() SET @foo = 10;
+# Modify a field of the table.
+ALTER TABLE mysql.proc MODIFY comment CHAR (32);
+DROP DATABASE db1;
+Warnings:
+Error 1548 Cannot load from mysql.proc. The table is probably corrupted
+# Restore mysql.proc
+DROP TABLE mysql.proc;
+RENAME TABLE proc_backup TO mysql.proc;
diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result
index 7b8364379df..4e97429c48f 100644
--- a/mysql-test/r/sp-error.result
+++ b/mysql-test/r/sp-error.result
@@ -1877,9 +1877,6 @@ DROP PROCEDURE p1;
#
# Bug#5889: Exit handler for a warning doesn't hide the warning in trigger
#
-
-# - Case 1
-
CREATE TABLE t1(a INT, b INT);
INSERT INTO t1 VALUES (1, 2);
CREATE TRIGGER t1_bu BEFORE UPDATE ON t1 FOR EACH ROW
@@ -1889,40 +1886,13 @@ SET NEW.a = 10;
SET NEW.a = 99999999999;
END|
UPDATE t1 SET b = 20;
-Warnings:
-Warning 1264 Out of range value for column 'a' at row 1
SHOW WARNINGS;
Level Code Message
-Warning 1264 Out of range value for column 'a' at row 1
SELECT * FROM t1;
a b
10 20
DROP TRIGGER t1_bu;
DROP TABLE t1;
-
-# - Case 2
-
-CREATE TABLE t1(a INT);
-CREATE TABLE t2(b CHAR(1));
-CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-INSERT INTO t2 VALUES('ab'); # Produces a warning.
-INSERT INTO t2 VALUES('b'); # Does not produce a warning,
-# previous warning should be cleared.
-END|
-INSERT INTO t1 VALUES(0);
-SHOW WARNINGS;
-Level Code Message
-SELECT * FROM t1;
-a
-0
-SELECT * FROM t2;
-b
-a
-b
-DROP TRIGGER t1_bi;
-DROP TABLE t1;
-DROP TABLE t2;
#
# Bug#9857: Stored procedures: handler for sqlwarning ignored
#
@@ -1961,3 +1931,64 @@ Warning 1365 Division by 0
DROP PROCEDURE p1;
DROP PROCEDURE p2;
SET sql_mode = @sql_mode_saved;
+#
+# Bug#55850: Trigger warnings not cleared.
+#
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP PROCEDURE IF EXISTS p1;
+CREATE TABLE t1(x SMALLINT, y SMALLINT, z SMALLINT);
+CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT,
+d SMALLINT, e SMALLINT, f SMALLINT);
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
+INSERT INTO t2(a, b, c) VALUES(99999, 99999, 99999);
+CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW
+INSERT INTO t2(d, e, f) VALUES(99999, 99999, 99999);
+CREATE PROCEDURE p1()
+INSERT INTO t1 VALUES(99999, 99999, 99999);
+
+CALL p1();
+Warnings:
+Warning 1264 Out of range value for column 'x' at row 1
+Warning 1264 Out of range value for column 'y' at row 1
+Warning 1264 Out of range value for column 'z' at row 1
+
+SHOW WARNINGS;
+Level Code Message
+Warning 1264 Out of range value for column 'x' at row 1
+Warning 1264 Out of range value for column 'y' at row 1
+Warning 1264 Out of range value for column 'z' at row 1
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP PROCEDURE p1;
+# ----------------------------------------------------------------------
+CREATE TABLE t1(x SMALLINT, y SMALLINT, z SMALLINT);
+CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT NOT NULL);
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+INSERT INTO t2 VALUES(
+CAST('111111 ' AS SIGNED),
+CAST('222222 ' AS SIGNED),
+NULL);
+END|
+CREATE PROCEDURE p1()
+INSERT INTO t1 VALUES(99999, 99999, 99999);
+
+CALL p1();
+ERROR 23000: Column 'c' cannot be null
+
+SHOW WARNINGS;
+Level Code Message
+Warning 1264 Out of range value for column 'x' at row 1
+Warning 1264 Out of range value for column 'y' at row 1
+Warning 1264 Out of range value for column 'z' at row 1
+Warning 1292 Truncated incorrect INTEGER value: '111111 '
+Warning 1264 Out of range value for column 'a' at row 1
+Warning 1292 Truncated incorrect INTEGER value: '222222 '
+Warning 1264 Out of range value for column 'b' at row 1
+Error 1048 Column 'c' cannot be null
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP PROCEDURE p1;
diff --git a/mysql-test/r/sp-lock.result b/mysql-test/r/sp-lock.result
index 0d3e87f17e2..860312dca3e 100644
--- a/mysql-test/r/sp-lock.result
+++ b/mysql-test/r/sp-lock.result
@@ -735,5 +735,96 @@ END latin1 latin1_swedish_ci latin1_swedish_ci
# Connection default;
DROP PROCEDURE p1;
#
+# Bug#57663 Concurrent statement using stored function and DROP DATABASE
+# breaks SBR
+#
+DROP DATABASE IF EXISTS db1;
+DROP FUNCTION IF EXISTS f1;
+# Test 1: Check that DROP DATABASE block if a function is used
+# by an active transaction.
+# Connection default
+CREATE DATABASE db1;
+CREATE FUNCTION db1.f1() RETURNS INTEGER RETURN 1;
+START TRANSACTION;
+SELECT db1.f1();
+db1.f1()
+1
+# Connection con1
+# Sending:
+DROP DATABASE db1;
+# Connection default
+# Waiting for DROP DATABASE to be blocked by the lock on f1()
+COMMIT;
+# Connection con1
+# Reaping: DROP DATABASE db1
+# Test 2: Check that DROP DATABASE blocks if a procedure is
+# used by an active transaction.
+# Connection default
+CREATE DATABASE db1;
+CREATE PROCEDURE db1.p1() BEGIN END;
+CREATE FUNCTION f1() RETURNS INTEGER
+BEGIN
+CALL db1.p1();
+RETURN 1;
+END|
+START TRANSACTION;
+SELECT f1();
+f1()
+1
+# Connection con1
+# Sending:
+DROP DATABASE db1;
+# Connection default
+# Waiting for DROP DATABASE to be blocked by the lock on p1()
+COMMIT;
+# Connection con1
+# Reaping: DROP DATABASE db1
+# Test 3: Check that DROP DATABASE is not selected as a victim if a
+# deadlock is discovered with DML statements.
+# Connection default
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (a INT);
+CREATE FUNCTION db1.f1() RETURNS INTEGER RETURN 1;
+START TRANSACTION;
+SELECT db1.f1();
+db1.f1()
+1
+# Connection con1
+# Sending:
+DROP DATABASE db1;
+# Connection default
+# Waiting for DROP DATABASE to be blocked by the lock on f1()
+SELECT * FROM db1.t1;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+COMMIT;
+# Connection con1
+# Reaping: DROP DATABASE db1
+# Test 4: Check that active DROP DATABASE blocks stored routine DDL.
+# Connection default
+CREATE DATABASE db1;
+CREATE FUNCTION db1.f1() RETURNS INTEGER RETURN 1;
+CREATE FUNCTION db1.f2() RETURNS INTEGER RETURN 2;
+START TRANSACTION;
+SELECT db1.f2();
+db1.f2()
+2
+# Connection con1
+# Sending:
+DROP DATABASE db1;
+# Connection con2
+# Waiting for DROP DATABASE to be blocked by the lock on f2()
+# Sending:
+ALTER FUNCTION db1.f1 COMMENT "test";
+# Connection default
+# Waiting for ALTER FUNCTION to be blocked by the schema lock on db1
+COMMIT;
+# Connection con1
+# Reaping: DROP DATABASE db1
+# Connection con2
+# Reaping: ALTER FUNCTION f1 COMMENT 'test'
+ERROR 42000: FUNCTION db1.f1 does not exist
+# Connection default
+DROP FUNCTION f1;
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/sp-security.result b/mysql-test/r/sp-security.result
index 4ea26d1021a..c09579b13eb 100644
--- a/mysql-test/r/sp-security.result
+++ b/mysql-test/r/sp-security.result
@@ -44,7 +44,7 @@ ERROR 42000: SELECT command denied to user 'user1'@'localhost' for table 't1'
create procedure db1_secret.dummy() begin end;
ERROR 42000: Access denied for user 'user1'@'localhost' to database 'db1_secret'
drop procedure db1_secret.dummy;
-ERROR 42000: PROCEDURE db1_secret.dummy does not exist
+ERROR 42000: alter routine command denied to user 'user1'@'localhost' for routine 'db1_secret.dummy'
drop procedure db1_secret.stamp;
ERROR 42000: alter routine command denied to user 'user1'@'localhost' for routine 'db1_secret.stamp'
drop function db1_secret.db;
@@ -58,7 +58,7 @@ ERROR 42000: SELECT command denied to user ''@'localhost' for table 't1'
create procedure db1_secret.dummy() begin end;
ERROR 42000: Access denied for user ''@'%' to database 'db1_secret'
drop procedure db1_secret.dummy;
-ERROR 42000: PROCEDURE db1_secret.dummy does not exist
+ERROR 42000: alter routine command denied to user ''@'%' for routine 'db1_secret.dummy'
drop procedure db1_secret.stamp;
ERROR 42000: alter routine command denied to user ''@'%' for routine 'db1_secret.stamp'
drop function db1_secret.db;
@@ -567,3 +567,28 @@ DROP USER 'tester';
DROP USER 'Tester';
DROP DATABASE B48872;
End of 5.0 tests.
+#
+# Test for bug#57061 "User without privilege on routine can discover
+# its existence."
+#
+drop database if exists mysqltest_db;
+create database mysqltest_db;
+# Create user with no privileges on mysqltest_db database.
+create user bug57061_user@localhost;
+create function mysqltest_db.f1() returns int return 0;
+create procedure mysqltest_db.p1() begin end;
+# Connect as user 'bug57061_user@localhost'
+# Attempt to drop routine on which user doesn't have privileges
+# should result in the same 'access denied' type of error whether
+# routine exists or not.
+drop function if exists mysqltest_db.f_does_not_exist;
+ERROR 42000: alter routine command denied to user 'bug57061_user'@'localhost' for routine 'mysqltest_db.f_does_not_exist'
+drop procedure if exists mysqltest_db.p_does_not_exist;
+ERROR 42000: alter routine command denied to user 'bug57061_user'@'localhost' for routine 'mysqltest_db.p_does_not_exist'
+drop function if exists mysqltest_db.f1;
+ERROR 42000: alter routine command denied to user 'bug57061_user'@'localhost' for routine 'mysqltest_db.f1'
+drop procedure if exists mysqltest_db.p1;
+ERROR 42000: alter routine command denied to user 'bug57061_user'@'localhost' for routine 'mysqltest_db.p1'
+# Connection 'default'.
+drop user bug57061_user@localhost;
+drop database mysqltest_db;
diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result
index 0f18e0e5d6f..0c9b5e30c04 100644
--- a/mysql-test/r/sp.result
+++ b/mysql-test/r/sp.result
@@ -7451,4 +7451,52 @@ c1
# Cleanup
drop table t1;
drop procedure p1;
+#
+# BUG#11766234: 59299: ASSERT (TABLE_REF->TABLE || TABLE_REF->VIEW)
+# FAILS IN SET_FIELD_ITERATOR
+#
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT);
+CREATE VIEW v1 AS SELECT a FROM t2;
+CREATE PROCEDURE proc() SELECT * FROM t1 NATURAL JOIN v1;
+ALTER TABLE t2 CHANGE COLUMN a b CHAR;
+
+CALL proc();
+ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+CALL proc();
+ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+
+DROP TABLE t1,t2;
+DROP VIEW v1;
+DROP PROCEDURE proc;
+
+# --
+# -- Bug 11765684 - 58674: SP-cache does not detect changes in
+# -- pre-locking list caused by triggers
+# ---
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP PROCEDURE IF EXISTS p1;
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(a INT);
+CREATE TABLE t3(a INT);
+CREATE PROCEDURE p1()
+INSERT INTO t1(a) VALUES (1);
+
+CREATE TRIGGER t1_ai AFTER INSERT ON t1
+FOR EACH ROW
+INSERT INTO t2(a) VALUES (new.a);
+
+CALL p1();
+
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1
+FOR EACH ROW
+INSERT INTO t3(a) VALUES (new.a);
+
+CALL p1();
+
+DROP TABLE t1, t2, t3;
+DROP PROCEDURE p1;
+
# End of 5.5 test
diff --git a/mysql-test/r/sp_notembedded.result b/mysql-test/r/sp_notembedded.result
index 44d62f17f95..58744a3be2d 100644
--- a/mysql-test/r/sp_notembedded.result
+++ b/mysql-test/r/sp_notembedded.result
@@ -9,9 +9,11 @@ end|
call bug4902()|
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
call bug4902()|
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
drop procedure bug4902|
drop procedure if exists bug4902_2|
create procedure bug4902_2()
@@ -154,9 +156,11 @@ create procedure 15298_2 () sql security definer show grants;
call 15298_1();
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
call 15298_2();
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
drop user mysqltest_1@localhost;
drop procedure 15298_1;
drop procedure 15298_2;
@@ -200,7 +204,6 @@ CREATE PROCEDURE p1(i INT) BEGIN END;
DROP PROCEDURE p1;
DELETE FROM mysql.user WHERE User='mysqltest_1';
FLUSH PRIVILEGES;
-set @@global.concurrent_insert= @old_concurrent_insert;
#
# Bug#44521 Prepared Statement: CALL p() - crashes: `! thd->main_da.is_sent' failed et.al.
#
@@ -234,3 +237,25 @@ DROP FUNCTION f1;
# ------------------------------------------------------------------
# -- End of 5.1 tests
# ------------------------------------------------------------------
+#
+# Test for bug#11763757 "56510: ERROR 42000: FUNCTION DOES NOT EXIST
+# IF NOT-PRIV USER RECONNECTS ".
+#
+# The real problem was that server was unable handle properly stored
+# functions in databases which names contained dot.
+#
+DROP DATABASE IF EXISTS `my.db`;
+create database `my.db`;
+use `my.db`;
+CREATE FUNCTION f1(a int) RETURNS INT RETURN a;
+# Create new connection.
+USE `my.db`;
+SELECT f1(1);
+f1(1)
+1
+SELECT `my.db`.f1(2);
+`my.db`.f1(2)
+2
+# Switching to default connection.
+DROP DATABASE `my.db`;
+set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/r/sp_trans.result b/mysql-test/r/sp_trans.result
index 4fa91121f50..4163725a196 100644
--- a/mysql-test/r/sp_trans.result
+++ b/mysql-test/r/sp_trans.result
@@ -585,3 +585,20 @@ UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()|
ERROR 23000: Column 'f2' cannot be null
DROP TABLE t1_aux, t1_not_null|
DROP FUNCTION f1_two_inserts|
+#
+# Bug#49938: Failing assertion: inode or deadlock in fsp/fsp0fsp.c
+#
+DROP PROCEDURE IF EXISTS p1|
+DROP TABLE IF EXISTS t1|
+CREATE TABLE t1 (a INT) ENGINE=INNODB|
+CREATE PROCEDURE p1()
+BEGIN
+TRUNCATE TABLE t1;
+END|
+LOCK TABLES t1 WRITE|
+CALL p1()|
+FLUSH TABLES;
+UNLOCK TABLES|
+CALL p1()|
+DROP PROCEDURE p1|
+DROP TABLE t1|
diff --git a/mysql-test/r/ssl_and_innodb.result b/mysql-test/r/ssl_and_innodb.result
new file mode 100644
index 00000000000..71373fc4033
--- /dev/null
+++ b/mysql-test/r/ssl_and_innodb.result
@@ -0,0 +1,8 @@
+CREATE TABLE t1(a int) engine=innodb;
+INSERT INTO t1 VALUES (1);
+SELECT DISTINCT
+convert((SELECT des_decrypt(2,1) AS a FROM t1 WHERE @a:=1), signed) as d
+FROM t1 ;
+d
+2
+DROP TABLE t1;
diff --git a/mysql-test/r/ssl_cipher.result b/mysql-test/r/ssl_cipher.result
new file mode 100644
index 00000000000..78081300b5b
--- /dev/null
+++ b/mysql-test/r/ssl_cipher.result
@@ -0,0 +1,9 @@
+#
+# BUG#11760210 - SSL_CIPHER_LIST NOT SET OR RETURNED FOR "SHOW STATUS LIKE 'SSL_CIPHER_LIST'"
+#
+SHOW STATUS LIKE 'Ssl_cipher';
+Variable_name Value
+Ssl_cipher AES128-SHA
+SHOW STATUS LIKE 'Ssl_cipher_list';
+Variable_name Value
+Ssl_cipher_list AES128-SHA
diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result
index c0cd0f7bc1a..ce3acba9b8a 100644
--- a/mysql-test/r/status.result
+++ b/mysql-test/r/status.result
@@ -238,11 +238,5 @@ SELECT 9;
9
DROP PROCEDURE p1;
DROP FUNCTION f1;
-DROP VIEW IF EXISTS v1;
-CREATE VIEW v1 AS SELECT VARIABLE_NAME AS NAME, CONVERT(VARIABLE_VALUE, UNSIGNED) AS VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
-SELECT VALUE INTO @tc FROM v1 WHERE NAME = 'Threads_connected';
-SELECT NAME FROM v1 WHERE NAME = 'Threads_created' AND VALUE < @tc;
-NAME
-DROP VIEW v1;
set @@global.concurrent_insert= @old_concurrent_insert;
SET GLOBAL log_output = @old_log_output;
diff --git a/mysql-test/r/status_bug17954.result b/mysql-test/r/status_bug17954.result
new file mode 100644
index 00000000000..5c244cd8aca
--- /dev/null
+++ b/mysql-test/r/status_bug17954.result
@@ -0,0 +1,13 @@
+set @old_concurrent_insert= @@global.concurrent_insert;
+set @@global.concurrent_insert= 0;
+SET @old_log_output = @@global.log_output;
+SET GLOBAL LOG_OUTPUT = 'FILE';
+flush status;
+DROP VIEW IF EXISTS v1;
+CREATE VIEW v1 AS SELECT VARIABLE_NAME AS NAME, CONVERT(VARIABLE_VALUE, UNSIGNED) AS VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
+SELECT VALUE INTO @tc FROM v1 WHERE NAME = 'Threads_connected';
+SELECT NAME FROM v1 WHERE NAME = 'Threads_created' AND VALUE < @tc;
+NAME
+DROP VIEW v1;
+set @@global.concurrent_insert= @old_concurrent_insert;
+SET GLOBAL log_output = @old_log_output;
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result
index f4e07636467..7531acda7a5 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -5252,8 +5252,90 @@ ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
SELECT * FROM t2 UNION SELECT * FROM t2
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
DROP TABLE t1,t2;
+#
+# Bug #58818: Incorrect result for IN/ANY subquery
+# with HAVING condition
+#
+CREATE TABLE t1(i INT);
+INSERT INTO t1 VALUES (1), (2), (3);
+CREATE TABLE t1s(i INT);
+INSERT INTO t1s VALUES (10), (20), (30);
+CREATE TABLE t2s(i INT);
+INSERT INTO t2s VALUES (100), (200), (300);
+SELECT * FROM t1
+WHERE t1.i NOT IN
+(
+SELECT STRAIGHT_JOIN t2s.i
+FROM
+t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+HAVING t2s.i = 999
+);
+i
+1
+2
+3
+SELECT * FROM t1
+WHERE t1.I IN
+(
+SELECT STRAIGHT_JOIN t2s.i
+FROM
+t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+HAVING t2s.i = 999
+) IS UNKNOWN;
+i
+SELECT * FROM t1
+WHERE NOT t1.I = ANY
+(
+SELECT STRAIGHT_JOIN t2s.i
+FROM
+t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+HAVING t2s.i = 999
+);
+i
+1
+2
+3
+SELECT * FROM t1
+WHERE t1.i = ANY (
+SELECT STRAIGHT_JOIN t2s.i
+FROM
+t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+HAVING t2s.i = 999
+) IS UNKNOWN;
+i
+DROP TABLE t1,t1s,t2s;
End of 5.1 tests
#
+# Bug #11765713 58705:
+# OPTIMIZER LET ENGINE DEPEND ON UNINITIALIZED VALUES
+# CREATED BY OPT_SUM_QUERY
+#
+CREATE TABLE t1(a INT NOT NULL, KEY (a));
+INSERT INTO t1 VALUES (0), (1);
+SELECT 1 as foo FROM t1 WHERE a < SOME
+(SELECT a FROM t1 WHERE a <=>
+(SELECT a FROM t1)
+);
+ERROR 21000: Subquery returns more than 1 row
+SELECT 1 as foo FROM t1 WHERE a < SOME
+(SELECT a FROM t1 WHERE a <=>
+(SELECT a FROM t1 where a is null)
+);
+foo
+DROP TABLE t1;
+#
+# Bug #57704: Cleanup code dies with void TABLE::set_keyread(bool):
+# Assertion `file' failed.
+#
+CREATE TABLE t1 (a INT);
+SELECT 1 FROM
+(SELECT ROW(
+(SELECT 1 FROM t1 RIGHT JOIN
+(SELECT 1 FROM t1, t1 t2) AS d ON 1),
+1) FROM t1) AS e;
+ERROR 21000: Operand should contain 1 column(s)
+DROP TABLE t1;
+#
# No BUG#, a case brought from 5.2's innodb_mysql_lock.test
#
create table t1 (i int not null primary key);
diff --git a/mysql-test/r/subselect4.result b/mysql-test/r/subselect4.result
index 72fa5f23ab1..63d051e03f2 100644
--- a/mysql-test/r/subselect4.result
+++ b/mysql-test/r/subselect4.result
@@ -186,6 +186,17 @@ a b
2 NULL
DROP TABLE t1, t2, t3, t4, t5;
#
+# Bug#58207: invalid memory reads when using default column value and
+# tmptable needed
+#
+CREATE TABLE t(a VARCHAR(245) DEFAULT
+'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
+INSERT INTO t VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),('');
+SELECT * FROM (SELECT default(a) FROM t GROUP BY a) d;
+default(a)
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+DROP TABLE t;
+#
# End of 5.1 tests.
#
#
diff --git a/mysql-test/r/subselect_innodb.result b/mysql-test/r/subselect_innodb.result
index 6c6d563e284..ab623ad6a28 100644
--- a/mysql-test/r/subselect_innodb.result
+++ b/mysql-test/r/subselect_innodb.result
@@ -245,3 +245,12 @@ x
NULL
drop procedure p1;
drop tables t1,t2,t3;
+#
+# Bug#60085 crash in Item::save_in_field() with time data type
+#
+CREATE TABLE t1(a date, b int, unique(b), unique(a), key(b)) engine=innodb;
+INSERT INTO t1 VALUES ('2011-05-13', 0);
+SELECT * FROM t1 WHERE b < (SELECT CAST(a as date) FROM t1 GROUP BY a);
+a b
+2011-05-13 0
+DROP TABLE t1;
diff --git a/mysql-test/r/symlink.result b/mysql-test/r/symlink.result
index 4dac7443135..20736aec47f 100644
--- a/mysql-test/r/symlink.result
+++ b/mysql-test/r/symlink.result
@@ -22,7 +22,8 @@ insert into t1 (b) select b from t2;
insert into t2 (b) select b from t1;
insert into t1 (b) select b from t2;
drop table t2;
-create table t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="MYSQLTEST_VARDIR/tmp" index directory="MYSQLTEST_VARDIR/run";
+create table t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam data directory="MYSQLTEST_VARDIR/tmp" index directory="MYSQLTEST_VARDIR/run";
insert into t9 select * from t1;
check table t9;
Table Op Msg_type Msg_text
@@ -56,11 +57,17 @@ t9 CREATE TABLE `t9` (
PRIMARY KEY (`a`)
) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
create database mysqltest;
-create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="/this-dir-does-not-exist";
+create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam index directory="/this-dir-does-not-exist";
Got one of the listed errors
-create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="MYSQLTEST_VARDIR/run";
+create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam index directory="not-hard-path";
+ERROR 42000: Incorrect table name 'not-hard-path'
+create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam index directory="MYSQLTEST_VARDIR/run";
Got one of the listed errors
-create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="MYSQLTEST_VARDIR/tmp";
+create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam data directory="MYSQLTEST_VARDIR/tmp";
Got one of the listed errors
alter table t9 rename mysqltest.t9;
select count(*) from mysqltest.t9;
@@ -181,3 +188,28 @@ DROP TABLE user;
FLUSH TABLE mysql.user;
SELECT * FROM mysql.user;
End of 5.1 tests
+#
+# Test for bug #11759990 - "52354: 'CREATE TABLE .. LIKE ... '
+# STATEMENTS FAIL".
+#
+drop table if exists t1, t2;
+create table t1 (a int primary key) engine=myisam
+data directory="MYSQLTEST_VARDIR/tmp"
+ index directory="MYSQLTEST_VARDIR/run";
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
+# CREATE TABLE LIKE statement on table with INDEX/DATA DIRECTORY
+# options should not fail. Per documentation newly created table
+# should not inherit value of these options from the original table.
+create table t2 like t1;
+show create table t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop tables t1, t2;
diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result
index e963e1ebff7..10b14daf299 100644
--- a/mysql-test/r/system_mysql_db.result
+++ b/mysql-test/r/system_mysql_db.result
@@ -14,6 +14,7 @@ ndb_binlog_index
plugin
proc
procs_priv
+proxies_priv
servers
slow_log
tables_priv
@@ -119,8 +120,8 @@ user CREATE TABLE `user` (
`max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
- `plugin` char(60) CHARACTER SET latin1 NOT NULL DEFAULT '',
- `auth_string` text COLLATE utf8_bin NOT NULL,
+ `plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '',
+ `authentication_string` text COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
show create table func;
diff --git a/mysql-test/r/tablespace.result b/mysql-test/r/tablespace.result
new file mode 100644
index 00000000000..38d450ae430
--- /dev/null
+++ b/mysql-test/r/tablespace.result
@@ -0,0 +1,112 @@
+CREATE TABLE t1(a int) TABLESPACE ts ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) TABLESPACE ts STORAGE DISK ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) TABLESPACE ts STORAGE MEMORY ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts STORAGE MEMORY */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) STORAGE MEMORY ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 STORAGE MEMORY */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) STORAGE DISK ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) TABLESPACE ts ENGINE=MyISAM;
+ALTER TABLE t1 ADD COLUMN b int;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) TABLESPACE ts STORAGE DISK ENGINE=MyISAM;
+ALTER TABLE t1 ADD COLUMN b int;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) ENGINE=MyISAM;
+ALTER TABLE t1 TABLESPACE ts;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1 TABLESPACE ts2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts2 */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) ENGINE=MyISAM;
+ALTER TABLE t1 STORAGE MEMORY;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 STORAGE MEMORY */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1 STORAGE DISK;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1(a int) ENGINE=MyISAM;
+ALTER TABLE t1 STORAGE MEMORY TABLESPACE ts;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts STORAGE MEMORY */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+ALTER TABLE t1 STORAGE DISK TABLESPACE ts2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL
+) /*!50100 TABLESPACE ts2 STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) NOT NULL,
+ `b` int(11) DEFAULT NULL,
+ `c` int(11) DEFAULT NULL,
+ `d` int(11) NOT NULL,
+ `e` int(11) DEFAULT NULL,
+ `f` int(11) DEFAULT NULL,
+ `g` int(11) DEFAULT NULL,
+ `h` int(11) NOT NULL,
+ `i` int(11) DEFAULT NULL,
+ `j` int(11) DEFAULT NULL,
+ `k` int(11) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) /*!50100 TABLESPACE the_tablespacename STORAGE DISK */ ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/r/trigger-compat.result b/mysql-test/r/trigger-compat.result
index d1f1ec87efd..284731d8dfc 100644
--- a/mysql-test/r/trigger-compat.result
+++ b/mysql-test/r/trigger-compat.result
@@ -41,3 +41,98 @@ DROP TABLE t2;
DROP USER mysqltest_dfn@localhost;
DROP USER mysqltest_inv@localhost;
DROP DATABASE mysqltest_db1;
+USE test;
+#
+# Bug#45235: 5.1 does not support 5.0-only syntax triggers in any way
+#
+DROP TABLE IF EXISTS t1, t2, t3;
+CREATE TABLE t1 ( a INT );
+CREATE TABLE t2 ( a INT );
+CREATE TABLE t3 ( a INT );
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t2 VALUES (1), (2), (3);
+INSERT INTO t3 VALUES (1), (2), (3);
+# We simulate importing a trigger from 5.0 by writing a .TRN file for
+# each trigger plus a .TRG file the way MySQL 5.0 would have done it,
+# with syntax allowed in 5.0 only.
+#
+# Note that in 5.0 the following lines are missing from t1.TRG:
+#
+# client_cs_names='latin1'
+# connection_cl_names='latin1_swedish_ci'
+# db_cl_names='latin1_swedish_ci'
+FLUSH TABLE t1;
+FLUSH TABLE t2;
+# We will get parse errors for most DDL and DML statements when the table
+# has broken triggers. The parse error refers to the first broken
+# trigger.
+CREATE TRIGGER tr16 AFTER UPDATE ON t1 FOR EACH ROW INSERT INTO t1 VALUES (1);
+ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
+CREATE TRIGGER tr22 BEFORE INSERT ON t2 FOR EACH ROW DELETE FROM non_existing_table;
+ERROR 42000: Unknown trigger has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Not allowed syntax here, and trigger name cant be extracted either.' at line 1'
+SHOW TRIGGERS;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+tr11 INSERT t1 DELETE FROM t3 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+tr12 INSERT t1 DELETE FROM t3 AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+tr14 DELETE t1 DELETE FROM non_existing_table AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+INSERT INTO t1 VALUES (1);
+ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
+INSERT INTO t2 VALUES (1);
+ERROR 42000: Unknown trigger has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Not allowed syntax here, and trigger name cant be extracted either.' at line 1'
+DELETE FROM t1;
+ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
+UPDATE t1 SET a = 1 WHERE a = 1;
+ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
+SELECT * FROM t1;
+a
+1
+2
+3
+RENAME TABLE t1 TO t1_2;
+ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
+SHOW TRIGGERS;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+tr11 INSERT t1 DELETE FROM t3 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+tr12 INSERT t1 DELETE FROM t3 AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+tr14 DELETE t1 DELETE FROM non_existing_table AFTER NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
+DROP TRIGGER tr11;
+Warnings:
+Warning 1603 Triggers for table `test`.`t1` have no creation context
+DROP TRIGGER tr12;
+DROP TRIGGER tr13;
+DROP TRIGGER tr14;
+DROP TRIGGER tr15;
+SHOW TRIGGERS;
+Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
+# Make sure there is no trigger file left.
+# We write the same trigger files one more time to test DROP TABLE.
+FLUSH TABLE t1;
+FLUSH TABLE t2;
+DROP TABLE t1;
+Warnings:
+Warning 1603 Triggers for table `test`.`t1` have no creation context
+DROP TABLE t2;
+Warnings:
+Warning 1603 Triggers for table `test`.`t2` have no creation context
+DROP TABLE t3;
+# Make sure there is no trigger file left.
+CREATE TABLE t1 ( a INT );
+CREATE TABLE t2 ( a INT );
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t2 VALUES (1), (2), (3);
+# We write three trigger files. First trigger is syntaxically incorrect, next trigger is correct
+# and last trigger is broken.
+# Next we try to execute SHOW CREATE TRGGIR command for broken trigger and then try to drop one.
+FLUSH TABLE t1;
+SHOW CREATE TRIGGER tr12;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr12 CREATE DEFINER=`root`@`localhost` TRIGGER tr12 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t2 latin1 latin1_swedish_ci latin1_swedish_ci
+Warnings:
+Warning 1603 Triggers for table `test`.`t1` have no creation context
+SHOW CREATE TRIGGER tr11;
+Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation
+tr11 CREATE DEFINER=`root`@`localhost` TRIGGER tr11 BEFORE DELETE ON t1 FOR EACH ROW DELETE FROM t1 a USING t1 a latin1 latin1_swedish_ci latin1_swedish_ci
+DROP TRIGGER tr12;
+DROP TRIGGER tr11;
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/r/trigger-trans.result b/mysql-test/r/trigger-trans.result
index 2c4e355af9d..722ac79854d 100644
--- a/mysql-test/r/trigger-trans.result
+++ b/mysql-test/r/trigger-trans.result
@@ -151,9 +151,14 @@ CREATE TRIGGER t1_ad AFTER DELETE ON t1 FOR EACH ROW SET @b = 1;
SET @a = 0;
SET @b = 0;
TRUNCATE t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`a`))
SELECT @a, @b;
@a @b
0 0
+DELETE FROM t1;
+SELECT @a, @b;
+@a @b
+1 1
INSERT INTO t1 VALUES (1);
DELETE FROM t1;
SELECT @a, @b;
diff --git a/mysql-test/r/trigger.result b/mysql-test/r/trigger.result
index a1c21e18f83..faea2e791d5 100644
--- a/mysql-test/r/trigger.result
+++ b/mysql-test/r/trigger.result
@@ -821,7 +821,6 @@ drop trigger t1_bi;
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
execute stmt1;
call p1();
-ERROR 42S02: Table 'test.t3' doesn't exist
deallocate prepare stmt1;
drop procedure p1;
drop table t1, t2, t3;
@@ -1072,8 +1071,6 @@ SELECT @x;
NULL
SET @x=2;
UPDATE t1 SET i1 = @x;
-Warnings:
-Warning 1365 Division by 0
SELECT @x;
@x
NULL
@@ -1085,9 +1082,6 @@ SELECT @x;
NULL
SET @x=4;
UPDATE t1 SET i1 = @x;
-Warnings:
-Warning 1365 Division by 0
-Warning 1365 Division by 0
SELECT @x;
@x
NULL
@@ -1198,8 +1192,6 @@ Warnings:
Warning 1365 Division by 0
create trigger t1_bi before insert on t1 for each row set @a:=1/0|
insert into t1 values(20, 20)|
-Warnings:
-Warning 1365 Division by 0
drop trigger t1_bi|
create trigger t1_bi before insert on t1 for each row
begin
@@ -1218,8 +1210,6 @@ set @a:=1/0;
end|
set @check=0, @t4_bi_called=0, @t4_bu_called=0|
insert into t1 values(30, 30)|
-Warnings:
-Warning 1365 Division by 0
select @check, @t4_bi_called, @t4_bu_called|
@check @t4_bi_called @t4_bu_called
2 1 1
@@ -2063,12 +2053,8 @@ SELECT 1 FROM t1 c WHERE
END//
SET @bug51650 = 1;
INSERT IGNORE INTO t2 VALUES();
-Warnings:
-Warning 1329 No data - zero rows fetched, selected, or processed
INSERT IGNORE INTO t1 SET b = '777';
INSERT IGNORE INTO t2 SET a = '111';
-Warnings:
-Warning 1329 No data - zero rows fetched, selected, or processed
SET @bug51650 = 1;
INSERT IGNORE INTO t2 SET a = '777';
DROP TRIGGER trg1;
@@ -2105,7 +2091,7 @@ CREATE TRIGGER trg1 BEFORE INSERT ON t2 FOR EACH ROW INSERT/*!INTO*/t1 VALUES (1
SHOW TRIGGERS IN db1;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
INSERT INTO t2 VALUES (1);
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (1)' at line 1
+ERROR 42000: Trigger 'trg1' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (1)' at line 1'
SELECT * FROM t1;
b
# Work around Bug#45235
@@ -2150,8 +2136,6 @@ SELECT 'ab' INTO a;
SELECT 'a' INTO a;
END|
INSERT INTO t1 VALUES (1);
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
DROP TRIGGER trg1;
DROP TABLE t1;
DROP TRIGGER IF EXISTS trg1;
@@ -2169,20 +2153,12 @@ DECLARE trg2 CHAR;
SELECT 'ab' INTO trg2;
END|
INSERT INTO t1 VALUES (0);
-Warnings:
-Warning 1265 Data truncated for column 'trg1' at row 1
-Warning 1265 Data truncated for column 'trg2' at row 1
SELECT * FROM t1;
a
0
SHOW WARNINGS;
Level Code Message
INSERT INTO t1 VALUES (1),(2);
-Warnings:
-Warning 1265 Data truncated for column 'trg1' at row 1
-Warning 1265 Data truncated for column 'trg2' at row 1
-Warning 1265 Data truncated for column 'trg1' at row 1
-Warning 1265 Data truncated for column 'trg2' at row 1
DROP TRIGGER trg1;
DROP TRIGGER trg2;
DROP TABLE t1;
@@ -2205,4 +2181,22 @@ trigger_name
# Clean-up.
drop temporary table t1;
drop table t1;
-End of 6.0 tests.
+
+#
+# Bug #12362125: SP INOUT HANDLING IS BROKEN FOR TEXT TYPE.
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(c TEXT);
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE v TEXT;
+SET v = 'aaa';
+SET NEW.c = v;
+END|
+INSERT INTO t1 VALUES('qazwsxedc');
+SELECT c FROM t1;
+c
+aaa
+DROP TABLE t1;
+
+End of 5.5 tests.
diff --git a/mysql-test/r/truncate_coverage.result b/mysql-test/r/truncate_coverage.result
index a7a4b9c70f4..728702f7ab5 100644
--- a/mysql-test/r/truncate_coverage.result
+++ b/mysql-test/r/truncate_coverage.result
@@ -78,3 +78,30 @@ COMMIT;
UNLOCK TABLES;
DROP TABLE t1;
SET DEBUG_SYNC='RESET';
+#
+# Bug#57659 Segfault in Query_cache::invalidate_data for TRUNCATE TABLE
+#
+# Note that this test case only reproduces the problem
+# when it is run with valgrind.
+DROP TABLE IF EXISTS t1, m1;
+CREATE TABLE t1(a INT) engine=memory;
+CREATE TABLE m1(a INT) engine=merge UNION(t1);
+# Connection con1
+SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped';
+# Sending:
+TRUNCATE TABLE m1;
+# Connection con2
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+# Sending:
+FLUSH TABLES;
+# Connection default
+# Waiting for FLUSH TABLES to be blocked.
+SET DEBUG_SYNC= 'now SIGNAL dropped';
+# Connection con1
+# Reaping: TRUNCATE TABLE m1
+ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
+# Connection con2
+# Reaping: FLUSH TABLES
+# Connection default
+SET DEBUG_SYNC= 'RESET';
+DROP TABLE m1, t1;
diff --git a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result
index 78f31286ea7..e3363fcabf9 100644
--- a/mysql-test/r/type_blob.result
+++ b/mysql-test/r/type_blob.result
@@ -975,4 +975,14 @@ SELECT LENGTH(c) FROM t2;
LENGTH(c)
65535
DROP TABLE t1, t2;
+# Bug #52160: crash and inconsistent results when grouping
+# by a function and column
+CREATE FUNCTION f1() RETURNS TINYBLOB RETURN 1;
+CREATE TABLE t1(a CHAR(1));
+INSERT INTO t1 VALUES ('0'), ('0');
+SELECT COUNT(*) FROM t1 GROUP BY f1(), a;
+COUNT(*)
+2
+DROP FUNCTION f1;
+DROP TABLE t1;
End of 5.1 tests
diff --git a/mysql-test/r/type_date.result b/mysql-test/r/type_date.result
index 80aa63467a9..4f679e4f28d 100644
--- a/mysql-test/r/type_date.result
+++ b/mysql-test/r/type_date.result
@@ -300,6 +300,18 @@ the_date the_time the_date the_time
2010-01-01 01:01:01 2010-01-01 01:01:01
DROP TABLE t1;
DROP VIEW v1;
+#
+# Bug#59685 crash in String::length with date types
+#
+CREATE TABLE t1(a DATE, b YEAR, KEY(a));
+INSERT INTO t1 VALUES ('2011-01-01',2011);
+SELECT b = (SELECT CONVERT(a, DATE) FROM t1 GROUP BY a) FROM t1;
+b = (SELECT CONVERT(a, DATE) FROM t1 GROUP BY a)
+1
+SELECT b = CONVERT((SELECT CONVERT(a, DATE) FROM t1 GROUP BY a), DATE) FROM t1;
+b = CONVERT((SELECT CONVERT(a, DATE) FROM t1 GROUP BY a), DATE)
+1
+DROP TABLE t1;
End of 5.1 tests
#
# Bug #33629: last_day function can return null, but has 'not null'
@@ -322,4 +334,12 @@ f1 date YES NULL
f2 date YES NULL
DROP TABLE t1;
#
+#
+# Bug#57278: Crash on min/max + with date out of range.
+#
+set @a=(select min(makedate('111','1'))) ;
+select @a;
+@a
+0111-01-01
+#
End of 6.0 tests
diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result
index a37d3945ca1..a1e461f3f88 100644
--- a/mysql-test/r/type_datetime.result
+++ b/mysql-test/r/type_datetime.result
@@ -635,6 +635,17 @@ CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime) AS DECIMAL(30,7))
20080729104251.1234560
Warnings:
Warning 1292 Truncated incorrect datetime value: '2008-07-29T10:42:51.1234567'
+#
+# Bug#59173: Failure to handle DATE(TIME) values where Year, Month or
+# Day is ZERO
+#
+CREATE TABLE t1 (dt1 DATETIME);
+INSERT INTO t1 (dt1) VALUES ('0000-00-01 00:00:01');
+DELETE FROM t1 WHERE dt1 = '0000-00-01 00:00:01';
+# Should be empty
+SELECT * FROM t1;
+dt1
+DROP TABLE t1;
End of 5.1 tests
#
# Start of 5.5 tests
@@ -678,5 +689,63 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 const PRIMARY PRIMARY 8 const 1 Using index
DROP TABLE t1,t2;
#
+# Bug#57095: Wrongly chosen expression cache type led to a wrong
+# result.
+#
+CREATE TABLE t1 (`b` datetime );
+INSERT INTO t1 VALUES ('2010-01-01 00:00:00'), ('2010-01-01 00:00:00');
+SELECT * FROM t1 WHERE b <= coalesce(NULL, now());
+b
+2010-01-01 00:00:00
+2010-01-01 00:00:00
+DROP TABLE t1;
+#
+#
+# BUG#12561818: RERUN OF STORED FUNCTION GIVES ERROR 1172:
+# RESULT CONSISTED OF MORE THAN ONE ROW
+#
+CREATE TABLE t1 (a DATE NOT NULL, b INT);
+INSERT INTO t1 VALUES ('0000-00-00',1), ('1999-05-10',2);
+CREATE TABLE t2 (a DATETIME NOT NULL, b INT);
+INSERT INTO t2 VALUES ('0000-00-00 00:00:00',1), ('1999-05-10 00:00:00',2);
+
+SELECT * FROM t1 WHERE a IS NULL;
+a b
+0000-00-00 1
+SELECT * FROM t2 WHERE a IS NULL;
+a b
+0000-00-00 00:00:00 1
+SELECT * FROM t1 LEFT JOIN t1 AS t1_2 ON 1 WHERE t1_2.a IS NULL;
+a b a b
+0000-00-00 1 0000-00-00 1
+1999-05-10 2 0000-00-00 1
+SELECT * FROM t2 LEFT JOIN t2 AS t2_2 ON 1 WHERE t2_2.a IS NULL;
+a b a b
+0000-00-00 00:00:00 1 0000-00-00 00:00:00 1
+1999-05-10 00:00:00 2 0000-00-00 00:00:00 1
+SELECT * FROM t1 JOIN t1 AS t1_2 ON 1 WHERE t1_2.a IS NULL;
+a b a b
+0000-00-00 1 0000-00-00 1
+1999-05-10 2 0000-00-00 1
+SELECT * FROM t2 JOIN t2 AS t2_2 ON 1 WHERE t2_2.a IS NULL;
+a b a b
+0000-00-00 00:00:00 1 0000-00-00 00:00:00 1
+1999-05-10 00:00:00 2 0000-00-00 00:00:00 1
+
+PREPARE stmt1 FROM
+'SELECT *
+ FROM t1 LEFT JOIN t1 AS t1_2 ON 1
+ WHERE t1_2.a IS NULL AND t1_2.b < 2';
+EXECUTE stmt1;
+a b a b
+0000-00-00 1 0000-00-00 1
+1999-05-10 2 0000-00-00 1
+EXECUTE stmt1;
+a b a b
+0000-00-00 1 0000-00-00 1
+1999-05-10 2 0000-00-00 1
+DEALLOCATE PREPARE stmt1;
+DROP TABLE t1,t2;
+#
# End of 5.5 tests
#
diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result
index 819e41f41c5..c9db73c5f85 100644
--- a/mysql-test/r/type_newdecimal.result
+++ b/mysql-test/r/type_newdecimal.result
@@ -1920,4 +1920,17 @@ SELECT SUM(DISTINCT a) FROM t1;
SUM(DISTINCT a)
0.0000
DROP TABLE t1;
+#
+# Bug#55436: buffer overflow in debug binary of dbug_buff in
+# Field_new_decimal::store_value
+#
+SET SQL_MODE='';
+CREATE TABLE t1(f1 DECIMAL(44,24)) ENGINE=MYISAM;
+INSERT INTO t1 SET f1 = -64878E-85;
+Warnings:
+Note 1265 Data truncated for column 'f1' at row 1
+SELECT f1 FROM t1;
+f1
+0.000000000000000000000000
+DROP TABLE IF EXISTS t1;
End of 5.1 tests
diff --git a/mysql-test/r/type_ranges.result b/mysql-test/r/type_ranges.result
index ac3d52b9ead..d99c2363d62 100644
--- a/mysql-test/r/type_ranges.result
+++ b/mysql-test/r/type_ranges.result
@@ -271,7 +271,7 @@ drop table t2;
create table t2 (primary key (auto)) select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1;
show full columns from t2;
Field Type Collation Null Key Default Extra Privileges Comment
-auto int(6) unsigned NULL NO PRI 0 #
+auto int(11) unsigned NULL NO PRI 0 #
t1 int(1) NULL NO 0 #
t2 varchar(1) latin1_swedish_ci NO #
t3 varchar(256) latin1_swedish_ci NO #
diff --git a/mysql-test/r/type_timestamp.result b/mysql-test/r/type_timestamp.result
index 10a2b47ba02..55f8b0753a8 100644
--- a/mysql-test/r/type_timestamp.result
+++ b/mysql-test/r/type_timestamp.result
@@ -523,6 +523,69 @@ a
2000-01-01 00:00:01
2000-01-01 00:00:01
DROP TABLE t1;
+#
+# Bug#50774: failed to get the correct resultset when timestamp values
+# are appended with .0
+#
+CREATE TABLE t1 ( a TIMESTAMP, KEY ( a ) );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:01' );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:02' );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:03' );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:04' );
+SELECT * FROM t1 WHERE a >= '2010-02-01 09:31:02.0';
+a
+2010-02-01 09:31:02
+2010-02-01 09:31:03
+2010-02-01 09:31:04
+SELECT * FROM t1 WHERE '2010-02-01 09:31:02.0' <= a;
+a
+2010-02-01 09:31:02
+2010-02-01 09:31:03
+2010-02-01 09:31:04
+SELECT * FROM t1 WHERE a <= '2010-02-01 09:31:02.0';
+a
+2010-02-01 09:31:01
+2010-02-01 09:31:02
+SELECT * FROM t1 WHERE '2010-02-01 09:31:02.0' >= a;
+a
+2010-02-01 09:31:01
+2010-02-01 09:31:02
+EXPLAIN
+SELECT * FROM t1 WHERE a >= '2010-02-01 09:31:02.0';
+id select_type table type possible_keys key key_len ref rows Extra
+x x x range x x x x x x
+SELECT * FROM t1 WHERE a >= '2010-02-01 09:31:02.0';
+a
+2010-02-01 09:31:02
+2010-02-01 09:31:03
+2010-02-01 09:31:04
+CREATE TABLE t2 ( a TIMESTAMP, KEY ( a DESC ) );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:01' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:02' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:03' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:04' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:05' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:06' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:07' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:08' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:09' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:10' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:11' );
+# The bug would cause the range optimizer's comparison to use an open
+# interval here. This reveals itself only in the number of reads
+# performed.
+FLUSH STATUS;
+EXPLAIN
+SELECT * FROM t2 WHERE a < '2010-02-01 09:31:02.0';
+id select_type table type possible_keys key key_len ref rows Extra
+x x x range x x x x x x
+SELECT * FROM t2 WHERE a < '2010-02-01 09:31:02.0';
+a
+2010-02-01 09:31:01
+SHOW STATUS LIKE 'Handler_read_next';
+Variable_name Value
+Handler_read_next 1
+DROP TABLE t1, t2;
End of 5.1 tests
Bug#50888 valgrind warnings in Field_timestamp::val_str
@@ -540,3 +603,32 @@ a
2010-03-05 11:08:02
DROP TABLE t1;
End of Bug#50888
+#
+# Bug59330: Incorrect result when comparing an aggregate
+# function with TIMESTAMP
+#
+CREATE TABLE t1 (dt DATETIME, ts TIMESTAMP);
+INSERT INTO t1 VALUES('2011-01-06 12:34:30', '2011-01-06 12:34:30');
+SELECT MAX(dt), MAX(ts) FROM t1;
+MAX(dt) MAX(ts)
+2011-01-06 12:34:30 2011-01-06 12:34:30
+SELECT MAX(ts) < '2010-01-01 00:00:00' FROM t1;
+MAX(ts) < '2010-01-01 00:00:00'
+0
+SELECT MAX(dt) < '2010-01-01 00:00:00' FROM t1;
+MAX(dt) < '2010-01-01 00:00:00'
+0
+SELECT MAX(ts) > '2010-01-01 00:00:00' FROM t1;
+MAX(ts) > '2010-01-01 00:00:00'
+1
+SELECT MAX(dt) > '2010-01-01 00:00:00' FROM t1;
+MAX(dt) > '2010-01-01 00:00:00'
+1
+SELECT MAX(ts) = '2011-01-06 12:34:30' FROM t1;
+MAX(ts) = '2011-01-06 12:34:30'
+1
+SELECT MAX(dt) = '2011-01-06 12:34:30' FROM t1;
+MAX(dt) = '2011-01-06 12:34:30'
+1
+DROP TABLE t1;
+End of 5.5 tests
diff --git a/mysql-test/r/type_year.result b/mysql-test/r/type_year.result
index 8948214f565..2dc491c6166 100644
--- a/mysql-test/r/type_year.result
+++ b/mysql-test/r/type_year.result
@@ -341,4 +341,18 @@ ta_y s tb_y s
2001 2001 2001 2001
DROP TABLE t1;
#
+# Bug #59211: Select Returns Different Value for min(year) Function
+#
+CREATE TABLE t1(c1 YEAR(4));
+INSERT INTO t1 VALUES (1901),(2155),(0000);
+SELECT * FROM t1;
+c1
+1901
+2155
+0000
+SELECT COUNT(*) AS total_rows, MIN(c1) AS min_value, MAX(c1) FROM t1;
+total_rows min_value MAX(c1)
+3 0 2155
+DROP TABLE t1;
+#
End of 5.1 tests
diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result
index d1342098329..bcf4df8e12c 100644
--- a/mysql-test/r/union.result
+++ b/mysql-test/r/union.result
@@ -1644,3 +1644,128 @@ b
2
DROP TABLE t1,t2;
End of 5.1 tests
+#
+# Bug#57986 ORDER BY clause is not used after a UNION,
+# if embedded in a SELECT
+#
+CREATE TABLE t1 (c1 VARCHAR(10) NOT NULL, c2 INT NOT NULL);
+CREATE TABLE t2 (c1 VARCHAR(10) NOT NULL, c2 INT NOT NULL);
+INSERT INTO t1 (c1, c2) VALUES ('t1a', 1), ('t1a', 2), ('t1a', 3), ('t1b', 2), ('t1b', 1);
+INSERT INTO t2 (c1, c2) VALUES ('t2a', 1), ('t2a', 2), ('t2a', 3), ('t2b', 2), ('t2b', 1);
+SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY c2, c1;
+c1 c2
+t1a 1
+t1b 1
+t2a 1
+t2b 1
+t1a 2
+t1b 2
+t2a 2
+t2b 2
+t1a 3
+t2a 3
+SELECT * FROM t1 UNION (SELECT * FROM t2) ORDER BY c2, c1;
+c1 c2
+t1a 1
+t1b 1
+t2a 1
+t2b 1
+t1a 2
+t1b 2
+t2a 2
+t2b 2
+t1a 3
+t2a 3
+SELECT * FROM t1 UNION (SELECT * FROM t2 ORDER BY c2, c1);
+c1 c2
+t1a 1
+t1a 2
+t1a 3
+t1b 2
+t1b 1
+t2a 1
+t2a 2
+t2a 3
+t2b 2
+t2b 1
+SELECT c1, c2 FROM (
+SELECT c1, c2 FROM t1
+UNION
+(SELECT c1, c2 FROM t2)
+ORDER BY c2, c1
+) AS res;
+c1 c2
+t1a 1
+t1b 1
+t2a 1
+t2b 1
+t1a 2
+t1b 2
+t2a 2
+t2b 2
+t1a 3
+t2a 3
+SELECT c1, c2 FROM (
+SELECT c1, c2 FROM t1
+UNION
+(SELECT c1, c2 FROM t2)
+ORDER BY c2 DESC, c1 LIMIT 1
+) AS res;
+c1 c2
+t1a 3
+SELECT c1, c2 FROM (
+SELECT c1, c2 FROM t1
+UNION
+(SELECT c1, c2 FROM t2 ORDER BY c2 DESC, c1 LIMIT 1)
+) AS res;
+c1 c2
+t1a 1
+t1a 2
+t1a 3
+t1b 2
+t1b 1
+t2a 3
+SELECT c1, c2 FROM (
+SELECT c1, c2 FROM t1
+UNION
+SELECT c1, c2 FROM t2
+ORDER BY c2 DESC, c1 DESC LIMIT 1
+) AS res;
+c1 c2
+t2a 3
+SELECT c1, c2 FROM (
+(
+(SELECT c1, c2 FROM t1)
+UNION
+(SELECT c1, c2 FROM t2)
+)
+ORDER BY c2 DESC, c1 ASC LIMIT 1
+) AS res;
+c1 c2
+t1a 3
+DROP TABLE t1, t2;
+#
+# Bug #58970 Problem Subquery (without referencing a table)
+# and Order By
+#
+SELECT(SELECT 0 AS a UNION SELECT 1 AS a ORDER BY a ASC LIMIT 1) AS dev;
+dev
+0
+SELECT(SELECT 0 AS a UNION SELECT 1 AS a ORDER BY a DESC LIMIT 1) AS dev;
+dev
+1
+SELECT(SELECT 0 AS a FROM dual UNION SELECT 1 AS a FROM dual ORDER BY a ASC LIMIT 1) AS dev;
+dev
+0
+SELECT(SELECT 0 AS a FROM dual UNION SELECT 1 AS a FROM dual ORDER BY a DESC LIMIT 1) AS dev;
+dev
+1
+SELECT(SELECT 1 AS a ORDER BY a) AS dev;
+dev
+1
+SELECT(SELECT 1 AS a LIMIT 1) AS dev;
+dev
+1
+SELECT(SELECT 1 AS a FROM dual ORDER BY a DESC LIMIT 1) AS dev;
+dev
+1
diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result
index a680e837cae..589186184c3 100644
--- a/mysql-test/r/user_var.result
+++ b/mysql-test/r/user_var.result
@@ -445,6 +445,15 @@ IF(
count(*), 1)
1
DROP TABLE t1;
+select @v:=@v:=sum(1) from dual;
+@v:=@v:=sum(1)
+1
+CREATE TABLE t1(a DECIMAL(31,21));
+INSERT INTO t1 VALUES (0);
+SELECT (@v:=a) <> (@v:=1) FROM t1;
+(@v:=a) <> (@v:=1)
+1
+DROP TABLE t1;
End of 5.1 tests
DROP TABLE IF EXISTS t1;
CREATE TABLE t1(f1 INT AUTO_INCREMENT, PRIMARY KEY(f1));
diff --git a/mysql-test/r/variables-big.result b/mysql-test/r/variables-big.result
index 960fc6d22f4..02908502c8b 100644
--- a/mysql-test/r/variables-big.result
+++ b/mysql-test/r/variables-big.result
@@ -1,20 +1,22 @@
+SET @def_var= @@session.transaction_prealloc_size;
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
SHOW PROCESSLIST;
Id User Host db Command Time State Info
-<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
+<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
SET SESSION transaction_prealloc_size=1024*1024*1024*2;
SHOW PROCESSLIST;
Id User Host db Command Time State Info
-<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
+<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
SET SESSION transaction_prealloc_size=1024*1024*1024*3;
SHOW PROCESSLIST;
Id User Host db Command Time State Info
-<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
+<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
SET SESSION transaction_prealloc_size=1024*1024*1024*4;
SHOW PROCESSLIST;
Id User Host db Command Time State Info
-<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
+<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
SET SESSION transaction_prealloc_size=1024*1024*1024*5;
SHOW PROCESSLIST;
Id User Host db Command Time State Info
-<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
+<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
+SET @@session.transaction_prealloc_size= @def_var;
diff --git a/mysql-test/r/variables-notembedded.result b/mysql-test/r/variables-notembedded.result
index 8c6d54757ed..ceac676589f 100644
--- a/mysql-test/r/variables-notembedded.result
+++ b/mysql-test/r/variables-notembedded.result
@@ -108,3 +108,27 @@ SET @@session.slave_skip_errors= 7;
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
SET @@global.slave_skip_errors= 7;
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
+#
+# Bug #11766769 : 59959: SMALL VALUES OF --MAX-ALLOWED-PACKET
+# ARE NOT BEING HONORED
+#
+CREATE TABLE t1 (a MEDIUMTEXT);
+SET GLOBAL max_allowed_packet=2048;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
+SET GLOBAL net_buffer_length=4096;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
+SHOW SESSION VARIABLES LIKE 'max_allowed_packet';
+Variable_name Value
+max_allowed_packet 2048
+SHOW SESSION VARIABLES LIKE 'net_buffer_length';
+Variable_name Value
+net_buffer_length 4096
+ERROR 08S01: Got a packet bigger than 'max_allowed_packet' bytes
+SELECT LENGTH(a) FROM t1;
+LENGTH(a)
+SET GLOBAL max_allowed_packet=default;
+SET GLOBAL net_buffer_length=default;
+DROP TABLE t1;
+End of 5.1 tests
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index ba27802bce3..29f477fcfd2 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -501,6 +501,7 @@ set low_priority_updates=1;
set global max_allowed_packet=100;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '100'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
set global max_binlog_cache_size=100;
Warnings:
Warning 1292 Truncated incorrect max_binlog_cache_size value: '100'
@@ -1048,6 +1049,8 @@ set global max_write_lock_count =default;
set global myisam_data_pointer_size =@my_myisam_data_pointer_size;
set global myisam_max_sort_file_size =@my_myisam_max_sort_file_size;
set global net_buffer_length =@my_net_buffer_length;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
set global net_write_timeout =@my_net_write_timeout;
set global net_read_timeout =@my_net_read_timeout;
set global rpl_recovery_rank =@my_rpl_recovery_rank;
@@ -1499,6 +1502,58 @@ SELECT @@skip_name_resolve;
SHOW VARIABLES LIKE 'skip_name_resolve';
Variable_name Value
skip_name_resolve OFF
+#
+# Bug #43233 : Some server variables are clipped during "update,"
+# not "check" stage
+#
+SET @kbs=@@global.key_buffer_size;
+SET @kcbs=@@global.key_cache_block_size;
+throw errors in STRICT mode
+SET SQL_MODE=STRICT_ALL_TABLES;
+SET @@global.max_binlog_cache_size=-1;
+ERROR 42000: Variable 'max_binlog_cache_size' can't be set to the value of '-1'
+SET @@global.max_join_size=0;
+ERROR 42000: Variable 'max_join_size' can't be set to the value of '0'
+SET @@global.key_buffer_size=0;
+ERROR HY000: Cannot drop default keycache
+SET @@global.key_cache_block_size=0;
+ERROR 42000: Variable 'key_cache_block_size' can't be set to the value of '0'
+throw warnings in default mode
+SET SQL_MODE=DEFAULT;
+SET @@global.max_binlog_cache_size=-1;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_cache_size value: '-1'
+SET @@global.max_join_size=0;
+Warnings:
+Warning 1292 Truncated incorrect max_join_size value: '0'
+SET @@global.key_buffer_size=0;
+ERROR HY000: Cannot drop default keycache
+SET @@global.key_cache_block_size=0;
+Warnings:
+Warning 1292 Truncated incorrect key_cache_block_size value: '0'
+select @@max_long_data_size;
+@@max_long_data_size
+1048576
+#
+# Bug#11766424 59527: DECIMAL_BIN_SIZE: ASSERTION `SCALE >= 0 && PRECISION > 0 && SCALE <= PRE
+#
+CREATE TABLE t1(f1 DECIMAL(1,1) UNSIGNED);
+INSERT INTO t1 VALUES (0.2),(0.1);
+SELECT 1 FROM t1 GROUP BY @a:= (SELECT ROUND(f1) FROM t1 WHERE @a=f1);
+1
+1
+DROP TABLE t1;
+CREATE TABLE t1 AS SELECT @a:= CAST(1 AS UNSIGNED) AS a;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(1) unsigned NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+SET @@global.max_binlog_cache_size=DEFAULT;
+SET @@global.max_join_size=DEFAULT;
+SET @@global.key_buffer_size=@kbs;
+SET @@global.key_cache_block_size=@kcbs;
End of 5.1 tests
#
@@ -1687,3 +1742,25 @@ set @@session.autocommit=t1_min(), @@session.autocommit=t1_max(),
drop table t1;
drop function t1_min;
drop function t1_max;
+#
+# Bug #59884: setting charset to 2048 crashes
+#
+set session character_set_results = 2048;
+ERROR 42000: Unknown character set: '2048'
+set session character_set_client=2048;
+ERROR 42000: Unknown character set: '2048'
+set session character_set_connection=2048;
+ERROR 42000: Unknown character set: '2048'
+set session character_set_server=2048;
+ERROR 42000: Unknown character set: '2048'
+set session collation_server=2048;
+ERROR HY000: Unknown collation: '2048'
+set session character_set_filesystem=2048;
+ERROR 42000: Unknown character set: '2048'
+set session character_set_database=2048;
+ERROR 42000: Unknown character set: '2048'
+set session collation_connection=2048;
+ERROR HY000: Unknown collation: '2048'
+set session collation_database=2048;
+ERROR HY000: Unknown collation: '2048'
+End of 5.5 tests
diff --git a/mysql-test/r/variables_debug.result b/mysql-test/r/variables_debug.result
index a823c6778a0..63592b2146c 100644
--- a/mysql-test/r/variables_debug.result
+++ b/mysql-test/r/variables_debug.result
@@ -45,3 +45,47 @@ SELECT @@debug;
SET @@debug = @old_local_debug;
End of 5.1 tests
+#
+# Bug#46165 server crash in dbug
+#
+SET @old_globaldebug = @@global.debug;
+SET @old_sessiondebug= @@session.debug;
+# Test 1 - Bug test case, single connection
+SET GLOBAL debug= '+O,../../log/bug46165.1.trace';
+SET SESSION debug= '-d:-t:-i';
+SET GLOBAL debug= '';
+SET SESSION debug= '';
+# Test 2 - Bug test case, two connections
+# Connection default
+SET GLOBAL debug= '+O,../../log/bug46165.2.trace';
+SET SESSION debug= '-d:-t:-i';
+# Connection con1
+SET GLOBAL debug= '';
+# Connection default
+SET SESSION debug= '';
+# Connection con1
+# Connection default
+SET GLOBAL debug= '';
+# Test 3 - Active session trace file on disconnect
+# Connection con1
+SET GLOBAL debug= '+O,../../log/bug46165.3.trace';
+SET SESSION debug= '-d:-t:-i';
+SET GLOBAL debug= '';
+# Test 4 - Active session trace file on two connections
+# Connection default
+SET GLOBAL debug= '+O,../../log/bug46165.4.trace';
+SET SESSION debug= '-d:-t:-i';
+# Connection con1
+SET SESSION debug= '-d:-t:-i';
+SET GLOBAL debug= '';
+SET SESSION debug= '';
+# Connection default
+SET SESSION debug= '';
+# Connection con1
+# Connection default
+# Test 5 - Different trace files
+SET SESSION debug= '+O,../../log/bug46165.5.trace';
+SET SESSION debug= '+O,../../log/bug46165.6.trace';
+SET SESSION debug= '-O';
+SET GLOBAL debug= @old_globaldebug;
+SET SESSION debug= @old_sessiondebug;
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result
index f4c93ddb36d..fff10b73469 100644
--- a/mysql-test/r/view.result
+++ b/mysql-test/r/view.result
@@ -840,6 +840,8 @@ show table status;
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 MyISAM 10 Fixed 0 0 0 # 1024 0 NULL # # NULL latin1_swedish_ci NULL
v1 NULL NULL NULL NULL NULL NULL # NULL NULL NULL # # NULL NULL NULL NULL View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+Warnings:
+Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
drop view v1;
drop table t1;
create view v1 as select 99999999999999999999999999999999999999999999999999999 as col1;
@@ -3997,6 +3999,28 @@ CREATE VIEW v1 AS SELECT 1 from t1
WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
DROP VIEW v1;
DROP TABLE t1;
+#
+# Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
+#
+CREATE TABLE t1(a int);
+CREATE VIEW v1 AS SELECT 1 FROM t1 GROUP BY
+SUBSTRING(1 FROM (SELECT 3 FROM t1 WHERE a >= ANY(SELECT 1)));
+DROP VIEW v1;
+DROP TABLE t1;
+#
+# Bug#57352 valgrind warnings when creating view
+#
+CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f;
+DROP VIEW v1;
+#
+# Bug 11829681 - 60295: ERROR 1356 ON VIEW THAT EXECUTES FINE AS A QUERY
+#
+CREATE TABLE t1 (a INT);
+CREATE VIEW v1 AS SELECT s.* FROM t1 s, t1 b HAVING a;
+SELECT * FROM v1;
+a
+DROP VIEW v1;
+DROP TABLE t1;
# -----------------------------------------------------------------
# -- End of 5.1 tests.
# -----------------------------------------------------------------
diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result
index 1412df20012..9a0408bc174 100644
--- a/mysql-test/r/view_grant.result
+++ b/mysql-test/r/view_grant.result
@@ -1248,3 +1248,129 @@ Note 1449 The user specified as a definer ('unknown'@'unknown') does not exist
LOCK TABLES v1 READ;
ERROR HY000: The user specified as a definer ('unknown'@'unknown') does not exist
DROP VIEW v1;
+#
+# Bug #58499 "DEFINER-security view selecting from INVOKER-security view
+# access check wrong".
+#
+# Check that we correctly handle privileges for various combinations
+# of INVOKER and DEFINER-security views using each other.
+DROP DATABASE IF EXISTS mysqltest1;
+CREATE DATABASE mysqltest1;
+USE mysqltest1;
+CREATE TABLE t1 (i INT);
+CREATE TABLE t2 (j INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+#
+# 1) DEFINER-security view uses INVOKER-security view (covers
+# scenario originally described in the bug report).
+CREATE SQL SECURITY INVOKER VIEW v1_uses_t1 AS SELECT * FROM t1;
+CREATE SQL SECURITY INVOKER VIEW v1_uses_t2 AS SELECT * FROM t2;
+CREATE USER 'mysqluser1'@'%';
+GRANT CREATE VIEW ON mysqltest1.* TO 'mysqluser1'@'%';
+GRANT SELECT ON t1 TO 'mysqluser1'@'%';
+# To be able create 'v2_uses_t2' we also need select on t2.
+GRANT SELECT ON t2 TO 'mysqluser1'@'%';
+GRANT SELECT ON v1_uses_t1 TO 'mysqluser1'@'%';
+GRANT SELECT ON v1_uses_t2 TO 'mysqluser1'@'%';
+#
+# Connection 'mysqluser1'.
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1;
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2;
+#
+# Connection 'default'.
+CREATE USER 'mysqluser2'@'%';
+GRANT SELECT ON v2_uses_t1 TO 'mysqluser2'@'%';
+GRANT SELECT ON v2_uses_t2 TO 'mysqluser2'@'%';
+GRANT SELECT ON t2 TO 'mysqluser2'@'%';
+GRANT CREATE VIEW ON mysqltest1.* TO 'mysqluser2'@'%';
+# Make 'mysqluser1' unable to access t2.
+REVOKE SELECT ON t2 FROM 'mysqluser1'@'%';
+#
+# Connection 'mysqluser2'.
+# The below statement should succeed thanks to suid nature of v2_uses_t1.
+SELECT * FROM v2_uses_t1;
+i
+1
+# The below statement should fail due to suid nature of v2_uses_t2.
+SELECT * FROM v2_uses_t2;
+ERROR HY000: View 'mysqltest1.v2_uses_t2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+#
+# 2) INVOKER-security view uses INVOKER-security view.
+#
+# Connection 'default'.
+DROP VIEW v2_uses_t1, v2_uses_t2;
+CREATE SQL SECURITY INVOKER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1;
+CREATE SQL SECURITY INVOKER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2;
+GRANT SELECT ON v2_uses_t1 TO 'mysqluser1'@'%';
+GRANT SELECT ON v2_uses_t2 TO 'mysqluser1'@'%';
+GRANT SELECT ON v1_uses_t1 TO 'mysqluser2'@'%';
+GRANT SELECT ON v1_uses_t2 TO 'mysqluser2'@'%';
+#
+# Connection 'mysqluser1'.
+# For both versions of 'v2' 'mysqluser1' privileges should be used.
+SELECT * FROM v2_uses_t1;
+i
+1
+SELECT * FROM v2_uses_t2;
+ERROR HY000: View 'mysqltest1.v2_uses_t2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+#
+# Connection 'mysqluser2'.
+# And now for both versions of 'v2' 'mysqluser2' privileges should
+# be used.
+SELECT * FROM v2_uses_t1;
+ERROR HY000: View 'mysqltest1.v2_uses_t1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+SELECT * FROM v2_uses_t2;
+j
+2
+#
+# 3) INVOKER-security view uses DEFINER-security view.
+#
+# Connection 'default'.
+DROP VIEW v1_uses_t1, v1_uses_t2;
+# To be able create 'v1_uses_t2' we also need select on t2.
+GRANT SELECT ON t2 TO 'mysqluser1'@'%';
+#
+# Connection 'mysqluser1'.
+CREATE SQL SECURITY DEFINER VIEW v1_uses_t1 AS SELECT * FROM t1;
+CREATE SQL SECURITY DEFINER VIEW v1_uses_t2 AS SELECT * FROM t2;
+#
+# Connection 'default'.
+# Make 'mysqluser1' unable to access t2.
+REVOKE SELECT ON t2 FROM 'mysqluser1'@'%';
+#
+# Connection 'mysqluser2'.
+# Due to suid nature of v1_uses_t1 and v1_uses_t2 the first
+# select should succeed and the second select should fail.
+SELECT * FROM v2_uses_t1;
+i
+1
+SELECT * FROM v2_uses_t2;
+ERROR HY000: View 'mysqltest1.v2_uses_t2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+#
+# 4) DEFINER-security view uses DEFINER-security view.
+#
+# Connection 'default'.
+DROP VIEW v2_uses_t1, v2_uses_t2;
+# To be able create 'v2_uses_t2' we also need select on t2.
+GRANT SELECT ON t2 TO 'mysqluser1'@'%';
+#
+# Connection 'mysqluser2'.
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1;
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2;
+#
+# Connection 'default'.
+# Make 'mysqluser1' unable to access t2.
+REVOKE SELECT ON t2 FROM 'mysqluser1'@'%';
+#
+# Connection 'mysqluser2'.
+# Again privileges of creator of innermost views should apply.
+SELECT * FROM v2_uses_t1;
+i
+1
+SELECT * FROM v2_uses_t2;
+ERROR HY000: View 'mysqltest1.v2_uses_t2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+USE test;
+DROP DATABASE mysqltest1;
+DROP USER 'mysqluser1'@'%';
+DROP USER 'mysqluser2'@'%';
diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result
index 611e807ce8e..0f2d12d86c9 100644
--- a/mysql-test/r/warnings.result
+++ b/mysql-test/r/warnings.result
@@ -330,3 +330,25 @@ Warning 1264 Out of range value for column 'a' at row 2
Warning 1264 Out of range value for column 'a' at row 4
drop table t1;
End of 5.1 tests
+
+-- Bug#55847
+
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+CREATE TABLE t1(a INT UNIQUE);
+CREATE FUNCTION f1(x INT) RETURNS INT
+BEGIN
+INSERT INTO t1 VALUES(x);
+INSERT INTO t1 VALUES(x);
+RETURN x;
+END|
+
+SHOW TABLES WHERE f1(11) = 11;
+ERROR 23000: Duplicate entry '11' for key 'a'
+
+SHOW WARNINGS;
+Level Code Message
+Error 1062 Duplicate entry '11' for key 'a'
+
+DROP TABLE t1;
+DROP FUNCTION f1;
diff --git a/mysql-test/r/xa.result b/mysql-test/r/xa.result
index fedbb43ea2a..7b580abb19f 100644
--- a/mysql-test/r/xa.result
+++ b/mysql-test/r/xa.result
@@ -131,3 +131,101 @@ XA START 'xid1';
XA END 'xid1';
XA ROLLBACK 'xid1';
DROP TABLE t1;
+#
+# Bug#56448 Assertion failed: ! is_set() with second xa end
+#
+XA START 'x';
+XA END 'x';
+XA END 'x';
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+XA PREPARE 'x';
+XA PREPARE 'x';
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+XA ROLLBACK 'x';
+#
+# Bug#59986 Assert in Diagnostics_area::set_ok_status() for XA COMMIT
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a INT, b INT, PRIMARY KEY(a)) engine=InnoDB;
+INSERT INTO t1 VALUES (1, 1), (2, 2);
+# Connection con1
+XA START 'a';
+UPDATE t1 SET b= 3 WHERE a=1;
+# Connection default
+XA START 'b';
+UPDATE t1 SET b=4 WHERE a=2;
+# Sending:
+UPDATE t1 SET b=5 WHERE a=1;
+# Connection con1
+UPDATE t1 SET b=6 WHERE a=2;
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+XA COMMIT 'a';
+ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
+# Connection default
+# Reaping: UPDATE t1 SET b=5 WHERE a=1
+XA END 'b';
+XA ROLLBACK 'b';
+DROP TABLE t1;
+#
+# Bug#11766752 59936: multiple xa assertions - transactional
+# statement fuzzer
+#
+CREATE TABLE t1 (a INT) engine=InnoDB;
+XA START 'a';
+INSERT INTO t1 VALUES (1);
+SAVEPOINT savep;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the ACTIVE state
+XA END 'a';
+SELECT * FROM t1;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+INSERT INTO t1 VALUES (2);
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+SAVEPOINT savep;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+SET @a=(SELECT * FROM t1);
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the IDLE state
+XA PREPARE 'a';
+SELECT * FROM t1;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+INSERT INTO t1 VALUES (2);
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+SAVEPOINT savep;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+SET @a=(SELECT * FROM t1);
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+UPDATE t1 SET a=1 WHERE a=2;
+ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
+XA COMMIT 'a';
+SELECT * FROM t1;
+a
+1
+DROP TABLE t1;
+#
+# Bug#12352846 - TRANS_XA_START(THD*):
+# ASSERTION THD->TRANSACTION.XID_STATE.XID.IS_NULL()
+# FAILED
+#
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT);
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+# Connection con2
+XA START 'xid1';
+# Sending:
+INSERT INTO t2 SELECT a FROM t1;
+# Connection default
+# Waiting until INSERT ... is blocked
+DELETE FROM t1;
+COMMIT;
+# Connection con2
+# Reaping: INSERT INTO t2 SELECT a FROM t1
+ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
+XA COMMIT 'xid1';
+ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
+XA START 'xid1';
+XA END 'xid1';
+XA PREPARE 'xid1';
+XA ROLLBACK 'xid1';
+# Connection default
+DROP TABLE t1, t2;
diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result
index fad2cab0e57..8ca9ab84bf7 100644
--- a/mysql-test/r/xml.result
+++ b/mysql-test/r/xml.result
@@ -1093,4 +1093,56 @@ Warnings:
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 23: unexpected END-OF-INPUT'
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 23: unexpected END-OF-INPUT'
DROP TABLE t1;
+#
+# Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
+#
+SET NAMES utf8;
+SELECT REPLACE(EXTRACTVALUE('1', '/a'),'ds','');
+REPLACE(EXTRACTVALUE('1', '/a'),'ds','')
+
+#
+# Bug #57820 extractvalue crashes
+#
+SELECT AVG(DISTINCT EXTRACTVALUE((''),('$@k')));
+AVG(DISTINCT EXTRACTVALUE((''),('$@k')))
+NULL
+#
+# Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0
+#
+SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1);
+ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' value found during parsing
+SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1));
+ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' value found during parsing
+#
+# Bug #44332 my_xml_scan reads behind the end of buffer
+#
+SELECT UPDATEXML(CONVERT(_latin1'<' USING utf8),'1','1');
+UPDATEXML(CONVERT(_latin1'<' USING utf8),'1','1')
+NULL
+Warnings:
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 2: END-OF-INPUT unexpected (ident or '/' wanted)'
+SELECT UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1');
+UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1')
+NULL
+#
+# Bug#11766725 (bug#59901): EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332
+#
+SELECT ExtractValue(CONVERT('<\"', BINARY(10)), 1);
+ExtractValue(CONVERT('<\"', BINARY(10)), 1)
+NULL
+Warnings:
+Warning 1525 Incorrect XML value: 'parse error at line 1 pos 11: STRING unexpected (ident or '/' wanted)'
End of 5.1 tests
+#
+# Start of 5.5 tests
+#
+#
+# Bug#58175 xml functions read initialized bytes when conversions happen
+#
+SET NAMES latin1;
+SELECT UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0);
+UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0)
+NULL
+#
+# End of 5.5 tests
+#
diff --git a/mysql-test/std_data/bug47205.frm b/mysql-test/std_data/bug47205.frm
new file mode 100644
index 00000000000..6d53b221d28
--- /dev/null
+++ b/mysql-test/std_data/bug47205.frm
Binary files differ
diff --git a/mysql-test/std_data/bug57108.cnf b/mysql-test/std_data/bug57108.cnf
new file mode 100644
index 00000000000..5fd8c485cf0
--- /dev/null
+++ b/mysql-test/std_data/bug57108.cnf
@@ -0,0 +1,95 @@
+[mysqld]
+open-files-limit=1024
+character-set-server=latin1
+connect-timeout=4711
+log-bin-trust-function-creators=1
+key_buffer_size=1M
+sort_buffer=256K
+max_heap_table_size=1M
+loose-innodb_data_file_path=ibdata1:10M:autoextend
+loose-innodb_buffer_pool_size=8M
+loose-innodb_write_io_threads=2
+loose-innodb_read_io_threads=2
+loose-innodb_log_buffer_size=1M
+loose-innodb_log_file_size=5M
+loose-innodb_additional_mem_pool_size=1M
+loose-innodb_log_files_in_group=2
+slave-net-timeout=120
+log-bin=mysqld-bin
+loose-enable-performance-schema
+loose-performance-schema-max-mutex-instances=10000
+loose-performance-schema-max-rwlock-instances=10000
+loose-performance-schema-max-table-instances=500
+loose-performance-schema-max-table-handles=1000
+binlog-direct-non-transactional-updates
+
+[mysql]
+default-character-set=latin1
+
+[mysqlshow]
+default-character-set=latin1
+
+[mysqlimport]
+default-character-set=latin1
+
+[mysqlcheck]
+default-character-set=latin1
+
+[mysql_upgrade]
+default-character-set=latin1
+tmpdir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp
+
+[mysqld.1]
+#!run-master-sh
+log-bin=master-bin
+loose-enable-performance-schema
+basedir=/home/bzr/bugs/b57108-5.5-bugteam
+tmpdir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1
+character-sets-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/charsets
+lc-messages-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/
+datadir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/data
+pid-file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/run/mysqld.1.pid
+#host=localhost
+port=13000
+socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
+#log-error=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/log/mysqld.1.err
+general_log=1
+general_log_file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/mysqld.log
+slow_query_log=1
+slow_query_log_file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/mysqld-slow.log
+#user=root
+#password=
+server-id=1
+secure-file-priv=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var
+ssl-ca=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/cacert.pem
+ssl-cert=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/server-cert.pem
+ssl-key=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/server-key.pem
+
+[mysqlbinlog]
+disable-force-if-open
+character-sets-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/charsets
+
+[ENV]
+MASTER_MYPORT=13000
+MASTER_MYSOCK=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
+
+[client]
+password=
+user=root
+port=13000
+host=localhost
+socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
+
+[mysqltest]
+ssl-ca=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/cacert.pem
+ssl-cert=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/client-cert.pem
+ssl-key=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/client-key.pem
+skip-ssl=1
+
+[client.1]
+password=
+user=root
+port=13000
+host=localhost
+socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
+
diff --git a/mysql-test/std_data/checkDBI_DBD-mysql.pl b/mysql-test/std_data/checkDBI_DBD-mysql.pl
new file mode 100644
index 00000000000..f001e471081
--- /dev/null
+++ b/mysql-test/std_data/checkDBI_DBD-mysql.pl
@@ -0,0 +1,97 @@
+#!/usr/bin/perl
+
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+################################################################################
+#
+# This perl script checks for availability of the Perl modules DBI and
+# DBD::mysql using the "current" perl interpreter.
+#
+# Useful for test environment checking before testing executable perl scripts
+# in the MySQL Server distribution.
+#
+# NOTE: The "shebang" on the first line of this script should always point to
+# /usr/bin/perl, so that we can use this script to check whether or not we
+# support running perl scripts with such a shebang without specifying the
+# perl interpreter on the command line. Such a script is mysqlhotcopy.
+#
+# When run as "checkDBI_DBD-mysql.pl" the shebang line will be evaluated
+# and used. When run as "perl checkDBI_DBD-mysql.pl" the shebang line is
+# not used.
+#
+# NOTE: This script will create a temporary file in MTR's tmp dir.
+# If modules are found, a mysql-test statement which sets a special
+# variable is written to this file. If one of the modules is not found
+# (or cannot be loaded), the file will remain empty.
+# A test (or include file) which sources that file can then easily do
+# an if-check on the special variable to determine success or failure.
+#
+# Example:
+#
+# --let $perlChecker= $MYSQLTEST_VARDIR/std_data/checkDBI_DBD-mysql.pl
+# --let $resultFile= $MYSQL_TMP_DIR/dbidbd-mysql.txt
+# --chmod 0755 $perlChecker
+# --exec $perlChecker
+# --source $resultFile
+# if (!$dbidbd) {
+# --skip Test needs Perl modules DBI and DBD::mysql
+# }
+#
+# The calling script is also responsible for cleaning up after use:
+#
+# --remove_file $resultFile
+#
+# Windows notes:
+# - shebangs may work differently - call this script with "perl " in front.
+#
+# See mysql-test/include/have_dbi_dbd-mysql.inc for example use of this script.
+# This script should be executable for the user running MTR.
+#
+################################################################################
+
+BEGIN {
+ # By using eval inside BEGIN we can suppress warnings and continue after.
+ # We need to catch "Can't locate" as well as "Can't load" errors.
+ eval{
+ $FOUND_DBI=0;
+ $FOUND_DBD_MYSQL=0;
+
+ # Check for DBI module:
+ $FOUND_DBI=1 if require DBI;
+
+ # Check for DBD::mysql module
+ $FOUND_DBD_MYSQL=1 if require DBD::mysql;
+ };
+};
+
+# Open a file to be used for transfer of result back to mysql-test.
+# The file must be created whether we write to it or not, otherwise mysql-test
+# will complain if trying to source it.
+# An empty file indicates failure to load modules.
+open(FILE, ">", $ENV{'MYSQL_TMP_DIR'}.'/dbidbd-mysql.txt');
+
+if ($FOUND_DBI && $FOUND_DBD_MYSQL) {
+ # write a mysql-test command setting a variable to indicate success
+ print(FILE 'let $dbidbd= FOUND_DBI_DBD-MYSQL;'."\n");
+}
+
+# close the file.
+close(FILE);
+
+1;
+
diff --git a/mysql-test/collections/test-bt-debug-fast b/mysql-test/std_data/cluster_7022_table.MYD
index e69de29bb2d..e69de29bb2d 100644
--- a/mysql-test/collections/test-bt-debug-fast
+++ b/mysql-test/std_data/cluster_7022_table.MYD
diff --git a/mysql-test/std_data/cluster_7022_table.MYI b/mysql-test/std_data/cluster_7022_table.MYI
new file mode 100644
index 00000000000..332b0e64797
--- /dev/null
+++ b/mysql-test/std_data/cluster_7022_table.MYI
Binary files differ
diff --git a/mysql-test/std_data/cluster_7022_table.frm b/mysql-test/std_data/cluster_7022_table.frm
new file mode 100644
index 00000000000..84714a1721a
--- /dev/null
+++ b/mysql-test/std_data/cluster_7022_table.frm
Binary files differ
diff --git a/mysql-test/std_data/parts/t1TIMESTAMP.frm b/mysql-test/std_data/parts/t1TIMESTAMP.frm
new file mode 100644
index 00000000000..c9fc49d86a9
--- /dev/null
+++ b/mysql-test/std_data/parts/t1TIMESTAMP.frm
Binary files differ
diff --git a/mysql-test/suite/binlog/r/binlog_base64_flag.result b/mysql-test/suite/binlog/r/binlog_base64_flag.result
index 7fb5e50a219..9a9f328f2b5 100644
--- a/mysql-test/suite/binlog/r/binlog_base64_flag.result
+++ b/mysql-test/suite/binlog/r/binlog_base64_flag.result
@@ -91,6 +91,9 @@ iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA==
';
ERROR HY000: master may suffer from http://bugs.mysql.com/bug.php?id=37426 so slave stops; check error log on slave for more info
drop table t1, char63_utf8, char128_utf8;
+call mtr.add_suppression("Slave SQL.*master suffers from this bug: http:..bugs.mysql.com.bug.php.id=37426.* Error_code: 1105");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. cannot be converted.* Error_code: 1677");
#
# Bug #54393: crash and/or valgrind errors in
# mysql_client_binlog_statement
diff --git a/mysql-test/suite/binlog/r/binlog_bug23533.result b/mysql-test/suite/binlog/r/binlog_bug23533.result
new file mode 100644
index 00000000000..d5cd93284a2
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_bug23533.result
@@ -0,0 +1,15 @@
+SET AUTOCOMMIT=0;
+CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b TEXT, PRIMARY KEY(a)) ENGINE=InnoDB;
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+1000
+SET GLOBAL binlog_cache_size=4096;
+SET GLOBAL max_binlog_cache_size=4096;
+START TRANSACTION;
+CREATE TABLE t2 SELECT * FROM t1;
+ERROR HY000: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again
+COMMIT;
+SHOW TABLES LIKE 't%';
+Tables_in_test (t%)
+t1
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_bug36391.result b/mysql-test/suite/binlog/r/binlog_bug36391.result
new file mode 100644
index 00000000000..551bfb9924d
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_bug36391.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1(id INT);
+SHOW TABLES;
+Tables_in_test
+t1
+FLUSH LOGS;
+DROP TABLE t1;
+SHOW TABLES;
+Tables_in_test
+t1
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result
index b6299f9a940..0eaed3c97d7 100644
--- a/mysql-test/suite/binlog/r/binlog_database.result
+++ b/mysql-test/suite/binlog/r/binlog_database.result
@@ -39,6 +39,28 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS;
+#
+# Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT
+# BASED REPLICATION
+#
+DROP DATABASE IF EXISTS db1;
+DROP TABLE IF EXISTS t3;
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (a INT);
+CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb;
+CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b))
+engine=innodb;
+RESET MASTER;
+DROP DATABASE db1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+SHOW TABLES FROM db1;
+Tables_in_db1
+t2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `db1`; drop table `t1`
+DROP TABLE t3;
+DROP DATABASE db1;
set binlog_format=mixed;
reset master;
create database testing_1;
@@ -80,6 +102,28 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS;
+#
+# Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT
+# BASED REPLICATION
+#
+DROP DATABASE IF EXISTS db1;
+DROP TABLE IF EXISTS t3;
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (a INT);
+CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb;
+CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b))
+engine=innodb;
+RESET MASTER;
+DROP DATABASE db1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+SHOW TABLES FROM db1;
+Tables_in_db1
+t2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `db1`; drop table `t1`
+DROP TABLE t3;
+DROP DATABASE db1;
set binlog_format=row;
reset master;
create database testing_1;
@@ -122,6 +166,28 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS;
+#
+# Bug#11765416 58381: FAILED DROP DATABASE CAN BREAK STATEMENT
+# BASED REPLICATION
+#
+DROP DATABASE IF EXISTS db1;
+DROP TABLE IF EXISTS t3;
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (a INT);
+CREATE TABLE db1.t2 (b INT, KEY(b)) engine=innodb;
+CREATE TABLE t3 (a INT, KEY (a), FOREIGN KEY(a) REFERENCES db1.t2(b))
+engine=innodb;
+RESET MASTER;
+DROP DATABASE db1;
+ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
+SHOW TABLES FROM db1;
+Tables_in_db1
+t2
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `db1`; drop table `t1`
+DROP TABLE t3;
+DROP DATABASE db1;
show databases;
Database
information_schema
diff --git a/mysql-test/suite/rpl/r/rpl_drop_if_exists.result b/mysql-test/suite/binlog/r/binlog_drop_if_exists.result
index 0c398bed440..0c398bed440 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_if_exists.result
+++ b/mysql-test/suite/binlog/r/binlog_drop_if_exists.result
diff --git a/mysql-test/suite/binlog/r/binlog_index.result b/mysql-test/suite/binlog/r/binlog_index.result
index e2688a15899..21a290bfc3b 100644
--- a/mysql-test/suite/binlog/r/binlog_index.result
+++ b/mysql-test/suite/binlog/r/binlog_index.result
@@ -2,8 +2,10 @@ call mtr.add_suppression('Attempting backtrace');
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
call mtr.add_suppression('MSYQL_BIN_LOG::open failed to sync the index file');
call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
+call mtr.add_suppression('Could not open .*');
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
flush tables;
+RESET MASTER;
flush logs;
flush logs;
flush logs;
@@ -118,11 +120,31 @@ master-bin.000011
# This should put the server in unsafe state and stop
# accepting any command. If we inject a fault at this
# point and continue the execution the server crashes.
-# Besides the flush command does not report an error.
#
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+
# fault_injection_registering_index
SET SESSION debug="+d,fault_injection_registering_index";
flush logs;
+ERROR HY000: Can't open file: 'master-bin.000012' (errno: 1)
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
@@ -137,6 +159,18 @@ master-bin.000012
# fault_injection_updating_index
SET SESSION debug="+d,fault_injection_updating_index";
flush logs;
+ERROR HY000: Can't open file: 'master-bin.000013' (errno: 1)
+SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
+SELECT @index;
+@index
+master-bin.000006
+master-bin.000007
+master-bin.000008
+master-bin.000009
+master-bin.000010
+master-bin.000011
+master-bin.000012
+
SET @index=LOAD_FILE('MYSQLTEST_VARDIR/mysqld.1/data//master-bin.index');
SELECT @index;
@index
diff --git a/mysql-test/suite/binlog/r/binlog_innodb.result b/mysql-test/suite/binlog/r/binlog_innodb.result
index dc170361026..cdb72aad902 100644
--- a/mysql-test/suite/binlog/r/binlog_innodb.result
+++ b/mysql-test/suite/binlog/r/binlog_innodb.result
@@ -123,7 +123,7 @@ Binlog_cache_disk_use 0
create table t1 (a int) engine=innodb;
show status like "binlog_cache_use";
Variable_name Value
-Binlog_cache_use 2
+Binlog_cache_use 1
show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 1
@@ -132,7 +132,7 @@ delete from t1;
commit;
show status like "binlog_cache_use";
Variable_name Value
-Binlog_cache_use 4
+Binlog_cache_use 2
show status like "binlog_cache_disk_use";
Variable_name Value
Binlog_cache_disk_use 1
diff --git a/mysql-test/suite/binlog/r/binlog_innodb_row.result b/mysql-test/suite/binlog/r/binlog_innodb_row.result
index 093628c29cc..61f961f16da 100644
--- a/mysql-test/suite/binlog/r/binlog_innodb_row.result
+++ b/mysql-test/suite/binlog/r/binlog_innodb_row.result
@@ -59,3 +59,20 @@ show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
###############################################
+#
+# Bug#12346411 SQL/LOG.CC:6509: ASSERTION `PREPARED_XIDS > 0' FAILED
+#
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1(a INT PRIMARY KEY) engine=innodb;
+CREATE TABLE t2(a INT) engine=myisam;
+INSERT INTO t1 VALUES (1);
+START TRANSACTION;
+INSERT INTO t2 VALUES (1);
+INSERT IGNORE INTO t1 VALUES (1);
+COMMIT;
+INSERT INTO t1 VALUES (2);
+START TRANSACTION;
+INSERT INTO t2 VALUES (2);
+UPDATE IGNORE t1 SET a=1 WHERE a=2;
+COMMIT;
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/binlog/r/binlog_max_extension.result b/mysql-test/suite/binlog/r/binlog_max_extension.result
index af341db4536..f69ffcce16a 100644
--- a/mysql-test/suite/binlog/r/binlog_max_extension.result
+++ b/mysql-test/suite/binlog/r/binlog_max_extension.result
@@ -3,6 +3,5 @@ call mtr.add_suppression("Log filename extension number exhausted:");
call mtr.add_suppression("Can't generate a unique log-filename");
RESET MASTER;
FLUSH LOGS;
-Warnings:
-Warning 1098 Can't generate a unique log-filename master-bin.(1-999)
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
diff --git a/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result
deleted file mode 100644
index 637be940383..00000000000
--- a/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result
+++ /dev/null
@@ -1,25 +0,0 @@
-flush status;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 0
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 0
-drop table if exists t1;
-create table t1 (a int) engine=innodb;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 2
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-begin;
-delete from t1;
-commit;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 4
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_mixed_cache_stat.result b/mysql-test/suite/binlog/r/binlog_mixed_cache_stat.result
new file mode 100644
index 00000000000..09cdab8414a
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_mixed_cache_stat.result
@@ -0,0 +1,66 @@
+drop table if exists t1, t2;
+create table t1 (a int) engine=innodb;
+create table t2 (a int) engine=myisam;
+**** Preparing the enviroment to check commit and its effect on status variables.
+**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+**** Transactional changes which are long enough so they will be flushed to disk...
+**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+**** Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+commit;
+**** Non-Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+commit;
+**** Mixed changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+commit;
+**** Preparing the enviroment to check abort and its effect on the status variables.
+**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+**** Transactional changes which are long enough so they will be flushed to disk...
+**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+**** Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+rollback;
+**** Non-Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+**** Mixed changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+drop table t1, t2;
diff --git a/mysql-test/suite/binlog/r/binlog_old_versions.result b/mysql-test/suite/binlog/r/binlog_old_versions.result
index 77289252b4c..a4850b835c8 100644
--- a/mysql-test/suite/binlog/r/binlog_old_versions.result
+++ b/mysql-test/suite/binlog/r/binlog_old_versions.result
@@ -1,4 +1,3 @@
-DROP TABLE IF EXISTS t1, t2, t3;
==== Read modern binlog (version 5.1.23) ====
SELECT * FROM t1 ORDER BY a;
a b
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_query_filter_rules.result b/mysql-test/suite/binlog/r/binlog_query_filter_rules.result
index 520d500ed7c..520d500ed7c 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_query_filter_rules.result
+++ b/mysql-test/suite/binlog/r/binlog_query_filter_rules.result
diff --git a/mysql-test/suite/binlog/r/binlog_reset_master.result b/mysql-test/suite/binlog/r/binlog_reset_master.result
new file mode 100644
index 00000000000..b3d605560ff
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_reset_master.result
@@ -0,0 +1 @@
+RESET MASTER;
diff --git a/mysql-test/suite/binlog/r/binlog_row_binlog.result b/mysql-test/suite/binlog/r/binlog_row_binlog.result
index e45f4a76643..323d50d8f32 100644
--- a/mysql-test/suite/binlog/r/binlog_row_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result
@@ -1218,8 +1218,8 @@ master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
drop table t1,t2,t3,tt1;
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-insert delayed into t1 values (207);
-insert delayed into t1 values (null);
+insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
+insert /*! delayed */ into t1 values (null);
insert delayed into t1 values (300);
FLUSH TABLES;
show binlog events from <binlog_start>;
@@ -1330,3 +1330,63 @@ Log_name Pos Event_type Server_id End_log_pos Info
# # Write_rows 1 # table_id: # flags: STMT_END_F
# # Query 1 # COMMIT
DROP TABLE t1;
+
+# BUG#54903 BINLOG statement toggles session variables
+# ----------------------------------------------------------------------
+# This test verify that BINLOG statement doesn't change current session's
+# variables foreign_key_checks and unique_checks.
+
+CREATE TABLE t1 (c1 INT KEY);
+SET @@SESSION.foreign_key_checks= ON;
+SET @@SESSION.unique_checks= ON;
+# INSERT INTO t1 VALUES (1)
+# foreign_key_checks=0 and unique_checks=0
+BINLOG '
+dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
+';
+SELECT * FROM t1;
+c1
+1
+# Their values should be ON
+SHOW SESSION VARIABLES LIKE "%_checks";
+Variable_name Value
+foreign_key_checks ON
+unique_checks ON
+
+SET @@SESSION.foreign_key_checks= OFF;
+SET @@SESSION.unique_checks= OFF;
+# INSERT INTO t1 VALUES(2)
+# foreign_key_checks=1 and unique_checks=1
+BINLOG '
+dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
+';
+SELECT * FROM t1;
+c1
+1
+2
+# Their values should be OFF
+SHOW SESSION VARIABLES LIKE "%_checks";
+Variable_name Value
+foreign_key_checks OFF
+unique_checks OFF
+# INSERT INTO t1 VALUES(2)
+# foreign_key_checks=1 and unique_checks=1
+# It should not change current session's variables, even error happens
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
+BINLOG '
+dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
+';
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+SELECT * FROM t1;
+c1
+1
+2
+# Their values should be OFF
+SHOW SESSION VARIABLES LIKE "%_checks";
+Variable_name Value
+foreign_key_checks OFF
+unique_checks OFF
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_row_cache_stat.result b/mysql-test/suite/binlog/r/binlog_row_cache_stat.result
new file mode 100644
index 00000000000..09cdab8414a
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_row_cache_stat.result
@@ -0,0 +1,66 @@
+drop table if exists t1, t2;
+create table t1 (a int) engine=innodb;
+create table t2 (a int) engine=myisam;
+**** Preparing the enviroment to check commit and its effect on status variables.
+**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+**** Transactional changes which are long enough so they will be flushed to disk...
+**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+**** Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+commit;
+**** Non-Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+commit;
+**** Mixed changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+commit;
+**** Preparing the enviroment to check abort and its effect on the status variables.
+**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+**** Transactional changes which are long enough so they will be flushed to disk...
+**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+**** Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+rollback;
+**** Non-Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+**** Mixed changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+drop table t1, t2;
diff --git a/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result
deleted file mode 100644
index 637be940383..00000000000
--- a/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result
+++ /dev/null
@@ -1,25 +0,0 @@
-flush status;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 0
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 0
-drop table if exists t1;
-create table t1 (a int) engine=innodb;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 2
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-begin;
-delete from t1;
-commit;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 4
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-drop table t1;
diff --git a/mysql-test/suite/rpl/r/rpl_server_id.result b/mysql-test/suite/binlog/r/binlog_server_id.result
index f7d778a288b..f7d778a288b 100644
--- a/mysql-test/suite/rpl/r/rpl_server_id.result
+++ b/mysql-test/suite/binlog/r/binlog_server_id.result
diff --git a/mysql-test/suite/rpl/r/rpl_sf.result b/mysql-test/suite/binlog/r/binlog_sf.result
index 085ba1ebb8a..085ba1ebb8a 100644
--- a/mysql-test/suite/rpl/r/rpl_sf.result
+++ b/mysql-test/suite/binlog/r/binlog_sf.result
diff --git a/mysql-test/suite/binlog/r/binlog_sql_mode.result b/mysql-test/suite/binlog/r/binlog_sql_mode.result
index e306040502d..4477c94a95e 100644
--- a/mysql-test/suite/binlog/r/binlog_sql_mode.result
+++ b/mysql-test/suite/binlog/r/binlog_sql_mode.result
@@ -1,9 +1,3 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
SET @old_sql_mode= @@global.sql_mode;
SET @old_binlog_format=@@session.binlog_format;
SET SESSION sql_mode=8;
@@ -27,7 +21,7 @@ DO
BEGIN
UPDATE t1 SET id = id +1;
END;|
-Chceck Result
+Check Result
select
(@a:=load_file("MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog"))
is not null;
diff --git a/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result b/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
index 2219961aca0..cdcc96b94b0 100644
--- a/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
+++ b/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result
@@ -1,6 +1,6 @@
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-insert delayed into t1 values (207);
-insert delayed into t1 values (null);
+insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
+insert /*! delayed */ into t1 values (null);
insert delayed into t1 values (300);
FLUSH TABLES;
show binlog events from <binlog_start>;
@@ -10,14 +10,14 @@ master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern)
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; insert delayed into t1 values (207)
+master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (207)
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Intvar # # INSERT_ID=208
-master-bin.000001 # Query # # use `test`; insert delayed into t1 values (null)
+master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null)
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; insert delayed into t1 values (300)
+master-bin.000001 # Query # # use `test`; insert into t1 values (300)
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; FLUSH TABLES
RESET MASTER;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_binlog.result b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
index 55809d4bda1..1a05a930e2c 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result
@@ -719,8 +719,8 @@ master-bin.000001 # Query # # use `mysql`; DELETE FROM user WHERE host='localhos
master-bin.000001 # Query # # COMMIT
drop table t1,t2,t3,tt1;
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
-insert delayed into t1 values (207);
-insert delayed into t1 values (null);
+insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
+insert /*! delayed */ into t1 values (null);
insert delayed into t1 values (300);
FLUSH TABLES;
show binlog events from <binlog_start>;
@@ -822,3 +822,63 @@ Log_name Pos Event_type Server_id End_log_pos Info
# # Write_rows 1 # table_id: # flags: STMT_END_F
# # Query 1 # COMMIT
DROP TABLE t1;
+
+# BUG#54903 BINLOG statement toggles session variables
+# ----------------------------------------------------------------------
+# This test verify that BINLOG statement doesn't change current session's
+# variables foreign_key_checks and unique_checks.
+
+CREATE TABLE t1 (c1 INT KEY);
+SET @@SESSION.foreign_key_checks= ON;
+SET @@SESSION.unique_checks= ON;
+# INSERT INTO t1 VALUES (1)
+# foreign_key_checks=0 and unique_checks=0
+BINLOG '
+dfLtTBMBAAAAKQAAANcAAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAPkAAAAAABcAAAAAAAcAAf/+AQAAAA==
+';
+SELECT * FROM t1;
+c1
+1
+# Their values should be ON
+SHOW SESSION VARIABLES LIKE "%_checks";
+Variable_name Value
+foreign_key_checks ON
+unique_checks ON
+
+SET @@SESSION.foreign_key_checks= OFF;
+SET @@SESSION.unique_checks= OFF;
+# INSERT INTO t1 VALUES(2)
+# foreign_key_checks=1 and unique_checks=1
+BINLOG '
+dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
+';
+SELECT * FROM t1;
+c1
+1
+2
+# Their values should be OFF
+SHOW SESSION VARIABLES LIKE "%_checks";
+Variable_name Value
+foreign_key_checks OFF
+unique_checks OFF
+# INSERT INTO t1 VALUES(2)
+# foreign_key_checks=1 and unique_checks=1
+# It should not change current session's variables, even error happens
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.t1; Duplicate entry .2. for key .PRIMARY., Error_code: 1062");
+BINLOG '
+dfLtTBMBAAAAKQAAAKsBAAAAABcAAAAAAAEABHRlc3QAAnQxAAEDAAE=
+dfLtTBcBAAAAIgAAAM0BAAAAABcAAAAAAAEAAf/+AgAAAA==
+';
+ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
+SELECT * FROM t1;
+c1
+1
+2
+# Their values should be OFF
+SHOW SESSION VARIABLES LIKE "%_checks";
+Variable_name Value
+foreign_key_checks OFF
+unique_checks OFF
+DROP TABLE t1;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_cache_stat.result b/mysql-test/suite/binlog/r/binlog_stm_cache_stat.result
new file mode 100644
index 00000000000..09cdab8414a
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_stm_cache_stat.result
@@ -0,0 +1,66 @@
+drop table if exists t1, t2;
+create table t1 (a int) engine=innodb;
+create table t2 (a int) engine=myisam;
+**** Preparing the enviroment to check commit and its effect on status variables.
+**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+**** Transactional changes which are long enough so they will be flushed to disk...
+**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+**** Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+commit;
+**** Non-Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+commit;
+**** Mixed changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+commit;
+**** Preparing the enviroment to check abort and its effect on the status variables.
+**** Expected: binlog_cache_use = 0, binlog_cache_disk_use = 0.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+flush status;
+**** Transactional changes which are long enough so they will be flushed to disk...
+**** Expected: binlog_cache_use = 1, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+**** Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 0, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+rollback;
+**** Non-Transactional changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 2, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 1, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t2 values( 1 );
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+**** Mixed changes which should not be flushed to disk and so should not
+**** increase either binlog_cache_disk_use or binlog_stmt_cache_disk_use.
+**** Expected: binlog_cache_use = 3, binlog_cache_disk_use = 1.
+**** Expected: binlog_stmt_cache_use = 2, binlog_stmt_cache_disk_use = 0.
+begin;
+insert into t1 values( 1 );
+insert into t2 values( 1 );
+rollback;
+Warnings:
+Warning 1196 Some non-transactional changed tables couldn't be rolled back
+drop table t1, t2;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result
deleted file mode 100644
index 637be940383..00000000000
--- a/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result
+++ /dev/null
@@ -1,25 +0,0 @@
-flush status;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 0
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 0
-drop table if exists t1;
-create table t1 (a int) engine=innodb;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 2
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-begin;
-delete from t1;
-commit;
-show status like "binlog_cache_use";
-Variable_name Value
-Binlog_cache_use 4
-show status like "binlog_cache_disk_use";
-Variable_name Value
-Binlog_cache_disk_use 1
-drop table t1;
diff --git a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
index 20d82557122..da2e24506fd 100644
--- a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
+++ b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
@@ -698,7 +698,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Intvar # # INSERT_ID=10
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Intvar # # INSERT_ID=10
-master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @b) SET `b`=((@b) + `bug27417`(2)) ;file_id=#
+master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @b) SET `b`= @b + bug27417(2) ;file_id=#
master-bin.000001 # Query # # ROLLBACK
/* the output must denote there is the query */;
drop trigger trg_del_t2;
@@ -950,7 +950,7 @@ master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Intvar # # INSERT_ID=10
master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci
-master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @b) SET `b`=((@b) + `bug27417`(2)) ;file_id=#
+master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE `t4` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`, @b) SET `b`= @b + bug27417(2) ;file_id=#
master-bin.000001 # Query # # ROLLBACK
drop trigger trg_del_t2;
drop table t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/binlog/r/binlog_unsafe.result b/mysql-test/suite/binlog/r/binlog_unsafe.result
index 19d04169589..e8449f0cd11 100644
--- a/mysql-test/suite/binlog/r/binlog_unsafe.result
+++ b/mysql-test/suite/binlog/r/binlog_unsafe.result
@@ -2418,7 +2418,7 @@ INSERT INTO t1 SELECT * FROM t2 LIMIT 1;
DROP TABLE t1,t2;
"Should NOT have any warning message issued in the following func7() and trig"
CREATE TABLE t1 (a INT);
-CREATE TABLE t2 (a CHAR(40));
+CREATE TABLE t2 (a TEXT);
CREATE TABLE trigger_table (a CHAR(7));
CREATE FUNCTION func7()
RETURNS INT
diff --git a/mysql-test/suite/binlog/t/binlog_base64_flag.test b/mysql-test/suite/binlog/t/binlog_base64_flag.test
index 3f1e4e98bec..2ec979aade0 100644
--- a/mysql-test/suite/binlog/t/binlog_base64_flag.test
+++ b/mysql-test/suite/binlog/t/binlog_base64_flag.test
@@ -151,6 +151,9 @@ iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA==
drop table t1, char63_utf8, char128_utf8;
+call mtr.add_suppression("Slave SQL.*master suffers from this bug: http:..bugs.mysql.com.bug.php.id=37426.* Error_code: 1105");
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.char128_utf8. cannot be converted.* Error_code: 1677");
--echo #
--echo # Bug #54393: crash and/or valgrind errors in
diff --git a/mysql-test/suite/bugs/t/rpl_bug23533.test b/mysql-test/suite/binlog/t/binlog_bug23533.test
index 397f1102f0e..ca610e399e4 100644
--- a/mysql-test/suite/bugs/t/rpl_bug23533.test
+++ b/mysql-test/suite/binlog/t/binlog_bug23533.test
@@ -1,43 +1,50 @@
#############################################################
-# Author: Serge Kozlov <skozlov@mysql.com>
-# Date: 02/26/2008
-# Purpose: testing bug report
# Bug#23533: CREATE SELECT max_binlog_cache_size test
# case needed
#############################################################
--source include/have_innodb.inc
+--source include/have_log_bin.inc
--source include/have_binlog_format_row.inc
---source include/master-slave.inc
-
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2;
---enable_warnings
SET AUTOCOMMIT=0;
-SET GLOBAL max_binlog_cache_size=4096;
-SHOW VARIABLES LIKE 'max_binlog_cache_size';
+# Create 1st table
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b TEXT, PRIMARY KEY(a)) ENGINE=InnoDB;
-
--disable_query_log
let $i= 1000;
while ($i)
{
+ BEGIN;
eval INSERT INTO t1 VALUES($i, REPEAT('x', 4096));
+ COMMIT;
dec $i;
}
--enable_query_log
-
SELECT COUNT(*) FROM t1;
+# Set small value for max_binlog_cache_size
+let $saved_binlog_cache_size= query_get_value(SELECT @@binlog_cache_size AS Value, Value, 1);
+let $saved_max_binlog_cache_size= query_get_value(SELECT @@max_binlog_cache_size AS Value, Value, 1);
+SET GLOBAL binlog_cache_size=4096;
+SET GLOBAL max_binlog_cache_size=4096;
+
+# New value of max_binlog_cache_size will apply to new session
+disconnect default;
+connect(default,localhost,root,,test);
+
# Copied data from t1 into t2 large than max_binlog_cache_size
START TRANSACTION;
---error 1534
+--error ER_TRANS_CACHE_FULL
CREATE TABLE t2 SELECT * FROM t1;
COMMIT;
SHOW TABLES LIKE 't%';
-
# 5.1 End of Test
+--disable_query_log
+eval SET GLOBAL max_binlog_cache_size=$saved_max_binlog_cache_size;
+eval SET GLOBAL binlog_cache_size=$saved_binlog_cache_size;
+--enable_query_log
+DROP TABLE t1;
+disconnect default;
+connect(default,localhost,root,,test);
diff --git a/mysql-test/suite/bugs/t/rpl_bug36391-master.opt b/mysql-test/suite/binlog/t/binlog_bug36391-master.opt
index 56273241f14..56273241f14 100644
--- a/mysql-test/suite/bugs/t/rpl_bug36391-master.opt
+++ b/mysql-test/suite/binlog/t/binlog_bug36391-master.opt
diff --git a/mysql-test/suite/bugs/t/rpl_bug36391.test b/mysql-test/suite/binlog/t/binlog_bug36391.test
index 8bca9a46c5a..64d91dfafd9 100644
--- a/mysql-test/suite/bugs/t/rpl_bug36391.test
+++ b/mysql-test/suite/binlog/t/binlog_bug36391.test
@@ -13,18 +13,18 @@
#
#
---source include/master-slave.inc
+--source include/have_log_bin.inc
+--source include/have_binlog_format_mixed.inc
-drop table if exists t1;
+CREATE TABLE t1(id INT);
+let $binlog= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_path= `SELECT CONCAT(@@DATADIR, '$binlog')`;
+SHOW TABLES;
+FLUSH LOGS;
+DROP TABLE t1;
-create table t1(id int);
+--exec $MYSQL_BINLOG $binlog_path | $MYSQL test
+SHOW TABLES;
-show tables;
-
---source include/show_master_status.inc
-
-flush logs;
-
---exec $MYSQL_BINLOG $MYSQL_TEST_DIR/var/log/master-bin.000001 | $MYSQL test
-
-drop table t1;
+# Clean up
+DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_drop_if_exists.test b/mysql-test/suite/binlog/t/binlog_drop_if_exists.test
index 6b2b37ae791..6b2b37ae791 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_if_exists.test
+++ b/mysql-test/suite/binlog/t/binlog_drop_if_exists.test
diff --git a/mysql-test/suite/binlog/t/binlog_index-master.opt b/mysql-test/suite/binlog/t/binlog_index-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_index-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/binlog/t/binlog_index.test b/mysql-test/suite/binlog/t/binlog_index.test
index 3847e40aeb2..86c314e9236 100644
--- a/mysql-test/suite/binlog/t/binlog_index.test
+++ b/mysql-test/suite/binlog/t/binlog_index.test
@@ -6,15 +6,20 @@ source include/not_embedded.inc;
# Don't test this under valgrind, memory leaks will occur
--source include/not_valgrind.inc
source include/have_debug.inc;
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
call mtr.add_suppression('Attempting backtrace');
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to process registered files that would be purged.');
call mtr.add_suppression('MSYQL_BIN_LOG::open failed to sync the index file');
call mtr.add_suppression('Turning logging off for the whole duration of the MySQL server process.');
+call mtr.add_suppression('Could not open .*');
call mtr.add_suppression('MSYQL_BIN_LOG::purge_logs failed to clean registers before purging logs.');
flush tables;
let $old=`select @@debug`;
+RESET MASTER;
+
let $MYSQLD_DATADIR= `select @@datadir`;
let $INDEX=$MYSQLD_DATADIR/master-bin.index;
@@ -208,12 +213,26 @@ SELECT @index;
--echo # This should put the server in unsafe state and stop
--echo # accepting any command. If we inject a fault at this
--echo # point and continue the execution the server crashes.
---echo # Besides the flush command does not report an error.
--echo #
+--chmod 0644 $INDEX
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval SET @index=LOAD_FILE('$index')
+-- replace_regex /\.[\\\/]master/master/
+SELECT @index;
+
--echo # fault_injection_registering_index
SET SESSION debug="+d,fault_injection_registering_index";
+-- replace_regex /\.[\\\/]master/master/
+-- error ER_CANT_OPEN_FILE
flush logs;
+
+--chmod 0644 $INDEX
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval SET @index=LOAD_FILE('$index')
+-- replace_regex /\.[\\\/]master/master/
+SELECT @index;
+
--source include/restart_mysqld.inc
--chmod 0644 $INDEX
@@ -224,7 +243,16 @@ SELECT @index;
--echo # fault_injection_updating_index
SET SESSION debug="+d,fault_injection_updating_index";
+-- replace_regex /\.[\\\/]master/master/
+-- error ER_CANT_OPEN_FILE
flush logs;
+
+--chmod 0644 $INDEX
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval SET @index=LOAD_FILE('$index')
+-- replace_regex /\.[\\\/]master/master/
+SELECT @index;
+
--source include/restart_mysqld.inc
--chmod 0644 $INDEX
diff --git a/mysql-test/suite/binlog/t/binlog_innodb_row.test b/mysql-test/suite/binlog/t/binlog_innodb_row.test
index b491510c9c9..f4ad1058a7e 100644
--- a/mysql-test/suite/binlog/t/binlog_innodb_row.test
+++ b/mysql-test/suite/binlog/t/binlog_innodb_row.test
@@ -77,3 +77,29 @@ DROP TEMPORARY TABLE t1;
-- echo ###############################################
-- source include/show_binlog_events.inc
-- echo ###############################################
+
+
+--echo #
+--echo # Bug#12346411 SQL/LOG.CC:6509: ASSERTION `PREPARED_XIDS > 0' FAILED
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+CREATE TABLE t1(a INT PRIMARY KEY) engine=innodb;
+CREATE TABLE t2(a INT) engine=myisam;
+
+INSERT INTO t1 VALUES (1);
+START TRANSACTION;
+INSERT INTO t2 VALUES (1);
+INSERT IGNORE INTO t1 VALUES (1);
+COMMIT;
+
+INSERT INTO t1 VALUES (2);
+START TRANSACTION;
+INSERT INTO t2 VALUES (2);
+UPDATE IGNORE t1 SET a=1 WHERE a=2;
+COMMIT;
+
+DROP TABLE t1, t2;
diff --git a/mysql-test/suite/binlog/t/binlog_max_extension.test b/mysql-test/suite/binlog/t/binlog_max_extension.test
index 9f52d195e21..e5274d87b85 100644
--- a/mysql-test/suite/binlog/t/binlog_max_extension.test
+++ b/mysql-test/suite/binlog/t/binlog_max_extension.test
@@ -38,9 +38,7 @@ RESET MASTER;
##########
# 1. Stop master server
--- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- shutdown_server 10
-- source include/wait_until_disconnected.inc
@@ -52,9 +50,7 @@ master-bin.2147483646
EOF
# 3. Restart the server
--- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- enable_reconnect
-- source include/wait_until_connected_again.inc
@@ -62,7 +58,8 @@ EOF
# Assertion
###########
-# assertion: should throw warning
+# assertion: should raise error
+-- error ER_NO_UNIQUE_LOGFILE
FLUSH LOGS;
##############
@@ -70,9 +67,7 @@ FLUSH LOGS;
##############
# 1. Stop the server
--- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- shutdown_server 10
-- source include/wait_until_disconnected.inc
@@ -85,8 +80,6 @@ EOF
-- remove_file $MYSQLD_DATADIR/master-bin.2147483647
# 3. Restart the server
--- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- enable_reconnect
-- source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_mixed_cache_stat.test
index 0be097c78ed..3e63fb3bc9c 100644
--- a/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test
+++ b/mysql-test/suite/binlog/t/binlog_mixed_cache_stat.test
@@ -2,4 +2,4 @@
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_mixed.inc
--- source extra/binlog_tests/innodb_stat.test
+-- source extra/binlog_tests/binlog_cache_stat.test
diff --git a/mysql-test/suite/binlog/t/binlog_old_versions.test b/mysql-test/suite/binlog/t/binlog_old_versions.test
index 0ccea406a82..b294adbc69d 100644
--- a/mysql-test/suite/binlog/t/binlog_old_versions.test
+++ b/mysql-test/suite/binlog/t/binlog_old_versions.test
@@ -24,9 +24,6 @@
source include/not_embedded.inc;
---disable_warnings
-DROP TABLE IF EXISTS t1, t2, t3;
-
--echo ==== Read modern binlog (version 5.1.23) ====
@@ -161,3 +158,4 @@ DROP TABLE t1, t2, t3;
#SELECT * FROM t1 ORDER BY a;
#SELECT * FROM t2 ORDER BY a;
#SELECT COUNT(*) FROM t3;
+#--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules-master.opt b/mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt
index 33632bf98e8..33632bf98e8 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules-master.opt
+++ b/mysql-test/suite/binlog/t/binlog_query_filter_rules-master.opt
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules.test b/mysql-test/suite/binlog/t/binlog_query_filter_rules.test
index d56a32ce2bd..d56a32ce2bd 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_query_filter_rules.test
+++ b/mysql-test/suite/binlog/t/binlog_query_filter_rules.test
diff --git a/mysql-test/suite/binlog/t/binlog_reset_master.test b/mysql-test/suite/binlog/t/binlog_reset_master.test
new file mode 100644
index 00000000000..b7ad69da3ea
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_reset_master.test
@@ -0,0 +1,26 @@
+# ==== Purpose ====
+#
+# Test bugs in RESET MASTER.
+
+--source include/have_debug.inc
+--source include/have_log_bin.inc
+
+#######################################################################
+# BUG#12574820: binlog.binlog_tmp_table timing out in daily and weekly trunk run
+# Problem: MYSQL_BIN_LOG::reset_logs acquired LOCK_thread_count and
+# LOCK_log in the wrong order. This could cause a deadlock when
+# RESET MASTER was run concurrently with a disconnecting thread.
+#######################################################################
+
+# We use sleep, not debug_sync, because the sync point needs to be in
+# the thread shut down code after the debug sync facility has been
+# shut down.
+--let $write_var= SET DEBUG="+d,sleep_after_lock_thread_count_before_delete_thd"; CREATE TEMPORARY TABLE test.t1 (a INT);
+--let $write_to_file= GENERATE
+--disable_query_log
+--source include/write_var_to_file.inc
+--enable_query_log
+
+--exec $MYSQL < $write_to_file
+RESET MASTER;
+--remove_file $write_to_file
diff --git a/mysql-test/suite/binlog/t/binlog_row_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_row_cache_stat.test
index e4e6762226b..03f9c53f0cc 100644
--- a/mysql-test/suite/binlog/t/binlog_row_innodb_stat.test
+++ b/mysql-test/suite/binlog/t/binlog_row_cache_stat.test
@@ -2,4 +2,4 @@
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_row.inc
--- source extra/binlog_tests/innodb_stat.test
+-- source extra/binlog_tests/binlog_cache_stat.test
diff --git a/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_db_filter.test b/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_db_filter.test
index 6682d84d9c9..2e3e53b86f1 100644
--- a/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_db_filter.test
+++ b/mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_db_filter.test
@@ -83,17 +83,17 @@ while($i)
-- let $flags=--database=b42941
# construct CLI for mysqlbinlog
- if(`SELECT $i=3`)
+ if($i==3)
{
-- let $flags= $flags --verbose --hexdump
}
- if(`SELECT $i=2`)
+ if($i==2)
{
-- let $flags= $flags --verbose
}
-# if(`SELECT $i=1`)
+# if($i==1)
# {
# do nothing $flags is already set as it should be
# }
diff --git a/mysql-test/suite/rpl/t/rpl_server_id.test b/mysql-test/suite/binlog/t/binlog_server_id.test
index 6e98ec6ee6d..6e98ec6ee6d 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id.test
+++ b/mysql-test/suite/binlog/t/binlog_server_id.test
diff --git a/mysql-test/suite/rpl/t/rpl_sf.test b/mysql-test/suite/binlog/t/binlog_sf.test
index 4d12f3839a2..05b31afcb58 100644
--- a/mysql-test/suite/rpl/t/rpl_sf.test
+++ b/mysql-test/suite/binlog/t/binlog_sf.test
@@ -1,5 +1,9 @@
-- source include/have_log_bin.inc
+# We change binlog format inside the test, so no need to re-run with
+# more than one binlog_format.
+-- source include/have_binlog_format_statement.inc
+
# Bug#16456 RBR: rpl_sp.test expects query to fail, but passes in RBR
# BUG#41166 stored function requires "deterministic" if binlog_format is "statement"
diff --git a/mysql-test/suite/binlog/t/binlog_sql_mode.test b/mysql-test/suite/binlog/t/binlog_sql_mode.test
index 1777f8cb561..ab4f6450543 100644
--- a/mysql-test/suite/binlog/t/binlog_sql_mode.test
+++ b/mysql-test/suite/binlog/t/binlog_sql_mode.test
@@ -8,7 +8,6 @@
# Scan binlog file to check if the sql_mode is still set to 0 before generating binlog event
#
--- source include/master-slave.inc
-- source include/have_log_bin.inc
# BUG#39526 sql_mode not retained in binary log for CREATE PROCEDURE
@@ -50,10 +49,10 @@ CREATE EVENT testEvent ON SCHEDULE
END;|
DELIMITER ;|
---echo Chceck Result
+--echo Check Result
let $MYSQLD_DATADIR= `select @@datadir`;
---exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog
+--exec $MYSQL_BINLOG --force-if-open $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug39526.binlog"))
diff --git a/mysql-test/suite/binlog/t/binlog_stm_binlog-master.opt b/mysql-test/suite/binlog/t/binlog_stm_binlog-master.opt
index 099f07e5d4e..62409b9f6be 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_binlog-master.opt
+++ b/mysql-test/suite/binlog/t/binlog_stm_binlog-master.opt
@@ -1 +1,2 @@
--max_binlog_size=4096 --default-storage-engine=MyISAM
+--force-restart
diff --git a/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_stm_cache_stat.test
index c6017246e6d..0f5aa9f6013 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test
+++ b/mysql-test/suite/binlog/t/binlog_stm_cache_stat.test
@@ -2,4 +2,4 @@
# For both statement and row based bin logs 9/19/2005 [jbm]
-- source include/have_binlog_format_statement.inc
--- source extra/binlog_tests/innodb_stat.test
+-- source extra/binlog_tests/binlog_cache_stat.test
diff --git a/mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt b/mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt
index e2cfcb299cf..2a1187d3fe4 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt
+++ b/mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt
@@ -1 +1,2 @@
--binlog-do-db=b42829
+--force-restart
diff --git a/mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test b/mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test
index 35e4dd57877..022341ae833 100644
--- a/mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test
+++ b/mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test
@@ -116,7 +116,7 @@ DROP TABLE t1;
SET GLOBAL log_warnings = @old_log_warnings;
let $log_error_= `SELECT @@GLOBAL.log_error`;
-if(!`select LENGTH('$log_error_')`)
+if(!$log_error_)
{
# MySQL Server on windows is started with --console and thus
# does not know the location of its .err log, use default location
diff --git a/mysql-test/suite/binlog/t/binlog_unsafe.test b/mysql-test/suite/binlog/t/binlog_unsafe.test
index 740649f0053..9fbdc9fc2c8 100644
--- a/mysql-test/suite/binlog/t/binlog_unsafe.test
+++ b/mysql-test/suite/binlog/t/binlog_unsafe.test
@@ -141,11 +141,11 @@ END|
# In each iteration of this loop, we select one method to make the
# statement unsafe.
--let $unsafe_type= 0
-while (`SELECT $unsafe_type < 9`) {
+while ($unsafe_type < 9) {
--echo
- if (`SELECT $unsafe_type = 0`) {
+ if ($unsafe_type == 0) {
--echo ==== Testing UUID() unsafeness ====
--let $desc_0= unsafe UUID() function
--let $stmt_sidef_0= INSERT INTO t0 VALUES (UUID())
@@ -155,7 +155,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 1
}
- if (`SELECT $unsafe_type = 1`) {
+ if ($unsafe_type == 1) {
--echo ==== Testing @@hostname unsafeness ====
--let $desc_0= unsafe @@hostname variable
--let $stmt_sidef_0= INSERT INTO t0 VALUES (@@hostname)
@@ -168,7 +168,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 1
}
- if (`SELECT $unsafe_type = 2`) {
+ if ($unsafe_type == 2) {
--echo ==== Testing SELECT...LIMIT unsafeness ====
--let $desc_0= unsafe SELECT...LIMIT statement
--let $stmt_sidef_0= INSERT INTO t0 SELECT * FROM data_table LIMIT 1
@@ -178,7 +178,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 1
}
- if (`SELECT $unsafe_type = 3`) {
+ if ($unsafe_type == 3) {
--echo ==== Testing INSERT DELAYED safeness after BUG#54579 is fixed ====
--let $desc_0= unsafe INSERT DELAYED statement
--let $stmt_sidef_0= INSERT DELAYED INTO t0 VALUES (1), (2)
@@ -188,7 +188,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 0
}
- if (`SELECT $unsafe_type = 4`) {
+ if ($unsafe_type == 4) {
--echo ==== Testing unsafeness of insert of two autoinc values ====
--let $desc_0= unsafe update of two autoinc columns
--let $stmt_sidef_0= INSERT INTO double_autoinc_table VALUES (NULL)
@@ -198,7 +198,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 1
}
- if (`SELECT $unsafe_type = 5`) {
+ if ($unsafe_type == 5) {
--echo ==== Testing unsafeness of UDF's ====
--let $desc_0= unsafe UDF
--let $stmt_sidef_0= INSERT INTO t0 VALUES (myfunc_int(10))
@@ -208,7 +208,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 1
}
- if (`SELECT $unsafe_type = 6`) {
+ if ($unsafe_type == 6) {
--echo ==== Testing unsafeness of access to mysql.general_log ====
--let $desc_0= unsafe use of mysql.general_log
--let $stmt_sidef_0= INSERT INTO t0 SELECT COUNT(*) FROM mysql.general_log
@@ -218,7 +218,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 1
}
- if (`SELECT $unsafe_type = 7`) {
+ if ($unsafe_type == 7) {
--echo ==== Testing a statement that is unsafe in many ways ====
--let $desc_0= statement that is unsafe in many ways
# Concatenate three unsafe values, and then concatenate NULL to
@@ -230,7 +230,7 @@ while (`SELECT $unsafe_type < 9`) {
--let $CRC_ARG_expected_number_of_warnings= 6
}
- if (`SELECT $unsafe_type = 8`) {
+ if ($unsafe_type == 8) {
--echo ==== Testing a statement that is unsafe several times ====
--let $desc_0= statement that is unsafe several times
--let $stmt_sidef_0= INSERT INTO ta0 VALUES (multi_unsafe_func())
@@ -249,7 +249,7 @@ while (`SELECT $unsafe_type < 9`) {
# construct. Instead, we just invoke the unsafe statement directly.
--let $call_type_1= 0
- while (`SELECT $call_type_1 < 8`) {
+ while ($call_type_1 < 8) {
#--echo debug: level 1, types $call_type_1 -> $unsafe_type
--let $CRC_ARG_level= 1
--let $CRC_ARG_type= $call_type_1
@@ -280,7 +280,7 @@ while (`SELECT $unsafe_type < 9`) {
# construct.
--let $call_type_2= 0
- while (`SELECT $call_type_2 < 7`) {
+ while ($call_type_2 < 7) {
#--echo debug: level 2, types $call_type_2 -> $call_type_1 -> $unsafe_type
--let $CRC_ARG_level= 2
--let $CRC_ARG_type= $call_type_2
@@ -309,7 +309,7 @@ while (`SELECT $unsafe_type < 9`) {
# construct.
--let $call_type_3= 0
- while (`SELECT $call_type_3 < 7`) {
+ while ($call_type_3 < 7) {
#--echo debug: level 3, types $call_type_2 -> $call_type_2 -> $call_type_1 -> $unsafe_type
--let $CRC_ARG_level= 3
--let $CRC_ARG_type= $call_type_3
@@ -321,7 +321,7 @@ while (`SELECT $unsafe_type < 9`) {
--source extra/rpl_tests/create_recursive_construct.inc
# Drop created object.
- if (`SELECT '$drop_3' != ''`) {
+ if ($drop_3) {
--eval $drop_3
}
--inc $call_type_3
@@ -330,7 +330,7 @@ while (`SELECT $unsafe_type < 9`) {
} # if (!is_toplevel_2)
# Drop created object.
- if (`SELECT '$drop_2' != ''`) {
+ if ($drop_2) {
--eval $drop_2
}
--inc $call_type_2
@@ -338,7 +338,7 @@ while (`SELECT $unsafe_type < 9`) {
} # if (!is_toplevel_1)
# Drop created object.
- if (`SELECT '$drop_1' != ''`) {
+ if ($drop_1) {
--eval $drop_1
}
--inc $call_type_1
@@ -481,7 +481,7 @@ DROP TABLE t1,t2;
--echo "Should NOT have any warning message issued in the following func7() and trig"
CREATE TABLE t1 (a INT);
-CREATE TABLE t2 (a CHAR(40));
+CREATE TABLE t2 (a TEXT);
CREATE TABLE trigger_table (a CHAR(7));
DELIMITER |;
CREATE FUNCTION func7()
diff --git a/mysql-test/suite/binlog/t/disabled.def b/mysql-test/suite/binlog/t/disabled.def
index a9841f592f8..1abc9951322 100644
--- a/mysql-test/suite/binlog/t/disabled.def
+++ b/mysql-test/suite/binlog/t/disabled.def
@@ -9,6 +9,5 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
-
-binlog_truncate_innodb : BUG#42643 2009-02-06 mats Changes to InnoDB requires to complete fix for BUG#36763
-binlog_spurious_ddl_errors : BUG#54195 2010-06-03 alik binlog_spurious_ddl_errors.test fails, thus disabled
+binlog_truncate_innodb : BUG#11764459 2010-10-20 anitha Originally disabled due to BUG#42643. Product bug fixed, but test changes needed
+binlog_spurious_ddl_errors : BUG#11761680 2010-06-03 alik binlog_spurious_ddl_errors.test fails, thus disabled
diff --git a/mysql-test/suite/bugs/combinations b/mysql-test/suite/bugs/combinations
deleted file mode 100644
index 07042c2cbec..00000000000
--- a/mysql-test/suite/bugs/combinations
+++ /dev/null
@@ -1,8 +0,0 @@
-[row]
-binlog-format=row
-
-[stmt]
-binlog-format=statement
-
-[mix]
-binlog-format=mixed
diff --git a/mysql-test/suite/bugs/data/rpl_bug12691.dat b/mysql-test/suite/bugs/data/rpl_bug12691.dat
deleted file mode 100644
index de980441c3a..00000000000
--- a/mysql-test/suite/bugs/data/rpl_bug12691.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-a
-b
-c
diff --git a/mysql-test/suite/bugs/r/rpl_bug12691.result b/mysql-test/suite/bugs/r/rpl_bug12691.result
deleted file mode 100644
index 8feeb0effc3..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug12691.result
+++ /dev/null
@@ -1,33 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
-**** On Master ****
-CREATE TABLE t1 (b CHAR(10));
-
-**** On Slave ****
-STOP SLAVE;
-
-**** On Master ****
-LOAD DATA INFILE FILENAME
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-3
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (b CHAR(10))
-master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
-master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/rpl_bug12691.dat' INTO TABLE `t1` FIELDS TERMINATED BY '|' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`b`) ;file_id=#
-
-**** On Slave ****
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-START SLAVE;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-0
-
-**** On Master ****
-DROP TABLE t1;
diff --git a/mysql-test/suite/bugs/r/rpl_bug23533.result b/mysql-test/suite/bugs/r/rpl_bug23533.result
deleted file mode 100644
index 1dda75a69b0..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug23533.result
+++ /dev/null
@@ -1,23 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TABLE IF EXISTS t1,t2;
-SET AUTOCOMMIT=0;
-SET GLOBAL max_binlog_cache_size=4096;
-SHOW VARIABLES LIKE 'max_binlog_cache_size';
-Variable_name Value
-max_binlog_cache_size 4096
-CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b TEXT, PRIMARY KEY(a)) ENGINE=InnoDB;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-1000
-START TRANSACTION;
-CREATE TABLE t2 SELECT * FROM t1;
-ERROR HY000: Writing one row to the row-based binary log failed
-COMMIT;
-SHOW TABLES LIKE 't%';
-Tables_in_test (t%)
-t1
diff --git a/mysql-test/suite/bugs/r/rpl_bug31582.result b/mysql-test/suite/bugs/r/rpl_bug31582.result
deleted file mode 100644
index 1f71fbf8fe7..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug31582.result
+++ /dev/null
@@ -1,16 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) ENGINE=MyISAM;
-INSERT INTO t1 VALUES ('a');
-UPDATE t1 SET a = 'MyISAM';
-SELECT * FROM t1 ORDER BY a;
-a
-MyISAM
-SELECT * FROM t1 ORDER BY a;
-a
-MyISAM
-DROP TABLE t1;
diff --git a/mysql-test/suite/bugs/r/rpl_bug31583.result b/mysql-test/suite/bugs/r/rpl_bug31583.result
deleted file mode 100644
index 74846607313..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug31583.result
+++ /dev/null
@@ -1,16 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 ( a INT, b INT DEFAULT -3 );
-INSERT INTO t1 VALUES (1, DEFAULT);
-UPDATE t1 SET a = 3;
-SELECT * FROM t1 ORDER BY a;
-a b
-3 -3
-SELECT * FROM t1 ORDER BY a;
-a b
-3 -3
-DROP TABLE t1;
diff --git a/mysql-test/suite/bugs/r/rpl_bug33029.result b/mysql-test/suite/bugs/r/rpl_bug33029.result
deleted file mode 100644
index d11ae1cc0be..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug33029.result
+++ /dev/null
@@ -1,15 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table `t1` (`id` int not null auto_increment primary key);
-create trigger `trg` before insert on `t1` for each row begin end;
-set @@global.debug="+d,simulate_bug33029";
-stop slave;
-start slave;
-insert into `t1` values ();
-select * from t1;
-id
-1
diff --git a/mysql-test/suite/bugs/r/rpl_bug36391.result b/mysql-test/suite/bugs/r/rpl_bug36391.result
deleted file mode 100644
index 33175d89d30..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug36391.result
+++ /dev/null
@@ -1,18 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1(id int);
-show tables;
-Tables_in_test
-t1
-show master status;
-File Position Binlog_Do_DB Binlog_Ignore_DB
-master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
-flush logs;
-drop table t1;
diff --git a/mysql-test/suite/bugs/r/rpl_bug37426.result b/mysql-test/suite/bugs/r/rpl_bug37426.result
deleted file mode 100644
index 24dfd27ca01..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug37426.result
+++ /dev/null
@@ -1,17 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE char128_utf8 (
-i1 INT NOT NULL,
-c CHAR(128) CHARACTER SET utf8 NOT NULL,
-i2 INT NOT NULL);
-INSERT INTO char128_utf8 VALUES ( 1, "123", 1 );
-SELECT * FROM char128_utf8;
-i1 c i2
-1 123 1
-SELECT * FROM char128_utf8;
-i1 c i2
-1 123 1
diff --git a/mysql-test/suite/bugs/r/rpl_bug38205.result b/mysql-test/suite/bugs/r/rpl_bug38205.result
deleted file mode 100644
index 8f1dee344fa..00000000000
--- a/mysql-test/suite/bugs/r/rpl_bug38205.result
+++ /dev/null
@@ -1,56 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1i(n int primary key) engine=innodb;
-create table t2m(n int primary key) engine=myisam;
-begin;
-insert into t1i values (1);
-insert into t1i values (2);
-insert into t1i values (3);
-commit;
-begin;
-insert into t1i values (5);
-begin;
-insert into t1i values (4);
-insert into t2m values (1);
-update t1i set n = 5 where n = 4;
-commit;
-zero
-0
-*** kill sql thread ***
-rollback;
-*** sql thread is *not* running: No ***
-*** the prove: the killed slave has not finished the current transaction ***
-three
-3
-one
-1
-zero
-0
-delete from t2m;
-start slave sql_thread;
-delete from t1i;
-delete from t2m;
-begin;
-insert into t1i values (5);
-begin;
-insert into t1i values (4);
-update t1i set n = 5 where n = 4;
-commit;
-zero
-0
-stop slave sql_thread;
-rollback;
-*** sql thread is *not* running: No ***
-*** the prove: the stopped slave has rolled back the current transaction ***
-zero
-0
-zero
-0
-one
-1
-start slave sql_thread;
-drop table t1i, t2m;
diff --git a/mysql-test/suite/bugs/t/rpl_bug12691.test b/mysql-test/suite/bugs/t/rpl_bug12691.test
deleted file mode 100644
index 28d7f16935e..00000000000
--- a/mysql-test/suite/bugs/t/rpl_bug12691.test
+++ /dev/null
@@ -1,51 +0,0 @@
-# Bug#12691: Exec_master_log_pos corrupted with SQL_SLAVE_SKIP_COUNTER
-# Date: 01/31/2008
-# Added: Serge Kozlov <skozlov@mysql.com>
-
---source include/master-slave.inc
---connection master
---source include/have_binlog_format_mixed_or_statement.inc
-
---echo
---echo **** On Master ****
-CREATE TABLE t1 (b CHAR(10));
---echo
---echo **** On Slave ****
---sync_slave_with_master
-STOP SLAVE;
---source include/wait_for_slave_to_stop.inc
-
---connection master
-
---echo
---echo **** On Master ****
---exec cp $MYSQL_TEST_DIR/suite/bugs/data/rpl_bug12691.dat $MYSQLTEST_VARDIR/tmp/
---echo LOAD DATA INFILE FILENAME
---disable_query_log
---eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/rpl_bug12691.dat' INTO TABLE t1 FIELDS TERMINATED BY '|'
---enable_query_log
---remove_file $MYSQLTEST_VARDIR/tmp/rpl_bug12691.dat
-
-SELECT COUNT(*) FROM t1;
-
-source include/show_binlog_events.inc;
-
---save_master_pos
-
---connection slave
---echo
---echo **** On Slave ****
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-START SLAVE;
---source include/wait_for_slave_to_start.inc
---sync_with_master
-
-SELECT COUNT(*) FROM t1;
-
-# Clean up
---connection master
---echo
---echo **** On Master ****
-DROP TABLE t1;
---sync_slave_with_master
-
diff --git a/mysql-test/suite/bugs/t/rpl_bug31582.test b/mysql-test/suite/bugs/t/rpl_bug31582.test
deleted file mode 100644
index 7ba15eec8ce..00000000000
--- a/mysql-test/suite/bugs/t/rpl_bug31582.test
+++ /dev/null
@@ -1,25 +0,0 @@
-
-# BUG#31582: 5.1-telco-6.1 -> 5.1.22. Slave crashes when reading
-# UPDATE for VARCHAR
-
-# This is a problem for any update statement replicating from an old
-# server to a new server. The bug consisted of a new slave trying to
-# read two column bitmaps, but there is only one available in the old
-# format.
-
-# This test case should be executed replicating from an old server to
-# a new server, so make sure you have one handy.
-
-source include/master-slave.inc;
-
-CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) ENGINE=MyISAM;
-INSERT INTO t1 VALUES ('a');
-UPDATE t1 SET a = 'MyISAM';
-SELECT * FROM t1 ORDER BY a;
-sync_slave_with_master;
-SELECT * FROM t1 ORDER BY a;
-
-connection master;
-DROP TABLE t1;
-sync_slave_with_master;
-
diff --git a/mysql-test/suite/bugs/t/rpl_bug31583.test b/mysql-test/suite/bugs/t/rpl_bug31583.test
deleted file mode 100644
index 657e4984b77..00000000000
--- a/mysql-test/suite/bugs/t/rpl_bug31583.test
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# BUG#31583: 5.1-telco-6.1 -> 5.1.22. Slave returns Error in unknown event
-
-# This is a problem for any update statement replicating from an old
-# server to a new server. The bug consisted of a new slave trying to
-# read two column bitmaps, but there is only one available in the old
-# format.
-
-# This test case should be executed replicating from an old server to
-# a new server, so make sure you have one handy.
-
-source include/master-slave.inc;
-
-CREATE TABLE t1 ( a INT, b INT DEFAULT -3 );
-
-INSERT INTO t1 VALUES (1, DEFAULT);
-UPDATE t1 SET a = 3;
-SELECT * FROM t1 ORDER BY a;
-sync_slave_with_master;
-SELECT * FROM t1 ORDER BY a;
-
-connection master;
-DROP TABLE t1;
-sync_slave_with_master;
-
diff --git a/mysql-test/suite/bugs/t/rpl_bug33029.test b/mysql-test/suite/bugs/t/rpl_bug33029.test
deleted file mode 100644
index 494cef42ce0..00000000000
--- a/mysql-test/suite/bugs/t/rpl_bug33029.test
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Bug #36443 Server crashes when executing insert when insert trigger on table
-#
-# Emulating the former bug#33029 situation to see that there is no crash anymore.
-#
-
-
-source include/master-slave.inc;
-
-create table `t1` (`id` int not null auto_increment primary key);
-create trigger `trg` before insert on `t1` for each row begin end;
-
-sync_slave_with_master;
-set @@global.debug="+d,simulate_bug33029";
-
-stop slave;
-start slave;
-
-connection master;
-
-insert into `t1` values ();
-
-sync_slave_with_master;
-select * from t1;
-
diff --git a/mysql-test/suite/bugs/t/rpl_bug38205.test b/mysql-test/suite/bugs/t/rpl_bug38205.test
deleted file mode 100644
index 52b36636e79..00000000000
--- a/mysql-test/suite/bugs/t/rpl_bug38205.test
+++ /dev/null
@@ -1,166 +0,0 @@
-#
-# Bug #38205 Row-based Replication (RBR) causes inconsistencies: HA_ERR_FOUND_DUPP_KEY
-# Bug#319 if while a non-transactional slave is replicating a transaction possible problem
-#
-# Verifying the fact that STOP SLAVE in the middle of a group execution waits
-# for the end of the group before the slave sql thread will stop.
-# The patch refines STOP SLAVE to not interrupt a transaction or other type of
-# the replication events group (the part I).
-# Killing the sql thread continues to provide a "hard" stop (the part II).
-#
-# Non-deterministic tests
-#
-
-source include/master-slave.inc;
-source include/have_innodb.inc;
-
-
-#
-# Part II, killed sql slave leaves instantly
-#
-
-# A. multi-statement transaction as the replication group
-
-connection master;
-
-create table t1i(n int primary key) engine=innodb;
-create table t2m(n int primary key) engine=myisam;
-
-sync_slave_with_master;
-
-connection master;
-
-begin;
-insert into t1i values (1);
-insert into t1i values (2);
-insert into t1i values (3);
-commit;
-
-sync_slave_with_master;
-
-#
-# todo: first challenge is to find out the SQL thread id
-# the following is not fully reliable
-#
-
-let $id=`SELECT id from information_schema.processlist where user like 'system user' and state like '%Has read all relay log%' or user like 'system user' and state like '%Reading event from the relay log%'`;
-connection slave;
-begin;
-insert into t1i values (5);
-
-connection master;
-let $pos0_master= query_get_value(SHOW MASTER STATUS, Position, 1);
-begin;
-insert into t1i values (4);
-insert into t2m values (1); # non-ta update
-update t1i set n = 5 where n = 4; # to block at. can't be played with killed
-commit;
-let $pos1_master= query_get_value(SHOW MASTER STATUS, Position, 1);
-
-connection slave;
-# slave sql thread must be locked out by the conn `slave' explicit lock
-let $pos0_slave= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
---disable_query_log
-eval select $pos0_master - $pos0_slave as zero;
---enable_query_log
-
-connection slave1;
-
-let $count= 1;
-let $table= t2m;
-source include/wait_until_rows_count.inc;
-#
-# todo: may fail as said above
-#
---echo *** kill sql thread ***
---disable_query_log
-eval kill connection $id;
---enable_query_log
-
-connection slave;
-rollback; # release the sql thread
-
-connection slave1;
-
-source include/wait_for_slave_sql_to_stop.inc;
-let $sql_status= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
---echo *** sql thread is *not* running: $sql_status ***
-let $pos1_slave= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-
-connection slave;
---echo *** the prove: the killed slave has not finished the current transaction ***
-
---disable_query_log
-select count(*) as three from t1i;
-eval select $pos1_master > $pos1_slave as one;
-eval select $pos1_slave - $pos0_slave as zero;
---enable_query_log
-
-delete from t2m; # remove the row to be able to replay
-start slave sql_thread;
-
-#
-# Part I: B The homogenous transaction remains interuptable in between
-#
-
-connection master;
-delete from t1i;
-delete from t2m;
-
-sync_slave_with_master;
-begin;
-insert into t1i values (5);
-
-connection master;
-let $pos0_master= query_get_value(SHOW MASTER STATUS, Position, 1);
-begin;
-insert into t1i values (4);
-update t1i set n = 5 where n = 4; # to block at. not to be played
-commit;
-let $pos1_master= query_get_value(SHOW MASTER STATUS, Position, 1);
-
-
-connection slave1;
-# slave sql can't advance as must be locked by the conn `slave' trans
-let $pos0_slave= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
---disable_query_log
-eval select $pos0_master - $pos0_slave as zero;
---enable_query_log
-
-#
-# the replicated trans is blocked by the slave's local.
-# However, it's not easy to catch the exact moment when it happens.
-# The test issues sleep which makes the test either non-deterministic or
-# wasting too much time.
-#
---sleep 3
-
-send stop slave sql_thread;
-
-connection slave;
-rollback; # release the sql thread
-
-connection slave1;
-reap;
-source include/wait_for_slave_sql_to_stop.inc;
-let $sql_status= query_get_value(SHOW SLAVE STATUS, Slave_SQL_Running, 1);
---echo *** sql thread is *not* running: $sql_status ***
-
-let $pos1_slave= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-
---echo *** the prove: the stopped slave has rolled back the current transaction ***
-
---disable_query_log
-select count(*) as zero from t1i;
-eval select $pos0_master - $pos0_slave as zero;
-eval select $pos1_master > $pos0_slave as one;
---enable_query_log
-
-start slave sql_thread;
-
-# clean-up
-
-connection master;
-drop table t1i, t2m;
-
-sync_slave_with_master;
diff --git a/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_error.result b/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_error.result
index 6f66eec52a0..ff161fbae7a 100644
--- a/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_error.result
+++ b/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_error.result
@@ -55,6 +55,12 @@ INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','def','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','def');
INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
+ERROR 23000: Duplicate entry 'abc-abc-abc' for key 'PRIMARY'
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
+ERROR 23000: Duplicate entry 'abc-abc-def' for key 'PRIMARY'
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+ERROR 23000: Duplicate entry 'abc-def-def' for key 'PRIMARY'
SELECT hex(c1),hex(c2),hex(c3) FROM t1;
hex(c1) hex(c2) hex(c3)
61626300000000000000 61626300000000000000 61626300000000000000
diff --git a/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_ignore.result b/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_ignore.result
index ac0fe07af56..c4d03026a87 100644
--- a/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_ignore.result
+++ b/mysql-test/suite/engines/funcs/r/in_multicolumn_string_pk_constraint_ignore.result
@@ -55,6 +55,12 @@ INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','def','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','def');
INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
+ERROR 23000: Duplicate entry 'abc-abc-abc' for key 'PRIMARY'
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
+ERROR 23000: Duplicate entry 'abc-abc-def' for key 'PRIMARY'
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+ERROR 23000: Duplicate entry 'abc-def-def' for key 'PRIMARY'
SELECT * FROM t1;
c1 c2 c3
abc
diff --git a/mysql-test/suite/engines/funcs/r/in_multicolumn_string_unique_constraint_error.result b/mysql-test/suite/engines/funcs/r/in_multicolumn_string_unique_constraint_error.result
index 23fd244b40b..39e08f2f4ac 100644
--- a/mysql-test/suite/engines/funcs/r/in_multicolumn_string_unique_constraint_error.result
+++ b/mysql-test/suite/engines/funcs/r/in_multicolumn_string_unique_constraint_error.result
@@ -55,6 +55,12 @@ INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','def','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','def');
INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
+ERROR 23000: Duplicate entry 'abc-abc-abc' for key 'c1'
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
+ERROR 23000: Duplicate entry 'abc-abc-def' for key 'c1'
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+ERROR 23000: Duplicate entry 'abc-def-def' for key 'c1'
SELECT * FROM t1;
c1 c2 c3
abc
diff --git a/mysql-test/suite/engines/funcs/r/in_string_pk_constraint_error.result b/mysql-test/suite/engines/funcs/r/in_string_pk_constraint_error.result
index bbbccf797e7..7f60b844b64 100644
--- a/mysql-test/suite/engines/funcs/r/in_string_pk_constraint_error.result
+++ b/mysql-test/suite/engines/funcs/r/in_string_pk_constraint_error.result
Binary files differ
diff --git a/mysql-test/suite/engines/funcs/r/in_string_unique_constraint_error.result b/mysql-test/suite/engines/funcs/r/in_string_unique_constraint_error.result
index b1163e0b08a..42be531343e 100644
--- a/mysql-test/suite/engines/funcs/r/in_string_unique_constraint_error.result
+++ b/mysql-test/suite/engines/funcs/r/in_string_unique_constraint_error.result
Binary files differ
diff --git a/mysql-test/suite/engines/funcs/r/ps_string_not_null.result b/mysql-test/suite/engines/funcs/r/ps_string_not_null.result
index 859fab8b490..5f2a630811c 100644
--- a/mysql-test/suite/engines/funcs/r/ps_string_not_null.result
+++ b/mysql-test/suite/engines/funcs/r/ps_string_not_null.result
Binary files differ
diff --git a/mysql-test/suite/engines/funcs/r/rpl_000015.result b/mysql-test/suite/engines/funcs/r/rpl_000015.result
index cfb4f0ead5a..bb3620ebc84 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_000015.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_000015.result
@@ -10,25 +10,174 @@ File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 107
stop slave;
reset slave;
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_PORT
+Connect_Retry #
Master_Log_File
Read_Master_Log_Pos 4
+Relay_Log_File #
+Relay_Log_Pos #
Relay_Master_Log_File
+Slave_IO_Running No
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
Exec_Master_Log_Pos 0
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
change master to master_host='127.0.0.1';
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_PORT
+Connect_Retry #
Master_Log_File
Read_Master_Log_Pos 4
+Relay_Log_File #
+Relay_Log_Pos #
Relay_Master_Log_File
+Slave_IO_Running No
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
Exec_Master_Log_Pos 0
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
change master to master_host='127.0.0.1',master_user='root',
master_password='',master_port=MASTER_PORT;
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_PORT
+Connect_Retry #
Master_Log_File
Read_Master_Log_Pos 4
+Relay_Log_File #
+Relay_Log_Pos #
Relay_Master_Log_File
+Slave_IO_Running No
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
Exec_Master_Log_Pos 0
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
start slave;
+show slave status;
+Slave_IO_State Waiting for master to send event
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_PORT
+Connect_Retry 1
Master_Log_File master-bin.000001
+Read_Master_Log_Pos 107
+Relay_Log_File slave-relay-bin.000002
+Relay_Log_Pos 254
Relay_Master_Log_File master-bin.000001
-Checking that both slave threads are running.
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos 107
+Relay_Log_Space 410
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
drop table if exists t1;
create table t1 (n int, PRIMARY KEY(n));
insert into t1 values (10),(45),(90);
diff --git a/mysql-test/suite/engines/funcs/r/rpl_change_master.result b/mysql-test/suite/engines/funcs/r/rpl_change_master.result
index 2258a35a869..c187f16cc83 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_change_master.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_change_master.result
@@ -11,7 +11,13 @@ stop slave sql_thread;
insert into t1 values(1);
insert into t1 values(2);
stop slave;
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 # # # master-bin.000001 No No 0 0 192 # None 0 No # No 0 0 1
change master to master_user='root';
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 # # # master-bin.000001 No No 0 0 192 # None 0 No # No 0 0 1
start slave;
select * from t1;
n
diff --git a/mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result b/mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result
index ef4d7797dbf..53a521aaf85 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_flushlog_loop.result
@@ -17,6 +17,45 @@ let $result_pattern= '%127.0.0.1%root%slave-bin.000001%slave-bin.000001%Yes%Yes%
--source include/wait_slave_status.inc
flush logs;
-Relay_Log_File mysqld-relay-bin.000003
-Checking that both slave threads are running.
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port SLAVE_PORT
+Connect_Retry 60
+Master_Log_File slave-bin.000001
+Read_Master_Log_Pos 107
+Relay_Log_File #
+Relay_Log_Pos #
+Relay_Master_Log_File slave-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table #
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos 107
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 2
STOP SLAVE;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result b/mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result
index 779a3af9631..8b2da7ff9a1 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_loaddata_s.result
@@ -10,6 +10,6 @@ load data infile '../../std_data/rpl_loaddata.dat' into table test.t1;
select count(*) from test.t1;
count(*)
2
-show binlog events from <binlog_start>;
+show binlog events from 107;
Log_name Pos Event_type Server_id End_log_pos Info
drop table test.t1;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_log_pos.result b/mysql-test/suite/engines/funcs/r/rpl_log_pos.result
index 1b2ded26f66..df4512fa0ea 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_log_pos.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_log_pos.result
@@ -4,23 +4,39 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
+show master status;
+File Position Binlog_Do_DB Binlog_Ignore_DB
+master-bin.000001 107 <Binlog_Ignore_DB>
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 107 # # master-bin.000001 Yes Yes 0 0 107 # None 0 No # No 0 0 1
stop slave;
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=107;
start slave;
stop slave;
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=107;
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 107 # # master-bin.000001 No No 0 0 107 # None 0 No # No 0 0 1
start slave;
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 107 # # master-bin.000001 Yes Yes 0 0 107 # None 0 No # No 0 0 1
stop slave;
-# impossible position leads to an error
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=178;
start slave;
-Last_IO_Error = Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+# 127.0.0.1 root MASTER_PORT 1 master-bin.000001 178 # # master-bin.000001 No Yes 0 0 178 # None 0 No # No 1236 Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position' 0 1
+show master status;
+File Position Binlog_Do_DB Binlog_Ignore_DB
+master-bin.000001 107 <Binlog_Ignore_DB>
create table if not exists t1 (n int);
drop table if exists t1;
create table t1 (n int);
insert into t1 values (1),(2),(3);
stop slave;
-change master to master_log_pos=MASTER_LOG_POS;
+change master to master_log_pos=207;
start slave;
select * from t1 ORDER BY n;
n
diff --git a/mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result b/mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result
index 0eb3d7e8ff9..13f7fbfbdeb 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_rbr_to_sbr.result
@@ -8,17 +8,48 @@ start slave;
CREATE TABLE t1 (a INT, b LONG);
INSERT INTO t1 VALUES (1,1), (2,2);
INSERT INTO t1 VALUES (3,UUID()), (4,UUID());
-show binlog events from <binlog_start>;
+SHOW BINLOG EVENTS;
**** On Slave ****
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b LONG)
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-show binlog events from <binlog_start>;
+SHOW SLAVE STATUS;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_PORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File #
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running Yes
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
+SHOW BINLOG EVENTS;
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_drop.result b/mysql-test/suite/engines/funcs/r/rpl_row_drop.result
index 048e07271b3..d45bbadf7df 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_drop.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_drop.result
@@ -41,11 +41,14 @@ t1
t2
**** On Master ****
DROP TABLE t1,t2;
-show binlog events from <binlog_start>;
+SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a int)
-master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int)
-master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+master-bin.000001 4 Format_desc 1 107 Server ver: VERSION, Binlog ver: 4
+master-bin.000001 107 Query 1 193 use `test`; CREATE TABLE t1 (a int)
+master-bin.000001 193 Query 1 279 use `test`; CREATE TABLE t2 (a int)
+master-bin.000001 279 Query 1 403 use `test`; DROP TEMPORARY TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 403 Query 1 527 use `test`; DROP TEMPORARY TABLE IF EXISTS `t2` /* generated by server */
+master-bin.000001 527 Query 1 631 use `test`; DROP TABLE `t1` /* generated by server */
SHOW TABLES;
Tables_in_test
t2
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result b/mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result
index cd7528280d0..aff54e01b95 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_inexist_tbl.result
@@ -17,5 +17,45 @@ a
0
drop table t1;
insert into t1 values (1);
-Last_SQL_Error = Error 'Table 'test.t1' doesn't exist' on opening tables
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_MYPORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File #
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table test.t2
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 1146
+Last_Error Error executing row event: 'Table 'test.t1' doesn't exist'
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 1146
+Last_SQL_Error Error executing row event: 'Table 'test.t1' doesn't exist'
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
drop table t1, t2;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_reset_slave.result b/mysql-test/suite/engines/funcs/r/rpl_row_reset_slave.result
index 7bf09df31ca..5499d41bc1f 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_reset_slave.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_reset_slave.result
@@ -11,8 +11,9 @@ change master to master_user='test';
Master_User test
Master_Host 127.0.0.1
reset slave;
-Master_User root
+Master_User test
Master_Host 127.0.0.1
+change master to master_user='root';
include/start_slave.inc
Master_User root
Master_Host 127.0.0.1
@@ -30,11 +31,11 @@ include/stop_slave.inc
reset slave;
change master to master_user='impossible_user_name';
start slave;
-include/stop_slave.inc
+stop slave;
change master to master_user='root';
include/start_slave.inc
-include/stop_slave.inc
+stop slave;
change master to master_user='impossible_user_name';
start slave;
-include/stop_slave.inc
+stop slave;
reset slave;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_sp005.result b/mysql-test/suite/engines/funcs/r/rpl_row_sp005.result
index 01e1970e0df..58c53b394b2 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_sp005.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_sp005.result
@@ -77,6 +77,8 @@ id2
< ---- Master selects-- >
-------------------------
CALL test.p1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM test.t3 ORDER BY id3;
id3 c
1 MySQL
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_trig003.result b/mysql-test/suite/engines/funcs/r/rpl_row_trig003.result
index 43c2ecde2b4..131af933b41 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_trig003.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_trig003.result
@@ -69,9 +69,15 @@ INSERT INTO test.t2 VALUES(NULL,0,'Testing MySQL databases is a cool ', 'MySQL C
UPDATE test.t1 SET b1 = 0 WHERE b1 = 1;
INSERT INTO test.t2 VALUES(NULL,1,'This is an after update test.', 'If this works, total will not be zero on the master or slave',1.4321,5.221,0,YEAR(NOW()),NOW());
UPDATE test.t2 SET b1 = 0 WHERE b1 = 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
INSERT INTO test.t1 VALUES(NULL,1,'add some more test data test.', 'and hope for the best', 3.321,5.221,0,YEAR(NOW()),NOW());
DELETE FROM test.t1 WHERE id = 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
DELETE FROM test.t2 WHERE id = 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
DROP TRIGGER test.t1_bi;
DROP TRIGGER test.t2_ai;
DROP TRIGGER test.t1_bu;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_row_until.result b/mysql-test/suite/engines/funcs/r/rpl_row_until.result
index 72dd1a6a7c3..d8637578ecc 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_row_until.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_row_until.result
@@ -12,39 +12,201 @@ create table t2(n int not null auto_increment primary key);
insert into t2 values (1),(2);
insert into t2 values (3),(4);
drop table t2;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=311;
select * from t1;
n
1
2
3
4
-start slave until master_log_file='master-no-such-bin.000001', master_log_pos=MASTER_LOG_POS;
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_MYPORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File slave-relay-bin.000004
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running #
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition Master
+Until_Log_File master-bin.000001
+Until_Log_Pos 311
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
+start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
select * from t1;
-n
-1
-2
-3
-4
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=RELAY_LOG_POS;
+n 1
+n 2
+n 3
+n 4
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_MYPORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File slave-relay-bin.000004
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running #
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition Master
+Until_Log_File master-no-such-bin.000001
+Until_Log_Pos 291
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
+start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
select * from t2;
-n
-1
-2
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_MYPORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File slave-relay-bin.000004
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running #
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition Relay
+Until_Log_File slave-relay-bin.000004
+Until_Log_Pos 728
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
start slave;
stop slave;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
-start slave until master_log_file='master-bin', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=740;
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User root
+Master_Port MASTER_MYPORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File slave-relay-bin.000004
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Yes
+Slave_SQL_Running No
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition Master
+Until_Log_File master-bin.000001
+Until_Log_Pos 740
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master #
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno 0
+Last_IO_Error
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
+start slave until master_log_file='master-bin', master_log_pos=561;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS, relay_log_pos=RELAY_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
start slave until master_log_file='master-bin.000001';
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
start slave until relay_log_file='slave-relay-bin.000002';
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
-start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=MASTER_LOG_POS;
+start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
start slave sql_thread;
-start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS;
+start slave until master_log_file='master-bin.000001', master_log_pos=740;
Warnings:
-Note 1254 Slave is already running
+Level Note
+Code 1254
+Message Slave is already running
diff --git a/mysql-test/suite/engines/funcs/r/rpl_server_id1.result b/mysql-test/suite/engines/funcs/r/rpl_server_id1.result
index 1e7108d7961..700bc270f07 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_server_id1.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_server_id1.result
@@ -8,8 +8,10 @@ create table t1 (n int);
reset master;
stop slave;
change master to master_port=SLAVE_PORT;
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+ 127.0.0.1 root SLAVE_PORT 1 4 slave-relay-bin.000001 4 No No # # 0 0 0 107 None 0 No NULL No 0 0 1
start slave;
-Last_IO_Error = Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
insert into t1 values (1);
show status like "slave_running";
Variable_name Value
diff --git a/mysql-test/suite/engines/funcs/r/rpl_server_id2.result b/mysql-test/suite/engines/funcs/r/rpl_server_id2.result
index 066b563c4e8..f8d24f70776 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_server_id2.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_server_id2.result
@@ -8,6 +8,9 @@ create table t1 (n int);
reset master;
stop slave;
change master to master_port=SLAVE_PORT;
+show slave status;
+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id
+ 127.0.0.1 root SLAVE_PORT 1 4 slave-relay-bin.000001 4 No No # 0 0 0 107 None 0 No NULL No 0 0 1
start slave;
insert into t1 values (1);
select * from t1;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_slave_status.result b/mysql-test/suite/engines/funcs/r/rpl_slave_status.result
index c4dc7686045..0e438d294fd 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_slave_status.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_slave_status.result
@@ -18,5 +18,46 @@ drop user rpl@127.0.0.1;
flush privileges;
stop slave;
start slave;
+show slave status;
+Slave_IO_State #
+Master_Host 127.0.0.1
+Master_User rpl
+Master_Port MASTER_MYPORT
+Connect_Retry 1
+Master_Log_File master-bin.000001
+Read_Master_Log_Pos #
+Relay_Log_File #
+Relay_Log_Pos #
+Relay_Master_Log_File master-bin.000001
+Slave_IO_Running Connecting
+Slave_SQL_Running Yes
+Replicate_Do_DB
+Replicate_Ignore_DB
+Replicate_Do_Table
+Replicate_Ignore_Table
+Replicate_Wild_Do_Table
+Replicate_Wild_Ignore_Table
+Last_Errno 0
+Last_Error
+Skip_Counter 0
+Exec_Master_Log_Pos #
+Relay_Log_Space #
+Until_Condition None
+Until_Log_File
+Until_Log_Pos 0
+Master_SSL_Allowed No
+Master_SSL_CA_File
+Master_SSL_CA_Path
+Master_SSL_Cert
+Master_SSL_Cipher
+Master_SSL_Key
+Seconds_Behind_Master NULL
+Master_SSL_Verify_Server_Cert No
+Last_IO_Errno #
+Last_IO_Error #
+Last_SQL_Errno 0
+Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
drop table t1;
drop table t1;
diff --git a/mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result b/mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result
index e7306cd6293..b0d92f3ca3f 100644
--- a/mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result
+++ b/mysql-test/suite/engines/funcs/r/rpl_switch_stm_row_mixed.result
@@ -376,7 +376,7 @@ CREATE TABLE t12 (data LONG);
LOCK TABLES t12 WRITE;
INSERT INTO t12 VALUES(UUID());
UNLOCK TABLES;
-show binlog events from <binlog_start>;
-show binlog events from <binlog_start>;
+show binlog events;
+show binlog events;
drop database mysqltest1;
set global binlog_format= @saved_binlog_format;
diff --git a/mysql-test/suite/engines/funcs/r/sf_alter.result b/mysql-test/suite/engines/funcs/r/sf_alter.result
index e89f529ba09..8885b20d557 100644
--- a/mysql-test/suite/engines/funcs/r/sf_alter.result
+++ b/mysql-test/suite/engines/funcs/r/sf_alter.result
@@ -35,6 +35,8 @@ ALTER FUNCTION sf1 #DET# ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -52,6 +54,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -72,6 +76,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -98,6 +105,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -163,6 +172,8 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -180,6 +191,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -200,6 +213,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -226,6 +242,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -291,6 +309,8 @@ ALTER FUNCTION sf1 #DET# NO SQL ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -308,6 +328,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -328,6 +350,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -354,6 +379,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -419,6 +446,8 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -436,6 +465,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -456,6 +487,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -482,6 +516,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -547,6 +583,8 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -564,6 +602,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -584,6 +624,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -610,6 +653,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -675,6 +720,8 @@ ALTER FUNCTION sf1 #DET# COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -692,6 +739,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -712,6 +761,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -738,6 +790,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -803,6 +857,8 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -820,6 +876,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -840,6 +898,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -866,6 +927,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -931,6 +994,8 @@ ALTER FUNCTION sf1 #DET# NO SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -948,6 +1013,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -968,6 +1035,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -994,6 +1064,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1059,6 +1131,8 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1076,6 +1150,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1096,6 +1172,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1122,6 +1201,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1187,6 +1268,8 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1204,6 +1287,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1224,6 +1309,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1250,6 +1338,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1315,6 +1405,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1332,6 +1424,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1352,6 +1446,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1378,6 +1475,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1443,6 +1542,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1460,6 +1561,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1480,6 +1583,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1506,6 +1612,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1571,6 +1679,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1588,6 +1698,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1608,6 +1720,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1634,6 +1749,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1699,6 +1816,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1716,6 +1835,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1736,6 +1857,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1762,6 +1886,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1827,6 +1953,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1844,6 +1972,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1864,6 +1994,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1890,6 +2023,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1955,6 +2090,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1972,6 +2109,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1992,6 +2131,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2018,6 +2160,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2083,6 +2227,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2100,6 +2246,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2120,6 +2268,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2146,6 +2297,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2211,6 +2364,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2228,6 +2383,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2248,6 +2405,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2274,6 +2434,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2339,6 +2501,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2356,6 +2520,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2376,6 +2542,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2402,6 +2571,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2467,6 +2638,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2484,6 +2657,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2504,6 +2679,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2530,6 +2708,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2595,6 +2775,8 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2612,6 +2794,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2632,6 +2816,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2658,6 +2845,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2723,6 +2912,8 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2740,6 +2931,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2760,6 +2953,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2786,6 +2982,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2851,6 +3049,8 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2868,6 +3068,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2888,6 +3090,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2914,6 +3119,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2979,6 +3186,8 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2996,6 +3205,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3016,6 +3227,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3042,6 +3256,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3107,6 +3323,8 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3124,6 +3342,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3144,6 +3364,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3170,6 +3393,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3235,6 +3460,8 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3252,6 +3479,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3272,6 +3501,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3298,6 +3530,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3363,6 +3597,8 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment'
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3380,6 +3616,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3400,6 +3638,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3426,6 +3667,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3491,6 +3734,8 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3508,6 +3753,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3528,6 +3775,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3554,6 +3804,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3619,6 +3871,8 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3636,6 +3890,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3656,6 +3912,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3682,6 +3941,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3747,6 +4008,8 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comm
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3764,6 +4027,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3784,6 +4049,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3810,6 +4078,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3875,6 +4145,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3892,6 +4164,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3912,6 +4186,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -3938,6 +4215,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4003,6 +4282,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4020,6 +4301,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4040,6 +4323,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4066,6 +4352,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4131,6 +4419,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4148,6 +4438,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4168,6 +4460,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4194,6 +4489,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4259,6 +4556,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4276,6 +4575,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4296,6 +4597,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4322,6 +4626,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4387,6 +4693,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4404,6 +4712,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4424,6 +4734,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4450,6 +4763,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4515,6 +4830,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY INVOKER COMMENT 'comment'
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4532,6 +4849,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4552,6 +4871,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4578,6 +4900,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4643,6 +4967,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4660,6 +4986,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4680,6 +5008,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4706,6 +5037,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4771,6 +5104,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comm
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4788,6 +5123,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4808,6 +5145,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4834,6 +5174,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4899,6 +5241,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER COMME
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4916,6 +5260,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4936,6 +5282,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -4962,6 +5311,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5027,6 +5378,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER CO
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5044,6 +5397,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5064,6 +5419,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5090,6 +5448,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5155,6 +5515,8 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5172,6 +5534,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5192,6 +5556,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5218,6 +5585,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5283,6 +5652,8 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5300,6 +5671,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5320,6 +5693,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5346,6 +5722,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5411,6 +5789,8 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5428,6 +5808,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5448,6 +5830,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5474,6 +5859,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5539,6 +5926,8 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5556,6 +5945,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5576,6 +5967,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5602,6 +5996,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5667,6 +6063,8 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5684,6 +6082,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5704,6 +6104,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5730,6 +6133,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5795,6 +6200,8 @@ ALTER FUNCTION sf1 #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5812,6 +6219,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5832,6 +6241,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5858,6 +6270,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5923,6 +6337,8 @@ ALTER FUNCTION sf1 #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment'
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5940,6 +6356,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5960,6 +6378,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -5986,6 +6407,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6051,6 +6474,8 @@ ALTER FUNCTION sf1 #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6068,6 +6493,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6088,6 +6515,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6114,6 +6544,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6179,6 +6611,8 @@ ALTER FUNCTION sf1 #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'commen
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6196,6 +6630,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6216,6 +6652,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6242,6 +6681,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6307,6 +6748,8 @@ ALTER FUNCTION sf1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'com
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6324,6 +6767,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6344,6 +6789,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6370,6 +6818,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6435,6 +6885,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6452,6 +6904,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6472,6 +6926,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6498,6 +6955,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6563,6 +7022,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6580,6 +7041,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6600,6 +7063,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6626,6 +7092,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6691,6 +7159,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6708,6 +7178,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6728,6 +7200,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6754,6 +7229,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6819,6 +7296,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER ;
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6836,6 +7315,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6856,6 +7337,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6882,6 +7366,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6947,6 +7433,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6964,6 +7452,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -6984,6 +7474,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7010,6 +7503,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7075,6 +7570,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# SQL SECURITY DEFINER COMMENT 'comment'
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7092,6 +7589,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7112,6 +7611,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7138,6 +7640,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7203,6 +7707,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER COMMEN
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7220,6 +7726,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7240,6 +7748,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7266,6 +7777,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7331,6 +7844,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER COMMENT 'com
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7348,6 +7863,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7368,6 +7885,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7394,6 +7914,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7459,6 +7981,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER COMM
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7476,6 +8000,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7496,6 +8022,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7522,6 +8051,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7587,6 +8118,8 @@ ALTER FUNCTION sf1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER C
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7604,6 +8137,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7624,6 +8159,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -7650,6 +8188,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sf_cursor.result b/mysql-test/suite/engines/funcs/r/sf_cursor.result
index 2fe2171b39d..e43bcaa50a3 100644
--- a/mysql-test/suite/engines/funcs/r/sf_cursor.result
+++ b/mysql-test/suite/engines/funcs/r/sf_cursor.result
@@ -34,6 +34,8 @@ END//
SELECT sf1();
sf1()
0
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -51,6 +53,8 @@ id data
2 1
3 3
INSERT INTO t4 VALUES(sf1());
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -71,6 +75,9 @@ id data
3 3
3 3
UPDATE t4 SET i = sf1() + 1 WHERE i = sf1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -97,6 +104,8 @@ id data
3 3
3 3
DELETE FROM t4 WHERE i = sf1() + 1;
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sp_alter.result b/mysql-test/suite/engines/funcs/r/sp_alter.result
index 22036fecde7..794a692edc4 100644
--- a/mysql-test/suite/engines/funcs/r/sp_alter.result
+++ b/mysql-test/suite/engines/funcs/r/sp_alter.result
@@ -31,6 +31,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -80,6 +82,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -129,6 +133,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -178,6 +184,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -227,6 +235,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -276,6 +286,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -325,6 +337,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -374,6 +388,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -423,6 +439,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -472,6 +490,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -521,6 +541,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -570,6 +592,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -619,6 +643,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -668,6 +694,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -717,6 +745,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -766,6 +796,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -815,6 +847,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -864,6 +898,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -913,6 +949,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -962,6 +1000,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1011,6 +1051,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1060,6 +1102,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1109,6 +1153,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1158,6 +1204,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1207,6 +1255,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1256,6 +1306,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1305,6 +1357,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1354,6 +1408,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1403,6 +1459,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1452,6 +1510,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1501,6 +1561,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1550,6 +1612,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1599,6 +1663,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1648,6 +1714,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1697,6 +1765,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1746,6 +1816,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1795,6 +1867,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1844,6 +1918,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1893,6 +1969,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1942,6 +2020,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY INVOKER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -1991,6 +2071,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2040,6 +2122,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2089,6 +2173,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2138,6 +2224,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2187,6 +2275,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2236,6 +2326,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2285,6 +2377,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2334,6 +2428,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2383,6 +2479,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2432,6 +2530,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2481,6 +2581,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2530,6 +2632,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2579,6 +2683,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2628,6 +2734,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2677,6 +2785,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2726,6 +2836,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2775,6 +2887,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# CONTAINS SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2824,6 +2938,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# NO SQL SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2873,6 +2989,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# READS SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
@@ -2922,6 +3040,8 @@ CLOSE cur2;
END//
ALTER PROCEDURE sp1 LANGUAGE SQL #DET# MODIFIES SQL DATA SQL SECURITY DEFINER COMMENT 'comment' ;
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/r/sp_cursor.result b/mysql-test/suite/engines/funcs/r/sp_cursor.result
index 6ce2aae030c..58383f8a9cb 100644
--- a/mysql-test/suite/engines/funcs/r/sp_cursor.result
+++ b/mysql-test/suite/engines/funcs/r/sp_cursor.result
@@ -30,6 +30,8 @@ CLOSE cur1;
CLOSE cur2;
END//
CALL sp1();
+Warnings:
+Error 1329 No data - zero rows fetched, selected, or processed
SELECT * FROM t1 ORDER BY id;
id data
1 1
diff --git a/mysql-test/suite/engines/funcs/t/disabled.def b/mysql-test/suite/engines/funcs/t/disabled.def
index 19de28441f0..2d8ea2d4ff8 100644
--- a/mysql-test/suite/engines/funcs/t/disabled.def
+++ b/mysql-test/suite/engines/funcs/t/disabled.def
@@ -1,8 +1,99 @@
# List of disabled tests
# test name : comment
-rpl_redirect : Fails due to bug#49978
-crash_manycolumns_string : Bug#50495 'Row size too large' for plugin, but works for built-in innodb
-ix_unique_lob : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
-ix_unique_string_length : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
-rpl_empty_master_crash : Test not applicable in 5.5+
-rpl_REDIRECT : Test not applicable in 5.5+
+rpl_redirect : Fails due to bug#49978
+crash_manycolumns_string : Bug#50495 'Row size too large' for plugin, but works for built-in innodb
+ix_unique_lob : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
+ix_unique_string_length : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
+rpl_empty_master_crash : Test not applicable in 5.5+
+rpl_REDIRECT : Test not applicable in 5.5+
+
+rpl_create_database : Result Difference Due To Change In .inc file
+rpl_loaddata_m : Result Difference Due To Change In .inc file
+rpl_sp_effects : Result Difference Due To Change In .inc file
+rpl_variables : Result Difference Due To Change In .inc file
+rpl_loaddata_s : Result Difference Due To Change In .inc file
+rpl_dual_pos_advance : Result Difference Due To Change In .inc file
+rpl000011 : Result Difference Due To Change In .inc file
+rpl000013 : Result Difference Due To Change In .inc file
+rpl_000015 : Result Difference Due To Change In .inc file
+rpl_LD_INFILE : Result Difference Due To Change In .inc file
+rpl_alter : Result Difference Due To Change In .inc file
+rpl_alter_db : Result Difference Due To Change In .inc file
+rpl_alter_db : Result Difference Due To Change In .inc file
+rpl_bit : Result Difference Due To Change In .inc file
+rpl_bit_npk : Result Difference Due To Change In .inc file
+rpl_change_master : Result Difference Due To Change In .inc file
+rpl_do_grant : Result Difference Due To Change In .inc file
+rpl_drop : Result Difference Due To Change In .inc file
+rpl_drop_db : Result Difference Due To Change In .inc file
+rpl_flushlog_loop : Result Difference Due To Change In .inc file
+rpl_get_lock : Result Difference Due To Change In .inc file
+rpl_get_lock : Result Difference Due To Change In .inc file
+rpl_insert : Result Difference Due To Change In .inc file
+rpl_insert_select : Result Difference Due To Change In .inc file
+rpl_loaddata2 : Result Difference Due To Change In .inc file
+rpl_loaddatalocal : Result Difference Due To Change In .inc file
+rpl_loadfile : Result Difference Due To Change In .inc file
+rpl_log_pos : Result Difference Due To Change In .inc file
+rpl_many_optimize : Result Difference Due To Change In .inc file
+rpl_master_pos_wait : Result Difference Due To Change In .inc file
+rpl_misc_functions : Result Difference Due To Change In .inc file
+rpl_ps : Result Difference Due To Change In .inc file
+rpl_server_id1 : Result Difference Due To Change In .inc file
+rpl_session_var : Result Difference Due To Change In .inc file
+rpl_sf : Result Difference Due To Change In .inc file
+rpl_slave_status : Result Difference Due To Change In .inc file
+rpl_sp004 : Result Difference Due To Change In .inc file
+rpl_start_stop_slave : Result Difference Due To Change In .inc file
+rpl_stm_max_relay_size : Result Difference Due To Change In .inc file
+rpl_stm_mystery22 : Result Difference Due To Change In .inc file
+rpl_stm_no_op : Result Difference Due To Change In .inc file
+rpl_stm_reset_slave : Result Difference Due To Change In .inc file
+rpl_temp_table : Result Difference Due To Change In .inc file
+rpl_temporary : Result Difference Due To Change In .inc file
+rpl_trigger : Result Difference Due To Change In .inc file
+rpl_trunc_temp : Result Difference Due To Change In .inc file
+rpl_user_variables : Result Difference Due To Change In .inc file
+rpl_server_id2 : Result Difference Due To Change In .inc file
+rpl000010 : Result Difference Due To Change In .inc file
+rpl_init_slave : Result Difference Due To Change In .inc file
+rpl_multi_delete2 : Result Difference Due To Change In .inc file
+rpl_view : Result Difference Due To Change In .inc file
+rpl_ignore_table_update : Result Difference Due To Change In .inc file
+rpl_err_ignoredtable : Result Difference Due To Change In .inc file
+rpl_multi_update4 : Result Difference Due To Change In .inc file
+rpl_multi_delete : Result Difference Due To Change In .inc file
+rpl_ignore_grant : Result Difference Due To Change In .inc file
+rpl_ignore_revoke : Result Difference Due To Change In .inc file
+rpl_free_items : Result Difference Due To Change In .inc file
+rpl_replicate_ignore_db : Result Difference Due To Change In .inc file
+rpl000017 : Result Difference Due To Change In .inc file
+rpl_skip_error : Result Difference Due To Change In .inc file
+
+rpl_row_until : Test Present in rpl suite as well . Test Fails table with t2 table not found.
+rpl_loaddata_s : Test Present in rpl suite as well . Test Fails due to bin log truncation.
+rpl_log_pos : Test Present in rpl suite as well . Test Fails due to bin log truncation.
+rpl_row_NOW : Result Difference Due To Change In .inc file
+rpl_row_USER : Result Difference Due To Change In .inc file
+rpl_row_drop : Result Difference Due To Change In .inc file
+rpl_row_func001 : Result Difference Due To Change In .inc file
+rpl_row_max_relay_size : Result Difference Due To Change In .inc file
+rpl_row_reset_slave : Result Difference Due To Change In .inc file
+rpl_row_sp001 : Result Difference Due To Change In .inc file
+rpl_row_sp005 : Result Difference Due To Change In .inc file
+rpl_row_sp008 : Result Difference Due To Change In .inc file
+rpl_row_sp009 : Result Difference Due To Change In .inc file
+rpl_row_sp010 : Result Difference Due To Change In .inc file
+rpl_row_sp011 : Result Difference Due To Change In .inc file
+rpl_row_sp012 : Result Difference Due To Change In .inc file
+rpl_row_stop_middle : Result Difference Due To Change In .inc file
+rpl_row_trig001 : Result Difference Due To Change In .inc file
+rpl_row_trig002 : Result Difference Due To Change In .inc file
+rpl_row_trig003 : Result Difference Due To Change In .inc file
+rpl_row_view01 : Result Difference Due To Change In .inc file
+rpl_switch_stm_row_mixed : Result Difference Due To Change In .inc file
+rpl_relayspace : Result Difference Due To Change In .inc file
+rpl_row_inexist_tbl : Result Difference Due To Change In .inc file
+rpl_sp : Result Difference Due To Change In .inc file
+rpl_rbr_to_sbr : Result Difference Due To Change In .inc file
+rpl_row_until : Test Timesout
diff --git a/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_error.test b/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_error.test
index 1b07a750b7e..f2b8a0afcdd 100644
--- a/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_error.test
+++ b/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_error.test
@@ -43,14 +43,13 @@ INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','def','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','def');
INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
-# Bug#52430 : Uncomment the following lines
-# when the bug is fixed
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+# Bug#52430
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
--sorted_result
SELECT hex(c1),hex(c2),hex(c3) FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_ignore.test b/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_ignore.test
index 58d97d9793f..98d34144b14 100644
--- a/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_ignore.test
+++ b/mysql-test/suite/engines/funcs/t/in_multicolumn_string_pk_constraint_ignore.test
@@ -43,14 +43,13 @@ INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','def','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','def');
INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
-# Bug#52430 : Uncomment the following lines
-# when the bug is fixed
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+# Bug#52430
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/engines/funcs/t/in_multicolumn_string_unique_constraint_error.test b/mysql-test/suite/engines/funcs/t/in_multicolumn_string_unique_constraint_error.test
index d5e58f1bb1d..07529317f88 100644
--- a/mysql-test/suite/engines/funcs/t/in_multicolumn_string_unique_constraint_error.test
+++ b/mysql-test/suite/engines/funcs/t/in_multicolumn_string_unique_constraint_error.test
@@ -43,14 +43,13 @@ INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','def','abc');
INSERT INTO t1 (c1,c2,c3) VALUES('def','abc','def');
INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
-# Bug#52430 : Uncomment the following lines
-# when the bug is fixed
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
+# Bug#52430
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','abc');
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','abc','def');
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1,c2,c3) VALUES('abc','def','def');
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/engines/funcs/t/in_string_pk_constraint_error.test b/mysql-test/suite/engines/funcs/t/in_string_pk_constraint_error.test
index 9a47ad296b2..5202992947c 100644
--- a/mysql-test/suite/engines/funcs/t/in_string_pk_constraint_error.test
+++ b/mysql-test/suite/engines/funcs/t/in_string_pk_constraint_error.test
@@ -18,10 +18,9 @@ DROP TABLE t1;
CREATE TABLE t1(c1 BINARY(10) NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES('abc');
INSERT INTO t1 (c1) VALUES('def');
-# Bug#52430 : Uncomment the following lines
-# when the bug is fixed
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1) VALUES('abc');
+# Bug#52430
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1) VALUES('abc');
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 VARBINARY(10) NOT NULL PRIMARY KEY);
diff --git a/mysql-test/suite/engines/funcs/t/in_string_unique_constraint_error.test b/mysql-test/suite/engines/funcs/t/in_string_unique_constraint_error.test
index 27d60c9caad..bc29aa57ec9 100644
--- a/mysql-test/suite/engines/funcs/t/in_string_unique_constraint_error.test
+++ b/mysql-test/suite/engines/funcs/t/in_string_unique_constraint_error.test
@@ -18,10 +18,9 @@ DROP TABLE t1;
CREATE TABLE t1(c1 BINARY(10) NULL UNIQUE);
INSERT INTO t1 (c1) VALUES('abc');
INSERT INTO t1 (c1) VALUES('def');
-# Bug#52430 : Uncomment the following lines
-# when the bug is fixed
-#--error ER_DUP_ENTRY
-#INSERT INTO t1 (c1) VALUES('abc');
+# Bug#52430
+--error ER_DUP_ENTRY
+INSERT INTO t1 (c1) VALUES('abc');
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1(c1 VARBINARY(10) NULL UNIQUE);
diff --git a/mysql-test/suite/engines/funcs/t/ps_string_not_null.test b/mysql-test/suite/engines/funcs/t/ps_string_not_null.test
index f9e937cb24d..662adfd7a88 100644
--- a/mysql-test/suite/engines/funcs/t/ps_string_not_null.test
+++ b/mysql-test/suite/engines/funcs/t/ps_string_not_null.test
@@ -1,5 +1,5 @@
--disable_warnings
-DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1(c1 CHAR(100) NOT NULL);
PREPARE stmt1 FROM 'INSERT INTO t1 (c1) VALUES(?)';
diff --git a/mysql-test/suite/engines/funcs/t/rpl000013.test b/mysql-test/suite/engines/funcs/t/rpl000013.test
index 69a102e84ce..2c727107563 100644
--- a/mysql-test/suite/engines/funcs/t/rpl000013.test
+++ b/mysql-test/suite/engines/funcs/t/rpl000013.test
@@ -14,14 +14,22 @@ connection slave;
sync_with_master;
connection master;
+--disable_query_log
+CALL mtr.add_suppression(" Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--enable_query_log
+
create table t2(n int);
create temporary table t1 (n int);
insert into t1 values(1),(2),(3);
+--disable_warnings
insert into t2 select * from t1;
+--enable_warnings
connection master1;
create temporary table t1 (n int);
insert into t1 values (4),(5);
+--disable_warnings
insert into t2 select * from t1 as t10;
+--enable_warnings
save_master_pos;
disconnect master;
connection slave;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_000015.test b/mysql-test/suite/engines/funcs/t/rpl_000015.test
index 6c18e66a3a6..817ed6f407c 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_000015.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_000015.test
@@ -11,25 +11,31 @@ save_master_pos;
connection slave;
stop slave;
reset slave;
-let $status_items= Master_Log_File, Read_Master_Log_Pos, Relay_Master_Log_File, Exec_Master_Log_Pos;
-source include/show_slave_status.inc;
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+show slave status;
change master to master_host='127.0.0.1';
# The following needs to be cleaned up when change master is fixed
-source include/show_slave_status.inc;
-
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+show slave status;
--replace_result $MASTER_MYPORT MASTER_PORT
eval change master to master_host='127.0.0.1',master_user='root',
master_password='',master_port=$MASTER_MYPORT;
-source include/show_slave_status.inc;
-
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+show slave status;
start slave;
sync_with_master;
-let $status_items= Master_Log_File, Relay_Master_Log_File;
-source include/show_slave_status.inc;
-source include/check_slave_is_running.inc;
-
--vertical_results
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 5 # 8 # 9 # 23 # 33 #
+--replace_column 33 #
+show slave status;
connection master;
--disable_warnings
drop table if exists t1;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_change_master.test b/mysql-test/suite/engines/funcs/t/rpl_change_master.test
index ce8c921c2ad..c031464c95e 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_change_master.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_change_master.test
@@ -18,26 +18,13 @@ save_master_pos;
connection slave;
--real_sleep 3 # wait for I/O thread to have read updates
stop slave;
-source include/wait_for_slave_to_stop.inc;
-
-let $read_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
-let $exec_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-if (`SELECT $read_pos = $exec_pos`)
-{
- source include/show_rpl_debug_info.inc;
- echo 'Read_Master_Log_Pos: $read_pos' == 'Exec_Master_Log_Pos: $exec_pos';
- die Failed because Read_Master_Log_Pos is equal to Exec_Master_Log_Pos;
-}
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+show slave status;
change master to master_user='root';
-let $read_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
-let $exec_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-if (`SELECT $read_pos <> $exec_pos`)
-{
- source include/show_rpl_debug_info.inc;
- echo 'Read_Master_Log_Pos: $read_pos' <> 'Exec_Master_Log_Pos: $exec_pos';
- die Failed because Read_Master_Log_Pos is not equal to Exec_Master_Log_Pos;
-}
-
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+show slave status;
start slave;
sync_with_master;
select * from t1;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test b/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test
index 5f7af126940..6b23f1a0d03 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_err_ignoredtable.test
@@ -8,7 +8,7 @@
-- source include/master-slave.inc
--disable_query_log
-call mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
--enable_query_log
connection master;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test b/mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test
index 0b71817226a..2e481f5e5e7 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_flushlog_loop.test
@@ -41,7 +41,8 @@ sleep 5;
#
# Show status of slave
#
---let status_items= Relay_Log_File
---source include/show_slave_status.inc
---source include/check_slave_is_running.inc
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+SHOW SLAVE STATUS;
STOP SLAVE;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_get_lock.test b/mysql-test/suite/engines/funcs/t/rpl_get_lock.test
index 6a6489954c9..c57e9313899 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_get_lock.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_get_lock.test
@@ -1,7 +1,7 @@
source include/master-slave.inc;
--disable_query_log
-call mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
--enable_query_log
create table t1(n int);
diff --git a/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test b/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test
index 2dd2218eb5c..a06df3bbfc9 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test
@@ -20,7 +20,9 @@ save_master_pos;
connection slave;
sync_with_master;
select count(*) from test.t1; # check that LOAD was replicated
-source include/show_binlog_events.inc;
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
+show binlog events from 107; # should be nothing
# Cleanup
connection master;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_loadfile.test b/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
index 8216af76341..97ee89a6d95 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
@@ -13,7 +13,7 @@
-- source include/master-slave.inc
--disable_query_log
-call mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
--enable_query_log
# Begin clean up test section
diff --git a/mysql-test/suite/engines/funcs/t/rpl_log_pos.test b/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
index e07f0d5f2a7..3a762b19756 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
@@ -11,41 +11,36 @@
# Passes with rbr no problem, removed statement include [jbm]
source include/master-slave.inc;
-let $master_log_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
+--replace_column 3 <Binlog_Ignore_DB>
+show master status;
sync_slave_with_master;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
stop slave;
-
---replace_result $master_log_pos MASTER_LOG_POS
-eval change master to master_log_pos=$master_log_pos;
+change master to master_log_pos=107;
start slave;
sleep 5;
stop slave;
-
---replace_result $master_log_pos MASTER_LOG_POS
-eval change master to master_log_pos=$master_log_pos;
---let $slave_param= Read_Master_Log_Pos
---let $slave_param_value= $master_log_pos
---source include/wait_for_slave_param.inc
-
+change master to master_log_pos=107;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
start slave;
sleep 5;
---let $slave_param= Read_Master_Log_Pos
---let $slave_param_value= $master_log_pos
---source include/wait_for_slave_param.inc
---source include/check_slave_no_error.inc
-
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
stop slave;
---echo # impossible position leads to an error
---replace_result 177 MASTER_LOG_POS
-change master to master_log_pos=177;
+change master to master_log_pos=178;
start slave;
sleep 2;
-let $slave_io_errno= 1236;
-let $show_slave_io_error= 1;
-source include/wait_for_slave_io_error.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
connection master;
-
-let $master_log_pos= query_get_value(SHOW MASTER STATUS, Position, 1);
+--replace_column 3 <Binlog_Ignore_DB>
+show master status;
create table if not exists t1 (n int);
drop table if exists t1;
create table t1 (n int);
@@ -53,9 +48,7 @@ insert into t1 values (1),(2),(3);
save_master_pos;
connection slave;
stop slave;
-
---replace_result $master_log_pos MASTER_LOG_POS
-eval change master to master_log_pos=$master_log_pos;
+change master to master_log_pos=207;
start slave;
sync_with_master;
select * from t1 ORDER BY n;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_misc_functions.test b/mysql-test/suite/engines/funcs/t/rpl_misc_functions.test
index 205155a9a0e..6e4bedf7371 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_misc_functions.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_misc_functions.test
@@ -4,7 +4,7 @@
source include/master-slave.inc;
--disable_query_log
-call mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
--enable_query_log
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
diff --git a/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test b/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
index e78c74ab423..30d2688c3fb 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
@@ -9,17 +9,25 @@
CREATE TABLE t1 (a INT, b LONG);
INSERT INTO t1 VALUES (1,1), (2,2);
INSERT INTO t1 VALUES (3,UUID()), (4,UUID());
+let $VERSION=`select version()`;
+--replace_result $VERSION VERSION
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
# Different number of binlog events are generated by different engines
--disable_result_log
-source include/show_binlog_events.inc;
+SHOW BINLOG EVENTS;
--enable_result_log
sync_slave_with_master;
--echo **** On Slave ****
-source include/show_binlog_events.inc;
-
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS
+--replace_result $VERSION VERSION
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
# Different number of binlog events are generated by different engines
--disable_result_log
-source include/show_binlog_events.inc;
+SHOW BINLOG EVENTS;
--enable_result_log
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_slave.sql
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_drop.test b/mysql-test/suite/engines/funcs/t/rpl_row_drop.test
index d18ebc2846b..20c217a7c3a 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_drop.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_drop.test
@@ -30,7 +30,10 @@ connection master;
--echo **** On Master ****
# Should drop the non-temporary table t1 and the temporary table t2
DROP TABLE t1,t2;
-source include/show_binlog_events.inc;
+let $VERSION=`select version()`;
+--replace_result $VERSION VERSION
+--replace_regex /table_id: [0-9]+/table_id: #/
+SHOW BINLOG EVENTS;
SHOW TABLES;
sync_slave_with_master;
--echo **** On Slave ****
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test b/mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test
index dca2894c9da..736071a8ece 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_inexist_tbl.test
@@ -22,11 +22,13 @@ connection master;
insert into t1 values (1);
connection slave;
-# slave should have stopped because can't find table t1
+# slave should have stopped because can't find table t1
+wait_for_slave_to_stop;
# see if we have a good error message:
---let $slave_sql_errno= 1146
---let $show_slave_sql_error= 1
---source include/wait_for_slave_sql_error.inc
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--vertical_results
+show slave status;
# cleanup
connection master;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_row_until.test b/mysql-test/suite/engines/funcs/t/rpl_row_until.test
index b60734317c6..ccd9ce11637 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_row_until.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_row_until.test
@@ -18,50 +18,44 @@ connection master;
# create some events on master
create table t1(n int not null auto_increment primary key);
insert into t1 values (1),(2),(3),(4);
-let $master_log_pos_1= query_get_value(SHOW MASTER STATUS, Position, 1);
drop table t1;
-
create table t2(n int not null auto_increment primary key);
insert into t2 values (1),(2);
-let $master_log_pos_2= query_get_value(SHOW MASTER STATUS, Position, 1);
insert into t2 values (3),(4);
drop table t2;
# try to replicate all queries until drop of t1
connection slave;
---replace_result $master_log_pos_1 MASTER_LOG_POS
-eval start slave until master_log_file='master-bin.000001', master_log_pos=$master_log_pos_1;
+start slave until master_log_file='master-bin.000001', master_log_pos=311;
sleep 2;
wait_for_slave_to_stop;
# here table should be still not deleted
select * from t1;
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $master_log_pos_1
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
+show slave status;
# this should fail right after start
---replace_result 291 MASTER_LOG_POS
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
# again this table should be still not deleted
select * from t1;
sleep 2;
wait_for_slave_to_stop;
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $master_log_pos_1
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
+show slave status;
# try replicate all up to and not including the second insert to t2;
-let $master_log_pos= $master_log_pos_2;
-let $relay_log_file= slave-relay-bin.000004;
---source include/get_relay_log_pos.inc
---replace_result $relay_log_pos RELAY_LOG_POS
-eval start slave until relay_log_file='$relay_log_file', relay_log_pos=$relay_log_pos;
+start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
sleep 2;
wait_for_slave_to_stop;
select * from t2;
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $master_log_pos
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 9 # 11 # 22 # 23 # 33 #
+show slave status;
# clean up
start slave;
@@ -71,32 +65,27 @@ connection slave;
sync_with_master;
stop slave;
---let $exec_log_pos_1= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1)
# this should stop immediately as we are already there
---replace_result $master_log_pos_2 MASTER_LOG_POS
-eval start slave until master_log_file='master-bin.000001', master_log_pos=$master_log_pos_2;
+start slave until master_log_file='master-bin.000001', master_log_pos=740;
sleep 2;
wait_for_slave_to_stop;
# here the sql slave thread should be stopped
---let $slave_param= Exec_Master_Log_Pos
---let $slave_param_value= $exec_log_pos_1
---source include/check_slave_param.inc
+--vertical_results
+--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
+--replace_column 1 # 7 # 9 # 22 # 23 # 33 #
+show slave status;
#testing various error conditions
---replace_result 561 MASTER_LOG_POS
--error 1277
start slave until master_log_file='master-bin', master_log_pos=561;
---replace_result 561 MASTER_LOG_POS 12 RELAY_LOG_POS
--error 1277
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
--error 1277
start slave until master_log_file='master-bin.000001';
--error 1277
start slave until relay_log_file='slave-relay-bin.000002';
---replace_result 561 MASTER_LOG_POS
--error 1277
start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
# Warning should be given for second command
start slave sql_thread;
---replace_result 740 MASTER_LOG_POS
start slave until master_log_file='master-bin.000001', master_log_pos=740;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_server_id1.test b/mysql-test/suite/engines/funcs/t/rpl_server_id1.test
index 014f38d3544..71310750b60 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_server_id1.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_server_id1.test
@@ -12,13 +12,10 @@ reset master;
stop slave;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval change master to master_port=$SLAVE_MYPORT;
-source include/check_slave_no_error.inc;
-
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 16 # 18 #
+show slave status;
start slave;
-let $slave_io_errno= 1593;
-let $show_slave_io_error= 1;
-source include/wait_for_slave_io_error.inc;
-
insert into t1 values (1);
# can't MASTER_POS_WAIT(), it does not work in this weird setup
# (when slave is its own master without --replicate-same-server-id)
diff --git a/mysql-test/suite/engines/funcs/t/rpl_server_id2.test b/mysql-test/suite/engines/funcs/t/rpl_server_id2.test
index 5b8683ecfb1..0f2eb560d18 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_server_id2.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_server_id2.test
@@ -9,6 +9,9 @@ reset master;
stop slave;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval change master to master_port=$SLAVE_MYPORT;
+--replace_result $SLAVE_MYPORT SLAVE_PORT
+--replace_column 18 #
+show slave status;
start slave;
insert into t1 values (1);
save_master_pos;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_slave_status.test b/mysql-test/suite/engines/funcs/t/rpl_slave_status.test
index cc3fbf6abee..b3d6e49e215 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_slave_status.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_slave_status.test
@@ -22,7 +22,9 @@ drop table if exists t1;
--enable_warnings
create table t1 (n int);
insert into t1 values (1);
-sync_slave_with_master;
+save_master_pos;
+connection slave;
+sync_with_master;
select * from t1;
# 3. Delete new replication user
@@ -38,8 +40,12 @@ stop slave;
start slave;
# 5. Make sure Slave_IO_Running = No
-let $slave_io_errno= 1045;
-source include/wait_for_slave_io_error.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+# Column 1 is replaced, since the output can be either
+# "Connecting to master" or "Waiting for master update"
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 35 # 36 #
+--vertical_results
+show slave status;
# Cleanup (Note that slave IO thread is not running)
connection slave;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test b/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
index c9e2ab6b703..b9df07101fb 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
@@ -510,7 +510,9 @@ INSERT INTO t12 VALUES(UUID());
UNLOCK TABLES;
--disable_result_log
-source include/show_binlog_events.inc;
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
+show binlog events;
--enable_result_log
sync_slave_with_master;
@@ -527,7 +529,9 @@ diff_files $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_
connection master;
--disable_result_log
-source include/show_binlog_events.inc;
+--replace_column 2 # 5 #
+--replace_regex /table_id: [0-9]+/table_id: #/
+show binlog events;
--enable_result_log
# Now test that mysqlbinlog works fine on a binlog generated by the
diff --git a/mysql-test/suite/engines/funcs/t/rpl_temp_table.test b/mysql-test/suite/engines/funcs/t/rpl_temp_table.test
index 9b73961aeea..c13470f20b6 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_temp_table.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_temp_table.test
@@ -4,18 +4,26 @@
-- source include/have_binlog_format_mixed_or_statement.inc
-- source include/master-slave.inc
+--disable_query_log
+CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--enable_query_log
+
create table t2 (n int, PRIMARY KEY(n));
create temporary table t1 (n int);
create temporary table t3 (n int not null);
insert into t1 values(1),(2),(3),(100),(25),(26),(200),(300);
+--disable_warnings
insert into t2 select * from t1;
+--enable_warnings
alter table t3 add primary key(n);
flush logs;
insert into t3 values (1010);
+--disable_warnings
insert into t2 select * from t3;
+--enable_warnings
drop table if exists t3;
insert into t2 values (1012);
@@ -23,7 +31,9 @@ insert into t2 values (1012);
connection master1;
create temporary table t1 (n int);
insert into t1 values (4),(5);
+--disable_warnings
insert into t2 select * from t1;
+--enable_warnings
save_master_pos;
disconnect master;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_temporary.test b/mysql-test/suite/engines/funcs/t/rpl_temporary.test
index 1539abeaceb..aa90a5153bf 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_temporary.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_temporary.test
@@ -18,6 +18,10 @@ sync_with_master;
reset master;
connection master;
+--disable_query_log
+CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--enable_query_log
+
connect (con1,localhost,root,,);
#added on 2007/5/18
@@ -62,7 +66,9 @@ insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
connection con1;
create temporary table t3(f int);
+--disable_warnings
insert into t3 select * from t1 where f<6;
+--enable_warnings
sleep 1;
connection con2;
@@ -70,11 +76,15 @@ create temporary table t3(f int);
sleep 1;
connection con1;
+--disable_warnings
insert into t2 select count(*) from t3;
+--enable_warnings
sleep 1;
connection con2;
+--disable_warnings
insert into t3 select * from t1 where f>=4;
+--enable_warnings
sleep 1;
connection con1;
@@ -82,7 +92,9 @@ drop temporary table t3;
sleep 1;
connection con2;
+--disable_warnings
insert into t2 select count(*) from t3;
+--enable_warnings
drop temporary table t3;
select * from t2 ORDER BY f;
@@ -107,22 +119,30 @@ SET @@session.pseudo_thread_id=1;
create temporary table t3(f int);
SET TIMESTAMP=1040323952;
SET @@session.pseudo_thread_id=1;
+--disable_warnings
insert into t3 select * from t1 where f<6;
+--enable_warnings
SET TIMESTAMP=1040324145;
SET @@session.pseudo_thread_id=2;
create temporary table t3(f int);
SET TIMESTAMP=1040324186;
SET @@session.pseudo_thread_id=1;
+--disable_warnings
insert into t2 select count(*) from t3;
+--enable_warnings
SET TIMESTAMP=1040324200;
SET @@session.pseudo_thread_id=2;
+--disable_warnings
insert into t3 select * from t1 where f>=4;
+--enable_warnings
SET TIMESTAMP=1040324211;
SET @@session.pseudo_thread_id=1;
drop temporary table t3;
SET TIMESTAMP=1040324219;
SET @@session.pseudo_thread_id=2;
+--disable_warnings
insert into t2 select count(*) from t3;
+--enable_warnings
SET TIMESTAMP=1040324224;
SET @@session.pseudo_thread_id=2;
drop temporary table t3;
@@ -149,7 +169,9 @@ create table t5 (f int);
# find dumper's $id
select id from information_schema.processlist where command='Binlog Dump' into @id;
kill @id; # to stimulate reconnection by slave w/o timeout
+--disable_warnings
insert into t5 select * from t4;
+--enable_warnings
save_master_pos;
connection slave;
diff --git a/mysql-test/suite/engines/funcs/t/rpl_trigger.test b/mysql-test/suite/engines/funcs/t/rpl_trigger.test
index 2162c488bfc..77cc7a3b2c0 100644
--- a/mysql-test/suite/engines/funcs/t/rpl_trigger.test
+++ b/mysql-test/suite/engines/funcs/t/rpl_trigger.test
@@ -6,7 +6,7 @@
--source include/master-slave.inc
disable_query_log;
-call mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
enable_query_log;
--disable_warnings
diff --git a/mysql-test/suite/engines/iuds/r/insert_year.result b/mysql-test/suite/engines/iuds/r/insert_year.result
index 69d1139c037..386c8090434 100644
--- a/mysql-test/suite/engines/iuds/r/insert_year.result
+++ b/mysql-test/suite/engines/iuds/r/insert_year.result
@@ -2431,7 +2431,7 @@ c1 c2 c3 c4
2155 2155 1998-12-26 1998-12-26 11:30:45
SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3;
total_rows min_value max(c2)
-21 1901 2155
+21 0 2155
SELECT * FROM t3 WHERE c3 = '1998-12-11';
c1 c2 c3 c4
1990 1990 1998-12-11 1998-12-11 11:30:45
@@ -2838,7 +2838,7 @@ c1 c2 c3 c4
2155 2155 1998-12-26 1998-12-26 11:30:45
SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3;
total_rows min_value max(c2)
-21 1901 2155
+21 0 2155
SELECT * FROM t3 WHERE c3 = '1998-12-11';
c1 c2 c3 c4
1990 1990 1998-12-11 1998-12-11 11:30:45
diff --git a/mysql-test/suite/engines/iuds/r/update_delete_calendar.result b/mysql-test/suite/engines/iuds/r/update_delete_calendar.result
index e2dd83e03b4..a04585dfd72 100644
--- a/mysql-test/suite/engines/iuds/r/update_delete_calendar.result
+++ b/mysql-test/suite/engines/iuds/r/update_delete_calendar.result
@@ -791,6 +791,9 @@ Warning 1292 Truncated incorrect datetime value: '2009-01-10 23:60:59'
SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */;
count(*)
0
+Warnings:
+Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1
+Warning 1292 Incorrect datetime value: '2001-01-11 23:59:60' for column 'c2' at row 1
SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
c1 c2 c3
0000-00-00 00:00:00 0000-00-00 00:00:00 6
diff --git a/mysql-test/suite/engines/iuds/r/update_delete_number.result b/mysql-test/suite/engines/iuds/r/update_delete_number.result
index 2ff7276f058..8e190870092 100644
--- a/mysql-test/suite/engines/iuds/r/update_delete_number.result
+++ b/mysql-test/suite/engines/iuds/r/update_delete_number.result
@@ -63,7 +63,7 @@ c1 c2 c3
4294967295 2147483647 9
UPDATE t1 SET c2=-2147483649 WHERE c1=109 ORDER BY c1;
Warnings:
-Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c2' at row 13
SELECT c1,c2 FROM t1 WHERE c1=109;
c1 c2
109 -2147483648
@@ -1158,7 +1158,7 @@ c1 c2 c3
255 127 9
UPDATE t1 SET c2=-129 WHERE c1=109 ORDER BY c1;
Warnings:
-Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c2' at row 13
SELECT c1,c2 FROM t1 WHERE c1=109;
c1 c2
109 -128
@@ -1929,7 +1929,7 @@ c1 c2 c3
65535 32767 9
UPDATE t1 SET c2=-32769 WHERE c1=109 ORDER BY c1;
Warnings:
-Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c2' at row 13
SELECT c1,c2 FROM t1 WHERE c1=109;
c1 c2
109 -32768
@@ -2676,7 +2676,7 @@ c1 c2 c3
16777215 8388607 9
UPDATE t1 SET c2=-8388609 WHERE c1=109 ORDER BY c1;
Warnings:
-Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c2' at row 13
SELECT c1,c2 FROM t1 WHERE c1=109;
c1 c2
109 -8388608
@@ -3423,7 +3423,7 @@ c1 c2 c3
18446744073709551615 9223372036854775807 9
UPDATE t1 SET c2=-9223372036854775809 WHERE c1=109 ORDER BY c1;
Warnings:
-Warning 1264 Out of range value for column 'c2' at row 1
+Warning 1264 Out of range value for column 'c2' at row 13
SELECT c1,c2 FROM t1 WHERE c1=109;
c1 c2
109 -9223372036854775808
diff --git a/mysql-test/suite/engines/iuds/t/disabled.def b/mysql-test/suite/engines/iuds/t/disabled.def
index c8fdf80274b..7fd504c0996 100644
--- a/mysql-test/suite/engines/iuds/t/disabled.def
+++ b/mysql-test/suite/engines/iuds/t/disabled.def
@@ -1,2 +1,3 @@
insert_calendar : Bug#52283 Innodb reports extra warnings when SELECT/WHERE is performed using invalid value
update_delete_calendar : Bug#52824 + Bug#52283(in case of Innodb)
+
diff --git a/mysql-test/suite/engines/iuds/t/insert_number.test b/mysql-test/suite/engines/iuds/t/insert_number.test
index b55bd8dc98a..e2c809fad85 100644
--- a/mysql-test/suite/engines/iuds/t/insert_number.test
+++ b/mysql-test/suite/engines/iuds/t/insert_number.test
@@ -7812,9 +7812,6 @@ SELECT * FROM t2 ORDER BY c1,c6 LIMIT 2;
SELECT * FROM t2 ORDER BY c1,c6 DESC LIMIT 2;
## ref type access
-
-# Bug#52283 : Remove the following --disable_warnings
-# command when the bug is fixed
--disable_warnings
SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6;
SELECT * FROM t2 WHERE c1 = 18446744073709551616 ORDER BY c1,c6 LIMIT 2;
diff --git a/mysql-test/suite/engines/iuds/t/update_delete_calendar.test b/mysql-test/suite/engines/iuds/t/update_delete_calendar.test
index c6a22511766..aa695953ce1 100644
--- a/mysql-test/suite/engines/iuds/t/update_delete_calendar.test
+++ b/mysql-test/suite/engines/iuds/t/update_delete_calendar.test
@@ -300,12 +300,7 @@ INSERT INTO t1 VALUES('2001-01-09','2001-01-10',6),('2001-01-11','2001-01-12',7)
UPDATE t1 SET c1='2001-01-09 24:59:59',c2='2009-01-10 23:60:59' WHERE c1='2001-01-09';
UPDATE t1 SET c2='2001-01-11 23:59:60' WHERE c1='2001-01-11';
SELECT count(*) FROM t1 WHERE c1='2001-01-09 24:59:59' AND c2='2009-01-10 23:60:59';
-
-# Bug#52283 : Remove the following --disable_warnings
-# command when the bug is fixed
---disable_warnings
SELECT count(*) FROM t1 WHERE c2='2001-01-11 23:59:60' /* returns 0 */;
---enable_warnings
--sorted_result
SELECT * FROM t1 WHERE c1='0000-00-00 00:00:00' OR c2='0000-00-00 00:00:00';
diff --git a/mysql-test/suite/federated/disabled.def b/mysql-test/suite/federated/disabled.def
index 1287864ef16..bb2e4dde141 100644
--- a/mysql-test/suite/federated/disabled.def
+++ b/mysql-test/suite/federated/disabled.def
@@ -9,4 +9,3 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
-
diff --git a/mysql-test/suite/federated/federated_bug_25714.test b/mysql-test/suite/federated/federated_bug_25714.test
index 82745b2a094..633e469f595 100644
--- a/mysql-test/suite/federated/federated_bug_25714.test
+++ b/mysql-test/suite/federated/federated_bug_25714.test
@@ -1,5 +1,5 @@
# Check that path to the specific test program has been setup
-if (`select LENGTH("$MYSQL_BUG25714") = 0`)
+if (!$MYSQL_BUG25714)
{
skip Need bug25714 test program;
}
diff --git a/mysql-test/suite/federated/federated_bug_35333.result b/mysql-test/suite/federated/federated_bug_35333.result
new file mode 100644
index 00000000000..ca7aa960b73
--- /dev/null
+++ b/mysql-test/suite/federated/federated_bug_35333.result
@@ -0,0 +1,67 @@
+#
+# Bug 35333 "If a Federated table can't connect to the remote hose, can't retrieve metadata"
+#
+# Queries such as SHOW TABLE STATUS and SELECT * FROM INFORMATION_SCHEMA.TABLES fail
+# when encountering a federated table that cannot connect to its remote table.
+#
+# The fix is to store the error text in the TABLE COMMENTS column of I_S.TABLES, clear
+# the remote connection error and push a warning instead. This allows the SELECT operation
+# to complete while still indicating a problem. This fix applies to any non-fatal system
+# error that occurs during a query against I_S.TABLES.de
+CREATE DATABASE federated;
+CREATE DATABASE federated;
+CREATE DATABASE IF NOT EXISTS realdb;
+DROP TABLE IF EXISTS realdb.t0;
+DROP TABLE IF EXISTS federated.t0;
+#
+# Create the base table to be referenced
+#
+CREATE TABLE realdb.t0 (a text, b text) ENGINE=MYISAM;
+#
+# Create a federated table with a bogus port number
+#
+CREATE TABLE federated.t0 (a text, b text) ENGINE=FEDERATED
+CONNECTION='mysql://root@127.0.0.1:63333/realdb/t0';
+#
+# Trigger a federated system error during a INFORMATION_SCHEMA.TABLES query
+#
+SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
+FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'realdb' or TABLE_SCHEMA = 'federated';
+TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_ROWS DATA_LENGTH TABLE_COMMENT
+federated t0 BASE TABLE FEDERATED NULL 0 Unable to connect to foreign data source: Can't connect to MySQL server on '127.0.0.1' (socket errno)
+realdb t0 BASE TABLE MyISAM Dynamic 0 0
+Warnings:
+Warning 1429 Unable to connect to foreign data source: Can't connect to MySQL server on '127.0.0.1' (socket errno)
+SHOW WARNINGS;
+Level Code Message
+Warning 1429 Unable to connect to foreign data source: Can't connect to MySQL server on '127.0.0.1' (socket errno)
+#
+# Create a MyISAM table then corrupt the file
+#
+USE realdb;
+CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
+#
+# Corrupt the MyISAM table by deleting the base file
+#
+#
+# Trigger a MyISAM system error during an INFORMATION_SCHEMA.TABLES query
+#
+SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
+FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_ROWS DATA_LENGTH TABLE_COMMENT
+realdb t1 BASE TABLE NULL NULL NULL NULL Can't find file: 't1' (errno: 2)
+Warnings:
+Warning 1017 Can't find file: 't1' (errno: 2)
+SHOW WARNINGS;
+Level Code Message
+Warning 1017 Can't find file: 't1' (errno: 2)
+#
+# Cleanup
+#
+DROP TABLE IF EXISTS realdb.t0;
+DROP TABLE IF EXISTS federated.t0;
+DROP DATABASE realdb;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE federated;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE federated;
diff --git a/mysql-test/suite/federated/federated_bug_35333.test b/mysql-test/suite/federated/federated_bug_35333.test
new file mode 100644
index 00000000000..58c217d24f2
--- /dev/null
+++ b/mysql-test/suite/federated/federated_bug_35333.test
@@ -0,0 +1,74 @@
+--echo #
+--echo # Bug 35333 "If a Federated table can't connect to the remote hose, can't retrieve metadata"
+--echo #
+--echo # Queries such as SHOW TABLE STATUS and SELECT * FROM INFORMATION_SCHEMA.TABLES fail
+--echo # when encountering a federated table that cannot connect to its remote table.
+--echo #
+--echo # The fix is to store the error text in the TABLE COMMENTS column of I_S.TABLES, clear
+--echo # the remote connection error and push a warning instead. This allows the SELECT operation
+--echo # to complete while still indicating a problem. This fix applies to any non-fatal system
+--echo # error that occurs during a query against I_S.TABLES.de
+
+--source federated.inc
+
+--disable_warnings
+CREATE DATABASE IF NOT EXISTS realdb;
+# Federated database exists
+DROP TABLE IF EXISTS realdb.t0;
+DROP TABLE IF EXISTS federated.t0;
+--enable_warnings
+
+--echo #
+--echo # Create the base table to be referenced
+--echo #
+CREATE TABLE realdb.t0 (a text, b text) ENGINE=MYISAM;
+
+--echo #
+--echo # Create a federated table with a bogus port number
+--echo #
+CREATE TABLE federated.t0 (a text, b text) ENGINE=FEDERATED
+ CONNECTION='mysql://root@127.0.0.1:63333/realdb/t0';
+
+#--warning ER_CONNECT_TO_FOREIGN_DATA_SOURCE
+
+--echo #
+--echo # Trigger a federated system error during a INFORMATION_SCHEMA.TABLES query
+--echo #
+# Remove O/S-specific socket error
+--replace_regex /\(.*\)/(socket errno)/
+SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
+ FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'realdb' or TABLE_SCHEMA = 'federated';
+
+# Remove O/S-specific socket error
+--replace_regex /\(.*\)/(socket errno)/
+SHOW WARNINGS;
+
+--echo #
+--echo # Create a MyISAM table then corrupt the file
+--echo #
+USE realdb;
+CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
+--echo #
+--echo # Corrupt the MyISAM table by deleting the base file
+--echo #
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+--remove_file $MYSQLD_DATADIR/realdb/t1.MYD
+--remove_file $MYSQLD_DATADIR/realdb/t1.MYI
+
+--echo #
+--echo # Trigger a MyISAM system error during an INFORMATION_SCHEMA.TABLES query
+--echo #
+SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, ROW_FORMAT, TABLE_ROWS, DATA_LENGTH, TABLE_COMMENT
+ FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
+
+SHOW WARNINGS;
+--echo #
+--echo # Cleanup
+--echo #
+--disable_warnings
+DROP TABLE IF EXISTS realdb.t0;
+DROP TABLE IF EXISTS federated.t0;
+DROP DATABASE realdb;
+--enable_warnings
+
+--source federated_cleanup.inc
diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
index ee1548fe012..fa8fb6c1eb2 100644
--- a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result
@@ -110,10 +110,10 @@ Ensure that root always has the GRANT CREATE ROUTINE privilege.
--------------------------------------------------------------------------------
grant create routine on db_storedproc_1.* to 'user_1'@'localhost';
flush privileges;
+DROP PROCEDURE IF EXISTS db_storedproc_1.sp3;
+DROP FUNCTION IF EXISTS db_storedproc_1.fn1;
user_1@localhost db_storedproc_1
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
CREATE PROCEDURE sp3(v1 char(20))
BEGIN
SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
@@ -128,8 +128,6 @@ root@localhost db_storedproc_1
drop user 'user_1'@'localhost';
DROP PROCEDURE sp3;
DROP FUNCTION fn1;
-Warnings:
-Warning 1403 There is no such grant defined for user 'user_1' on host 'localhost' on routine 'fn1'
Testcase 3.1.6.4:
-----------------
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_03e.result b/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
index c963be41a35..9dabfcbef49 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_03e.result
@@ -573,6 +573,7 @@ root@localhost
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1;
use priv_db;
diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_08.result b/mysql-test/suite/funcs_1/r/innodb_trig_08.result
index b2b38694680..a25147a1480 100644
--- a/mysql-test/suite/funcs_1/r/innodb_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/innodb_trig_08.result
@@ -353,8 +353,6 @@ B Test 3.5.8.5-case 00191 0000000016 C=one
C Test 3.5.8.5-case 00200 0000000001 C=one
Insert into tb3 (f120, f122, f136)
values ('d', 'Test 3.5.8.5-case', 152);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
select f120, f122, f136, f144, @test_var
from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
f120 f122 f136 f144 @test_var
@@ -364,8 +362,6 @@ B Test 3.5.8.5-case 00191 0000000016 1*0000099999
C Test 3.5.8.5-case 00200 0000000001 1*0000099999
Insert into tb3 (f120, f122, f136, f144)
values ('e', 'Test 3.5.8.5-case', 200, 8);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
select f120, f122, f136, f144, @test_var
from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
f120 f122 f136 f144 @test_var
diff --git a/mysql-test/suite/funcs_1/r/is_cml_ndb.result b/mysql-test/suite/funcs_1/r/is_cml_ndb.result
deleted file mode 100644
index 22f90433acf..00000000000
--- a/mysql-test/suite/funcs_1/r/is_cml_ndb.result
+++ /dev/null
@@ -1,98 +0,0 @@
-USE test;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1
-(
-f1 CHAR UNICODE,
-f2 CHAR(0) UNICODE,
-f3 CHAR(10) UNICODE,
-f5 VARCHAR(0) UNICODE,
-f6 VARCHAR(255) UNICODE,
-f7 VARCHAR(260) UNICODE,
-f8 TEXT UNICODE,
-f9 TINYTEXT UNICODE,
-f10 MEDIUMTEXT UNICODE,
-f11 LONGTEXT UNICODE,
-PRIMARY KEY(f1)
-) ENGINE = NDB;
-SELECT * FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-ORDER BY table_schema, table_name, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
-def test t1 f1 1 NO char 1 2 NULL NULL ucs2 ucs2_general_ci char(1) PRI select,insert,update,references
-def test t1 f10 9 NULL YES mediumtext 8388607 16777215 NULL NULL ucs2 ucs2_general_ci mediumtext select,insert,update,references
-def test t1 f11 10 NULL YES longtext 2147483647 4294967295 NULL NULL ucs2 ucs2_general_ci longtext select,insert,update,references
-def test t1 f2 2 NULL YES char 0 0 NULL NULL ucs2 ucs2_general_ci char(0) select,insert,update,references
-def test t1 f3 3 NULL YES char 10 20 NULL NULL ucs2 ucs2_general_ci char(10) select,insert,update,references
-def test t1 f5 4 NULL YES varchar 0 0 NULL NULL ucs2 ucs2_general_ci varchar(0) select,insert,update,references
-def test t1 f6 5 NULL YES varchar 255 510 NULL NULL ucs2 ucs2_general_ci varchar(255) select,insert,update,references
-def test t1 f7 6 NULL YES varchar 260 520 NULL NULL ucs2 ucs2_general_ci varchar(260) select,insert,update,references
-def test t1 f8 7 NULL YES text 32767 65535 NULL NULL ucs2 ucs2_general_ci text select,insert,update,references
-def test t1 f9 8 NULL YES tinytext 127 255 NULL NULL ucs2 ucs2_general_ci tinytext select,insert,update,references
-##########################################################################
-# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
-##########################################################################
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
-ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
-ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
-2.0000 char ucs2 ucs2_general_ci
-2.0000 longtext ucs2 ucs2_general_ci
-2.0000 mediumtext ucs2 ucs2_general_ci
-2.0000 text ucs2 ucs2_general_ci
-2.0000 varchar ucs2 ucs2_general_ci
-2.0079 tinytext ucs2 ucs2_general_ci
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
-ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
-NULL char ucs2 ucs2_general_ci
-NULL varchar ucs2 ucs2_general_ci
---> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values
---> are 0, which is intended behavior, and the result of 0 / 0 IS NULL
-SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-TABLE_SCHEMA,
-TABLE_NAME,
-COLUMN_NAME,
-DATA_TYPE,
-CHARACTER_MAXIMUM_LENGTH,
-CHARACTER_OCTET_LENGTH,
-CHARACTER_SET_NAME,
-COLLATION_NAME,
-COLUMN_TYPE
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
-COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE
-2.0000 test t1 f1 char 1 2 ucs2 ucs2_general_ci char(1)
-NULL test t1 f2 char 0 0 ucs2 ucs2_general_ci char(0)
-2.0000 test t1 f3 char 10 20 ucs2 ucs2_general_ci char(10)
-NULL test t1 f5 varchar 0 0 ucs2 ucs2_general_ci varchar(0)
-2.0000 test t1 f6 varchar 255 510 ucs2 ucs2_general_ci varchar(255)
-2.0000 test t1 f7 varchar 260 520 ucs2 ucs2_general_ci varchar(260)
-2.0000 test t1 f8 text 32767 65535 ucs2 ucs2_general_ci text
-2.0079 test t1 f9 tinytext 127 255 ucs2 ucs2_general_ci tinytext
-2.0000 test t1 f10 mediumtext 8388607 16777215 ucs2 ucs2_general_ci mediumtext
-2.0000 test t1 f11 longtext 2147483647 4294967295 ucs2 ucs2_general_ci longtext
-DROP TABLE t1;
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is.result b/mysql-test/suite/funcs_1/r/is_columns_is.result
index d4f5560174b..f5d3a4daf83 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is.result
@@ -204,6 +204,7 @@ def information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8
def information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
+def information_schema PLUGINS LOAD_OPTION 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PLUGINS PLUGIN_AUTH_VERSION 12 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
def information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
@@ -785,6 +786,7 @@ NULL information_schema PBXT_STATISTICS Value bigint NULL NULL NULL NULL bigint(
3.0000 information_schema PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8 utf8_general_ci varchar(64)
1.0000 information_schema PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
3.0000 information_schema PLUGINS PLUGIN_LICENSE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema PLUGINS LOAD_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema PLUGINS PLUGIN_MATURITY varchar 12 36 utf8 utf8_general_ci varchar(12)
3.0000 information_schema PLUGINS PLUGIN_AUTH_VERSION varchar 80 240 utf8 utf8_general_ci varchar(80)
NULL information_schema PROCESSLIST ID bigint NULL NULL NULL NULL bigint(4)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
index 121fc80e849..ba681e7865b 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result
@@ -3,9 +3,336 @@ WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%'
ORDER BY table_schema, table_name, column_name;
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
-#<<<<<<< TREE
-#=======
-#>>>>>>> MERGE-SOURCE
+def information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60)
+def information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3)
+def information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema COLLATIONS COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11)
+def information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3)
+def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema COLUMNS COLUMN_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMNS EXTRA 17 NO varchar 27 81 NULL NULL utf8 utf8_general_ci varchar(27)
+def information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema COLUMNS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMNS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMN_PRIVILEGES COLUMN_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMN_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema COLUMN_PRIVILEGES IS_GRANTABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema COLUMN_PRIVILEGES PRIVILEGE_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMN_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8)
+def information_schema ENGINES TRANSACTIONS 4 NULL YES varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema ENGINES XA 5 NULL YES varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema EVENTS CHARACTER_SET_CLIENT 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema EVENTS COLLATION_CONNECTION 23 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema EVENTS DATABASE_COLLATION 24 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema EVENTS DEFINER 4 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77)
+def information_schema EVENTS ENDS 14 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema EVENTS EVENT_BODY 6 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8)
+def information_schema EVENTS EVENT_CATALOG 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema EVENTS EVENT_COMMENT 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema EVENTS EVENT_DEFINITION 7 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema EVENTS EVENT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema EVENTS EVENT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema EVENTS EVENT_TYPE 8 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9)
+def information_schema EVENTS EXECUTE_AT 9 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema EVENTS INTERVAL_FIELD 11 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18)
+def information_schema EVENTS INTERVAL_VALUE 10 NULL YES varchar 256 768 NULL NULL utf8 utf8_general_ci varchar(256)
+def information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12)
+def information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10)
+def information_schema EVENTS SQL_MODE 12 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192)
+def information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18)
+def information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES EXTRA 38 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255)
+def information_schema FILES FILE_ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10)
+def information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES TABLE_CATALOG 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE ORDINAL_POSITION 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10)
+def information_schema KEY_COLUMN_USAGE POSITION_IN_UNIQUE_CONSTRAINT 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(10)
+def information_schema KEY_COLUMN_USAGE REFERENCED_COLUMN_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE REFERENCED_TABLE_SCHEMA 10 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE TABLE_CATALOG 4 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema KEY_COLUMN_USAGE TABLE_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema KEY_COLUMN_USAGE TABLE_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARAMETERS CHARACTER_MAXIMUM_LENGTH 8 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema PARAMETERS CHARACTER_OCTET_LENGTH 9 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema PARAMETERS CHARACTER_SET_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARAMETERS COLLATION_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARAMETERS DATA_TYPE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARAMETERS DTD_IDENTIFIER 14 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema PARAMETERS NUMERIC_PRECISION 10 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema PARAMETERS NUMERIC_SCALE 11 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema PARAMETERS ORDINAL_POSITION 4 0 NO int NULL NULL 10 0 NULL NULL int(21)
+def information_schema PARAMETERS PARAMETER_MODE 5 NULL YES varchar 5 15 NULL NULL utf8 utf8_general_ci varchar(5)
+def information_schema PARAMETERS PARAMETER_NAME 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARAMETERS ROUTINE_TYPE 15 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9)
+def information_schema PARAMETERS SPECIFIC_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema PARAMETERS SPECIFIC_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12)
+def information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18)
+def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12)
+def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARTITIONS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema PLUGINS LOAD_OPTION 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PLUGINS PLUGIN_DESCRIPTION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema PLUGINS PLUGIN_LIBRARY 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PLUGINS PLUGIN_LIBRARY_VERSION 7 NULL YES varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema PLUGINS PLUGIN_LICENSE 10 NULL YES varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema PLUGINS PLUGIN_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PLUGINS PLUGIN_STATUS 3 NO varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10)
+def information_schema PLUGINS PLUGIN_TYPE 4 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80)
+def information_schema PLUGINS PLUGIN_TYPE_VERSION 5 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema PLUGINS PLUGIN_VERSION 2 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20)
+def information_schema PROCESSLIST COMMAND 5 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16)
+def information_schema PROCESSLIST DB 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PROCESSLIST HOST 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PROCESSLIST ID 1 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema PROCESSLIST INFO 8 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema PROCESSLIST STATE 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema PROCESSLIST TIME 6 0 NO int NULL NULL 10 0 NULL NULL int(7)
+def information_schema PROCESSLIST USER 2 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16)
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS DELETE_RULE 9 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS MATCH_OPTION 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS REFERENCED_TABLE_NAME 11 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS TABLE_NAME 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_CATALOG 4 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_NAME 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS UNIQUE_CONSTRAINT_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema REFERENTIAL_CONSTRAINTS UPDATE_RULE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES CHARACTER_MAXIMUM_LENGTH 7 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema ROUTINES CHARACTER_OCTET_LENGTH 8 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema ROUTINES CHARACTER_SET_CLIENT 28 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema ROUTINES CHARACTER_SET_NAME 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES COLLATION_CONNECTION 29 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema ROUTINES COLLATION_NAME 12 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES CREATED 23 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema ROUTINES DATABASE_COLLATION 30 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema ROUTINES DATA_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES DEFINER 27 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77)
+def information_schema ROUTINES DTD_IDENTIFIER 13 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema ROUTINES EXTERNAL_LANGUAGE 17 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES EXTERNAL_NAME 16 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES IS_DETERMINISTIC 19 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema ROUTINES LAST_ALTERED 24 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema ROUTINES NUMERIC_PRECISION 9 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema ROUTINES NUMERIC_SCALE 10 NULL YES int NULL NULL 10 0 NULL NULL int(21)
+def information_schema ROUTINES PARAMETER_STYLE 18 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8)
+def information_schema ROUTINES ROUTINE_BODY 14 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8)
+def information_schema ROUTINES ROUTINE_CATALOG 2 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema ROUTINES ROUTINE_COMMENT 26 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema ROUTINES ROUTINE_DEFINITION 15 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema ROUTINES ROUTINE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES ROUTINE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9)
+def information_schema ROUTINES SECURITY_TYPE 22 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7)
+def information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES SQL_DATA_ACCESS 20 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema ROUTINES SQL_MODE 25 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192)
+def information_schema ROUTINES SQL_PATH 21 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SCHEMATA CATALOG_NAME 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema SCHEMA_PRIVILEGES IS_GRANTABLE 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21)
+def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1)
+def information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema STATISTICS COMMENT 15 NULL YES varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16)
+def information_schema STATISTICS INDEX_COMMENT 16 NO varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024)
+def information_schema STATISTICS INDEX_NAME 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema STATISTICS INDEX_SCHEMA 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema STATISTICS INDEX_TYPE 14 NO varchar 16 48 NULL NULL utf8 utf8_general_ci varchar(16)
+def information_schema STATISTICS NON_UNIQUE 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(1)
+def information_schema STATISTICS NULLABLE 13 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema STATISTICS PACKED 12 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10)
+def information_schema STATISTICS SEQ_IN_INDEX 7 0 NO bigint NULL NULL 19 0 NULL NULL bigint(2)
+def information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(3)
+def information_schema STATISTICS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255)
+def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10)
+def information_schema TABLES TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema TABLES TABLE_COMMENT 21 NO varchar 2048 6144 NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLESPACES AUTOEXTEND_SIZE 6 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLESPACES ENGINE 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLESPACES EXTENT_SIZE 5 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLESPACES MAXIMUM_SIZE 7 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLESPACES NODEGROUP_ID 8 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned
+def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL utf8 utf8_general_ci varchar(2048)
+def information_schema TABLESPACES TABLESPACE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_CONSTRAINTS CONSTRAINT_TYPE 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_CONSTRAINTS TABLE_NAME 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_CONSTRAINTS TABLE_SCHEMA 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema TABLE_PRIVILEGES IS_GRANTABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema TABLE_PRIVILEGES PRIVILEGE_TYPE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema TABLE_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TABLE_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TRIGGERS ACTION_CONDITION 9 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema TRIGGERS ACTION_ORDER 8 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4)
+def information_schema TRIGGERS ACTION_ORIENTATION 11 NO varchar 9 27 NULL NULL utf8 utf8_general_ci varchar(9)
+def information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema TRIGGERS ACTION_REFERENCE_NEW_TABLE 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW 15 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema TRIGGERS ACTION_REFERENCE_OLD_TABLE 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TRIGGERS ACTION_STATEMENT 10 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
+def information_schema TRIGGERS ACTION_TIMING 12 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6)
+def information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema TRIGGERS COLLATION_CONNECTION 21 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime
+def information_schema TRIGGERS DATABASE_COLLATION 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema TRIGGERS DEFINER 19 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77)
+def information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6)
+def information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TRIGGERS SQL_MODE 18 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192)
+def information_schema TRIGGERS TRIGGER_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema USER_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81)
+def information_schema USER_PRIVILEGES IS_GRANTABLE 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema USER_PRIVILEGES PRIVILEGE_TYPE 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema USER_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema VIEWS CHARACTER_SET_CLIENT 9 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema VIEWS CHECK_OPTION 5 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8)
+def information_schema VIEWS COLLATION_CONNECTION 10 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32)
+def information_schema VIEWS DEFINER 7 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77)
+def information_schema VIEWS IS_UPDATABLE 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3)
+def information_schema VIEWS SECURITY_TYPE 8 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7)
+def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512)
+def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64)
+def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
@@ -119,7 +446,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(
3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema COLUMNS EXTRA varchar 27 81 utf8 utf8_general_ci varchar(27)
3.0000 information_schema COLUMNS PRIVILEGES varchar 80 240 utf8 utf8_general_ci varchar(80)
-3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 255 765 utf8 utf8_general_ci varchar(255)
+3.0000 information_schema COLUMNS COLUMN_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema COLUMN_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema COLUMN_PRIVILEGES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -355,6 +682,7 @@ NULL information_schema PARTITIONS CHECKSUM bigint NULL NULL NULL NULL bigint(21
3.0000 information_schema PLUGINS PLUGIN_AUTHOR varchar 64 192 utf8 utf8_general_ci varchar(64)
1.0000 information_schema PLUGINS PLUGIN_DESCRIPTION longtext 4294967295 4294967295 utf8 utf8_general_ci longtext
3.0000 information_schema PLUGINS PLUGIN_LICENSE varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema PLUGINS LOAD_OPTION varchar 64 192 utf8 utf8_general_ci varchar(64)
NULL information_schema PROCESSLIST ID bigint NULL NULL NULL NULL bigint(4)
3.0000 information_schema PROCESSLIST USER varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema PROCESSLIST HOST varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -434,6 +762,7 @@ NULL information_schema STATISTICS SUB_PART bigint NULL NULL NULL NULL bigint(3)
3.0000 information_schema STATISTICS NULLABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema STATISTICS INDEX_TYPE varchar 16 48 utf8 utf8_general_ci varchar(16)
3.0000 information_schema STATISTICS COMMENT varchar 16 48 utf8 utf8_general_ci varchar(16)
+3.0000 information_schema STATISTICS INDEX_COMMENT varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema TABLES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema TABLES TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLES TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
@@ -454,7 +783,7 @@ NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime
3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32)
NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned
3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255)
-3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80)
+3.0000 information_schema TABLES TABLE_COMMENT varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema TABLESPACES TABLESPACE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLESPACES ENGINE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema TABLESPACES TABLESPACE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
diff --git a/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result
index 55f7ebf91ae..5c22a38c63c 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result
@@ -479,9 +479,9 @@ def test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerof
def test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill
def test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20)
def test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1)
-def test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
-def test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill
-def test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill
+def test tb1 f30 30 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
+def test tb1 f31 31 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill
+def test tb1 f32 32 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill
def test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0)
def test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned
def test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill
@@ -602,9 +602,9 @@ def test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned
def test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill
def test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill
def test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20)
-def test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
-def test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill
-def test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill
+def test tb3 f147 30 999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
+def test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill
+def test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill
def test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0)
def test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned
def test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill
diff --git a/mysql-test/suite/funcs_1/r/is_columns_mysql.result b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
index 1cc6d0fb9d1..f739c99b06b 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_mysql.result
@@ -134,6 +134,13 @@ def mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_general_
def mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
def mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
def mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql proxies_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
+def mysql proxies_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+def mysql proxies_priv Proxied_host 3 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
+def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
+def mysql proxies_priv User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
+def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
def mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
@@ -178,6 +185,7 @@ def mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NU
def mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI select,insert,update,references
def mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
+def mysql user authentication_string 42 NULL YES text 65535 65535 NULL NULL utf8 utf8_bin text select,insert,update,references
def mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Create_tablespace_priv 32 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
@@ -199,6 +207,7 @@ def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsign
def mysql user max_updates 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
def mysql user max_user_connections 40 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned select,insert,update,references
def mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41) select,insert,update,references
+def mysql user plugin 41 YES char 64 192 NULL NULL utf8 utf8_bin char(64) select,insert,update,references
def mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
@@ -418,6 +427,13 @@ NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77)
3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql proxies_priv Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql proxies_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql proxies_priv Proxied_user char 16 48 utf8 utf8_bin char(16)
+NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
+3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
+NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
@@ -500,5 +516,5 @@ NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned
-1.0000 mysql user plugin char 60 60 latin1 latin1_swedish_ci char(60)
-1.0000 mysql user auth_string text 65535 65535 utf8 utf8_bin text
+1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64)
+1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
diff --git a/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result
index 37a1c6d5273..090fc38efeb 100644
--- a/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result
@@ -97,13 +97,13 @@ def mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('
def mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
-def mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI
+def mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
+def mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned PRI
def mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255)
-def mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
-def mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned
+def mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
+def mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
+def mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
+def mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned
def mysql plugin dl 2 NO varchar 128 384 NULL NULL utf8 utf8_general_ci varchar(128)
def mysql plugin name 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) PRI
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob
@@ -134,6 +134,13 @@ def mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_general_
def mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI
def mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP
def mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI
+def mysql proxies_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL
+def mysql proxies_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI
+def mysql proxies_priv Proxied_host 3 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI
+def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI
+def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP
+def mysql proxies_priv User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI
+def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1)
def mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64)
def mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64)
def mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64)
@@ -178,6 +185,7 @@ def mysql time_zone_transition_type Time_zone_id 1 NULL NO int NULL NULL 10 0 NU
def mysql time_zone_transition_type Transition_type_id 2 NULL NO int NULL NULL 10 0 NULL NULL int(10) unsigned PRI
def mysql user Alter_priv 17 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Alter_routine_priv 28 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
+def mysql user authentication_string 42 NULL YES text 65535 65535 NULL NULL utf8 utf8_bin text
def mysql user Create_priv 8 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Create_routine_priv 27 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Create_tablespace_priv 32 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
@@ -199,6 +207,7 @@ def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL int(11) unsign
def mysql user max_updates 38 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned
def mysql user max_user_connections 40 0 NO int NULL NULL 10 0 NULL NULL int(11) unsigned
def mysql user Password 3 NO char 41 41 NULL NULL latin1 latin1_bin char(41)
+def mysql user plugin 41 YES char 64 192 NULL NULL utf8 utf8_bin char(64)
def mysql user Process_priv 12 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user References_priv 15 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Reload_priv 10 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y')
@@ -418,6 +427,13 @@ NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77)
3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
+3.0000 mysql proxies_priv Host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql proxies_priv User char 16 48 utf8 utf8_bin char(16)
+3.0000 mysql proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
+3.0000 mysql proxies_priv Proxied_user char 16 48 utf8 utf8_bin char(16)
+NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
+3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
+NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
@@ -500,3 +516,5 @@ NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned
NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned
+3.0000 mysql user plugin char 64 192 utf8 utf8_bin char(64)
+1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
diff --git a/mysql-test/suite/funcs_1/r/is_columns_ndb.result b/mysql-test/suite/funcs_1/r/is_columns_ndb.result
deleted file mode 100644
index 8a1691ec7d2..00000000000
--- a/mysql-test/suite/funcs_1/r/is_columns_ndb.result
+++ /dev/null
@@ -1,228 +0,0 @@
-DROP DATABASE IF EXISTS test1;
-CREATE DATABASE test1;
-USE test;
-USE test;
-USE test;
-DROP TABLE IF EXISTS t1, t2, t4, t10, t11;
-CREATE TABLE t1 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-ENGINE = ndb;
-CREATE TABLE t2 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-ENGINE = ndb;
-CREATE TABLE t4 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-ENGINE = ndb;
-CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-ENGINE = ndb;
-CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-ENGINE = ndb;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' INTO TABLE t1;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' INTO TABLE t2;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' INTO TABLE t4;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' INTO TABLE t10;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' INTO TABLE t11;
-drop TABLE if exists t3;
-CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = ndb;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' INTO TABLE t3;
-drop database if exists test4;
-CREATE database test4;
-use test4;
-CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int)
-ENGINE = ndb;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' INTO TABLE t6;
-use test;
-drop TABLE if exists t7, t8;
-CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = ndb;
-CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = ndb;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' INTO TABLE t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' INTO TABLE t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-drop TABLE if exists t9;
-CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = ndb;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' INTO TABLE t9;
-SELECT * FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-ORDER BY table_schema, table_name, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
-def test t1 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t1 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t1 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t1 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t1 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t1 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t10 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t10 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t10 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t10 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t10 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t10 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t11 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t11 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t11 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t11 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t11 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t11 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t2 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t2 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t2 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t2 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t2 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t2 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t3 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t3 f2 2 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t3 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t4 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t4 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t4 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t4 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t4 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t4 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t7 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t7 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t7 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t7 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t8 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test t8 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t8 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test t8 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t9 f1 1 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test t9 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test t9 f3 3 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test4 t6 f1 1 NULL YES char 20 20 NULL NULL latin1 latin1_swedish_ci char(20) select,insert,update,references
-def test4 t6 f2 2 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test4 t6 f3 3 NULL YES date NULL NULL NULL NULL NULL NULL date select,insert,update,references
-def test4 t6 f4 4 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-def test4 t6 f5 5 NULL YES char 25 25 NULL NULL latin1 latin1_swedish_ci char(25) select,insert,update,references
-def test4 t6 f6 6 NULL YES int NULL NULL 10 0 NULL NULL int(11) select,insert,update,references
-##########################################################################
-# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
-##########################################################################
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
-ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
-1.0000 char latin1 latin1_swedish_ci
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
-ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
-SELECT DISTINCT
-CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-DATA_TYPE,
-CHARACTER_SET_NAME,
-COLLATION_NAME
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
-ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
-COL_CML DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME
-NULL date NULL NULL
-NULL int NULL NULL
---> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values
---> are 0, which is intended behavior, and the result of 0 / 0 IS NULL
-SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
-TABLE_SCHEMA,
-TABLE_NAME,
-COLUMN_NAME,
-DATA_TYPE,
-CHARACTER_MAXIMUM_LENGTH,
-CHARACTER_OCTET_LENGTH,
-CHARACTER_SET_NAME,
-COLLATION_NAME,
-COLUMN_TYPE
-FROM information_schema.columns
-WHERE table_schema LIKE 'test%'
-ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
-COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE
-1.0000 test t1 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t1 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t1 f3 date NULL NULL NULL NULL date
-NULL test t1 f4 int NULL NULL NULL NULL int(11)
-1.0000 test t1 f5 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t1 f6 int NULL NULL NULL NULL int(11)
-1.0000 test t10 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t10 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t10 f3 date NULL NULL NULL NULL date
-NULL test t10 f4 int NULL NULL NULL NULL int(11)
-1.0000 test t10 f5 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t10 f6 int NULL NULL NULL NULL int(11)
-1.0000 test t11 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t11 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t11 f3 date NULL NULL NULL NULL date
-NULL test t11 f4 int NULL NULL NULL NULL int(11)
-1.0000 test t11 f5 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t11 f6 int NULL NULL NULL NULL int(11)
-1.0000 test t2 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t2 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t2 f3 date NULL NULL NULL NULL date
-NULL test t2 f4 int NULL NULL NULL NULL int(11)
-1.0000 test t2 f5 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t2 f6 int NULL NULL NULL NULL int(11)
-1.0000 test t3 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t3 f2 char 20 20 latin1 latin1_swedish_ci char(20)
-NULL test t3 f3 int NULL NULL NULL NULL int(11)
-1.0000 test t4 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t4 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t4 f3 date NULL NULL NULL NULL date
-NULL test t4 f4 int NULL NULL NULL NULL int(11)
-1.0000 test t4 f5 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t4 f6 int NULL NULL NULL NULL int(11)
-1.0000 test t7 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t7 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t7 f3 date NULL NULL NULL NULL date
-NULL test t7 f4 int NULL NULL NULL NULL int(11)
-1.0000 test t8 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test t8 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t8 f3 date NULL NULL NULL NULL date
-NULL test t8 f4 int NULL NULL NULL NULL int(11)
-NULL test t9 f1 int NULL NULL NULL NULL int(11)
-1.0000 test t9 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test t9 f3 int NULL NULL NULL NULL int(11)
-1.0000 test4 t6 f1 char 20 20 latin1 latin1_swedish_ci char(20)
-1.0000 test4 t6 f2 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test4 t6 f3 date NULL NULL NULL NULL date
-NULL test4 t6 f4 int NULL NULL NULL NULL int(11)
-1.0000 test4 t6 f5 char 25 25 latin1 latin1_swedish_ci char(25)
-NULL test4 t6 f6 int NULL NULL NULL NULL int(11)
-DROP DATABASE test1;
-DROP DATABASE test4;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t7;
-DROP TABLE test.t8;
-DROP TABLE test.t9;
-DROP TABLE test.t10;
-DROP TABLE test.t11;
diff --git a/mysql-test/suite/funcs_1/r/is_engines_ndb.result b/mysql-test/suite/funcs_1/r/is_engines_ndb.result
deleted file mode 100644
index 238609fc09e..00000000000
--- a/mysql-test/suite/funcs_1/r/is_engines_ndb.result
+++ /dev/null
@@ -1,8 +0,0 @@
-SELECT * FROM information_schema.engines
-WHERE ENGINE = 'ndbcluster';
-ENGINE ndbcluster
-SUPPORT YES
-COMMENT Clustered, fault-tolerant tables
-TRANSACTIONS YES
-XA NO
-SAVEPOINTS NO
diff --git a/mysql-test/suite/funcs_1/r/is_key_column_usage.result b/mysql-test/suite/funcs_1/r/is_key_column_usage.result
index a81452b7927..afd1fe15fed 100644
--- a/mysql-test/suite/funcs_1/r/is_key_column_usage.result
+++ b/mysql-test/suite/funcs_1/r/is_key_column_usage.result
@@ -106,6 +106,10 @@ def mysql PRIMARY def mysql procs_priv Db
def mysql PRIMARY def mysql procs_priv User
def mysql PRIMARY def mysql procs_priv Routine_name
def mysql PRIMARY def mysql procs_priv Routine_type
+def mysql PRIMARY def mysql proxies_priv Host
+def mysql PRIMARY def mysql proxies_priv User
+def mysql PRIMARY def mysql proxies_priv Proxied_host
+def mysql PRIMARY def mysql proxies_priv Proxied_user
def mysql PRIMARY def mysql servers Server_name
def mysql PRIMARY def mysql tables_priv Host
def mysql PRIMARY def mysql tables_priv Db
diff --git a/mysql-test/suite/funcs_1/r/is_statistics.result b/mysql-test/suite/funcs_1/r/is_statistics.result
index 873b328dc2d..de84590e2f7 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics.result
@@ -118,6 +118,11 @@ def mysql procs_priv mysql PRIMARY
def mysql procs_priv mysql PRIMARY
def mysql procs_priv mysql PRIMARY
def mysql procs_priv mysql Grantor
+def mysql proxies_priv mysql PRIMARY
+def mysql proxies_priv mysql PRIMARY
+def mysql proxies_priv mysql PRIMARY
+def mysql proxies_priv mysql PRIMARY
+def mysql proxies_priv mysql Grantor
def mysql servers mysql PRIMARY
def mysql tables_priv mysql PRIMARY
def mysql tables_priv mysql PRIMARY
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
index a1fa0cac9f2..4c7d58f96f1 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql.result
@@ -40,6 +40,11 @@ def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
diff --git a/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
index ea28427d0f5..9137d70b88c 100644
--- a/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result
@@ -6,108 +6,118 @@ GRANT SELECT ON db_datadict.* TO testuser1@localhost;
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
-def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
-def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql user 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql user 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
+def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
+def mysql user 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql user 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
# Establish connection testuser1 (user=testuser1)
SELECT * FROM information_schema.statistics
WHERE table_schema = 'mysql'
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
-def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
-def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
-def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
-def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
-def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
-def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
-def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
-def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
-def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
-def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
-def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
-def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
-def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
-def mysql user 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
-def mysql user 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
+TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT INDEX_COMMENT
+def mysql columns_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql columns_priv 0 mysql PRIMARY 5 Column_name A #CARD# NULL NULL BTREE
+def mysql db 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql db 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql db 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql db 1 mysql User 1 User A #CARD# NULL NULL BTREE
+def mysql event 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
+def mysql event 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
+def mysql func 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql help_category 0 mysql name 1 name A #CARD# NULL NULL BTREE
+def mysql help_category 0 mysql PRIMARY 1 help_category_id A #CARD# NULL NULL BTREE
+def mysql help_keyword 0 mysql name 1 name A #CARD# NULL NULL BTREE
+def mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
+def mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A #CARD# NULL NULL BTREE
+def mysql help_relation 0 mysql PRIMARY 2 help_topic_id A #CARD# NULL NULL BTREE
+def mysql help_topic 0 mysql name 1 name A #CARD# NULL NULL BTREE
+def mysql help_topic 0 mysql PRIMARY 1 help_topic_id A #CARD# NULL NULL BTREE
+def mysql host 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql host 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql ndb_binlog_index 0 mysql PRIMARY 1 epoch A #CARD# NULL NULL BTREE
+def mysql plugin 0 mysql PRIMARY 1 name A #CARD# NULL NULL BTREE
+def mysql proc 0 mysql PRIMARY 1 db A #CARD# NULL NULL BTREE
+def mysql proc 0 mysql PRIMARY 2 name A #CARD# NULL NULL BTREE
+def mysql proc 0 mysql PRIMARY 3 type A #CARD# NULL NULL BTREE
+def mysql procs_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
+def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
+def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
+def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
+def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
+def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
+def mysql tables_priv 0 mysql PRIMARY 4 Table_name A #CARD# NULL NULL BTREE
+def mysql time_zone 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+def mysql time_zone_leap_second 0 mysql PRIMARY 1 Transition_time A #CARD# NULL NULL BTREE
+def mysql time_zone_name 0 mysql PRIMARY 1 Name A #CARD# NULL NULL BTREE
+def mysql time_zone_transition 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+def mysql time_zone_transition 0 mysql PRIMARY 2 Transition_time A #CARD# NULL NULL BTREE
+def mysql time_zone_transition_type 0 mysql PRIMARY 1 Time_zone_id A #CARD# NULL NULL BTREE
+def mysql time_zone_transition_type 0 mysql PRIMARY 2 Transition_type_id A #CARD# NULL NULL BTREE
+def mysql user 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
+def mysql user 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
# Switch to connection default and close connection testuser1
DROP USER testuser1@localhost;
DROP DATABASE db_datadict;
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints.result b/mysql-test/suite/funcs_1/r/is_table_constraints.result
index 7f1c83a8ea5..559a1f1f9f5 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints.result
@@ -73,6 +73,7 @@ def mysql PRIMARY mysql ndb_binlog_index
def mysql PRIMARY mysql plugin
def mysql PRIMARY mysql proc
def mysql PRIMARY mysql procs_priv
+def mysql PRIMARY mysql proxies_priv
def mysql PRIMARY mysql servers
def mysql PRIMARY mysql tables_priv
def mysql PRIMARY mysql time_zone
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
index 8b7ac6994c1..bca333b6387 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result
@@ -23,6 +23,7 @@ def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY
+def mysql PRIMARY mysql proxies_priv PRIMARY KEY
def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY
def mysql PRIMARY mysql time_zone PRIMARY KEY
diff --git a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result
index e0ea412e83a..307357cdd2b 100644
--- a/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result
@@ -23,6 +23,7 @@ def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY
+def mysql PRIMARY mysql proxies_priv PRIMARY KEY
def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY
def mysql PRIMARY mysql time_zone PRIMARY KEY
@@ -52,6 +53,7 @@ def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY
+def mysql PRIMARY mysql proxies_priv PRIMARY KEY
def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY
def mysql PRIMARY mysql time_zone PRIMARY KEY
diff --git a/mysql-test/suite/funcs_1/r/is_tables_mysql.result b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
index 19923b6609b..1d139d33693 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_mysql.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_mysql.result
@@ -336,6 +336,29 @@ user_comment Procedure privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME proxies_priv
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment User proxy privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME servers
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
diff --git a/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result b/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result
index 04ac6d8bbdd..a4a1bc6876c 100644
--- a/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result
+++ b/mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result
@@ -336,6 +336,29 @@ user_comment Procedure privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME proxies_priv
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment User proxy privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME servers
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
@@ -881,6 +904,29 @@ user_comment Procedure privileges
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
+TABLE_NAME proxies_priv
+TABLE_TYPE BASE TABLE
+ENGINE MyISAM
+VERSION 10
+ROW_FORMAT Fixed
+TABLE_ROWS #TBLR#
+AVG_ROW_LENGTH #ARL#
+DATA_LENGTH #DL#
+MAX_DATA_LENGTH #MDL#
+INDEX_LENGTH #IL#
+DATA_FREE #DF#
+AUTO_INCREMENT NULL
+CREATE_TIME #CRT#
+UPDATE_TIME #UT#
+CHECK_TIME #CT#
+TABLE_COLLATION utf8_bin
+CHECKSUM NULL
+CREATE_OPTIONS #CO#
+TABLE_COMMENT #TC#
+user_comment User proxy privileges
+Separator -----------------------------------------------------
+TABLE_CATALOG def
+TABLE_SCHEMA mysql
TABLE_NAME servers
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
diff --git a/mysql-test/suite/funcs_1/r/is_tables_ndb.result b/mysql-test/suite/funcs_1/r/is_tables_ndb.result
deleted file mode 100644
index fe737a676ad..00000000000
--- a/mysql-test/suite/funcs_1/r/is_tables_ndb.result
+++ /dev/null
@@ -1,167 +0,0 @@
-DROP DATABASE IF EXISTS test1;
-DROP DATABASE IF EXISTS test2;
-CREATE DATABASE test1;
-CREATE DATABASE test2;
-CREATE TABLE test1.t1 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
-CREATE TABLE test1.t2 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
-CREATE TABLE test2.t1 (f1 VARCHAR(20)) ENGINE = <engine_to_be_used>;
-SELECT *,
-LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
-LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
-AS "user_comment",
-'-----------------------------------------------------' AS "Separator"
-FROM information_schema.tables
-WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE'
-ORDER BY table_schema,table_name;
-TABLE_CATALOG def
-TABLE_SCHEMA test1
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE ndbcluster
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS #TBLR#
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME #CRT#
-UPDATE_TIME #UT#
-CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT #TC#
-user_comment
-Separator -----------------------------------------------------
-TABLE_CATALOG def
-TABLE_SCHEMA test1
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE ndbcluster
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS #TBLR#
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME #CRT#
-UPDATE_TIME #UT#
-CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT #TC#
-user_comment
-Separator -----------------------------------------------------
-TABLE_CATALOG def
-TABLE_SCHEMA test2
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE ndbcluster
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS #TBLR#
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME #CRT#
-UPDATE_TIME #UT#
-CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT #TC#
-user_comment
-Separator -----------------------------------------------------
-SHOW TABLES FROM test1;
-Tables_in_test1
-t1
-t2
-SHOW TABLES FROM test2;
-Tables_in_test2
-t1
-DROP USER testuser1@localhost;
-CREATE USER testuser1@localhost;
-GRANT SELECT ON test1.* TO testuser1@localhost;
-# Establish connection testuser1 (user=testuser1)
-SELECT *,
-LEFT( table_comment,
-IF(INSTR(table_comment,'InnoDB free') = 0
-AND INSTR(table_comment,'number_of_replicas') = 0,
-LENGTH(table_comment),
-INSTR(table_comment,'InnoDB free')
-+ INSTR(table_comment,'number_of_replicas') - 1))
-AS "user_comment",
-'-----------------------------------------------------' AS "Separator"
-FROM information_schema.tables
-WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE'
-ORDER BY table_schema,table_name;
-TABLE_CATALOG def
-TABLE_SCHEMA test1
-TABLE_NAME t1
-TABLE_TYPE BASE TABLE
-ENGINE ndbcluster
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS #TBLR#
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME #CRT#
-UPDATE_TIME #UT#
-CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT #TC#
-user_comment
-Separator -----------------------------------------------------
-TABLE_CATALOG def
-TABLE_SCHEMA test1
-TABLE_NAME t2
-TABLE_TYPE BASE TABLE
-ENGINE ndbcluster
-VERSION 10
-ROW_FORMAT Dynamic
-TABLE_ROWS #TBLR#
-AVG_ROW_LENGTH #ARL#
-DATA_LENGTH #DL#
-MAX_DATA_LENGTH #MDL#
-INDEX_LENGTH #IL#
-DATA_FREE #DF#
-AUTO_INCREMENT NULL
-CREATE_TIME #CRT#
-UPDATE_TIME #UT#
-CHECK_TIME #CT#
-TABLE_COLLATION latin1_swedish_ci
-CHECKSUM NULL
-CREATE_OPTIONS #CO#
-TABLE_COMMENT #TC#
-user_comment
-Separator -----------------------------------------------------
-SHOW TABLES FROM test1;
-Tables_in_test1
-t1
-t2
-SHOW TABLES FROM test2;
-ERROR 42000: Access denied for user 'testuser1'@'localhost' to database 'test2'
-# Switch to connection default and close connection testuser1
-DROP USER testuser1@localhost;
-DROP DATABASE test1;
-DROP DATABASE test2;
diff --git a/mysql-test/suite/funcs_1/r/is_user_privileges.result b/mysql-test/suite/funcs_1/r/is_user_privileges.result
index bfcaf1a9de7..b269da53a3d 100644
--- a/mysql-test/suite/funcs_1/r/is_user_privileges.result
+++ b/mysql-test/suite/funcs_1/r/is_user_privileges.result
@@ -69,46 +69,436 @@ GRANT UPDATE ON *.* TO 'testuser2'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin auth_string
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
#
# Add GRANT OPTION db_datadict.* to testuser1;
GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
# Establish connection testuser1 (user=testuser1)
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
SHOW GRANTS;
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
@@ -123,46 +513,436 @@ GRANT SELECT ON *.* TO 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def SELECT NO
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE SELECT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv Y
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
#
# Here <SELECT YES> is shown correctly for testuser1;
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def SELECT YES
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE SELECT
+IS_GRANTABLE YES
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv Y
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv Y
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def SELECT YES
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE SELECT
+IS_GRANTABLE YES
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 Y N N N N N N N N N Y N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv Y
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv Y
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
SHOW GRANTS;
Grants for testuser1@localhost
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION
@@ -172,9 +952,14 @@ GRANT SELECT ON `mysql`.`user` TO 'testuser1'@'localhost'
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
ERROR 42000: SELECT command denied to user 'testuser2'@'localhost' for table 'user'
@@ -185,8 +970,10 @@ GRANT INSERT, UPDATE ON *.* TO 'testuser2'@'localhost'
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
ERROR 42000: SELECT command denied to user 'testuser3'@'localhost' for table 'user'
@@ -200,23 +987,158 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user'
@@ -228,8 +1150,10 @@ ERROR 42000: CREATE command denied to user 'testuser1'@'localhost' for table 'tb
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user'
@@ -246,29 +1170,286 @@ GRANT SELECT ON mysql.user TO 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
SHOW GRANTS;
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
@@ -280,14 +1461,138 @@ USE db_datadict;
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
SHOW GRANTS;
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
@@ -302,23 +1607,158 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
-'testuser2'@'localhost' def INSERT NO
-'testuser2'@'localhost' def UPDATE NO
-'testuser3'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE INSERT
+IS_GRANTABLE NO
+GRANTEE 'testuser2'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE UPDATE
+IS_GRANTABLE NO
+GRANTEE 'testuser3'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections
-localhost testuser1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser2 N Y Y N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
-localhost testuser3 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0
+Host localhost
+User testuser1
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser2
+Password
+Select_priv N
+Insert_priv Y
+Update_priv Y
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
+Host localhost
+User testuser3
+Password
+Select_priv N
+Insert_priv N
+Update_priv N
+Delete_priv N
+Create_priv N
+Drop_priv N
+Reload_priv N
+Shutdown_priv N
+Process_priv N
+File_priv N
+Grant_priv N
+References_priv N
+Index_priv N
+Alter_priv N
+Show_db_priv N
+Super_priv N
+Create_tmp_table_priv N
+Lock_tables_priv N
+Execute_priv N
+Repl_slave_priv N
+Repl_client_priv N
+Create_view_priv N
+Show_view_priv N
+Create_routine_priv N
+Alter_routine_priv N
+Create_user_priv N
+Event_priv N
+Trigger_priv N
+Create_tablespace_priv N
+ssl_type
+ssl_cipher
+x509_issuer
+x509_subject
+max_questions 0
+max_updates 0
+max_connections 0
+max_user_connections 0
+plugin
+authentication_string NULL
# Switch to connection testuser1
SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%'''
ORDER BY grantee, table_catalog, privilege_type;
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
ERROR 42000: SELECT command denied to user 'testuser1'@'localhost' for table 'user'
@@ -341,31 +1781,36 @@ DROP DATABASE IF EXISTS db_datadict;
########################################################################################
SELECT * FROM information_schema.user_privileges
WHERE grantee = '''testuser1''@''localhost''';
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
SHOW GRANTS FOR 'testuser1'@'localhost';
ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost'
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee = '''testuser1''@''localhost''';
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def USAGE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE USAGE
+IS_GRANTABLE NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost'
GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee = '''testuser1''@''localhost''';
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
-'testuser1'@'localhost' def SELECT NO
-'testuser1'@'localhost' def FILE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE SELECT
+IS_GRANTABLE NO
+GRANTEE 'testuser1'@'localhost'
+TABLE_CATALOG def
+PRIVILEGE_TYPE FILE
+IS_GRANTABLE NO
SHOW GRANTS FOR 'testuser1'@'localhost';
Grants for testuser1@localhost
GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost'
DROP USER 'testuser1'@'localhost';
SELECT * FROM information_schema.user_privileges
WHERE grantee = '''testuser1''@''localhost''';
-GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE
SHOW GRANTS FOR 'testuser1'@'localhost';
ERROR 42000: There is no such grant defined for user 'testuser1' on host 'localhost'
########################################################################
diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
index 096cbd1261e..f08165b21f8 100644
--- a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result
@@ -111,10 +111,10 @@ Ensure that root always has the GRANT CREATE ROUTINE privilege.
--------------------------------------------------------------------------------
grant create routine on db_storedproc_1.* to 'user_1'@'localhost';
flush privileges;
+DROP PROCEDURE IF EXISTS db_storedproc_1.sp3;
+DROP FUNCTION IF EXISTS db_storedproc_1.fn1;
user_1@localhost db_storedproc_1
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
CREATE PROCEDURE sp3(v1 char(20))
BEGIN
SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
@@ -129,8 +129,6 @@ root@localhost db_storedproc_1
drop user 'user_1'@'localhost';
DROP PROCEDURE sp3;
DROP FUNCTION fn1;
-Warnings:
-Warning 1403 There is no such grant defined for user 'user_1' on host 'localhost' on routine 'fn1'
Testcase 3.1.6.4:
-----------------
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_03e.result b/mysql-test/suite/funcs_1/r/memory_trig_03e.result
index 0b04e72c4b1..9b2e9e27b4a 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_03e.result
@@ -574,6 +574,7 @@ root@localhost
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1;
use priv_db;
diff --git a/mysql-test/suite/funcs_1/r/memory_trig_08.result b/mysql-test/suite/funcs_1/r/memory_trig_08.result
index 03505af95c5..3f303ef607f 100644
--- a/mysql-test/suite/funcs_1/r/memory_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/memory_trig_08.result
@@ -354,8 +354,6 @@ B Test 3.5.8.5-case 00191 0000000016 C=one
C Test 3.5.8.5-case 00200 0000000001 C=one
Insert into tb3 (f120, f122, f136)
values ('d', 'Test 3.5.8.5-case', 152);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
select f120, f122, f136, f144, @test_var
from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
f120 f122 f136 f144 @test_var
@@ -365,8 +363,6 @@ B Test 3.5.8.5-case 00191 0000000016 1*0000099999
C Test 3.5.8.5-case 00200 0000000001 1*0000099999
Insert into tb3 (f120, f122, f136, f144)
values ('e', 'Test 3.5.8.5-case', 200, 8);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
select f120, f122, f136, f144, @test_var
from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
f120 f122 f136 f144 @test_var
diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
index 096cbd1261e..f08165b21f8 100644
--- a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
+++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result
@@ -111,10 +111,10 @@ Ensure that root always has the GRANT CREATE ROUTINE privilege.
--------------------------------------------------------------------------------
grant create routine on db_storedproc_1.* to 'user_1'@'localhost';
flush privileges;
+DROP PROCEDURE IF EXISTS db_storedproc_1.sp3;
+DROP FUNCTION IF EXISTS db_storedproc_1.fn1;
user_1@localhost db_storedproc_1
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
CREATE PROCEDURE sp3(v1 char(20))
BEGIN
SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
@@ -129,8 +129,6 @@ root@localhost db_storedproc_1
drop user 'user_1'@'localhost';
DROP PROCEDURE sp3;
DROP FUNCTION fn1;
-Warnings:
-Warning 1403 There is no such grant defined for user 'user_1' on host 'localhost' on routine 'fn1'
Testcase 3.1.6.4:
-----------------
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_03e.result b/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
index dd8b0063339..ea421e85b86 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_03e.result
@@ -574,6 +574,7 @@ root@localhost
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1;
use priv_db;
diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_08.result b/mysql-test/suite/funcs_1/r/myisam_trig_08.result
index 03505af95c5..3f303ef607f 100644
--- a/mysql-test/suite/funcs_1/r/myisam_trig_08.result
+++ b/mysql-test/suite/funcs_1/r/myisam_trig_08.result
@@ -354,8 +354,6 @@ B Test 3.5.8.5-case 00191 0000000016 C=one
C Test 3.5.8.5-case 00200 0000000001 C=one
Insert into tb3 (f120, f122, f136)
values ('d', 'Test 3.5.8.5-case', 152);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
select f120, f122, f136, f144, @test_var
from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
f120 f122 f136 f144 @test_var
@@ -365,8 +363,6 @@ B Test 3.5.8.5-case 00191 0000000016 1*0000099999
C Test 3.5.8.5-case 00200 0000000001 1*0000099999
Insert into tb3 (f120, f122, f136, f144)
values ('e', 'Test 3.5.8.5-case', 200, 8);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
select f120, f122, f136, f144, @test_var
from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
f120 f122 f136 f144 @test_var
diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views-big.result
index ca4dba9f337..ca4dba9f337 100644
--- a/mysql-test/suite/funcs_1/r/myisam_views.result
+++ b/mysql-test/suite/funcs_1/r/myisam_views-big.result
diff --git a/mysql-test/suite/funcs_1/r/ndb_bitdata.result b/mysql-test/suite/funcs_1/r/ndb_bitdata.result
deleted file mode 100644
index 917157fcdae..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_bitdata.result
+++ /dev/null
@@ -1,3 +0,0 @@
-
-NOT YET IMPLEMENTED: bitdata tests
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_cursors.result b/mysql-test/suite/funcs_1/r/ndb_cursors.result
deleted file mode 100644
index 9f20e51204b..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_cursors.result
+++ /dev/null
@@ -1,3 +0,0 @@
-
-NOT YET IMPLEMENTED: cursor tests
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_func_view.result b/mysql-test/suite/funcs_1/r/ndb_func_view.result
deleted file mode 100644
index e788dfd9fc1..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_func_view.result
+++ /dev/null
@@ -1,5294 +0,0 @@
-DROP TABLE IF EXISTS t1_selects, t1_modes, t1_values;
-DROP VIEW IF EXISTS v1;
-CREATE TABLE t1_values
-(
-id BIGINT AUTO_INCREMENT,
-select_id BIGINT,
-PRIMARY KEY(id)
-) ENGINE = <engine_to_be_tested>;
-ALTER TABLE t1_values ADD my_char_30 CHAR(30);
-ALTER TABLE t1_values ADD my_varchar_1000 VARCHAR(1000);
-ALTER TABLE t1_values ADD my_binary_30 BINARY(30);
-ALTER TABLE t1_values ADD my_varbinary_1000 VARBINARY(1000);
-ALTER TABLE t1_values ADD my_datetime DATETIME;
-ALTER TABLE t1_values ADD my_date DATE;
-ALTER TABLE t1_values ADD ts_dummy TIMESTAMP;
-ALTER TABLE t1_values ADD my_timestamp TIMESTAMP;
-ALTER TABLE t1_values ADD my_time TIME;
-ALTER TABLE t1_values ADD my_year YEAR;
-ALTER TABLE t1_values ADD my_bigint BIGINT;
-ALTER TABLE t1_values ADD my_double DOUBLE;
-ALTER TABLE t1_values ADD my_decimal DECIMAL(64,30);
-SET sql_mode = 'traditional';
-INSERT INTO t1_values SET id = 0;
-INSERT INTO t1_values SET
-my_char_30 = '',
-my_varchar_1000 = '',
-my_binary_30 = '',
-my_varbinary_1000 = '',
-my_datetime = '0001-01-01 00:00:00',
-my_date = '0001-01-01',
-my_timestamp = '1970-01-01 03:00:01',
-my_time = '-838:59:59',
-my_year = '1901',
-my_bigint = -9223372036854775808,
-my_decimal = -9999999999999999999999999999999999.999999999999999999999999999999 ,
-my_double = -1.7976931348623E+308;
-INSERT INTO t1_values SET
-my_char_30 = '<--------30 characters------->',
-my_varchar_1000 = CONCAT('<---------1000 characters',
-RPAD('',965,'-'),'--------->'),
-my_binary_30 = '<--------30 characters------->',
-my_varbinary_1000 = CONCAT('<---------1000 characters',
-RPAD('',965,'-'),'--------->'),
-my_datetime = '9999-12-31 23:59:59',
-my_date = '9999-12-31',
-my_timestamp = '2038-01-01 02:59:59',
-my_time = '838:59:59',
-my_year = 2155,
-my_bigint = 9223372036854775807,
-my_decimal = +9999999999999999999999999999999999.999999999999999999999999999999 ,
-my_double = 1.7976931348623E+308;
-INSERT INTO t1_values SET
-my_char_30 = ' ---äÖüß@µ*$-- ',
-my_varchar_1000 = ' ---äÖüß@µ*$-- ',
-my_binary_30 = ' ---äÖüß@µ*$-- ',
-my_varbinary_1000 = ' ---äÖüß@µ*$-- ',
-my_datetime = '2004-02-29 23:59:59',
-my_date = '2004-02-29',
-my_timestamp = '2004-02-29 23:59:59',
-my_time = '13:00:00',
-my_year = 2000,
-my_bigint = 0,
-my_decimal = 0.0,
-my_double = 0;
-INSERT INTO t1_values SET
-my_char_30 = '-1',
-my_varchar_1000 = '-1',
-my_binary_30 = '-1',
-my_varbinary_1000 = '-1',
-my_datetime = '2005-06-28 10:00:00',
-my_date = '2005-06-28',
-my_timestamp = '2005-06-28 10:00:00',
-my_time = '10:00:00',
-my_year = 2005,
-my_bigint = -1,
-my_decimal = -1.000000000000000000000000000000,
-my_double = -0.1E+1;
-PREPARE ins_sel_with_result FROM "INSERT INTO t1_selects SET my_select = @my_select,
-disable_result = 'No'" ;
-PREPARE ins_sel_no_result FROM "INSERT INTO t1_selects SET my_select = @my_select,
-disable_result = 'Yes'" ;
-SET sql_mode = 'traditional';
-SET @my_select = 'SELECT sqrt(my_bigint), my_bigint, id FROM t1_values';
-INSERT INTO t1_values SET select_id = @select_id,
-my_bigint = 4;
-INSERT INTO t1_values SET select_id = @select_id,
-my_bigint = -25;
-##### 1.1.1. CAST --> BINARY
-##### 1.1.2. CAST --> CHAR
-##### 1.1.3. CAST --> DATE
-INSERT INTO t1_values SET select_id = @select_id,
-my_char_30 = '2005-06-27';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varchar_1000 = '2005-06-27';
-INSERT INTO t1_values SET select_id = @select_id,
-my_binary_30 = '2005-06-27';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varbinary_1000 = '2005-06-27';
-INSERT INTO t1_values SET select_id = @select_id,
-my_bigint = 20050627;
-INSERT INTO t1_values SET select_id = @select_id,
-my_double = +20.050627E+6;
-##### 1.1.4. CAST --> DATETIME
-INSERT INTO t1_values SET select_id = @select_id,
-my_char_30 = '2005-06-27 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varchar_1000 = '2005-06-27 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_binary_30 = '2005-06-27 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varbinary_1000 = '2005-06-27 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_bigint = 200506271758;
-INSERT INTO t1_values SET select_id = @select_id,
-my_double = +0.0200506271758E+13;
-##### 1.1.5. CAST --> TIME
-INSERT INTO t1_values SET select_id = @select_id,
-my_char_30 = '1 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varchar_1000 = '1 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_binary_30 = '1 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varbinary_1000 = '1 17:58';
-INSERT INTO t1_values SET select_id = @select_id,
-my_bigint = 1758;
-INSERT INTO t1_values SET select_id = @select_id,
-my_double = +1.758E+3;
-##### 1.1.6. CAST --> DECIMAL
-INSERT INTO t1_values SET select_id = @select_id,
-my_char_30 = '-3333.3333';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varchar_1000 = '-3333.3333';
-INSERT INTO t1_values SET select_id = @select_id,
-my_binary_30 = '-3333.3333';
-INSERT INTO t1_values SET select_id = @select_id,
-my_varbinary_1000 = '-3333.3333';
-INSERT INTO t1_values SET select_id = @select_id,
-my_double = -0.33333333E+4;
-##### 1.1.7. CAST --> SIGNED INTEGER
-
-"Attention: CAST --> SIGNED INTEGER
- Bug#5913 Traditional mode: BIGINT range not correctly delimited
- Status: To be fixed later"
---------------------------------------------------------------------------------
-##### 1.1.8. CAST --> UNSIGNED INTEGER
-
-"Attention: CAST --> UNSIGNED INTEGER
- The file with expected results suffers from Bug 5913"
---------------------------------------------------------------------------------
-
-some statements disabled because of
-Bug#5913 Traditional mode: BIGINT range not correctly delimited
---------------------------------------------------------------------------------
-SET @my_select = 'SELECT CONVERT(my_char_30 USING utf8),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_varchar_1000 USING utf8),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_binary_30 USING utf8),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_varbinary_1000 USING utf8),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_char_30 USING koi8r),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_varchar_1000 USING koi8r),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_binary_30 USING koi8r),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT CONVERT(my_varbinary_1000 USING koi8r),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT BIT_LENGTH(my_char_30),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT BIT_LENGTH(my_varchar_1000),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT BIT_LENGTH(my_binary_30),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT BIT_LENGTH(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT INSTR(my_char_30, ''char''),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LCASE(my_varchar_1000),
-my_varchar_1000, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', my_bigint), my_bigint, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', my_decimal), my_decimal, id FROM t1_values';
-SET @my_select =
-'SELECT LEFT(''AaBbCcDdEeFfGgHhIiJjÄäÜüÖö'', my_double), my_double, id FROM t1_values';
-SET @my_select = 'SELECT LENGTH(my_char_30),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LENGTH(my_varchar_1000),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT LENGTH(my_binary_30),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT LENGTH(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select =
-'SELECT LOAD_FILE(''<MYSQLTEST_VARDIR>/std_data/funcs_1/load_file.txt'')
- AS my_col,
- id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''char'', my_char_30),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''char'', my_varchar_1000),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''char'', my_binary_30),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''char'', my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_char_30, my_char_30 ),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_char_30, my_varchar_1000 ),
-my_char_30, my_varchar_1000 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_char_30, my_binary_30 ),
-my_char_30, my_binary_30 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_char_30, my_varbinary_1000 ),
-my_char_30, my_varbinary_1000 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varchar_1000, my_varchar_1000 ),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varchar_1000, my_char_30 ),
-my_varchar_1000, my_char_30 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varchar_1000, my_binary_30 ),
-my_varchar_1000, my_binary_30 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varchar_1000, my_varbinary_1000 ),
-my_varchar_1000, my_varbinary_1000 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_binary_30, my_binary_30 ),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_binary_30, my_char_30 ),
-my_binary_30, my_char_30 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_binary_30, my_varchar_1000 ),
-my_binary_30, my_varchar_1000 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_binary_30, my_varbinary_1000 ),
-my_binary_30, my_varbinary_1000 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varbinary_1000, my_varbinary_1000 ),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varbinary_1000, my_char_30 ),
-my_varbinary_1000, my_char_30 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varbinary_1000, my_varchar_1000 ),
-my_varbinary_1000, my_varchar_1000 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(my_varbinary_1000, my_binary_30 ),
-my_varbinary_1000, my_binary_30 id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', my_char_30, 3),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', my_varchar_1000, 3),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', my_binary_30, 3),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', my_varbinary_1000, 3),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', '' - -ABC'', my_bigint),
-my_bigint, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', '' - -ABC'', my_double),
-my_double, id FROM t1_values';
-SET @my_select = 'SELECT LOCATE(''-'', '' - -ABC'', my_decimal),
-my_decimal, id FROM t1_values';
-SET @my_select = 'SELECT LOWER(my_char_30),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LOWER(my_varchar_1000),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT LOWER(my_binary_30),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT LOWER(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select = 'SELECT LTRIM(my_char_30),
-my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT LTRIM(my_varchar_1000),
-my_varchar_1000, id FROM t1_values';
-SET @my_select = 'SELECT LTRIM(my_binary_30),
-my_binary_30, id FROM t1_values';
-SET @my_select = 'SELECT LTRIM(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values';
-SET @my_select =
-'SELECT CONCAT(''A'',my_char_30), my_char_30, id FROM t1_values';
-SET @my_select = 'SELECT my_char_30, id FROM t1_values';
-INSERT INTO t1_values SET select_id = @select_id,
-my_char_30 = 'Viana do Castelo';
-SET sql_mode = '';
-
-"# The basic preparations end and the main test starts here"
---------------------------------------------------------------------------------
-CREATE VIEW v1 AS SELECT my_char_30, id FROM t1_values;
-SELECT my_char_30, id FROM t1_values
-WHERE select_id = 193 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 193 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONCAT('A',my_char_30), my_char_30, id FROM t1_values;
-SELECT CONCAT('A',my_char_30), my_char_30, id FROM t1_values
-WHERE select_id = 192 OR select_id IS NULL order by id;
-CONCAT('A',my_char_30) my_char_30 id
-NULL NULL 1
-A 2
-A<--------30 characters-------> <--------30 characters-------> 3
-A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-A-1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat('A',`t1_values`.`my_char_30`) AS `CONCAT('A',my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 192 OR select_id IS NULL) order by id;
-CONCAT('A',my_char_30) my_char_30 id
-NULL NULL 1
-A 2
-A<--------30 characters-------> <--------30 characters-------> 3
-A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
-A-1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LTRIM(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values;
-SELECT LTRIM(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 191 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ltrim(`t1_values`.`my_varbinary_1000`) AS `LTRIM(my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 191 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LTRIM(my_binary_30),
-my_binary_30, id FROM t1_values;
-SELECT LTRIM(my_binary_30),
-my_binary_30, id FROM t1_values
-WHERE select_id = 190 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ltrim(`t1_values`.`my_binary_30`) AS `LTRIM(my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 190 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LTRIM(my_varchar_1000),
-my_varchar_1000, id FROM t1_values;
-SELECT LTRIM(my_varchar_1000),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 189 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ltrim(`t1_values`.`my_varchar_1000`) AS `LTRIM(my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 189 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LTRIM(my_char_30),
-my_char_30, id FROM t1_values;
-SELECT LTRIM(my_char_30),
-my_char_30, id FROM t1_values
-WHERE select_id = 188 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ltrim(`t1_values`.`my_char_30`) AS `LTRIM(my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 188 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOWER(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values;
-SELECT LOWER(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 187 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select lcase(`t1_values`.`my_varbinary_1000`) AS `LOWER(my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 187 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOWER(my_binary_30),
-my_binary_30, id FROM t1_values;
-SELECT LOWER(my_binary_30),
-my_binary_30, id FROM t1_values
-WHERE select_id = 186 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select lcase(`t1_values`.`my_binary_30`) AS `LOWER(my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 186 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOWER(my_varchar_1000),
-my_varchar_1000, id FROM t1_values;
-SELECT LOWER(my_varchar_1000),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 185 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select lcase(`t1_values`.`my_varchar_1000`) AS `LOWER(my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 185 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOWER(my_char_30),
-my_char_30, id FROM t1_values;
-SELECT LOWER(my_char_30),
-my_char_30, id FROM t1_values
-WHERE select_id = 184 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select lcase(`t1_values`.`my_char_30`) AS `LOWER(my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 184 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', ' - -ABC', my_decimal),
-my_decimal, id FROM t1_values;
-SELECT LOCATE('-', ' - -ABC', my_decimal),
-my_decimal, id FROM t1_values
-WHERE select_id = 183 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',' - -ABC',`t1_values`.`my_decimal`) AS `LOCATE('-', ' - -ABC', my_decimal)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 183 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', ' - -ABC', my_double),
-my_double, id FROM t1_values;
-SELECT LOCATE('-', ' - -ABC', my_double),
-my_double, id FROM t1_values
-WHERE select_id = 182 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',' - -ABC',`t1_values`.`my_double`) AS `LOCATE('-', ' - -ABC', my_double)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 182 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', ' - -ABC', my_bigint),
-my_bigint, id FROM t1_values;
-SELECT LOCATE('-', ' - -ABC', my_bigint),
-my_bigint, id FROM t1_values
-WHERE select_id = 181 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',' - -ABC',`t1_values`.`my_bigint`) AS `LOCATE('-', ' - -ABC', my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 181 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', my_varbinary_1000, 3),
-my_varbinary_1000, id FROM t1_values;
-SELECT LOCATE('-', my_varbinary_1000, 3),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 180 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_varbinary_1000`,3) AS `LOCATE('-', my_varbinary_1000, 3)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 180 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', my_binary_30, 3),
-my_binary_30, id FROM t1_values;
-SELECT LOCATE('-', my_binary_30, 3),
-my_binary_30, id FROM t1_values
-WHERE select_id = 179 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_binary_30`,3) AS `LOCATE('-', my_binary_30, 3)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 179 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', my_varchar_1000, 3),
-my_varchar_1000, id FROM t1_values;
-SELECT LOCATE('-', my_varchar_1000, 3),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 178 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_varchar_1000`,3) AS `LOCATE('-', my_varchar_1000, 3)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 178 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('-', my_char_30, 3),
-my_char_30, id FROM t1_values;
-SELECT LOCATE('-', my_char_30, 3),
-my_char_30, id FROM t1_values
-WHERE select_id = 177 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_char_30`,3) AS `LOCATE('-', my_char_30, 3)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 177 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varbinary_1000, my_binary_30 ),
-my_varbinary_1000, my_binary_30 id FROM t1_values;
-SELECT LOCATE(my_varbinary_1000, my_binary_30 ),
-my_varbinary_1000, my_binary_30 id FROM t1_values
-WHERE select_id = 176 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varbinary_1000`,`t1_values`.`my_binary_30`) AS `LOCATE(my_varbinary_1000, my_binary_30 )`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`my_binary_30` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 176 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varbinary_1000, my_varchar_1000 ),
-my_varbinary_1000, my_varchar_1000 id FROM t1_values;
-SELECT LOCATE(my_varbinary_1000, my_varchar_1000 ),
-my_varbinary_1000, my_varchar_1000 id FROM t1_values
-WHERE select_id = 175 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varbinary_1000`,`t1_values`.`my_varchar_1000`) AS `LOCATE(my_varbinary_1000, my_varchar_1000 )`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`my_varchar_1000` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 175 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varbinary_1000, my_char_30 ),
-my_varbinary_1000, my_char_30 id FROM t1_values;
-SELECT LOCATE(my_varbinary_1000, my_char_30 ),
-my_varbinary_1000, my_char_30 id FROM t1_values
-WHERE select_id = 174 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varbinary_1000`,`t1_values`.`my_char_30`) AS `LOCATE(my_varbinary_1000, my_char_30 )`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`my_char_30` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 174 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varbinary_1000, my_varbinary_1000 ),
-my_varbinary_1000, id FROM t1_values;
-SELECT LOCATE(my_varbinary_1000, my_varbinary_1000 ),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 173 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varbinary_1000`,`t1_values`.`my_varbinary_1000`) AS `LOCATE(my_varbinary_1000, my_varbinary_1000 )`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 173 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_binary_30, my_varbinary_1000 ),
-my_binary_30, my_varbinary_1000 id FROM t1_values;
-SELECT LOCATE(my_binary_30, my_varbinary_1000 ),
-my_binary_30, my_varbinary_1000 id FROM t1_values
-WHERE select_id = 172 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_binary_30`,`t1_values`.`my_varbinary_1000`) AS `LOCATE(my_binary_30, my_varbinary_1000 )`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`my_varbinary_1000` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 172 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_binary_30, my_varchar_1000 ),
-my_binary_30, my_varchar_1000 id FROM t1_values;
-SELECT LOCATE(my_binary_30, my_varchar_1000 ),
-my_binary_30, my_varchar_1000 id FROM t1_values
-WHERE select_id = 171 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_binary_30`,`t1_values`.`my_varchar_1000`) AS `LOCATE(my_binary_30, my_varchar_1000 )`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`my_varchar_1000` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 171 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_binary_30, my_char_30 ),
-my_binary_30, my_char_30 id FROM t1_values;
-SELECT LOCATE(my_binary_30, my_char_30 ),
-my_binary_30, my_char_30 id FROM t1_values
-WHERE select_id = 170 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_binary_30`,`t1_values`.`my_char_30`) AS `LOCATE(my_binary_30, my_char_30 )`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`my_char_30` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 170 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_binary_30, my_binary_30 ),
-my_binary_30, id FROM t1_values;
-SELECT LOCATE(my_binary_30, my_binary_30 ),
-my_binary_30, id FROM t1_values
-WHERE select_id = 169 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_binary_30`,`t1_values`.`my_binary_30`) AS `LOCATE(my_binary_30, my_binary_30 )`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 169 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varchar_1000, my_varbinary_1000 ),
-my_varchar_1000, my_varbinary_1000 id FROM t1_values;
-SELECT LOCATE(my_varchar_1000, my_varbinary_1000 ),
-my_varchar_1000, my_varbinary_1000 id FROM t1_values
-WHERE select_id = 168 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varchar_1000`,`t1_values`.`my_varbinary_1000`) AS `LOCATE(my_varchar_1000, my_varbinary_1000 )`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`my_varbinary_1000` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 168 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varchar_1000, my_binary_30 ),
-my_varchar_1000, my_binary_30 id FROM t1_values;
-SELECT LOCATE(my_varchar_1000, my_binary_30 ),
-my_varchar_1000, my_binary_30 id FROM t1_values
-WHERE select_id = 167 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varchar_1000`,`t1_values`.`my_binary_30`) AS `LOCATE(my_varchar_1000, my_binary_30 )`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`my_binary_30` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 167 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varchar_1000, my_char_30 ),
-my_varchar_1000, my_char_30 id FROM t1_values;
-SELECT LOCATE(my_varchar_1000, my_char_30 ),
-my_varchar_1000, my_char_30 id FROM t1_values
-WHERE select_id = 166 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varchar_1000`,`t1_values`.`my_char_30`) AS `LOCATE(my_varchar_1000, my_char_30 )`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`my_char_30` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 166 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_varchar_1000, my_varchar_1000 ),
-my_varchar_1000, id FROM t1_values;
-SELECT LOCATE(my_varchar_1000, my_varchar_1000 ),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 165 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_varchar_1000`,`t1_values`.`my_varchar_1000`) AS `LOCATE(my_varchar_1000, my_varchar_1000 )`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 165 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_char_30, my_varbinary_1000 ),
-my_char_30, my_varbinary_1000 id FROM t1_values;
-SELECT LOCATE(my_char_30, my_varbinary_1000 ),
-my_char_30, my_varbinary_1000 id FROM t1_values
-WHERE select_id = 164 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_char_30`,`t1_values`.`my_varbinary_1000`) AS `LOCATE(my_char_30, my_varbinary_1000 )`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`my_varbinary_1000` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 164 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_char_30, my_binary_30 ),
-my_char_30, my_binary_30 id FROM t1_values;
-SELECT LOCATE(my_char_30, my_binary_30 ),
-my_char_30, my_binary_30 id FROM t1_values
-WHERE select_id = 163 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_char_30`,`t1_values`.`my_binary_30`) AS `LOCATE(my_char_30, my_binary_30 )`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`my_binary_30` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 163 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_char_30, my_varchar_1000 ),
-my_char_30, my_varchar_1000 id FROM t1_values;
-SELECT LOCATE(my_char_30, my_varchar_1000 ),
-my_char_30, my_varchar_1000 id FROM t1_values
-WHERE select_id = 162 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_char_30`,`t1_values`.`my_varchar_1000`) AS `LOCATE(my_char_30, my_varchar_1000 )`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`my_varchar_1000` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 162 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE(my_char_30, my_char_30 ),
-my_char_30, id FROM t1_values;
-SELECT LOCATE(my_char_30, my_char_30 ),
-my_char_30, id FROM t1_values
-WHERE select_id = 161 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(`t1_values`.`my_char_30`,`t1_values`.`my_char_30`) AS `LOCATE(my_char_30, my_char_30 )`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 161 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('char', my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values;
-SELECT LOCATE('char', my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 160 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_varbinary_1000`) AS `LOCATE('char', my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 160 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('char', my_binary_30),
-my_binary_30, id FROM t1_values;
-SELECT LOCATE('char', my_binary_30),
-my_binary_30, id FROM t1_values
-WHERE select_id = 159 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_binary_30`) AS `LOCATE('char', my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 159 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('char', my_varchar_1000),
-my_varchar_1000, id FROM t1_values;
-SELECT LOCATE('char', my_varchar_1000),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 158 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_varchar_1000`) AS `LOCATE('char', my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 158 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOCATE('char', my_char_30),
-my_char_30, id FROM t1_values;
-SELECT LOCATE('char', my_char_30),
-my_char_30, id FROM t1_values
-WHERE select_id = 157 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_char_30`) AS `LOCATE('char', my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 157 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data/funcs_1/load_file.txt')
- AS my_col,
- id FROM t1_values;
-SELECT LOAD_FILE('<MYSQLTEST_VARDIR>/std_data/funcs_1/load_file.txt')
- AS my_col,
- id FROM t1_values
-WHERE select_id = 156 OR select_id IS NULL order by id;
-my_col id
-Here is content from load_file
- 1
-Here is content from load_file
- 2
-Here is content from load_file
- 3
-Here is content from load_file
- 4
-Here is content from load_file
- 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('<MYSQLTEST_VARDIR>/std_data/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 156 OR select_id IS NULL) order by id;
-my_col id
-Here is content from load_file
- 1
-Here is content from load_file
- 2
-Here is content from load_file
- 3
-Here is content from load_file
- 4
-Here is content from load_file
- 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LENGTH(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values;
-SELECT LENGTH(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 155 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select length(`t1_values`.`my_varbinary_1000`) AS `LENGTH(my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 155 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LENGTH(my_binary_30),
-my_binary_30, id FROM t1_values;
-SELECT LENGTH(my_binary_30),
-my_binary_30, id FROM t1_values
-WHERE select_id = 154 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select length(`t1_values`.`my_binary_30`) AS `LENGTH(my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 154 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LENGTH(my_varchar_1000),
-my_varchar_1000, id FROM t1_values;
-SELECT LENGTH(my_varchar_1000),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 153 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select length(`t1_values`.`my_varchar_1000`) AS `LENGTH(my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 153 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LENGTH(my_char_30),
-my_char_30, id FROM t1_values;
-SELECT LENGTH(my_char_30),
-my_char_30, id FROM t1_values
-WHERE select_id = 152 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select length(`t1_values`.`my_char_30`) AS `LENGTH(my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 152 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double), my_double, id FROM t1_values;
-SELECT LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double), my_double, id FROM t1_values
-WHERE select_id = 151 OR select_id IS NULL order by id;
-LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double) my_double id
-NULL NULL 1
- -1.7976931348623e308 2
-AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e308 3
- 0 4
- -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e308'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_double`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 151 OR select_id IS NULL) order by id;
-LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double) my_double id
-NULL NULL 1
- -1.7976931348623e308 2
-AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 1.7976931348623e308 3
- 0 4
- -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e308'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal), my_decimal, id FROM t1_values;
-SELECT LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal), my_decimal, id FROM t1_values
-WHERE select_id = 150 OR select_id IS NULL order by id;
-LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal) my_decimal id
-NULL NULL 1
- -9999999999999999999999999999999999.999999999999999999999999999999 2
-AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 9999999999999999999999999999999999.999999999999999999999999999999 3
- 0.000000000000000000000000000000 4
- -1.000000000000000000000000000000 5
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_decimal`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 150 OR select_id IS NULL) order by id;
-LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal) my_decimal id
-NULL NULL 1
- -9999999999999999999999999999999999.999999999999999999999999999999 2
-AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 9999999999999999999999999999999999.999999999999999999999999999999 3
- 0.000000000000000000000000000000 4
- -1.000000000000000000000000000000 5
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint), my_bigint, id FROM t1_values;
-SELECT LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint), my_bigint, id FROM t1_values
-WHERE select_id = 149 OR select_id IS NULL order by id;
-LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint) my_bigint id
-NULL NULL 1
- -9223372036854775808 2
-AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 9223372036854775807 3
- 0 4
- -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_bigint`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 149 OR select_id IS NULL) order by id;
-LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint) my_bigint id
-NULL NULL 1
- -9223372036854775808 2
-AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 9223372036854775807 3
- 0 4
- -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values;
-SELECT LEFT(my_varbinary_1000, 2), my_varbinary_1000, id FROM t1_values
-WHERE select_id = 148 OR select_id IS NULL order by id;
-LEFT(my_varbinary_1000, 2) my_varbinary_1000 id
-NULL NULL 1
- 2
-<- <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(`t1_values`.`my_varbinary_1000`,2) AS `LEFT(my_varbinary_1000, 2)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 148 OR select_id IS NULL) order by id;
-LEFT(my_varbinary_1000, 2) my_varbinary_1000 id
-NULL NULL 1
- 2
-<- <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values;
-SELECT LEFT(my_binary_30, 2), my_binary_30, id FROM t1_values
-WHERE select_id = 147 OR select_id IS NULL order by id;
-LEFT(my_binary_30, 2) my_binary_30 id
-NULL NULL 1
- 2
-<- <--------30 characters-------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(`t1_values`.`my_binary_30`,2) AS `LEFT(my_binary_30, 2)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 147 OR select_id IS NULL) order by id;
-LEFT(my_binary_30, 2) my_binary_30 id
-NULL NULL 1
-
-<- <--------30 characters-------> 3
- - ---äÖüß@µ*$--
--1 -1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values;
-SELECT LEFT(my_varchar_1000, 2), my_varchar_1000, id FROM t1_values
-WHERE select_id = 146 OR select_id IS NULL order by id;
-LEFT(my_varchar_1000, 2) my_varchar_1000 id
-NULL NULL 1
- 2
-<- <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(`t1_values`.`my_varchar_1000`,2) AS `LEFT(my_varchar_1000, 2)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 146 OR select_id IS NULL) order by id;
-LEFT(my_varchar_1000, 2) my_varchar_1000 id
-NULL NULL 1
- 2
-<- <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values;
-SELECT LEFT(my_char_30, 2), my_char_30, id FROM t1_values
-WHERE select_id = 145 OR select_id IS NULL order by id;
-LEFT(my_char_30, 2) my_char_30 id
-NULL NULL 1
- 2
-<- <--------30 characters-------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(`t1_values`.`my_char_30`,2) AS `LEFT(my_char_30, 2)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 145 OR select_id IS NULL) order by id;
-LEFT(my_char_30, 2) my_char_30 id
-NULL NULL 1
- 2
-<- <--------30 characters-------> 3
- - ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT LCASE(my_varchar_1000),
-my_varchar_1000, id FROM t1_values;
-SELECT LCASE(my_varchar_1000),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 144 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select lcase(`t1_values`.`my_varchar_1000`) AS `LCASE(my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 144 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT INSTR(my_char_30, 'char'),
-my_char_30, id FROM t1_values;
-SELECT INSTR(my_char_30, 'char'),
-my_char_30, id FROM t1_values
-WHERE select_id = 143 OR select_id IS NULL order by id;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_char_30`) AS `INSTR(my_char_30, 'char')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 143 OR select_id IS NULL) order by id;
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT BIT_LENGTH(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values;
-SELECT BIT_LENGTH(my_varbinary_1000),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 142 OR select_id IS NULL order by id;
-BIT_LENGTH(my_varbinary_1000) my_varbinary_1000 id
-NULL NULL 1
-0 2
-8000 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-160 ---äÖüß@µ*$-- 4
-16 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select bit_length(`t1_values`.`my_varbinary_1000`) AS `BIT_LENGTH(my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 142 OR select_id IS NULL) order by id;
-BIT_LENGTH(my_varbinary_1000) my_varbinary_1000 id
-NULL NULL 1
-0 2
-8000 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-160 ---äÖüß@µ*$-- 4
-16 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT BIT_LENGTH(my_binary_30),
-my_binary_30, id FROM t1_values;
-SELECT BIT_LENGTH(my_binary_30),
-my_binary_30, id FROM t1_values
-WHERE select_id = 141 OR select_id IS NULL order by id;
-BIT_LENGTH(my_binary_30) my_binary_30 id
-NULL NULL 1
-240 2
-240 <--------30 characters-------> 3
-240 ---äÖüß@µ*$-- 4
-240 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select bit_length(`t1_values`.`my_binary_30`) AS `BIT_LENGTH(my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 141 OR select_id IS NULL) order by id;
-BIT_LENGTH(my_binary_30) my_binary_30 id
-NULL NULL 1
-240
-240 <--------30 characters-------> 3
-240 ---äÖüß@µ*$--
-240 -1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT BIT_LENGTH(my_varchar_1000),
-my_varchar_1000, id FROM t1_values;
-SELECT BIT_LENGTH(my_varchar_1000),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 140 OR select_id IS NULL order by id;
-BIT_LENGTH(my_varchar_1000) my_varchar_1000 id
-NULL NULL 1
-0 2
-8000 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-160 ---äÖüß@µ*$-- 4
-16 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select bit_length(`t1_values`.`my_varchar_1000`) AS `BIT_LENGTH(my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 140 OR select_id IS NULL) order by id;
-BIT_LENGTH(my_varchar_1000) my_varchar_1000 id
-NULL NULL 1
-0 2
-8000 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-160 ---äÖüß@µ*$-- 4
-16 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT BIT_LENGTH(my_char_30),
-my_char_30, id FROM t1_values;
-SELECT BIT_LENGTH(my_char_30),
-my_char_30, id FROM t1_values
-WHERE select_id = 139 OR select_id IS NULL order by id;
-BIT_LENGTH(my_char_30) my_char_30 id
-NULL NULL 1
-0 2
-240 <--------30 characters-------> 3
-152 ---äÖüß@µ*$-- 4
-16 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select bit_length(`t1_values`.`my_char_30`) AS `BIT_LENGTH(my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 139 OR select_id IS NULL) order by id;
-BIT_LENGTH(my_char_30) my_char_30 id
-NULL NULL 1
-0 2
-240 <--------30 characters-------> 3
-152 ---äÖüß@µ*$-- 4
-16 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_year,'IS_NULL'),
-my_year, id FROM t1_values;
-SELECT IFNULL(my_year,'IS_NULL'),
-my_year, id FROM t1_values
-WHERE select_id = 138 OR select_id IS NULL order by id;
-IFNULL(my_year,'IS_NULL') my_year id
-IS_NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 138 OR select_id IS NULL) order by id;
-IFNULL(my_year,'IS_NULL') my_year id
-IS_NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_time,'IS_NULL'),
-my_time, id FROM t1_values;
-SELECT IFNULL(my_time,'IS_NULL'),
-my_time, id FROM t1_values
-WHERE select_id = 137 OR select_id IS NULL order by id;
-IFNULL(my_time,'IS_NULL') my_time id
-IS_NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 137 OR select_id IS NULL) order by id;
-IFNULL(my_time,'IS_NULL') my_time id
-IS_NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_timestamp,'IS_NULL'),
-my_timestamp, id FROM t1_values;
-SELECT IFNULL(my_timestamp,'IS_NULL'),
-my_timestamp, id FROM t1_values
-WHERE select_id = 136 OR select_id IS NULL order by id;
-IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 136 OR select_id IS NULL) order by id;
-IFNULL(my_timestamp,'IS_NULL') my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_date,'IS_NULL'),
-my_date, id FROM t1_values;
-SELECT IFNULL(my_date,'IS_NULL'),
-my_date, id FROM t1_values
-WHERE select_id = 135 OR select_id IS NULL order by id;
-IFNULL(my_date,'IS_NULL') my_date id
-IS_NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 135 OR select_id IS NULL) order by id;
-IFNULL(my_date,'IS_NULL') my_date id
-IS_NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_datetime,'IS_NULL'),
-my_datetime, id FROM t1_values;
-SELECT IFNULL(my_datetime,'IS_NULL'),
-my_datetime, id FROM t1_values
-WHERE select_id = 134 OR select_id IS NULL order by id;
-IFNULL(my_datetime,'IS_NULL') my_datetime id
-IS_NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 134 OR select_id IS NULL) order by id;
-IFNULL(my_datetime,'IS_NULL') my_datetime id
-IS_NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_double,'IS_NULL'),
-my_double, id FROM t1_values;
-SELECT IFNULL(my_double,'IS_NULL'),
-my_double, id FROM t1_values
-WHERE select_id = 133 OR select_id IS NULL order by id;
-IFNULL(my_double,'IS_NULL') my_double id
-IS_NULL NULL 1
--1.7976931348623e308 -1.7976931348623e308 2
-1.7976931348623e308 1.7976931348623e308 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 133 OR select_id IS NULL) order by id;
-IFNULL(my_double,'IS_NULL') my_double id
-IS_NULL NULL 1
--1.7976931348623e308 -1.7976931348623e308 2
-1.7976931348623e308 1.7976931348623e308 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_decimal,'IS_NULL'),
-my_decimal, id FROM t1_values;
-SELECT IFNULL(my_decimal,'IS_NULL'),
-my_decimal, id FROM t1_values
-WHERE select_id = 132 OR select_id IS NULL order by id;
-IFNULL(my_decimal,'IS_NULL') my_decimal id
-IS_NULL NULL 1
--9999999999999999999999999999999999.999999999999999999999999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999999999999999999999999999.999999999999999999999999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.000000000000000000000000000000 0.000000000000000000000000000000 4
--1.000000000000000000000000000000 -1.000000000000000000000000000000 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 132 OR select_id IS NULL) order by id;
-IFNULL(my_decimal,'IS_NULL') my_decimal id
-IS_NULL NULL 1
--9999999999999999999999999999999999.999999999999999999999999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999999999999999999999999999.999999999999999999999999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.000000000000000000000000000000 0.000000000000000000000000000000 4
--1.000000000000000000000000000000 -1.000000000000000000000000000000 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_bigint,'IS_NULL'),
-my_bigint, id FROM t1_values;
-SELECT IFNULL(my_bigint,'IS_NULL'),
-my_bigint, id FROM t1_values
-WHERE select_id = 131 OR select_id IS NULL order by id;
-IFNULL(my_bigint,'IS_NULL') my_bigint id
-IS_NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 131 OR select_id IS NULL) order by id;
-IFNULL(my_bigint,'IS_NULL') my_bigint id
-IS_NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_varbinary_1000,'IS_NULL'),
-my_varbinary_1000, id FROM t1_values;
-SELECT IFNULL(my_varbinary_1000,'IS_NULL'),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 130 OR select_id IS NULL order by id;
-IFNULL(my_varbinary_1000,'IS_NULL') my_varbinary_1000 id
-IS_NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,'IS_NULL') AS `IFNULL(my_varbinary_1000,'IS_NULL')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 130 OR select_id IS NULL) order by id;
-IFNULL(my_varbinary_1000,'IS_NULL') my_varbinary_1000 id
-IS_NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_binary_30,'IS_NULL'),
-my_binary_30, id FROM t1_values;
-SELECT IFNULL(my_binary_30,'IS_NULL'),
-my_binary_30, id FROM t1_values
-WHERE select_id = 129 OR select_id IS NULL order by id;
-IFNULL(my_binary_30,'IS_NULL') my_binary_30 id
-IS_NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_binary_30`,'IS_NULL') AS `IFNULL(my_binary_30,'IS_NULL')`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 129 OR select_id IS NULL) order by id;
-IFNULL(my_binary_30,'IS_NULL') my_binary_30 id
-IS_NULL NULL 1
-
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$--
--1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_varchar_1000,'IS_NULL'),
-my_varchar_1000, id FROM t1_values;
-SELECT IFNULL(my_varchar_1000,'IS_NULL'),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 128 OR select_id IS NULL order by id;
-IFNULL(my_varchar_1000,'IS_NULL') my_varchar_1000 id
-IS_NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varchar_1000`,'IS_NULL') AS `IFNULL(my_varchar_1000,'IS_NULL')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 128 OR select_id IS NULL) order by id;
-IFNULL(my_varchar_1000,'IS_NULL') my_varchar_1000 id
-IS_NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IFNULL(my_char_30,'IS_NULL'),
-my_char_30, id FROM t1_values;
-SELECT IFNULL(my_char_30,'IS_NULL'),
-my_char_30, id FROM t1_values
-WHERE select_id = 127 OR select_id IS NULL order by id;
-IFNULL(my_char_30,'IS_NULL') my_char_30 id
-IS_NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_char_30`,'IS_NULL') AS `IFNULL(my_char_30,'IS_NULL')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 127 OR select_id IS NULL) order by id;
-IFNULL(my_char_30,'IS_NULL') my_char_30 id
-IS_NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_year IS NULL, 'IS NULL',
-'IS NOT NULL'), my_year, id FROM t1_values;
-SELECT IF(my_year IS NULL, 'IS NULL',
-'IS NOT NULL'), my_year, id FROM t1_values
-WHERE select_id = 126 OR select_id IS NULL order by id;
-IF(my_year IS NULL, 'IS NULL',
-'IS NOT NULL') my_year id
-IS NULL NULL 1
-IS NOT NULL 1901 2
-IS NOT NULL 2155 3
-IS NOT NULL 2000 4
-IS NOT NULL 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_year`),'IS NULL','IS NOT NULL') AS `IF(my_year IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 126 OR select_id IS NULL) order by id;
-IF(my_year IS NULL, 'IS NULL',
-'IS NOT NULL') my_year id
-IS NULL NULL 1
-IS NOT NULL 1901 2
-IS NOT NULL 2155 3
-IS NOT NULL 2000 4
-IS NOT NULL 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_time IS NULL, 'IS NULL',
-'IS NOT NULL'), my_time, id FROM t1_values;
-SELECT IF(my_time IS NULL, 'IS NULL',
-'IS NOT NULL'), my_time, id FROM t1_values
-WHERE select_id = 125 OR select_id IS NULL order by id;
-IF(my_time IS NULL, 'IS NULL',
-'IS NOT NULL') my_time id
-IS NULL NULL 1
-IS NOT NULL -838:59:59 2
-IS NOT NULL 838:59:59 3
-IS NOT NULL 13:00:00 4
-IS NOT NULL 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_time`),'IS NULL','IS NOT NULL') AS `IF(my_time IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 125 OR select_id IS NULL) order by id;
-IF(my_time IS NULL, 'IS NULL',
-'IS NOT NULL') my_time id
-IS NULL NULL 1
-IS NOT NULL -838:59:59 2
-IS NOT NULL 838:59:59 3
-IS NOT NULL 13:00:00 4
-IS NOT NULL 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_timestamp IS NULL, 'IS NULL',
-'IS NOT NULL'), my_timestamp, id FROM t1_values;
-SELECT IF(my_timestamp IS NULL, 'IS NULL',
-'IS NOT NULL'), my_timestamp, id FROM t1_values
-WHERE select_id = 124 OR select_id IS NULL order by id;
-IF(my_timestamp IS NULL, 'IS NULL',
-'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
-IS NOT NULL 1970-01-01 03:00:01 2
-IS NOT NULL 2038-01-01 02:59:59 3
-IS NOT NULL 2004-02-29 23:59:59 4
-IS NOT NULL 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_timestamp`),'IS NULL','IS NOT NULL') AS `IF(my_timestamp IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 124 OR select_id IS NULL) order by id;
-IF(my_timestamp IS NULL, 'IS NULL',
-'IS NOT NULL') my_timestamp id
-IS NOT NULL 0000-00-00 00:00:00 1
-IS NOT NULL 1970-01-01 03:00:01 2
-IS NOT NULL 2038-01-01 02:59:59 3
-IS NOT NULL 2004-02-29 23:59:59 4
-IS NOT NULL 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_date IS NULL, 'IS NULL',
-'IS NOT NULL'), my_date, id FROM t1_values;
-SELECT IF(my_date IS NULL, 'IS NULL',
-'IS NOT NULL'), my_date, id FROM t1_values
-WHERE select_id = 123 OR select_id IS NULL order by id;
-IF(my_date IS NULL, 'IS NULL',
-'IS NOT NULL') my_date id
-IS NULL NULL 1
-IS NOT NULL 0001-01-01 2
-IS NOT NULL 9999-12-31 3
-IS NOT NULL 2004-02-29 4
-IS NOT NULL 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_date`),'IS NULL','IS NOT NULL') AS `IF(my_date IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 123 OR select_id IS NULL) order by id;
-IF(my_date IS NULL, 'IS NULL',
-'IS NOT NULL') my_date id
-IS NULL NULL 1
-IS NOT NULL 0001-01-01 2
-IS NOT NULL 9999-12-31 3
-IS NOT NULL 2004-02-29 4
-IS NOT NULL 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_datetime IS NULL, 'IS NULL',
-'IS NOT NULL'), my_datetime, id FROM t1_values;
-SELECT IF(my_datetime IS NULL, 'IS NULL',
-'IS NOT NULL'), my_datetime, id FROM t1_values
-WHERE select_id = 122 OR select_id IS NULL order by id;
-IF(my_datetime IS NULL, 'IS NULL',
-'IS NOT NULL') my_datetime id
-IS NULL NULL 1
-IS NOT NULL 0001-01-01 00:00:00 2
-IS NOT NULL 9999-12-31 23:59:59 3
-IS NOT NULL 2004-02-29 23:59:59 4
-IS NOT NULL 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_datetime`),'IS NULL','IS NOT NULL') AS `IF(my_datetime IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 122 OR select_id IS NULL) order by id;
-IF(my_datetime IS NULL, 'IS NULL',
-'IS NOT NULL') my_datetime id
-IS NULL NULL 1
-IS NOT NULL 0001-01-01 00:00:00 2
-IS NOT NULL 9999-12-31 23:59:59 3
-IS NOT NULL 2004-02-29 23:59:59 4
-IS NOT NULL 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_double IS NULL, 'IS NULL',
-'IS NOT NULL'), my_double, id FROM t1_values;
-SELECT IF(my_double IS NULL, 'IS NULL',
-'IS NOT NULL'), my_double, id FROM t1_values
-WHERE select_id = 121 OR select_id IS NULL order by id;
-IF(my_double IS NULL, 'IS NULL',
-'IS NOT NULL') my_double id
-IS NULL NULL 1
-IS NOT NULL -1.7976931348623e308 2
-IS NOT NULL 1.7976931348623e308 3
-IS NOT NULL 0 4
-IS NOT NULL -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_double`),'IS NULL','IS NOT NULL') AS `IF(my_double IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 121 OR select_id IS NULL) order by id;
-IF(my_double IS NULL, 'IS NULL',
-'IS NOT NULL') my_double id
-IS NULL NULL 1
-IS NOT NULL -1.7976931348623e308 2
-IS NOT NULL 1.7976931348623e308 3
-IS NOT NULL 0 4
-IS NOT NULL -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_decimal IS NULL, 'IS NULL',
-'IS NOT NULL'), my_decimal, id FROM t1_values;
-SELECT IF(my_decimal IS NULL, 'IS NULL',
-'IS NOT NULL'), my_decimal, id FROM t1_values
-WHERE select_id = 120 OR select_id IS NULL order by id;
-IF(my_decimal IS NULL, 'IS NULL',
-'IS NOT NULL') my_decimal id
-IS NULL NULL 1
-IS NOT NULL -9999999999999999999999999999999999.999999999999999999999999999999 2
-IS NOT NULL 9999999999999999999999999999999999.999999999999999999999999999999 3
-IS NOT NULL 0.000000000000000000000000000000 4
-IS NOT NULL -1.000000000000000000000000000000 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_decimal`),'IS NULL','IS NOT NULL') AS `IF(my_decimal IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 120 OR select_id IS NULL) order by id;
-IF(my_decimal IS NULL, 'IS NULL',
-'IS NOT NULL') my_decimal id
-IS NULL NULL 1
-IS NOT NULL -9999999999999999999999999999999999.999999999999999999999999999999 2
-IS NOT NULL 9999999999999999999999999999999999.999999999999999999999999999999 3
-IS NOT NULL 0.000000000000000000000000000000 4
-IS NOT NULL -1.000000000000000000000000000000 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_bigint IS NULL, 'IS NULL',
-'IS NOT NULL'), my_bigint, id FROM t1_values;
-SELECT IF(my_bigint IS NULL, 'IS NULL',
-'IS NOT NULL'), my_bigint, id FROM t1_values
-WHERE select_id = 119 OR select_id IS NULL order by id;
-IF(my_bigint IS NULL, 'IS NULL',
-'IS NOT NULL') my_bigint id
-IS NULL NULL 1
-IS NOT NULL -9223372036854775808 2
-IS NOT NULL 9223372036854775807 3
-IS NOT NULL 0 4
-IS NOT NULL -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_bigint`),'IS NULL','IS NOT NULL') AS `IF(my_bigint IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 119 OR select_id IS NULL) order by id;
-IF(my_bigint IS NULL, 'IS NULL',
-'IS NOT NULL') my_bigint id
-IS NULL NULL 1
-IS NOT NULL -9223372036854775808 2
-IS NOT NULL 9223372036854775807 3
-IS NOT NULL 0 4
-IS NOT NULL -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_varbinary_1000 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_varbinary_1000, id FROM t1_values;
-SELECT IF(my_varbinary_1000 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_varbinary_1000, id FROM t1_values
-WHERE select_id = 118 OR select_id IS NULL order by id;
-IF(my_varbinary_1000 IS NULL, 'IS NULL',
-'IS NOT NULL') my_varbinary_1000 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varbinary_1000`),'IS NULL','IS NOT NULL') AS `IF(my_varbinary_1000 IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 118 OR select_id IS NULL) order by id;
-IF(my_varbinary_1000 IS NULL, 'IS NULL',
-'IS NOT NULL') my_varbinary_1000 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_binary_30 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_binary_30, id FROM t1_values;
-SELECT IF(my_binary_30 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_binary_30, id FROM t1_values
-WHERE select_id = 117 OR select_id IS NULL order by id;
-IF(my_binary_30 IS NULL, 'IS NULL',
-'IS NOT NULL') my_binary_30 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_binary_30`),'IS NULL','IS NOT NULL') AS `IF(my_binary_30 IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 117 OR select_id IS NULL) order by id;
-IF(my_binary_30 IS NULL, 'IS NULL',
-'IS NOT NULL') my_binary_30 id
-IS NULL NULL 1
-IS NOT NULL
-IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$--
-IS NOT NULL -1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_varchar_1000 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_varchar_1000, id FROM t1_values;
-SELECT IF(my_varchar_1000 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_varchar_1000, id FROM t1_values
-WHERE select_id = 116 OR select_id IS NULL order by id;
-IF(my_varchar_1000 IS NULL, 'IS NULL',
-'IS NOT NULL') my_varchar_1000 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_varchar_1000`),'IS NULL','IS NOT NULL') AS `IF(my_varchar_1000 IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 116 OR select_id IS NULL) order by id;
-IF(my_varchar_1000 IS NULL, 'IS NULL',
-'IS NOT NULL') my_varchar_1000 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_char_30 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_char_30, id FROM t1_values;
-SELECT IF(my_char_30 IS NULL, 'IS NULL',
-'IS NOT NULL'), my_char_30, id FROM t1_values
-WHERE select_id = 115 OR select_id IS NULL order by id;
-IF(my_char_30 IS NULL, 'IS NULL',
-'IS NOT NULL') my_char_30 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(isnull(`t1_values`.`my_char_30`),'IS NULL','IS NOT NULL') AS `IF(my_char_30 IS NULL, 'IS NULL',
-'IS NOT NULL')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 115 OR select_id IS NULL) order by id;
-IF(my_char_30 IS NULL, 'IS NULL',
-'IS NOT NULL') my_char_30 id
-IS NULL NULL 1
-IS NOT NULL 2
-IS NOT NULL <--------30 characters-------> 3
-IS NOT NULL ---äÖüß@µ*$-- 4
-IS NOT NULL -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_year, 'IS TRUE', 'IS NOT TRUE'),
-my_year, id FROM t1_values;
-SELECT IF(my_year, 'IS TRUE', 'IS NOT TRUE'),
-my_year, id FROM t1_values
-WHERE select_id = 114 OR select_id IS NULL order by id;
-IF(my_year, 'IS TRUE', 'IS NOT TRUE') my_year id
-IS NOT TRUE NULL 1
-IS TRUE 1901 2
-IS TRUE 2155 3
-IS TRUE 2000 4
-IS TRUE 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_year`,'IS TRUE','IS NOT TRUE') AS `IF(my_year, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 114 OR select_id IS NULL) order by id;
-IF(my_year, 'IS TRUE', 'IS NOT TRUE') my_year id
-IS NOT TRUE NULL 1
-IS TRUE 1901 2
-IS TRUE 2155 3
-IS TRUE 2000 4
-IS TRUE 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_time, 'IS TRUE', 'IS NOT TRUE'),
-my_time, id FROM t1_values;
-SELECT IF(my_time, 'IS TRUE', 'IS NOT TRUE'),
-my_time, id FROM t1_values
-WHERE select_id = 113 OR select_id IS NULL order by id;
-IF(my_time, 'IS TRUE', 'IS NOT TRUE') my_time id
-IS NOT TRUE NULL 1
-IS TRUE -838:59:59 2
-IS TRUE 838:59:59 3
-IS TRUE 13:00:00 4
-IS TRUE 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_time`,'IS TRUE','IS NOT TRUE') AS `IF(my_time, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 113 OR select_id IS NULL) order by id;
-IF(my_time, 'IS TRUE', 'IS NOT TRUE') my_time id
-IS NOT TRUE NULL 1
-IS TRUE -838:59:59 2
-IS TRUE 838:59:59 3
-IS TRUE 13:00:00 4
-IS TRUE 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE'),
-my_timestamp, id FROM t1_values;
-SELECT IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE'),
-my_timestamp, id FROM t1_values
-WHERE select_id = 112 OR select_id IS NULL order by id;
-IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
-IS TRUE 1970-01-01 03:00:01 2
-IS TRUE 2038-01-01 02:59:59 3
-IS TRUE 2004-02-29 23:59:59 4
-IS TRUE 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_timestamp`,'IS TRUE','IS NOT TRUE') AS `IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 112 OR select_id IS NULL) order by id;
-IF(my_timestamp, 'IS TRUE', 'IS NOT TRUE') my_timestamp id
-IS NOT TRUE 0000-00-00 00:00:00 1
-IS TRUE 1970-01-01 03:00:01 2
-IS TRUE 2038-01-01 02:59:59 3
-IS TRUE 2004-02-29 23:59:59 4
-IS TRUE 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_date, 'IS TRUE', 'IS NOT TRUE'),
-my_date, id FROM t1_values;
-SELECT IF(my_date, 'IS TRUE', 'IS NOT TRUE'),
-my_date, id FROM t1_values
-WHERE select_id = 111 OR select_id IS NULL order by id;
-IF(my_date, 'IS TRUE', 'IS NOT TRUE') my_date id
-IS NOT TRUE NULL 1
-IS TRUE 0001-01-01 2
-IS TRUE 9999-12-31 3
-IS TRUE 2004-02-29 4
-IS TRUE 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_date`,'IS TRUE','IS NOT TRUE') AS `IF(my_date, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 111 OR select_id IS NULL) order by id;
-IF(my_date, 'IS TRUE', 'IS NOT TRUE') my_date id
-IS NOT TRUE NULL 1
-IS TRUE 0001-01-01 2
-IS TRUE 9999-12-31 3
-IS TRUE 2004-02-29 4
-IS TRUE 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_datetime, 'IS TRUE', 'IS NOT TRUE'),
-my_datetime, id FROM t1_values;
-SELECT IF(my_datetime, 'IS TRUE', 'IS NOT TRUE'),
-my_datetime, id FROM t1_values
-WHERE select_id = 110 OR select_id IS NULL order by id;
-IF(my_datetime, 'IS TRUE', 'IS NOT TRUE') my_datetime id
-IS NOT TRUE NULL 1
-IS TRUE 0001-01-01 00:00:00 2
-IS TRUE 9999-12-31 23:59:59 3
-IS TRUE 2004-02-29 23:59:59 4
-IS TRUE 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_datetime`,'IS TRUE','IS NOT TRUE') AS `IF(my_datetime, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 110 OR select_id IS NULL) order by id;
-IF(my_datetime, 'IS TRUE', 'IS NOT TRUE') my_datetime id
-IS NOT TRUE NULL 1
-IS TRUE 0001-01-01 00:00:00 2
-IS TRUE 9999-12-31 23:59:59 3
-IS TRUE 2004-02-29 23:59:59 4
-IS TRUE 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_double, 'IS TRUE', 'IS NOT TRUE'),
-my_double, id FROM t1_values;
-SELECT IF(my_double, 'IS TRUE', 'IS NOT TRUE'),
-my_double, id FROM t1_values
-WHERE select_id = 109 OR select_id IS NULL order by id;
-IF(my_double, 'IS TRUE', 'IS NOT TRUE') my_double id
-IS NOT TRUE NULL 1
-IS TRUE -1.7976931348623e308 2
-IS TRUE 1.7976931348623e308 3
-IS NOT TRUE 0 4
-IS TRUE -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_double`,'IS TRUE','IS NOT TRUE') AS `IF(my_double, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 109 OR select_id IS NULL) order by id;
-IF(my_double, 'IS TRUE', 'IS NOT TRUE') my_double id
-IS NOT TRUE NULL 1
-IS TRUE -1.7976931348623e308 2
-IS TRUE 1.7976931348623e308 3
-IS NOT TRUE 0 4
-IS TRUE -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_decimal, 'IS TRUE', 'IS NOT TRUE'),
-my_decimal, id FROM t1_values;
-SELECT IF(my_decimal, 'IS TRUE', 'IS NOT TRUE'),
-my_decimal, id FROM t1_values
-WHERE select_id = 108 OR select_id IS NULL order by id;
-IF(my_decimal, 'IS TRUE', 'IS NOT TRUE') my_decimal id
-IS NOT TRUE NULL 1
-IS TRUE -9999999999999999999999999999999999.999999999999999999999999999999 2
-IS TRUE 9999999999999999999999999999999999.999999999999999999999999999999 3
-IS NOT TRUE 0.000000000000000000000000000000 4
-IS TRUE -1.000000000000000000000000000000 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_decimal`,'IS TRUE','IS NOT TRUE') AS `IF(my_decimal, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 108 OR select_id IS NULL) order by id;
-IF(my_decimal, 'IS TRUE', 'IS NOT TRUE') my_decimal id
-IS NOT TRUE NULL 1
-IS TRUE -9999999999999999999999999999999999.999999999999999999999999999999 2
-IS TRUE 9999999999999999999999999999999999.999999999999999999999999999999 3
-IS NOT TRUE 0.000000000000000000000000000000 4
-IS TRUE -1.000000000000000000000000000000 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_bigint, 'IS TRUE', 'IS NOT TRUE'),
-my_bigint, id FROM t1_values;
-SELECT IF(my_bigint, 'IS TRUE', 'IS NOT TRUE'),
-my_bigint, id FROM t1_values
-WHERE select_id = 107 OR select_id IS NULL order by id;
-IF(my_bigint, 'IS TRUE', 'IS NOT TRUE') my_bigint id
-IS NOT TRUE NULL 1
-IS TRUE -9223372036854775808 2
-IS TRUE 9223372036854775807 3
-IS NOT TRUE 0 4
-IS TRUE -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_bigint`,'IS TRUE','IS NOT TRUE') AS `IF(my_bigint, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 107 OR select_id IS NULL) order by id;
-IF(my_bigint, 'IS TRUE', 'IS NOT TRUE') my_bigint id
-IS NOT TRUE NULL 1
-IS TRUE -9223372036854775808 2
-IS TRUE 9223372036854775807 3
-IS NOT TRUE 0 4
-IS TRUE -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE'),
-my_varbinary_1000, id FROM t1_values;
-SELECT IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE'),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 106 OR select_id IS NULL order by id;
-IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE') my_varbinary_1000 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 106 OR select_id IS NULL) order by id;
-IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE') my_varbinary_1000 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE'),
-my_binary_30, id FROM t1_values;
-SELECT IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE'),
-my_binary_30, id FROM t1_values
-WHERE select_id = 105 OR select_id IS NULL order by id;
-IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE') my_binary_30 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 105 OR select_id IS NULL) order by id;
-IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE') my_binary_30 id
-IS NOT TRUE NULL 1
-IS NOT TRUE
-IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$--
-IS TRUE -1
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE'),
-my_varchar_1000, id FROM t1_values;
-SELECT IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE'),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 104 OR select_id IS NULL order by id;
-IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE') my_varchar_1000 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 104 OR select_id IS NULL) order by id;
-IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE') my_varchar_1000 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT IF(my_char_30, 'IS TRUE', 'IS NOT TRUE'),
-my_char_30, id FROM t1_values;
-SELECT IF(my_char_30, 'IS TRUE', 'IS NOT TRUE'),
-my_char_30, id FROM t1_values
-WHERE select_id = 103 OR select_id IS NULL order by id;
-IF(my_char_30, 'IS TRUE', 'IS NOT TRUE') my_char_30 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_char_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 103 OR select_id IS NULL) order by id;
-IF(my_char_30, 'IS TRUE', 'IS NOT TRUE') my_char_30 id
-IS NOT TRUE NULL 1
-IS NOT TRUE 2
-IS NOT TRUE <--------30 characters-------> 3
-IS NOT TRUE ---äÖüß@µ*$-- 4
-IS TRUE -1 5
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING koi8r),
-my_varbinary_1000, id FROM t1_values;
-SELECT CONVERT(my_varbinary_1000 USING koi8r),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 102 OR select_id IS NULL order by id;
-CONVERT(my_varbinary_1000 USING koi8r) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---???????÷@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varbinary_1000` using koi8r) AS `CONVERT(my_varbinary_1000 USING koi8r)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 102 OR select_id IS NULL) order by id;
-CONVERT(my_varbinary_1000 USING koi8r) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---???????÷@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING koi8r),
-my_binary_30, id FROM t1_values;
-SELECT CONVERT(my_binary_30 USING koi8r),
-my_binary_30, id FROM t1_values
-WHERE select_id = 101 OR select_id IS NULL order by id;
-CONVERT(my_binary_30 USING koi8r) my_binary_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---???????÷@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_binary_30` using koi8r) AS `CONVERT(my_binary_30 USING koi8r)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 101 OR select_id IS NULL) order by id;
-CONVERT(my_binary_30 USING koi8r) my_binary_30 id
-NULL NULL 1
-
-<--------30 characters-------> <--------30 characters-------> 3
- ---???????÷@??*$--
--1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING koi8r),
-my_varchar_1000, id FROM t1_values;
-SELECT CONVERT(my_varchar_1000 USING koi8r),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 100 OR select_id IS NULL order by id;
-CONVERT(my_varchar_1000 USING koi8r) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---????????@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using koi8r) AS `CONVERT(my_varchar_1000 USING koi8r)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 100 OR select_id IS NULL) order by id;
-CONVERT(my_varchar_1000 USING koi8r) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---????????@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING koi8r),
-my_char_30, id FROM t1_values;
-SELECT CONVERT(my_char_30 USING koi8r),
-my_char_30, id FROM t1_values
-WHERE select_id = 99 OR select_id IS NULL order by id;
-CONVERT(my_char_30 USING koi8r) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---????????@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using koi8r) AS `CONVERT(my_char_30 USING koi8r)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 99 OR select_id IS NULL) order by id;
-CONVERT(my_char_30 USING koi8r) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---????????@??*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_varbinary_1000 USING utf8),
-my_varbinary_1000, id FROM t1_values;
-SELECT CONVERT(my_varbinary_1000 USING utf8),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 98 OR select_id IS NULL order by id;
-CONVERT(my_varbinary_1000 USING utf8) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varbinary_1000` using utf8) AS `CONVERT(my_varbinary_1000 USING utf8)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 98 OR select_id IS NULL) order by id;
-CONVERT(my_varbinary_1000 USING utf8) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_binary_30 USING utf8),
-my_binary_30, id FROM t1_values;
-SELECT CONVERT(my_binary_30 USING utf8),
-my_binary_30, id FROM t1_values
-WHERE select_id = 97 OR select_id IS NULL order by id;
-CONVERT(my_binary_30 USING utf8) my_binary_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_binary_30` using utf8) AS `CONVERT(my_binary_30 USING utf8)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 97 OR select_id IS NULL) order by id;
-CONVERT(my_binary_30 USING utf8) my_binary_30 id
-NULL NULL 1
-
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$--
--1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_varchar_1000 USING utf8),
-my_varchar_1000, id FROM t1_values;
-SELECT CONVERT(my_varchar_1000 USING utf8),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 96 OR select_id IS NULL order by id;
-CONVERT(my_varchar_1000 USING utf8) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_varchar_1000` using utf8) AS `CONVERT(my_varchar_1000 USING utf8)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 96 OR select_id IS NULL) order by id;
-CONVERT(my_varchar_1000 USING utf8) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CONVERT(my_char_30 USING utf8),
-my_char_30, id FROM t1_values;
-SELECT CONVERT(my_char_30 USING utf8),
-my_char_30, id FROM t1_values
-WHERE select_id = 95 OR select_id IS NULL order by id;
-CONVERT(my_char_30 USING utf8) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select convert(`t1_values`.`my_char_30` using utf8) AS `CONVERT(my_char_30 USING utf8)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 95 OR select_id IS NULL) order by id;
-CONVERT(my_char_30 USING utf8) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS UNSIGNED INTEGER),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS UNSIGNED INTEGER),
-my_year, id FROM t1_values
-WHERE select_id = 94 OR select_id IS NULL order by id;
-CAST(my_year AS UNSIGNED INTEGER) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as unsigned) AS `CAST(my_year AS UNSIGNED INTEGER)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 94 OR select_id IS NULL) order by id;
-CAST(my_year AS UNSIGNED INTEGER) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS UNSIGNED INTEGER),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS UNSIGNED INTEGER),
-my_time, id FROM t1_values
-WHERE select_id = 93 OR select_id IS NULL order by id;
-CAST(my_time AS UNSIGNED INTEGER) my_time id
-NULL NULL 1
-18446744073701165657 -838:59:59 2
-8385959 838:59:59 3
-130000 13:00:00 4
-100000 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as unsigned) AS `CAST(my_time AS UNSIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 93 OR select_id IS NULL) order by id;
-CAST(my_time AS UNSIGNED INTEGER) my_time id
-NULL NULL 1
-18446744073701165657 -838:59:59 2
-8385959 838:59:59 3
-130000 13:00:00 4
-100000 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS UNSIGNED INTEGER),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS UNSIGNED INTEGER),
-my_timestamp, id FROM t1_values
-WHERE select_id = 92 OR select_id IS NULL order by id;
-CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
-19700101030001 1970-01-01 03:00:01 2
-20380101025959 2038-01-01 02:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as unsigned) AS `CAST(my_timestamp AS UNSIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 92 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS UNSIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
-19700101030001 1970-01-01 03:00:01 2
-20380101025959 2038-01-01 02:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS UNSIGNED INTEGER),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS UNSIGNED INTEGER),
-my_date, id FROM t1_values
-WHERE select_id = 91 OR select_id IS NULL order by id;
-CAST(my_date AS UNSIGNED INTEGER) my_date id
-NULL NULL 1
-10101 0001-01-01 2
-99991231 9999-12-31 3
-20040229 2004-02-29 4
-20050628 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as unsigned) AS `CAST(my_date AS UNSIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 91 OR select_id IS NULL) order by id;
-CAST(my_date AS UNSIGNED INTEGER) my_date id
-NULL NULL 1
-10101 0001-01-01 2
-99991231 9999-12-31 3
-20040229 2004-02-29 4
-20050628 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS UNSIGNED INTEGER),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS UNSIGNED INTEGER),
-my_datetime, id FROM t1_values
-WHERE select_id = 90 OR select_id IS NULL order by id;
-CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id
-NULL NULL 1
-10101000000 0001-01-01 00:00:00 2
-99991231235959 9999-12-31 23:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as unsigned) AS `CAST(my_datetime AS UNSIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 90 OR select_id IS NULL) order by id;
-CAST(my_datetime AS UNSIGNED INTEGER) my_datetime id
-NULL NULL 1
-10101000000 0001-01-01 00:00:00 2
-99991231235959 9999-12-31 23:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS UNSIGNED INTEGER),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS UNSIGNED INTEGER),
-my_double, id FROM t1_values
-WHERE select_id = 89 OR select_id IS NULL order by id;
-CAST(my_double AS UNSIGNED INTEGER) my_double id
-NULL NULL 1
-9223372036854775808 -1.7976931348623e308 2
-9223372036854775807 1.7976931348623e308 3
-0 0 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e308'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as unsigned) AS `CAST(my_double AS UNSIGNED INTEGER)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 89 OR select_id IS NULL) order by id;
-CAST(my_double AS UNSIGNED INTEGER) my_double id
-NULL NULL 1
-9223372036854775808 -1.7976931348623e308 2
-9223372036854775807 1.7976931348623e308 3
-0 0 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e308'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_decimal AS UNSIGNED INTEGER),
-my_decimal, id FROM t1_values;
-SELECT CAST(my_decimal AS UNSIGNED INTEGER),
-my_decimal, id FROM t1_values
-WHERE select_id = 88 OR select_id IS NULL order by id;
-CAST(my_decimal AS UNSIGNED INTEGER) my_decimal id
-NULL NULL 1
-0 -9999999999999999999999999999999999.999999999999999999999999999999 2
-18446744073709551615 9999999999999999999999999999999999.999999999999999999999999999999 3
-0 0.000000000000000000000000000000 4
-0 -1.000000000000000000000000000000 5
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as unsigned) AS `CAST(my_decimal AS UNSIGNED INTEGER)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 88 OR select_id IS NULL) order by id;
-CAST(my_decimal AS UNSIGNED INTEGER) my_decimal id
-NULL NULL 1
-0 -9999999999999999999999999999999999.999999999999999999999999999999 2
-18446744073709551615 9999999999999999999999999999999999.999999999999999999999999999999 3
-0 0.000000000000000000000000000000 4
-0 -1.000000000000000000000000000000 5
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS UNSIGNED INTEGER),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS UNSIGNED INTEGER),
-my_bigint, id FROM t1_values
-WHERE select_id = 87 OR select_id IS NULL order by id;
-CAST(my_bigint AS UNSIGNED INTEGER) my_bigint id
-NULL NULL 1
-9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
-18446744073709551615 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as unsigned) AS `CAST(my_bigint AS UNSIGNED INTEGER)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 87 OR select_id IS NULL) order by id;
-CAST(my_bigint AS UNSIGNED INTEGER) my_bigint id
-NULL NULL 1
-9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
-18446744073709551615 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS UNSIGNED INTEGER),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS UNSIGNED INTEGER),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 86 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS UNSIGNED INTEGER) my_varbinary_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as unsigned) AS `CAST(my_varbinary_1000 AS UNSIGNED INTEGER)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 86 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS UNSIGNED INTEGER) my_varbinary_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS UNSIGNED INTEGER),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS UNSIGNED INTEGER),
-my_binary_30, id FROM t1_values
-WHERE select_id = 85 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS UNSIGNED INTEGER) my_binary_30 id
-NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as unsigned) AS `CAST(my_binary_30 AS UNSIGNED INTEGER)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 85 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS UNSIGNED INTEGER) my_binary_30 id
-NULL NULL 1
-0
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
-18446744073709551615 -1
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS UNSIGNED INTEGER),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS UNSIGNED INTEGER),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 84 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS UNSIGNED INTEGER) my_varchar_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as unsigned) AS `CAST(my_varchar_1000 AS UNSIGNED INTEGER)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 84 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS UNSIGNED INTEGER) my_varchar_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS UNSIGNED INTEGER),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS UNSIGNED INTEGER),
-my_char_30, id FROM t1_values
-WHERE select_id = 83 OR select_id IS NULL order by id;
-CAST(my_char_30 AS UNSIGNED INTEGER) my_char_30 id
-NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as unsigned) AS `CAST(my_char_30 AS UNSIGNED INTEGER)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 83 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS UNSIGNED INTEGER) my_char_30 id
-NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
-18446744073709551615 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
-Warning 1105 Cast to unsigned converted negative integer to it's positive complement
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS SIGNED INTEGER),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS SIGNED INTEGER),
-my_year, id FROM t1_values
-WHERE select_id = 82 OR select_id IS NULL order by id;
-CAST(my_year AS SIGNED INTEGER) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as signed) AS `CAST(my_year AS SIGNED INTEGER)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 82 OR select_id IS NULL) order by id;
-CAST(my_year AS SIGNED INTEGER) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS SIGNED INTEGER),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS SIGNED INTEGER),
-my_time, id FROM t1_values
-WHERE select_id = 81 OR select_id IS NULL order by id;
-CAST(my_time AS SIGNED INTEGER) my_time id
-NULL NULL 1
--8385959 -838:59:59 2
-8385959 838:59:59 3
-130000 13:00:00 4
-100000 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as signed) AS `CAST(my_time AS SIGNED INTEGER)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 81 OR select_id IS NULL) order by id;
-CAST(my_time AS SIGNED INTEGER) my_time id
-NULL NULL 1
--8385959 -838:59:59 2
-8385959 838:59:59 3
-130000 13:00:00 4
-100000 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS SIGNED INTEGER),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS SIGNED INTEGER),
-my_timestamp, id FROM t1_values
-WHERE select_id = 80 OR select_id IS NULL order by id;
-CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
-19700101030001 1970-01-01 03:00:01 2
-20380101025959 2038-01-01 02:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as signed) AS `CAST(my_timestamp AS SIGNED INTEGER)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 80 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS SIGNED INTEGER) my_timestamp id
-0 0000-00-00 00:00:00 1
-19700101030001 1970-01-01 03:00:01 2
-20380101025959 2038-01-01 02:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS SIGNED INTEGER),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS SIGNED INTEGER),
-my_date, id FROM t1_values
-WHERE select_id = 79 OR select_id IS NULL order by id;
-CAST(my_date AS SIGNED INTEGER) my_date id
-NULL NULL 1
-10101 0001-01-01 2
-99991231 9999-12-31 3
-20040229 2004-02-29 4
-20050628 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as signed) AS `CAST(my_date AS SIGNED INTEGER)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 79 OR select_id IS NULL) order by id;
-CAST(my_date AS SIGNED INTEGER) my_date id
-NULL NULL 1
-10101 0001-01-01 2
-99991231 9999-12-31 3
-20040229 2004-02-29 4
-20050628 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS SIGNED INTEGER),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS SIGNED INTEGER),
-my_datetime, id FROM t1_values
-WHERE select_id = 78 OR select_id IS NULL order by id;
-CAST(my_datetime AS SIGNED INTEGER) my_datetime id
-NULL NULL 1
-10101000000 0001-01-01 00:00:00 2
-99991231235959 9999-12-31 23:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as signed) AS `CAST(my_datetime AS SIGNED INTEGER)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 78 OR select_id IS NULL) order by id;
-CAST(my_datetime AS SIGNED INTEGER) my_datetime id
-NULL NULL 1
-10101000000 0001-01-01 00:00:00 2
-99991231235959 9999-12-31 23:59:59 3
-20040229235959 2004-02-29 23:59:59 4
-20050628100000 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS SIGNED INTEGER),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS SIGNED INTEGER),
-my_double, id FROM t1_values
-WHERE select_id = 77 OR select_id IS NULL order by id;
-CAST(my_double AS SIGNED INTEGER) my_double id
-NULL NULL 1
--9223372036854775808 -1.7976931348623e308 2
-9223372036854775807 1.7976931348623e308 3
-0 0 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e308'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as signed) AS `CAST(my_double AS SIGNED INTEGER)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 77 OR select_id IS NULL) order by id;
-CAST(my_double AS SIGNED INTEGER) my_double id
-NULL NULL 1
--9223372036854775808 -1.7976931348623e308 2
-9223372036854775807 1.7976931348623e308 3
-0 0 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e308'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_decimal AS SIGNED INTEGER),
-my_decimal, id FROM t1_values;
-SELECT CAST(my_decimal AS SIGNED INTEGER),
-my_decimal, id FROM t1_values
-WHERE select_id = 76 OR select_id IS NULL order by id;
-CAST(my_decimal AS SIGNED INTEGER) my_decimal id
-NULL NULL 1
--9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3
-0 0.000000000000000000000000000000 4
--1 -1.000000000000000000000000000000 5
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as signed) AS `CAST(my_decimal AS SIGNED INTEGER)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 76 OR select_id IS NULL) order by id;
-CAST(my_decimal AS SIGNED INTEGER) my_decimal id
-NULL NULL 1
--9223372036854775808 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9223372036854775807 9999999999999999999999999999999999.999999999999999999999999999999 3
-0 0.000000000000000000000000000000 4
--1 -1.000000000000000000000000000000 5
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1292 Truncated incorrect DECIMAL value: ''
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS SIGNED INTEGER),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS SIGNED INTEGER),
-my_bigint, id FROM t1_values
-WHERE select_id = 75 OR select_id IS NULL order by id;
-CAST(my_bigint AS SIGNED INTEGER) my_bigint id
-NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as signed) AS `CAST(my_bigint AS SIGNED INTEGER)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 75 OR select_id IS NULL) order by id;
-CAST(my_bigint AS SIGNED INTEGER) my_bigint id
-NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS SIGNED INTEGER),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS SIGNED INTEGER),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 74 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS SIGNED INTEGER) my_varbinary_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as signed) AS `CAST(my_varbinary_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 74 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS SIGNED INTEGER) my_varbinary_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS SIGNED INTEGER),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS SIGNED INTEGER),
-my_binary_30, id FROM t1_values
-WHERE select_id = 73 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS SIGNED INTEGER) my_binary_30 id
-NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as signed) AS `CAST(my_binary_30 AS SIGNED INTEGER)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 73 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS SIGNED INTEGER) my_binary_30 id
-NULL NULL 1
-0
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$--
--1 -1
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect INTEGER value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS SIGNED INTEGER),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS SIGNED INTEGER),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 72 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS SIGNED INTEGER) my_varchar_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as signed) AS `CAST(my_varchar_1000 AS SIGNED INTEGER)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 72 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS SIGNED INTEGER) my_varchar_1000 id
-NULL NULL 1
-0 2
-0 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS SIGNED INTEGER),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS SIGNED INTEGER),
-my_char_30, id FROM t1_values
-WHERE select_id = 71 OR select_id IS NULL order by id;
-CAST(my_char_30 AS SIGNED INTEGER) my_char_30 id
-NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as signed) AS `CAST(my_char_30 AS SIGNED INTEGER)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 71 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS SIGNED INTEGER) my_char_30 id
-NULL NULL 1
-0 2
-0 <--------30 characters-------> 3
-0 ---äÖüß@µ*$-- 4
--1 -1 5
-Warnings:
-Warning 1292 Truncated incorrect INTEGER value: ''
-Warning 1292 Truncated incorrect INTEGER value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$--'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS DECIMAL(37,2)),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS DECIMAL(37,2)),
-my_year, id FROM t1_values
-WHERE select_id = 70 OR select_id IS NULL order by id;
-CAST(my_year AS DECIMAL(37,2)) my_year id
-NULL NULL 1
-1901.00 1901 2
-2155.00 2155 3
-2000.00 2000 4
-2005.00 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as decimal(37,2)) AS `CAST(my_year AS DECIMAL(37,2))`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 70 OR select_id IS NULL) order by id;
-CAST(my_year AS DECIMAL(37,2)) my_year id
-NULL NULL 1
-1901.00 1901 2
-2155.00 2155 3
-2000.00 2000 4
-2005.00 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS DECIMAL(37,2)),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS DECIMAL(37,2)),
-my_time, id FROM t1_values
-WHERE select_id = 69 OR select_id IS NULL order by id;
-CAST(my_time AS DECIMAL(37,2)) my_time id
-NULL NULL 1
--8385959.00 -838:59:59 2
-8385959.00 838:59:59 3
-130000.00 13:00:00 4
-100000.00 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as decimal(37,2)) AS `CAST(my_time AS DECIMAL(37,2))`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 69 OR select_id IS NULL) order by id;
-CAST(my_time AS DECIMAL(37,2)) my_time id
-NULL NULL 1
--8385959.00 -838:59:59 2
-8385959.00 838:59:59 3
-130000.00 13:00:00 4
-100000.00 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DECIMAL(37,2)),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS DECIMAL(37,2)),
-my_timestamp, id FROM t1_values
-WHERE select_id = 68 OR select_id IS NULL order by id;
-CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
-19700101030001.00 1970-01-01 03:00:01 2
-20380101025959.00 2038-01-01 02:59:59 3
-20040229235959.00 2004-02-29 23:59:59 4
-20050628100000.00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as decimal(37,2)) AS `CAST(my_timestamp AS DECIMAL(37,2))`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 68 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS DECIMAL(37,2)) my_timestamp id
-0.00 0000-00-00 00:00:00 1
-19700101030001.00 1970-01-01 03:00:01 2
-20380101025959.00 2038-01-01 02:59:59 3
-20040229235959.00 2004-02-29 23:59:59 4
-20050628100000.00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS DECIMAL(37,2)),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS DECIMAL(37,2)),
-my_date, id FROM t1_values
-WHERE select_id = 67 OR select_id IS NULL order by id;
-CAST(my_date AS DECIMAL(37,2)) my_date id
-NULL NULL 1
-10101.00 0001-01-01 2
-99991231.00 9999-12-31 3
-20040229.00 2004-02-29 4
-20050628.00 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as decimal(37,2)) AS `CAST(my_date AS DECIMAL(37,2))`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 67 OR select_id IS NULL) order by id;
-CAST(my_date AS DECIMAL(37,2)) my_date id
-NULL NULL 1
-10101.00 0001-01-01 2
-99991231.00 9999-12-31 3
-20040229.00 2004-02-29 4
-20050628.00 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS DECIMAL(37,2)),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS DECIMAL(37,2)),
-my_datetime, id FROM t1_values
-WHERE select_id = 66 OR select_id IS NULL order by id;
-CAST(my_datetime AS DECIMAL(37,2)) my_datetime id
-NULL NULL 1
-10101000000.00 0001-01-01 00:00:00 2
-99991231235959.00 9999-12-31 23:59:59 3
-20040229235959.00 2004-02-29 23:59:59 4
-20050628100000.00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as decimal(37,2)) AS `CAST(my_datetime AS DECIMAL(37,2))`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 66 OR select_id IS NULL) order by id;
-CAST(my_datetime AS DECIMAL(37,2)) my_datetime id
-NULL NULL 1
-10101000000.00 0001-01-01 00:00:00 2
-99991231235959.00 9999-12-31 23:59:59 3
-20040229235959.00 2004-02-29 23:59:59 4
-20050628100000.00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS DECIMAL(37,2)),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS DECIMAL(37,2)),
-my_double, id FROM t1_values
-WHERE select_id = 65 OR select_id IS NULL order by id;
-CAST(my_double AS DECIMAL(37,2)) my_double id
-NULL NULL 1
--99999999999999999999999999999999999.99 -1.7976931348623e308 2
-99999999999999999999999999999999999.99 1.7976931348623e308 3
-0.00 0 4
--1.00 -1 5
--3333.33 -3333.3333 30
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as decimal(37,2)) AS `CAST(my_double AS DECIMAL(37,2))`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 65 OR select_id IS NULL) order by id;
-CAST(my_double AS DECIMAL(37,2)) my_double id
-NULL NULL 1
--99999999999999999999999999999999999.99 -1.7976931348623e308 2
-99999999999999999999999999999999999.99 1.7976931348623e308 3
-0.00 0 4
--1.00 -1 5
--3333.33 -3333.3333 30
-Warnings:
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1264 Out of range value for column 'CAST(my_double AS DECIMAL(37,2))' at row 1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_decimal AS DECIMAL(37,2)),
-my_decimal, id FROM t1_values;
-SELECT CAST(my_decimal AS DECIMAL(37,2)),
-my_decimal, id FROM t1_values
-WHERE select_id = 64 OR select_id IS NULL order by id;
-CAST(my_decimal AS DECIMAL(37,2)) my_decimal id
-NULL NULL 1
--10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2
-10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.00 0.000000000000000000000000000000 4
--1.00 -1.000000000000000000000000000000 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as decimal(37,2)) AS `CAST(my_decimal AS DECIMAL(37,2))`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 64 OR select_id IS NULL) order by id;
-CAST(my_decimal AS DECIMAL(37,2)) my_decimal id
-NULL NULL 1
--10000000000000000000000000000000000.00 -9999999999999999999999999999999999.999999999999999999999999999999 2
-10000000000000000000000000000000000.00 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.00 0.000000000000000000000000000000 4
--1.00 -1.000000000000000000000000000000 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS DECIMAL(37,2)),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS DECIMAL(37,2)),
-my_bigint, id FROM t1_values
-WHERE select_id = 63 OR select_id IS NULL order by id;
-CAST(my_bigint AS DECIMAL(37,2)) my_bigint id
-NULL NULL 1
--9223372036854775808.00 -9223372036854775808 2
-9223372036854775807.00 9223372036854775807 3
-0.00 0 4
--1.00 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as decimal(37,2)) AS `CAST(my_bigint AS DECIMAL(37,2))`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 63 OR select_id IS NULL) order by id;
-CAST(my_bigint AS DECIMAL(37,2)) my_bigint id
-NULL NULL 1
--9223372036854775808.00 -9223372036854775808 2
-9223372036854775807.00 9223372036854775807 3
-0.00 0 4
--1.00 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS DECIMAL(37,2)),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 62 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id
-NULL NULL 1
-0.00 2
-0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 29
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as decimal(37,2)) AS `CAST(my_varbinary_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 62 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS DECIMAL(37,2)) my_varbinary_1000 id
-NULL NULL 1
-0.00 2
-0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 29
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DECIMAL(37,2)),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS DECIMAL(37,2)),
-my_binary_30, id FROM t1_values
-WHERE select_id = 61 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id
-NULL NULL 1
-0.00 2
-0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 28
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DECIMAL value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as decimal(37,2)) AS `CAST(my_binary_30 AS DECIMAL(37,2))`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 61 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS DECIMAL(37,2)) my_binary_30 id
-NULL NULL 1
-0.00
-0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$--
--1.00 -1
--3333.33 -3333.3333
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DECIMAL value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-Warning 1292 Truncated incorrect DECIMAL value: '-3333.3333\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS DECIMAL(37,2)),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 60 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id
-NULL NULL 1
-0.00 2
-0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 27
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as decimal(37,2)) AS `CAST(my_varchar_1000 AS DECIMAL(37,2))`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 60 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS DECIMAL(37,2)) my_varchar_1000 id
-NULL NULL 1
-0.00 2
-0.00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 27
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ''
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DECIMAL(37,2)),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS DECIMAL(37,2)),
-my_char_30, id FROM t1_values
-WHERE select_id = 59 OR select_id IS NULL order by id;
-CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id
-NULL NULL 1
-0.00 2
-0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 26
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' '
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as decimal(37,2)) AS `CAST(my_char_30 AS DECIMAL(37,2))`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 59 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS DECIMAL(37,2)) my_char_30 id
-NULL NULL 1
-0.00 2
-0.00 <--------30 characters-------> 3
-0.00 ---äÖüß@µ*$-- 4
--1.00 -1 5
--3333.33 -3333.3333 26
-Warnings:
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' '
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: '<--------30 characters------->'
-Warning 1366 Incorrect decimal value: '' for column '' at row -1
-Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS TIME),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS TIME),
-my_year, id FROM t1_values
-WHERE select_id = 58 OR select_id IS NULL order by id;
-CAST(my_year AS TIME) my_year id
-NULL NULL 1
-00:19:01 1901 2
-00:21:55 2155 3
-00:20:00 2000 4
-00:20:05 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as time) AS `CAST(my_year AS TIME)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 58 OR select_id IS NULL) order by id;
-CAST(my_year AS TIME) my_year id
-NULL NULL 1
-00:19:01 1901 2
-00:21:55 2155 3
-00:20:00 2000 4
-00:20:05 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS TIME),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS TIME),
-my_time, id FROM t1_values
-WHERE select_id = 57 OR select_id IS NULL order by id;
-CAST(my_time AS TIME) my_time id
-NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as time) AS `CAST(my_time AS TIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 57 OR select_id IS NULL) order by id;
-CAST(my_time AS TIME) my_time id
-NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS TIME),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS TIME),
-my_timestamp, id FROM t1_values
-WHERE select_id = 56 OR select_id IS NULL order by id;
-CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
-03:00:01 1970-01-01 03:00:01 2
-02:59:59 2038-01-01 02:59:59 3
-23:59:59 2004-02-29 23:59:59 4
-10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as time) AS `CAST(my_timestamp AS TIME)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 56 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS TIME) my_timestamp id
-00:00:00 0000-00-00 00:00:00 1
-03:00:01 1970-01-01 03:00:01 2
-02:59:59 2038-01-01 02:59:59 3
-23:59:59 2004-02-29 23:59:59 4
-10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS TIME),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS TIME),
-my_date, id FROM t1_values
-WHERE select_id = 55 OR select_id IS NULL order by id;
-CAST(my_date AS TIME) my_date id
-NULL NULL 1
-00:00:00 0001-01-01 2
-00:00:00 9999-12-31 3
-00:00:00 2004-02-29 4
-00:00:00 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as time) AS `CAST(my_date AS TIME)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 55 OR select_id IS NULL) order by id;
-CAST(my_date AS TIME) my_date id
-NULL NULL 1
-00:00:00 0001-01-01 2
-00:00:00 9999-12-31 3
-00:00:00 2004-02-29 4
-00:00:00 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS TIME),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS TIME),
-my_datetime, id FROM t1_values
-WHERE select_id = 54 OR select_id IS NULL order by id;
-CAST(my_datetime AS TIME) my_datetime id
-NULL NULL 1
-00:00:00 0001-01-01 00:00:00 2
-23:59:59 9999-12-31 23:59:59 3
-23:59:59 2004-02-29 23:59:59 4
-10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as time) AS `CAST(my_datetime AS TIME)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 54 OR select_id IS NULL) order by id;
-CAST(my_datetime AS TIME) my_datetime id
-NULL NULL 1
-00:00:00 0001-01-01 00:00:00 2
-23:59:59 9999-12-31 23:59:59 3
-23:59:59 2004-02-29 23:59:59 4
-10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS TIME),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS TIME),
-my_double, id FROM t1_values
-WHERE select_id = 53 OR select_id IS NULL order by id;
-CAST(my_double AS TIME) my_double id
-NULL NULL 1
-NULL -1.7976931348623e308 2
-NULL 1.7976931348623e308 3
-00:00:00 0 4
--00:00:01 -1 5
-00:17:58 1758 25
-Warnings:
-Warning 1292 Truncated incorrect time value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect time value: '1.7976931348623e308'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as time) AS `CAST(my_double AS TIME)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 53 OR select_id IS NULL) order by id;
-CAST(my_double AS TIME) my_double id
-NULL NULL 1
-NULL -1.7976931348623e308 2
-NULL 1.7976931348623e308 3
-00:00:00 0 4
--00:00:01 -1 5
-00:17:58 1758 25
-Warnings:
-Warning 1292 Truncated incorrect time value: '-1.7976931348623e308'
-Warning 1292 Truncated incorrect time value: '1.7976931348623e308'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS TIME),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS TIME),
-my_bigint, id FROM t1_values
-WHERE select_id = 52 OR select_id IS NULL order by id;
-CAST(my_bigint AS TIME) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
-00:00:00 0 4
--00:00:01 -1 5
-00:17:58 1758 24
-Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as time) AS `CAST(my_bigint AS TIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 52 OR select_id IS NULL) order by id;
-CAST(my_bigint AS TIME) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
-00:00:00 0 4
--00:00:01 -1 5
-00:17:58 1758 24
-Warnings:
-Warning 1292 Truncated incorrect time value: '-9223372036854775808'
-Warning 1292 Truncated incorrect time value: '9223372036854775807'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS TIME),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS TIME),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 51 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS TIME) my_varbinary_1000 id
-NULL NULL 1
-NULL 2
-00:00:00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
--00:00:00 ---äÖüß@µ*$-- 4
--00:00:01 -1 5
-41:58:00 1 17:58 23
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as time) AS `CAST(my_varbinary_1000 AS TIME)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 51 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS TIME) my_varbinary_1000 id
-NULL NULL 1
-NULL 2
-00:00:00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
--00:00:00 ---äÖüß@µ*$-- 4
--00:00:01 -1 5
-41:58:00 1 17:58 23
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS TIME),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS TIME),
-my_binary_30, id FROM t1_values
-WHERE select_id = 50 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS TIME) my_binary_30 id
-NULL NULL 1
-00:00:00 2
-00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$-- 4
-NULL -1 5
-41:58:00 1 17:58 22
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect time value: '-1'
-Warning 1292 Truncated incorrect time value: '1 17:58'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as time) AS `CAST(my_binary_30 AS TIME)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 50 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS TIME) my_binary_30 id
-NULL NULL 1
-00:00:00
-00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$--
-NULL -1
-41:58:00 1 17:58
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$-- '
-Warning 1292 Truncated incorrect time value: '-1'
-Warning 1292 Truncated incorrect time value: '1 17:58'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS TIME),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS TIME),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 49 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS TIME) my_varchar_1000 id
-NULL NULL 1
-NULL 2
-00:00:00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
--00:00:00 ---äÖüß@µ*$-- 4
--00:00:01 -1 5
-41:58:00 1 17:58 21
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$-- '
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as time) AS `CAST(my_varchar_1000 AS TIME)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 49 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS TIME) my_varchar_1000 id
-NULL NULL 1
-NULL 2
-00:00:00 <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
--00:00:00 ---äÖüß@µ*$-- 4
--00:00:01 -1 5
-41:58:00 1 17:58 21
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$-- '
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS TIME),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS TIME),
-my_char_30, id FROM t1_values
-WHERE select_id = 48 OR select_id IS NULL order by id;
-CAST(my_char_30 AS TIME) my_char_30 id
-NULL NULL 1
-NULL 2
-00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$-- 4
--00:00:01 -1 5
-41:58:00 1 17:58 20
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$--'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as time) AS `CAST(my_char_30 AS TIME)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 48 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS TIME) my_char_30 id
-NULL NULL 1
-NULL 2
-00:00:00 <--------30 characters-------> 3
--00:00:00 ---äÖüß@µ*$-- 4
--00:00:01 -1 5
-41:58:00 1 17:58 20
-Warnings:
-Warning 1292 Truncated incorrect time value: ''
-Warning 1292 Truncated incorrect time value: '<--------30 characters------->'
-Warning 1292 Truncated incorrect time value: ' ---äÖüß@µ*$--'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS DATETIME),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS DATETIME),
-my_year, id FROM t1_values
-WHERE select_id = 47 OR select_id IS NULL order by id;
-CAST(my_year AS DATETIME) my_year id
-NULL NULL 1
-NULL 1901 2
-NULL 2155 3
-NULL 2000 4
-NULL 2005 5
-Warnings:
-Warning 1292 Incorrect datetime value: '1901'
-Warning 1292 Incorrect datetime value: '2155'
-Warning 1292 Incorrect datetime value: '2000'
-Warning 1292 Incorrect datetime value: '2005'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as datetime) AS `CAST(my_year AS DATETIME)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 47 OR select_id IS NULL) order by id;
-CAST(my_year AS DATETIME) my_year id
-NULL NULL 1
-NULL 1901 2
-NULL 2155 3
-NULL 2000 4
-NULL 2005 5
-Warnings:
-Warning 1292 Incorrect datetime value: '1901'
-Warning 1292 Incorrect datetime value: '2155'
-Warning 1292 Incorrect datetime value: '2000'
-Warning 1292 Incorrect datetime value: '2005'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS DATETIME),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS DATETIME),
-my_time, id FROM t1_values
-WHERE select_id = 46 OR select_id IS NULL order by id;
-CAST(my_time AS DATETIME) my_time id
-NULL NULL 1
-0000-00-00 00:00:00 -838:59:59 2
-0000-00-00 00:00:00 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as datetime) AS `CAST(my_time AS DATETIME)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 46 OR select_id IS NULL) order by id;
-CAST(my_time AS DATETIME) my_time id
-NULL NULL 1
-0000-00-00 00:00:00 -838:59:59 2
-0000-00-00 00:00:00 838:59:59 3
-0000-00-00 13:00:00 13:00:00 4
-0000-00-00 10:00:00 10:00:00 5
-Warnings:
-Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59'
-Warning 1292 Incorrect datetime value: '0000-00-00 838:59:59'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DATETIME),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS DATETIME),
-my_timestamp, id FROM t1_values
-WHERE select_id = 45 OR select_id IS NULL order by id;
-CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as datetime) AS `CAST(my_timestamp AS DATETIME)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 45 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS DATETIME) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS DATETIME),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS DATETIME),
-my_date, id FROM t1_values
-WHERE select_id = 44 OR select_id IS NULL order by id;
-CAST(my_date AS DATETIME) my_date id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 2
-9999-12-31 00:00:00 9999-12-31 3
-2004-02-29 00:00:00 2004-02-29 4
-2005-06-28 00:00:00 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as datetime) AS `CAST(my_date AS DATETIME)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 44 OR select_id IS NULL) order by id;
-CAST(my_date AS DATETIME) my_date id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 2
-9999-12-31 00:00:00 9999-12-31 3
-2004-02-29 00:00:00 2004-02-29 4
-2005-06-28 00:00:00 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS DATETIME),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS DATETIME),
-my_datetime, id FROM t1_values
-WHERE select_id = 43 OR select_id IS NULL order by id;
-CAST(my_datetime AS DATETIME) my_datetime id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as datetime) AS `CAST(my_datetime AS DATETIME)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 43 OR select_id IS NULL) order by id;
-CAST(my_datetime AS DATETIME) my_datetime id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS DATETIME),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS DATETIME),
-my_double, id FROM t1_values
-WHERE select_id = 42 OR select_id IS NULL order by id;
-CAST(my_double AS DATETIME) my_double id
-NULL NULL 1
-NULL -1.7976931348623e308 2
-NULL 1.7976931348623e308 3
-NULL 0 4
-NULL -1 5
-NULL 200506271758 19
-Warnings:
-Warning 1292 Incorrect datetime value: '-1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as datetime) AS `CAST(my_double AS DATETIME)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 42 OR select_id IS NULL) order by id;
-CAST(my_double AS DATETIME) my_double id
-NULL NULL 1
-NULL -1.7976931348623e308 2
-NULL 1.7976931348623e308 3
-NULL 0 4
-NULL -1 5
-NULL 200506271758 19
-Warnings:
-Warning 1292 Incorrect datetime value: '-1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS DATETIME),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS DATETIME),
-my_bigint, id FROM t1_values
-WHERE select_id = 41 OR select_id IS NULL order by id;
-CAST(my_bigint AS DATETIME) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
-NULL 0 4
-NULL -1 5
-NULL 200506271758 18
-Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as datetime) AS `CAST(my_bigint AS DATETIME)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 41 OR select_id IS NULL) order by id;
-CAST(my_bigint AS DATETIME) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
-NULL 0 4
-NULL -1 5
-NULL 200506271758 18
-Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Incorrect datetime value: '200506271758'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DATETIME),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS DATETIME),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 40 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS DATETIME) my_varbinary_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 17
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as datetime) AS `CAST(my_varbinary_1000 AS DATETIME)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 40 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS DATETIME) my_varbinary_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 17
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DATETIME),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS DATETIME),
-my_binary_30, id FROM t1_values
-WHERE select_id = 39 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS DATETIME) my_binary_30 id
-NULL NULL 1
-NULL 2
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 16
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '2005-06-27 17:58'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as datetime) AS `CAST(my_binary_30 AS DATETIME)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 39 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS DATETIME) my_binary_30 id
-NULL NULL 1
-NULL
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 17:58:00 2005-06-27 17:58
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect datetime value: '2005-06-27 17:58'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DATETIME),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS DATETIME),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 38 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS DATETIME) my_varchar_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 15
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as datetime) AS `CAST(my_varchar_1000 AS DATETIME)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 38 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS DATETIME) my_varchar_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 15
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DATETIME),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS DATETIME),
-my_char_30, id FROM t1_values
-WHERE select_id = 37 OR select_id IS NULL order by id;
-CAST(my_char_30 AS DATETIME) my_char_30 id
-NULL NULL 1
-NULL 2
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 14
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as datetime) AS `CAST(my_char_30 AS DATETIME)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 37 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS DATETIME) my_char_30 id
-NULL NULL 1
-NULL 2
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 17:58:00 2005-06-27 17:58 14
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS DATE),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS DATE),
-my_year, id FROM t1_values
-WHERE select_id = 36 OR select_id IS NULL order by id;
-CAST(my_year AS DATE) my_year id
-NULL NULL 1
-NULL 1901 2
-NULL 2155 3
-NULL 2000 4
-NULL 2005 5
-Warnings:
-Warning 1292 Incorrect datetime value: '1901'
-Warning 1292 Incorrect datetime value: '2155'
-Warning 1292 Incorrect datetime value: '2000'
-Warning 1292 Incorrect datetime value: '2005'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as date) AS `CAST(my_year AS DATE)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 36 OR select_id IS NULL) order by id;
-CAST(my_year AS DATE) my_year id
-NULL NULL 1
-NULL 1901 2
-NULL 2155 3
-NULL 2000 4
-NULL 2005 5
-Warnings:
-Warning 1292 Incorrect datetime value: '1901'
-Warning 1292 Incorrect datetime value: '2155'
-Warning 1292 Incorrect datetime value: '2000'
-Warning 1292 Incorrect datetime value: '2005'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS DATE),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS DATE),
-my_time, id FROM t1_values
-WHERE select_id = 35 OR select_id IS NULL order by id;
-CAST(my_time AS DATE) my_time id
-NULL NULL 1
-0000-00-00 -838:59:59 2
-0000-00-00 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as date) AS `CAST(my_time AS DATE)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 35 OR select_id IS NULL) order by id;
-CAST(my_time AS DATE) my_time id
-NULL NULL 1
-0000-00-00 -838:59:59 2
-0000-00-00 838:59:59 3
-0000-00-00 13:00:00 4
-0000-00-00 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS DATE),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS DATE),
-my_timestamp, id FROM t1_values
-WHERE select_id = 34 OR select_id IS NULL order by id;
-CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
-1970-01-01 1970-01-01 03:00:01 2
-2038-01-01 2038-01-01 02:59:59 3
-2004-02-29 2004-02-29 23:59:59 4
-2005-06-28 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as date) AS `CAST(my_timestamp AS DATE)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 34 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS DATE) my_timestamp id
-0000-00-00 0000-00-00 00:00:00 1
-1970-01-01 1970-01-01 03:00:01 2
-2038-01-01 2038-01-01 02:59:59 3
-2004-02-29 2004-02-29 23:59:59 4
-2005-06-28 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS DATE),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS DATE),
-my_date, id FROM t1_values
-WHERE select_id = 33 OR select_id IS NULL order by id;
-CAST(my_date AS DATE) my_date id
-NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as date) AS `CAST(my_date AS DATE)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 33 OR select_id IS NULL) order by id;
-CAST(my_date AS DATE) my_date id
-NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS DATE),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS DATE),
-my_datetime, id FROM t1_values
-WHERE select_id = 32 OR select_id IS NULL order by id;
-CAST(my_datetime AS DATE) my_datetime id
-NULL NULL 1
-0001-01-01 0001-01-01 00:00:00 2
-9999-12-31 9999-12-31 23:59:59 3
-2004-02-29 2004-02-29 23:59:59 4
-2005-06-28 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as date) AS `CAST(my_datetime AS DATE)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 32 OR select_id IS NULL) order by id;
-CAST(my_datetime AS DATE) my_datetime id
-NULL NULL 1
-0001-01-01 0001-01-01 00:00:00 2
-9999-12-31 9999-12-31 23:59:59 3
-2004-02-29 2004-02-29 23:59:59 4
-2005-06-28 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS DATE),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS DATE),
-my_double, id FROM t1_values
-WHERE select_id = 31 OR select_id IS NULL order by id;
-CAST(my_double AS DATE) my_double id
-NULL NULL 1
-NULL -1.7976931348623e308 2
-NULL 1.7976931348623e308 3
-NULL 0 4
-NULL -1 5
-2005-06-27 20050627 13
-Warnings:
-Warning 1292 Incorrect datetime value: '-1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as date) AS `CAST(my_double AS DATE)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 31 OR select_id IS NULL) order by id;
-CAST(my_double AS DATE) my_double id
-NULL NULL 1
-NULL -1.7976931348623e308 2
-NULL 1.7976931348623e308 3
-NULL 0 4
-NULL -1 5
-2005-06-27 20050627 13
-Warnings:
-Warning 1292 Incorrect datetime value: '-1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '1.7976931348623e308'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS DATE),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS DATE),
-my_bigint, id FROM t1_values
-WHERE select_id = 30 OR select_id IS NULL order by id;
-CAST(my_bigint AS DATE) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
-NULL 0 4
-NULL -1 5
-2005-06-27 20050627 12
-Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as date) AS `CAST(my_bigint AS DATE)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 30 OR select_id IS NULL) order by id;
-CAST(my_bigint AS DATE) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-NULL 9223372036854775807 3
-NULL 0 4
-NULL -1 5
-2005-06-27 20050627 12
-Warnings:
-Warning 1292 Incorrect datetime value: '-9223372036854775808'
-Warning 1292 Incorrect datetime value: '9223372036854775807'
-Warning 1292 Incorrect datetime value: '0'
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS DATE),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS DATE),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 29 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS DATE) my_varbinary_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 11
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as date) AS `CAST(my_varbinary_1000 AS DATE)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 29 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS DATE) my_varbinary_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 11
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS DATE),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS DATE),
-my_binary_30, id FROM t1_values
-WHERE select_id = 28 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS DATE) my_binary_30 id
-NULL NULL 1
-NULL 2
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 10
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect date value: '2005-06-27'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as date) AS `CAST(my_binary_30 AS DATE)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 28 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS DATE) my_binary_30 id
-NULL NULL 1
-NULL
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$--
-NULL -1
-2005-06-27 2005-06-27
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-Warning 1292 Truncated incorrect date value: '2005-06-27'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS DATE),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS DATE),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 27 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS DATE) my_varchar_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 9
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as date) AS `CAST(my_varchar_1000 AS DATE)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 27 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS DATE) my_varchar_1000 id
-NULL NULL 1
-NULL 2
-NULL <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 9
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$-- '
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS DATE),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS DATE),
-my_char_30, id FROM t1_values
-WHERE select_id = 26 OR select_id IS NULL order by id;
-CAST(my_char_30 AS DATE) my_char_30 id
-NULL NULL 1
-NULL 2
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 8
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Incorrect datetime value: '-1'
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as date) AS `CAST(my_char_30 AS DATE)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 26 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS DATE) my_char_30 id
-NULL NULL 1
-NULL 2
-NULL <--------30 characters-------> 3
-NULL ---äÖüß@µ*$-- 4
-NULL -1 5
-2005-06-27 2005-06-27 8
-Warnings:
-Warning 1292 Incorrect datetime value: ''
-Warning 1292 Incorrect datetime value: '<--------30 characters------->'
-Warning 1292 Incorrect datetime value: ' ---äÖüß@µ*$--'
-Warning 1292 Incorrect datetime value: '-1'
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS CHAR),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS CHAR),
-my_year, id FROM t1_values
-WHERE select_id = 25 OR select_id IS NULL order by id;
-CAST(my_year AS CHAR) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as char charset latin1) AS `CAST(my_year AS CHAR)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 25 OR select_id IS NULL) order by id;
-CAST(my_year AS CHAR) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS CHAR),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS CHAR),
-my_time, id FROM t1_values
-WHERE select_id = 24 OR select_id IS NULL order by id;
-CAST(my_time AS CHAR) my_time id
-NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as char charset latin1) AS `CAST(my_time AS CHAR)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 24 OR select_id IS NULL) order by id;
-CAST(my_time AS CHAR) my_time id
-NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS CHAR),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS CHAR),
-my_timestamp, id FROM t1_values
-WHERE select_id = 23 OR select_id IS NULL order by id;
-CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as char charset latin1) AS `CAST(my_timestamp AS CHAR)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 23 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS CHAR) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS CHAR),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS CHAR),
-my_date, id FROM t1_values
-WHERE select_id = 22 OR select_id IS NULL order by id;
-CAST(my_date AS CHAR) my_date id
-NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as char charset latin1) AS `CAST(my_date AS CHAR)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 22 OR select_id IS NULL) order by id;
-CAST(my_date AS CHAR) my_date id
-NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS CHAR),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS CHAR),
-my_datetime, id FROM t1_values
-WHERE select_id = 21 OR select_id IS NULL order by id;
-CAST(my_datetime AS CHAR) my_datetime id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as char charset latin1) AS `CAST(my_datetime AS CHAR)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 21 OR select_id IS NULL) order by id;
-CAST(my_datetime AS CHAR) my_datetime id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS CHAR),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS CHAR),
-my_double, id FROM t1_values
-WHERE select_id = 20 OR select_id IS NULL order by id;
-CAST(my_double AS CHAR) my_double id
-NULL NULL 1
--1.7976931348623e308 -1.7976931348623e308 2
-1.7976931348623e308 1.7976931348623e308 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as char charset latin1) AS `CAST(my_double AS CHAR)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 20 OR select_id IS NULL) order by id;
-CAST(my_double AS CHAR) my_double id
-NULL NULL 1
--1.7976931348623e308 -1.7976931348623e308 2
-1.7976931348623e308 1.7976931348623e308 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_decimal AS CHAR),
-my_decimal, id FROM t1_values;
-SELECT CAST(my_decimal AS CHAR),
-my_decimal, id FROM t1_values
-WHERE select_id = 19 OR select_id IS NULL order by id;
-CAST(my_decimal AS CHAR) my_decimal id
-NULL NULL 1
--9999999999999999999999999999999999.999999999999999999999999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999999999999999999999999999.999999999999999999999999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.000000000000000000000000000000 0.000000000000000000000000000000 4
--1.000000000000000000000000000000 -1.000000000000000000000000000000 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as char charset latin1) AS `CAST(my_decimal AS CHAR)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 19 OR select_id IS NULL) order by id;
-CAST(my_decimal AS CHAR) my_decimal id
-NULL NULL 1
--9999999999999999999999999999999999.999999999999999999999999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999999999999999999999999999.999999999999999999999999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.000000000000000000000000000000 0.000000000000000000000000000000 4
--1.000000000000000000000000000000 -1.000000000000000000000000000000 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS CHAR),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS CHAR),
-my_bigint, id FROM t1_values
-WHERE select_id = 18 OR select_id IS NULL order by id;
-CAST(my_bigint AS CHAR) my_bigint id
-NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as char charset latin1) AS `CAST(my_bigint AS CHAR)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 18 OR select_id IS NULL) order by id;
-CAST(my_bigint AS CHAR) my_bigint id
-NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS CHAR),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS CHAR),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 17 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS CHAR) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as char charset latin1) AS `CAST(my_varbinary_1000 AS CHAR)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 17 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS CHAR) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS CHAR),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS CHAR),
-my_binary_30, id FROM t1_values
-WHERE select_id = 16 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS CHAR) my_binary_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as char charset latin1) AS `CAST(my_binary_30 AS CHAR)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 16 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS CHAR) my_binary_30 id
-NULL NULL 1
-
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$--
--1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS CHAR),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS CHAR),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 15 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS CHAR) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as char charset latin1) AS `CAST(my_varchar_1000 AS CHAR)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 15 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS CHAR) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS CHAR),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS CHAR),
-my_char_30, id FROM t1_values
-WHERE select_id = 14 OR select_id IS NULL order by id;
-CAST(my_char_30 AS CHAR) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as char charset latin1) AS `CAST(my_char_30 AS CHAR)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 14 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS CHAR) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_year AS BINARY),
-my_year, id FROM t1_values;
-SELECT CAST(my_year AS BINARY),
-my_year, id FROM t1_values
-WHERE select_id = 13 OR select_id IS NULL order by id;
-CAST(my_year AS BINARY) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_year` as char charset binary) AS `CAST(my_year AS BINARY)`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 13 OR select_id IS NULL) order by id;
-CAST(my_year AS BINARY) my_year id
-NULL NULL 1
-1901 1901 2
-2155 2155 3
-2000 2000 4
-2005 2005 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_time AS BINARY),
-my_time, id FROM t1_values;
-SELECT CAST(my_time AS BINARY),
-my_time, id FROM t1_values
-WHERE select_id = 12 OR select_id IS NULL order by id;
-CAST(my_time AS BINARY) my_time id
-NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_time` as char charset binary) AS `CAST(my_time AS BINARY)`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 12 OR select_id IS NULL) order by id;
-CAST(my_time AS BINARY) my_time id
-NULL NULL 1
--838:59:59 -838:59:59 2
-838:59:59 838:59:59 3
-13:00:00 13:00:00 4
-10:00:00 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_timestamp AS BINARY),
-my_timestamp, id FROM t1_values;
-SELECT CAST(my_timestamp AS BINARY),
-my_timestamp, id FROM t1_values
-WHERE select_id = 11 OR select_id IS NULL order by id;
-CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_timestamp` as char charset binary) AS `CAST(my_timestamp AS BINARY)`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 11 OR select_id IS NULL) order by id;
-CAST(my_timestamp AS BINARY) my_timestamp id
-0000-00-00 00:00:00 0000-00-00 00:00:00 1
-1970-01-01 03:00:01 1970-01-01 03:00:01 2
-2038-01-01 02:59:59 2038-01-01 02:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_date AS BINARY),
-my_date, id FROM t1_values;
-SELECT CAST(my_date AS BINARY),
-my_date, id FROM t1_values
-WHERE select_id = 10 OR select_id IS NULL order by id;
-CAST(my_date AS BINARY) my_date id
-NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_date` as char charset binary) AS `CAST(my_date AS BINARY)`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 10 OR select_id IS NULL) order by id;
-CAST(my_date AS BINARY) my_date id
-NULL NULL 1
-0001-01-01 0001-01-01 2
-9999-12-31 9999-12-31 3
-2004-02-29 2004-02-29 4
-2005-06-28 2005-06-28 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_datetime AS BINARY),
-my_datetime, id FROM t1_values;
-SELECT CAST(my_datetime AS BINARY),
-my_datetime, id FROM t1_values
-WHERE select_id = 9 OR select_id IS NULL order by id;
-CAST(my_datetime AS BINARY) my_datetime id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_datetime` as char charset binary) AS `CAST(my_datetime AS BINARY)`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 9 OR select_id IS NULL) order by id;
-CAST(my_datetime AS BINARY) my_datetime id
-NULL NULL 1
-0001-01-01 00:00:00 0001-01-01 00:00:00 2
-9999-12-31 23:59:59 9999-12-31 23:59:59 3
-2004-02-29 23:59:59 2004-02-29 23:59:59 4
-2005-06-28 10:00:00 2005-06-28 10:00:00 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_double AS BINARY),
-my_double, id FROM t1_values;
-SELECT CAST(my_double AS BINARY),
-my_double, id FROM t1_values
-WHERE select_id = 8 OR select_id IS NULL order by id;
-CAST(my_double AS BINARY) my_double id
-NULL NULL 1
--1.7976931348623e308 -1.7976931348623e308 2
-1.7976931348623e308 1.7976931348623e308 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_double` as char charset binary) AS `CAST(my_double AS BINARY)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 8 OR select_id IS NULL) order by id;
-CAST(my_double AS BINARY) my_double id
-NULL NULL 1
--1.7976931348623e308 -1.7976931348623e308 2
-1.7976931348623e308 1.7976931348623e308 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_decimal AS BINARY),
-my_decimal, id FROM t1_values;
-SELECT CAST(my_decimal AS BINARY),
-my_decimal, id FROM t1_values
-WHERE select_id = 7 OR select_id IS NULL order by id;
-CAST(my_decimal AS BINARY) my_decimal id
-NULL NULL 1
--9999999999999999999999999999999999.999999999999999999999999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999999999999999999999999999.999999999999999999999999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.000000000000000000000000000000 0.000000000000000000000000000000 4
--1.000000000000000000000000000000 -1.000000000000000000000000000000 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_decimal` as char charset binary) AS `CAST(my_decimal AS BINARY)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 7 OR select_id IS NULL) order by id;
-CAST(my_decimal AS BINARY) my_decimal id
-NULL NULL 1
--9999999999999999999999999999999999.999999999999999999999999999999 -9999999999999999999999999999999999.999999999999999999999999999999 2
-9999999999999999999999999999999999.999999999999999999999999999999 9999999999999999999999999999999999.999999999999999999999999999999 3
-0.000000000000000000000000000000 0.000000000000000000000000000000 4
--1.000000000000000000000000000000 -1.000000000000000000000000000000 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_bigint AS BINARY),
-my_bigint, id FROM t1_values;
-SELECT CAST(my_bigint AS BINARY),
-my_bigint, id FROM t1_values
-WHERE select_id = 6 OR select_id IS NULL order by id;
-CAST(my_bigint AS BINARY) my_bigint id
-NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_bigint` as char charset binary) AS `CAST(my_bigint AS BINARY)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 6 OR select_id IS NULL) order by id;
-CAST(my_bigint AS BINARY) my_bigint id
-NULL NULL 1
--9223372036854775808 -9223372036854775808 2
-9223372036854775807 9223372036854775807 3
-0 0 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varbinary_1000 AS BINARY),
-my_varbinary_1000, id FROM t1_values;
-SELECT CAST(my_varbinary_1000 AS BINARY),
-my_varbinary_1000, id FROM t1_values
-WHERE select_id = 5 OR select_id IS NULL order by id;
-CAST(my_varbinary_1000 AS BINARY) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varbinary_1000` as char charset binary) AS `CAST(my_varbinary_1000 AS BINARY)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 5 OR select_id IS NULL) order by id;
-CAST(my_varbinary_1000 AS BINARY) my_varbinary_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_binary_30 AS BINARY),
-my_binary_30, id FROM t1_values;
-SELECT CAST(my_binary_30 AS BINARY),
-my_binary_30, id FROM t1_values
-WHERE select_id = 4 OR select_id IS NULL order by id;
-CAST(my_binary_30 AS BINARY) my_binary_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_binary_30` as char charset binary) AS `CAST(my_binary_30 AS BINARY)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 4 OR select_id IS NULL) order by id;
-CAST(my_binary_30 AS BINARY) my_binary_30 id
-NULL NULL 1
-
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$--
--1
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_varchar_1000 AS BINARY),
-my_varchar_1000, id FROM t1_values;
-SELECT CAST(my_varchar_1000 AS BINARY),
-my_varchar_1000, id FROM t1_values
-WHERE select_id = 3 OR select_id IS NULL order by id;
-CAST(my_varchar_1000 AS BINARY) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_varchar_1000` as char charset binary) AS `CAST(my_varchar_1000 AS BINARY)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 3 OR select_id IS NULL) order by id;
-CAST(my_varchar_1000 AS BINARY) my_varchar_1000 id
-NULL NULL 1
- 2
-<---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> <---------1000 characters--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT CAST(my_char_30 AS BINARY),
-my_char_30, id FROM t1_values;
-SELECT CAST(my_char_30 AS BINARY),
-my_char_30, id FROM t1_values
-WHERE select_id = 2 OR select_id IS NULL order by id;
-CAST(my_char_30 AS BINARY) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(`t1_values`.`my_char_30` as char charset binary) AS `CAST(my_char_30 AS BINARY)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 2 OR select_id IS NULL) order by id;
-CAST(my_char_30 AS BINARY) my_char_30 id
-NULL NULL 1
- 2
-<--------30 characters-------> <--------30 characters-------> 3
- ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
--1 -1 5
-DROP VIEW v1;
-
-
-CREATE VIEW v1 AS SELECT sqrt(my_bigint), my_bigint, id FROM t1_values;
-SELECT sqrt(my_bigint), my_bigint, id FROM t1_values
-WHERE select_id = 1 OR select_id IS NULL order by id;
-sqrt(my_bigint) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-3037000499.97605 9223372036854775807 3
-0 0 4
-NULL -1 5
-2 4 6
-NULL -25 7
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sqrt(`t1_values`.`my_bigint`) AS `sqrt(my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
-SELECT v1.* FROM v1
-WHERE v1.id IN (SELECT id FROM t1_values
-WHERE select_id = 1 OR select_id IS NULL) order by id;
-sqrt(my_bigint) my_bigint id
-NULL NULL 1
-NULL -9223372036854775808 2
-3037000499.97605 9223372036854775807 3
-0 0 4
-NULL -1 5
-2 4 6
-NULL -25 7
-DROP VIEW v1;
-
-
-DROP TABLE t1_selects, t1_modes, t1_values;
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result
deleted file mode 100644
index 3e2d084aa0c..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result
+++ /dev/null
@@ -1,1398 +0,0 @@
-
---source suite/funcs_1/storedproc/load_sp_tb.inc
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-CREATE DATABASE db_storedproc;
-CREATE DATABASE db_storedproc_1;
-USE db_storedproc;
-create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
-USE db_storedproc_1;
-create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
-USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
-
-Section 3.1.2 - Syntax checks for the stored procedure-specific
-programming statements BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE:
---------------------------------------------------------------------------------
-
-Testcase 3.1.2.8:
------------------
-
-Ensure that the scope of each BEGIN/END compound statement within a stored
-procedure definition is properly applied
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-begin_label: BEGIN
-declare x char DEFAULT 'x';
-declare y char DEFAULT 'y';
-set x = '1';
-set y = '2';
-label1: BEGIN
-declare x char DEFAULT 'X';
-declare y char DEFAULT 'Y';
-SELECT f1, f2 into x, y from t2 limit 1;
-SELECT '1.1', x, y;
-label2: BEGIN
-declare x char default 'a';
-declare y char default 'b';
-label3: BEGIN
-declare x char default 'c';
-declare y char default 'd';
-label4: BEGIN
-declare x char default 'e';
-declare y char default 'f';
-label5: BEGIN
-declare x char default 'g';
-declare y char default 'h';
-SELECT 5, x, y;
-END label5;
-SELECT 4, x, y;
-END label4;
-SELECT 3, x, y;
-END label3;
-SELECT 2, x, y;
-END label2;
-END label1;
-set @v1 = x;
-set @v2 = y;
-SELECT '1.2', @v1, @v2;
-END begin_label//
-CALL sp1();
-1.1 x y
-1.1 a a
-5 x y
-5 g h
-4 x y
-4 e f
-3 x y
-3 c d
-2 x y
-2 a b
-1.2 @v1 @v2
-1.2 1 2
-Warnings:
-Warning 1265 Data truncated for column 'x' at row 1
-Warning 1265 Data truncated for column 'y' at row 1
-DROP PROCEDURE IF EXISTS sp1;
-
-Testcase 3.1.2.26:
-------------------
-
-Ensure that the initial value of every variable declared for a stored procedure
-is either NULL or its DEFAULT value, as appropriate.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-set @v1=0;
-set @v2=0;
-CREATE PROCEDURE sp1( )
-BEGIN
-declare x1 char default 'x';
-declare y1 char;
-declare x2 tinytext default 'tinytext';
-declare y2 tinytext;
-declare x3 datetime default '2005-10-03 12:13:14';
-declare y3 datetime;
-declare x4 float default 1.2;
-declare y4 float;
-declare x5 blob default 'b';
-declare y5 blob;
-declare x6 smallint default 127;
-declare y6 smallint;
-SELECT x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6;
-END//
-CALL sp1();
-x1 x2 x3 x4 x5 x6 y1 y2 y3 y4 y5 y6
-x tinytext 2005-10-03 12:13:14 1.2 b 127 NULL NULL NULL NULL NULL NULL
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.30:
-------------------
-
-Ensure that, when a stored procedure is called/executed, every variable always
-uses the correct value: either the value with which it is initialized or the
-value to which it is subsequently SET or otherwise assigned, as appropriate.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( IN invar INT, OUT outvar INT )
-BEGIN
-declare x integer;
-declare y integer default 1;
-set @x = x;
-set @y = y;
-set @z = 234;
-SELECT f1, f2 into @x, @y from t2 where f1='a`' and f2='a`' limit 1;
-SELECT @x, @y, @z, invar;
-BEGIN
-set @x = 2;
-SELECT @x, @y, @z;
-SET outvar = @x * invar + @z * @f;
-SET invar = outvar;
-BEGIN
-set @y = null, @z = 'abcd';
-SELECT @x, @y, @z;
-END;
-END;
-END//
-SET @invar = 100;
-SET @outvar = @invar;
-SET @f = 10;
-SELECT @x, @y, @z, @invar, @outvar;
-@x @y @z @invar @outvar
-NULL NULL NULL 100 100
-CALL sp1( @invar, @outvar );
-@x @y @z invar
-a` a` 234 100
-@x @y @z
-2 a` 234
-@x @y @z
-2 NULL abcd
-SELECT @x, @y, @z, @invar, @outvar;
-@x @y @z @invar @outvar
-2 NULL abcd 100 2540
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.31:
-------------------
-
-Ensure that the SELECT ... INTO statement properly assigns values to the
-variables in its variable list.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
-declare x integer; declare y integer;
-set @x=x;
-set @y=y;
-SELECT f4, f3 into @x, @y from t2 where f4=-5000 and f3='1000-01-01' limit 1;
-SELECT @x, @y;
-END//
-CALL sp1();
-@x @y
--5000 1000-01-01
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.32:
-------------------
-
-Ensure that a SELECT ... INTO statement that retrieves multiple rows is
-rejected, with an appropriate error message.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
-declare x integer; declare y integer;
-set @x=x;
-set @y=y;
-SELECT f4, f3 into @x, @y from t2;
-END//
-CALL sp1();
-ERROR 42000: Result consisted of more than one row
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.33:
-------------------
-
-Ensure that a SELECT ... INTO statement that retrieves too many columns for the
-number of variables in its variable list is rejected, with an appropriate error
-message.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
-declare x integer; declare y integer;
-set @x=x;
-set @y=y;
-SELECT f4, f3, f2, f1 into @x, @y from t2;
-END//
-CALL sp1();
-ERROR 21000: The used SELECT statements have a different number of columns
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.34:
-------------------
-
-Ensure that a SELECT ... INTO statement that retrieves too few columns for the
-number of variables in its variable list is rejected, with an appropriate error
-message.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-CREATE PROCEDURE sp1( )
-BEGIN
-declare x integer; declare y integer; declare z integer;
-set @x=x;
-set @y=y;
-set @z=z;
-SELECT f4 into @x, @y, @z from t2;
-END//
-CALL sp1();
-ERROR 21000: The used SELECT statements have a different number of columns
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.38:
-------------------
-
-Ensure that the scope of every condition declared is properly applied.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS h1;
-DROP TABLE IF EXISTS res_t1;
-create table res_t1(w char unique, x char);
-insert into res_t1 values('a', 'b');
-CREATE PROCEDURE h1 ()
-BEGIN
-declare x1, x2, x3, x4, x5, x6 int default 0;
-SELECT '-1-', x1, x2, x3, x4, x5, x6;
-BEGIN
-declare condname condition for sqlstate '23000';
-declare continue handler for condname set x5 = 1;
-set x6 = 0;
-insert into res_t1 values ('a', 'b');
-set x6 = 1;
-SELECT '-2-', x1, x2, x3, x4, x5, x6;
-END;
-begin1_label: BEGIN
-BEGIN
-declare condname condition for sqlstate '20000';
-declare continue handler for condname set x1 = 1;
-set x2 = 0;
-case x2
-when 1 then set x2=10;
-when 2 then set x2=11;
-END case;
-set x2 = 1;
-SELECT '-3-', x1, x2, x3, x4, x5, x6;
-begin2_label: BEGIN
-BEGIN
-declare condname condition for sqlstate '23000';
-declare exit handler for condname set x3 = 1;
-set x4= 1;
-SELECT '-4a', x1, x2, x3, x4, x5, x6;
-insert into res_t1 values ('a', 'b');
-set x4= 2;
-SELECT '-4b', x1, x2, x3, x4, x5, x6;
-END;
-SELECT '-5-', x1, x2, x3, x4, x5, x6;
-END begin2_label;
-SELECT '-6-', x1, x2, x3, x4, x5, x6;
-END;
-SELECT '-7-', x1, x2, x3, x4, x5, x6;
-END begin1_label;
-SELECT 'END', x1, x2, x3, x4, x5, x6;
-END//
-CALL h1();
--1- x1 x2 x3 x4 x5 x6
--1- 0 0 0 0 0 0
--2- x1 x2 x3 x4 x5 x6
--2- 0 0 0 0 1 1
--3- x1 x2 x3 x4 x5 x6
--3- 1 1 0 0 1 1
--4a x1 x2 x3 x4 x5 x6
--4a 1 1 0 1 1 1
--5- x1 x2 x3 x4 x5 x6
--5- 1 1 1 1 1 1
--6- x1 x2 x3 x4 x5 x6
--6- 1 1 1 1 1 1
--7- x1 x2 x3 x4 x5 x6
--7- 1 1 1 1 1 1
-END x1 x2 x3 x4 x5 x6
-END 1 1 1 1 1 1
-DROP TABLE IF EXISTS tnull;
-DROP PROCEDURE IF EXISTS sp1;
-CREATE TABLE tnull(f1 int);
-CREATE PROCEDURE sp1()
-BEGIN
-declare cond1 condition for sqlstate '42S02';
-declare continue handler for cond1 set @var2 = 1;
-BEGIN
-declare cond1 condition for sqlstate '23000';
-declare continue handler for cond1 set @var2 = 1;
-END;
-insert into tnull values(1);
-END//
-CALL sp1();
-DROP PROCEDURE h1;
-drop table res_t1;
-DROP PROCEDURE sp1;
-DROP TABLE tnull;
-
-Testcase 3.1.2.43:
-------------------
-
-Ensure that the DECLARE ... HANDLER FOR statement can not declare any handler
-for a condition declared outside of the scope of the handler.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS h1;
-DROP PROCEDURE IF EXISTS h2;
-drop table IF EXISTS res_t1;
-create table res_t1(w char unique, x char);
-insert into res_t1 values ('a', 'b');
-CREATE PROCEDURE h1 ()
-BEGIN
-declare x1, x2, x3, x4, x5, x6 int default 0;
-BEGIN
-declare cond_1 condition for sqlstate '23000';
-declare continue handler for cond_1 set x5 = 1;
-BEGIN
-declare cond_2 condition for sqlstate '20000';
-declare continue handler for cond_1 set x1 = 1;
-BEGIN
-declare continue handler for cond_2 set x3 = 1;
-set x2 = 1;
-END;
-set x6 = 0;
-END;
-BEGIN
-declare continue handler for cond_1 set x1 = 1;
-BEGIN
-declare continue handler for cond_2 set x3 = 1;
-set x2 = 1;
-END;
-set x6 = 0;
-END;
-END;
-SELECT x1, x2, x3, x4, x5, x6;
-END//
-ERROR 42000: Undefined CONDITION: cond_2
-CREATE PROCEDURE h2 ()
-BEGIN
-declare x1, x2, x3, x4, x5, x6 int default 0;
-BEGIN
-declare condname condition for sqlstate '23000';
-declare continue handler for condname set x5 = 1;
-BEGIN
-declare condname condition for sqlstate '20000';
-declare continue handler for condname set x1 = 1;
-BEGIN
-declare condname condition for sqlstate '42000';
-declare continue handler for condname set x3 = 1;
-set x6 = 0;
-insert into res_t1 values ('a', 'b');
-set x6 = 1;
-set x4= 0;
-CALL sp1();
-set x4= 1;
-set x2 = 0;
-case x2
-when 1 then set x2=10;
-when 2 then set x2=11;
-END case;
-set x2 = 1;
-END;
-set x2 = 0;
-case x2
-when 1 then set x2=10;
-when 2 then set x2=11;
-END case;
-set x2 = 1;
-set x6 = 0;
-insert into res_t1 values ('a', 'b');
-set x6 = 1;
-END;
-END;
-SELECT x1, x2, x3, x4, x5, x6;
-END//
-CALL h2();
-x1 x2 x3 x4 x5 x6
-1 1 1 1 1 1
-SELECT * FROM res_t1;
-w x
-a b
-DROP PROCEDURE h2;
-drop table res_t1;
-
-Testcase 3.1.2.44:
-------------------
-
-Ensure that the DECLARE ... HANDLER FOR statement cannot declare a handler for
-any invalid, or undeclared, condition.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS h1;
-CREATE PROCEDURE h1 ()
-BEGIN
-declare x1, x2, x3, x4, x5, x6 int default 0;
-BEGIN
-declare condname1 condition for sqlstate '23000';
-BEGIN
-declare condname2 condition for sqlstate '20000';
-declare continue handler for condname1 set x3 = 1;
-declare continue handler for condname2 set x1 = 1;
-END;
-END;
-BEGIN
-declare condname3 condition for sqlstate '42000';
-declare continue handler for condname1 set x3 = 1;
-declare continue handler for condname2 set x5 = 1;
-declare continue handler for condname3 set x1 = 1;
-END;
-END//
-ERROR 42000: Undefined CONDITION: condname1
-CREATE PROCEDURE h1 ()
-BEGIN
-DECLARE x1 INT DEFAULT 0;
-BEGIN
-DECLARE condname1 CONDITION CHECK SQLSTATE '23000';
-END;
-DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHECK SQLSTATE '23000';
-END;
-DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
-' at line 5
-CREATE PROCEDURE h1 ()
-BEGIN
-DECLARE x1 INT DEFAULT 0;
-BEGIN
-DECLARE condname1 CONDITION FOR SQLSTATE 'qwert';
-END;
-DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
-END//
-ERROR 42000: Bad SQLSTATE: 'qwert'
-
-Testcase 3.1.2.45 + 3.1.2.50:
------------------------------
-
-45. Ensure that the scope of every handler declared is properly applied.
-50. Ensure that a CONTINUE handler allows the execution of the stored procedure
-. to continue once the handler statement has completed its own execution (that
-. is, once the handler action statement has been executed).
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p1undo;
-DROP PROCEDURE IF EXISTS h1;
-DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS res_t1;
-==> 'UNDO' is still not supported.
-create procedure p1undo ()
-begin
-declare undo handler for sqlexception select '1';
-select * from tqq;
-SELECT 'end of 1';
-end;//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'undo handler for sqlexception select '1';
-select * from tqq;
-SELECT 'end of 1';
-' at line 3
-create procedure p1 ()
-begin
-declare exit handler for sqlexception select 'exit handler 1';
-begin
-declare exit handler for sqlexception select 'exit handler 2';
-begin
-declare continue handler for sqlexception select 'continue handler 3';
-drop table if exists tqq;
-select * from tqq;
-SELECT 'end of BEGIN/END 3';
-end;
-drop table if exists tqq;
-select * from tqq;
-SELECT 'end of BEGIN/END 2';
-end;
-select * from tqq;
-SELECT 'end of BEGIN/END 1';
-end;//
-call p1()//
-continue handler 3
-continue handler 3
-end of BEGIN/END 3
-end of BEGIN/END 3
-exit handler 2
-exit handler 2
-exit handler 1
-exit handler 1
-create table res_t1(w char unique, x char);
-insert into res_t1 values ('a', 'b');
-CREATE PROCEDURE h1 ()
-BEGIN
-declare x1, x2, x3, x4, x5, x6 int default 0;
-BEGIN
-declare continue handler for sqlstate '23000' set x5 = 1;
-insert into res_t1 values ('a', 'b');
-set x6 = 1;
-END;
-begin1_label: BEGIN
-BEGIN
-declare continue handler for sqlstate '23000' set x1 = 1;
-insert into res_t1 values ('a', 'b');
-set x2 = 1;
-begin2_label: BEGIN
-BEGIN
-declare exit handler for sqlstate '23000' set x3 = 1;
-set x4= 1;
-insert into res_t1 values ('a', 'b');
-set x4= 0;
-END;
-END begin2_label;
-END;
-END begin1_label;
-SELECT x1, x2, x3, x4, x5, x6;
-END//
-CALL h1();
-x1 x2 x3 x4 x5 x6
-1 1 1 1 1 1
-This will fail, SQLSTATE 00000 is not allowed
-CREATE PROCEDURE sp1()
-begin1_label:BEGIN
-declare exit handler for sqlstate '00000' set @var1 = 5;
-set @var2 = 6;
-begin2_label:BEGIN
-declare continue handler for sqlstate '00000' set @var3 = 7;
-set @var4 = 8;
-SELECT @var3, @var4;
-END begin2_label;
-SELECT @var1, @var2;
-END begin1_label//
-ERROR 42000: Bad SQLSTATE: '00000'
-Verify SP wasn't created
-CALL sp1();
-ERROR 42000: PROCEDURE db_storedproc.sp1 does not exist
-DROP PROCEDURE p1;
-DROP PROCEDURE h1;
-DROP PROCEDURE IF EXISTS sp1;
-DROP TABLE res_t1;
-
-Testcase 3.1.2.50:
-------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
-CREATE PROCEDURE sp1 (x int, y int)
-BEGIN
-set @y=0;
-END//
-CREATE PROCEDURE sp2 ()
-BEGIN
-declare continue handler for sqlstate '42000' set @x2 = 1;
-set @x=1;
-SELECT @x2;
-CALL sp1(1);
-set @x=2;
-SELECT @x2, @x;
-END//
-CALL sp2();
-@x2
-NULL
-@x2 @x
-1 2
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-
-Testcase 3.2.2.51:
-------------------
-
-Ensure that an EXIT handler causes the execution of the stored procedure to
-terminate, within its scope, once the handler action statement has been
-executed.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
-CREATE PROCEDURE sp1 (x int, y int)
-BEGIN
-set @x=0;
-END//
-CREATE PROCEDURE sp2 ()
-BEGIN
-declare exit handler for sqlstate '42000' set @x2 = 1;
-set @x2=0;
-set @x=1;
-SELECT '-1-', @x2, @x;
-CALL sp1(1);
-SELECT '-2-', @x2, @x;
-set @x=2;
-END//
-CALL sp1(1);
-ERROR 42000: Incorrect number of arguments for PROCEDURE db_storedproc.sp1; expected 2, got 1
-CALL sp2();
--1- @x2 @x
--1- 0 1
-SELECT '-3-', @x2, @x;
--3- @x2 @x
--3- 1 1
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-
-Testcase 3.1.2.52:
-------------------
-
-Ensure that an EXIT handler does not cause the execution of the stored procedure
-to terminate outside of its scope.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
-CREATE PROCEDURE sp1 (x int, y int)
-BEGIN
-set @x=0;
-END//
-CREATE PROCEDURE sp2()
-BEGIN
-declare continue handler for sqlstate '42000' set @x2 = 2;
-set @x2 = 1;
-set @x =20;
-SELECT '-1-', @x2, @x;
-BEGIN
-declare exit handler for sqlstate '42000' set @x2 = 11;
-SELECT '-2-', @x2, @x;
-CALL sp1(1);
-SELECT '-3a', @x2, @x;
-set @x=21;
-SELECT '-3b', @x2, @x;
-END;
-set @x=22;
-SELECT '-4-', @x2, @x;
-END//
-CALL sp2();
--1- @x2 @x
--1- 1 20
--2- @x2 @x
--2- 1 20
--4- @x2 @x
--4- 11 22
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-
-Testcase 3.1.2.54:
-------------------
-
-Ensure that a handler with a condition defined with an SQLSTATE that begins with
-“01“ is always exactly equivalent in action to a handler with an SQLWARNING
-condition.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp0;
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
-DROP PROCEDURE IF EXISTS sp3;
-DROP PROCEDURE IF EXISTS sp4;
-DROP TABLE IF EXISTS temp;
-CREATE TABLE temp( f1 CHAR, f2 CHAR);
-CREATE PROCEDURE sp0()
-BEGIN
-set @done=0;
-set @x=0;
-insert into temp values('xxx', 'yy');
-set @x=1;
-END//
-CREATE PROCEDURE sp1()
-BEGIN
-declare continue handler for sqlstate '01000' set @done = 1;
-set @done=0;
-set @x=0;
-insert into temp values('xxx', 'yy');
-set @x=1;
-END//
-CREATE PROCEDURE sp2()
-BEGIN
-declare continue handler for sqlwarning set @done = 1;
-set @done=0;
-set @x=0;
-insert into temp values('xxx', 'yy');
-set @x=1;
-END//
-CREATE PROCEDURE sp3()
-BEGIN
-declare exit handler for sqlstate '01000' set @done = 1;
-set @done=0;
-set @x=0;
-insert into temp values('xxx', 'yy');
-set @x=1;
-END//
-CREATE PROCEDURE sp4()
-BEGIN
-declare exit handler for sqlwarning set @done = 1;
-set @done=0;
-set @x=0;
-insert into temp values('xxx', 'yy');
-set @x=1;
-END//
-INSERT INTO temp VALUES('0', NULL);
-CALL sp0();
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Warning 1265 Data truncated for column 'f2' at row 1
-SELECT @done, @x;
-@done @x
-0 1
-INSERT INTO temp VALUES('1', NULL);
-CALL sp1();
-SELECT @done, @x;
-@done @x
-1 1
-INSERT INTO temp VALUES('2', NULL);
-CALL sp2();
-SELECT @done, @x;
-@done @x
-1 1
-INSERT INTO temp VALUES('3', NULL);
-CALL sp3();
-SELECT @done, @x;
-@done @x
-1 0
-INSERT INTO temp VALUES('4', NULL);
-CALL sp4();
-SELECT @done, @x;
-@done @x
-1 0
-SELECT * FROM temp;
-f1 f2
-0 NULL
-x y
-1 NULL
-x y
-2 NULL
-x y
-3 NULL
-x y
-4 NULL
-x y
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-DROP PROCEDURE sp3;
-DROP PROCEDURE sp4;
-DROP TABLE temp;
-
-Testcase 3.1.2.56:
-------------------
-
-Ensure that a handler with a condition defined with an SQLSTATE that begins with
-“02“ is always exactly equivalent in action to a handler with a NOT FOUND
-condition.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp0;
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
-DROP PROCEDURE IF EXISTS sp3;
-DROP PROCEDURE IF EXISTS sp4;
-CREATE PROCEDURE sp0()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-SET @done = 0;
-SET @x = 0;
-OPEN cur1;
-FETCH cur1 INTO f1_value;
-SET @x = 1;
-FETCH cur1 INTO f1_value;
-SET @x = 2;
-CLOSE cur1;
-END//
-CREATE PROCEDURE sp1()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-declare continue handler for sqlstate '02000' set @done = 1;
-SET @done = 0;
-SET @x = 0;
-OPEN cur1;
-FETCH cur1 INTO f1_value;
-SET @x = 1;
-FETCH cur1 INTO f1_value;
-SET @x = 2;
-CLOSE cur1;
-END//
-CREATE PROCEDURE sp2()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-declare continue handler for not found set @done = 1;
-SET @done = 0;
-SET @x = 0;
-OPEN cur1;
-FETCH cur1 INTO f1_value;
-SET @x = 1;
-FETCH cur1 INTO f1_value;
-SET @x = 2;
-CLOSE cur1;
-END//
-CREATE PROCEDURE sp3()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-declare exit handler for sqlstate '02000' set @done = 1;
-SET @done = 0;
-SET @x = 0;
-OPEN cur1;
-FETCH cur1 INTO f1_value;
-SET @x = 1;
-FETCH cur1 INTO f1_value;
-SET @x = 2;
-CLOSE cur1;
-END//
-CREATE PROCEDURE sp4()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-declare exit handler for not found set @done = 1;
-SET @done = 0;
-SET @x = 0;
-OPEN cur1;
-FETCH cur1 INTO f1_value;
-SET @x = 1;
-FETCH cur1 INTO f1_value;
-SET @x = 2;
-CLOSE cur1;
-END//
-CALL sp0();
-ERROR 02000: No data - zero rows fetched, selected, or processed
-SELECT @done, @x;
-@done @x
-0 1
-CALL sp1();
-SELECT @done, @x;
-@done @x
-1 2
-CALL sp2();
-SELECT @done, @x;
-@done @x
-1 2
-CALL sp3();
-SELECT @done, @x;
-@done @x
-1 1
-CALL sp4();
-SELECT @done, @x;
-@done @x
-1 1
-DROP PROCEDURE sp0;
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-DROP PROCEDURE sp3;
-DROP PROCEDURE sp4;
-
-Testcase 3.1.2.58:
-------------------
-
-Ensure that a handler with a condition defined with an SQLSTATE that begins with
-anything other that “01“ or “02“ is always exactly equivalent in action to a
-handler with an SQLEXCEPTION condition.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp0;
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
-DROP PROCEDURE IF EXISTS sp3;
-DROP PROCEDURE IF EXISTS sp4;
-CREATE PROCEDURE sp0()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cv INT DEFAULT 0;
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-SET @x = 1;
-CASE cv
-WHEN 2 THEN SET @x = 2;
-WHEN 3 THEN SET @x = 3;
-END case;
-SET @x = 4;
-SELECT f1, f2 FROM t2
-UNION
-SELECT f1, f2,3 FROM t2;
-SET @x = 5;
-FETCH cur1 INTO f1_value;
-SET @x = 6;
-END//
-CREATE PROCEDURE sp1()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cv INT DEFAULT 0;
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-DECLARE continue HANDLER FOR SQLSTATE '20000' SELECT '20000' AS 'SQLSTATE';
-DECLARE continue HANDLER FOR SQLSTATE '21000' SELECT '21000' AS 'SQLSTATE';
-DECLARE continue HANDLER FOR SQLSTATE '24000' SELECT '24000' AS 'SQLSTATE';
-SET @x = 1;
-CASE cv
-WHEN 2 THEN SET @x = 2;
-WHEN 3 THEN SET @x = 3;
-END case;
-SET @x = 4;
-SELECT f1, f2 FROM t2
-UNION
-SELECT f1, f2,3 FROM t2;
-SET @x = 5;
-FETCH cur1 INTO f1_value;
-SET @x = 6;
-END//
-CREATE PROCEDURE sp2()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cv INT DEFAULT 0;
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-DECLARE continue HANDLER FOR SQLEXCEPTION SELECT 'SQLEXCEPTION' AS 'SQLSTATE';
-DECLARE continue HANDLER FOR SQLSTATE '24000' SELECT '24000' AS 'SQLSTATE';
-SET @x = 1;
-CASE cv
-WHEN 2 THEN SET @x = 2;
-WHEN 3 THEN SET @x = 3;
-END case;
-SET @x = 4;
-SELECT f1, f2 FROM t2
-UNION
-SELECT f1, f2,3 FROM t2;
-SET @x = 5;
-FETCH cur1 INTO f1_value;
-SET @x = 6;
-END//
-CREATE PROCEDURE sp3()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cv INT DEFAULT 0;
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-DECLARE EXIT HANDLER FOR SQLSTATE '20000' SELECT '20000' AS 'SQLSTATE';
-DECLARE EXIT HANDLER FOR SQLSTATE '21000' SELECT '21000' AS 'SQLSTATE';
-DECLARE EXIT HANDLER FOR SQLSTATE '24000' SELECT '24000' AS 'SQLSTATE';
-SET @x = 1;
-CASE cv
-WHEN 2 THEN SET @x = 2;
-WHEN 3 THEN SET @x = 3;
-END case;
-SET @x = 4;
-SELECT f1, f2 FROM t2
-UNION
-SELECT f1, f2,3 FROM t2;
-SET @x = 5;
-FETCH cur1 INTO f1_value;
-SET @x = 6;
-END//
-CREATE PROCEDURE sp4()
-BEGIN
-DECLARE f1_value CHAR(20);
-DECLARE cv INT DEFAULT 0;
-DECLARE cur1 CURSOR FOR SELECT f1 FROM t2 LIMIT 1;
-DECLARE EXIT HANDLER FOR SQLEXCEPTION SELECT 'SQLEXCEPTION' AS 'SQLSTATE';
-DECLARE EXIT HANDLER FOR SQLSTATE '24000' SELECT '24000' AS 'SQLSTATE';
-SET @x = 1;
-CASE cv
-WHEN 2 THEN SET @x = 2;
-WHEN 3 THEN SET @x = 3;
-END case;
-SET @x = 4;
-SELECT f1, f2 FROM t2
-UNION
-SELECT f1, f2,3 FROM t2;
-SET @x = 5;
-FETCH cur1 INTO f1_value;
-SET @x = 6;
-CLOSE cur1;
-END//
-CALL sp0();
-ERROR 20000: Case not found for CASE statement
-SELECT '-0-', @x;
--0- @x
--0- 1
-CALL sp1();
-SQLSTATE
-20000
-SQLSTATE
-21000
-SQLSTATE
-24000
-SELECT '-1-', @x;
--1- @x
--1- 6
-CALL sp2();
-SQLSTATE
-SQLEXCEPTION
-SQLSTATE
-SQLEXCEPTION
-SQLSTATE
-24000
-SELECT '-2-', @x;
--2- @x
--2- 6
-CALL sp3();
-SQLSTATE
-20000
-SELECT '-3-', @x;
--3- @x
--3- 1
-CALL sp4();
-SQLSTATE
-SQLEXCEPTION
-SELECT '-4-', @x;
--4- @x
--4- 1
-DROP PROCEDURE sp0;
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-DROP PROCEDURE sp3;
-DROP PROCEDURE sp4;
-
-Testcase 3.1.2.65:
-------------------
-
-Ensure that FETCH <cursor name> returns the first row of the cursor_s result set
-the first time FETCH is executed, that it returns each subsequent row of the
-cursor_s result set each of the subsequent times FETCH is executed, and that it
-returns a NOT FOUND warning if it is executed after the last row of the cursor_s
-result set has already been fetched.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP TABLE IF EXISTS temp;
-CREATE TABLE temp(
-cnt INT,
-f1 CHAR(20),
-f2 CHAR(20),
-f3 INT,
-f4 CHAR(20),
-f5 INT);
-INSERT INTO temp VALUES(0, 'onip', 'abc', 8760, 'xyz', 10);
-CREATE PROCEDURE sp1( )
-BEGIN
-declare proceed int default 1;
-declare count integer default 1;
-declare f1_value char(20);
-declare f2_value char(20);
-declare f5_value char(20);
-declare f4_value integer;
-declare f6_value integer;
-declare cur1 cursor for SELECT f1, f2, f4, f5, f6 from t2
-where f4 >=-5000 order by f4 limit 3;
-open cur1;
-while proceed do
-SELECT count AS 'loop';
-fetch cur1 into f1_value, f2_value, f4_value, f5_value, f6_value;
-insert into temp values (count, f1_value, f2_value, f4_value, f5_value, f6_value);
-set count = count + 1;
-END while;
-END//
-CALL sp1();
-loop
-1
-loop
-2
-loop
-3
-loop
-4
-ERROR 02000: No data - zero rows fetched, selected, or processed
-SELECT * FROM temp;
-cnt f1 f2 f3 f4 f5
-0 onip abc 8760 xyz 10
-1 a` a` -5000 a` -5000
-2 aaa aaa -4999 aaa -4999
-3 abaa abaa -4998 abaa -4998
-DROP TABLE temp;
-DROP PROCEDURE sp1;
-
-Testcase 3.1.2.68:
-------------------
-
-Ensure that FETCH <cursor name> fails with an appropriate error message if the
-number of columns to be fetched does not match the number of variables specified
-by the FETCH statement.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP PROCEDURE IF EXISTS sp2;
---> not enough columns in FETCH statement
-CREATE PROCEDURE sp1( )
-BEGIN
-declare newf1 char(20);
-declare cur1 cursor for SELECT f1, f2 from t2 limit 10;
-declare continue handler for sqlstate '02000' SELECT 'HANDLER executed.' AS '';
-BEGIN
-open cur1;
-fetch cur1 into newf1;
-SELECT newf1;
-close cur1;
-END;
-END//
---> too many columns in FETCH statement
-CREATE PROCEDURE sp2( )
-BEGIN
-declare newf1 char(20);
-declare newf2 char(20);
-declare cur1 cursor for SELECT f1 from t2 limit 10;
-declare continue handler for sqlstate '02000' SELECT 'HANDLER executed.' AS '';
-BEGIN
-open cur1;
-fetch cur1 into newf1, newf2;
-SELECT newf1, newf2;
-close cur1;
-END;
-END//
---> not enough columns in FETCH statement
-CALL sp1();
-ERROR HY000: Incorrect number of FETCH variables
---> too many columns in FETCH statement
-CALL sp2();
-ERROR HY000: Incorrect number of FETCH variables
-DROP PROCEDURE sp1;
-DROP PROCEDURE sp2;
-
-Testcase 3.1.2.75:
-------------------
-
-Ensure that, for nested compound statements, a cursor that was declared and
-opened during an outer level of the statement is not closed when an inner level
-of a compound statement ends.
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS temp1;
-DROP PROCEDURE IF EXISTS sp1;
-create table temp1( f0 char(20), f1 char(20), f2 char(20), f3 int, f4 char(20) );
-SELECT f1, f2, f4, f5 from t2 order by f4;
-f1 f2 f4 f5
-a` a` -5000 a`
-aaa aaa -4999 aaa
-abaa abaa -4998 abaa
-acaaa acaaa -4997 acaaa
-adaaaa adaaaa -4996 adaaaa
-aeaaaaa aeaaaaa -4995 aeaaaaa
-afaaaaaa afaaaaaa -4994 afaaaaaa
-agaaaaaaa agaaaaaaa -4993 agaaaaaaa
-a^aaaaaaaa a^aaaaaaaa -4992 a^aaaaaaaa
-a_aaaaaaaaa a_aaaaaaaaa -4991 a_aaaaaaaaa
-CREATE PROCEDURE sp1( )
-BEGIN
-declare count integer;
-declare from0 char(20);
-declare newf1 char(20);
-declare newf2 char(20);
-declare newf5 char(20);
-declare newf4 integer;
-declare cur1 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by f4 limit 5;
-declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by f4 limit 5;
-open cur1;
-open cur2;
-BEGIN
-declare continue handler for sqlstate '02000' set count = 1;
-fetch cur1 into newf1, newf2, newf4, newf5;
-SELECT '-1-', count, newf1, newf2, newf4, newf5;
-insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5);
-set count = 4;
-BEGIN
-while count > 0 do
-fetch cur1 into newf1, newf2, newf4, newf5;
-SELECT '-2-', count, newf1, newf2, newf4, newf5;
-set count = count - 1;
-END while;
-SELECT '-3-', count, newf1, newf2, newf4, newf4;
-END;
-BEGIN
-fetch cur1 into newf1, newf2, newf4, newf5;
-SELECT '-4-', newf1, newf2, newf4, newf5;
-insert into temp1 values ('cur1_in', newf1, newf2, newf4, newf5);
-END;
-fetch cur2 into newf1, newf2, newf4, newf5;
-SELECT '-5-', newf1, newf2, newf4, newf5;
-insert into temp1 values ('cur2', newf1, newf2, newf4, newf5);
-close cur1;
-END;
-fetch cur2 into newf1, newf2, newf4, newf5;
-SELECT '-6-', newf1, newf2, newf4, newf5;
-close cur2;
-END//
-CALL sp1();
--1- count newf1 newf2 newf4 newf5
--1- NULL a` a` -5000 a`
--2- count newf1 newf2 newf4 newf5
--2- 4 aaa aaa -4999 aaa
--2- count newf1 newf2 newf4 newf5
--2- 3 abaa abaa -4998 abaa
--2- count newf1 newf2 newf4 newf5
--2- 2 acaaa acaaa -4997 acaaa
--2- count newf1 newf2 newf4 newf5
--2- 1 adaaaa adaaaa -4996 adaaaa
--3- count newf1 newf2 newf4 newf4
--3- 0 adaaaa adaaaa -4996 -4996
--4- newf1 newf2 newf4 newf5
--4- adaaaa adaaaa -4996 adaaaa
--5- newf1 newf2 newf4 newf5
--5- a` a` -5000 a`
--6- newf1 newf2 newf4 newf5
--6- aaa aaa -4999 aaa
-SELECT * from temp1;
-f0 f1 f2 f3 f4
-cur1_out a` a` -5000 a`
-cur1_in adaaaa adaaaa -4996 adaaaa
-cur2 a` a` -5000 a`
-DROP PROCEDURE sp1;
-drop table temp1;
-
-Testcase 3.1.2.76:
-------------------
-
-Ensure that all cursors operate asensitively, so that there is no concurrency
-conflict between cursors operating on the same, or similar, sets of results
-during execution of one or more stored procedures.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-drop table IF EXISTS temp1;
-drop table IF EXISTS temp2;
-create table temp1( f0 char(10), cnt int, f1 char(20), f2 char(20), f3 date, f4 integer );
-create table temp2( f0 char(10), cnt int, f1 char(20), f2 char(20), f3 date, f4 integer );
-CREATE PROCEDURE sp_inner( )
-BEGIN
-declare proceed int default 1;
-declare i_count integer default 20;
-declare i_newf1 char(20);
-declare i_newf2 char(20);
-declare i_newf3 date;
-declare i_newf4 integer;
-declare i_newf11 char(20);
-declare i_newf12 char(20);
-declare i_newf13 date;
-declare i_newf14 integer;
-declare cur1 cursor for SELECT f1, f2, f3, f4 from t2
-where f4>=-5000 order by f4 limit 4;
-declare cur2 cursor for SELECT f1, f2, f3, f4 from t2
-where f4>=-5000 order by f4 limit 3;
-declare continue handler for sqlstate '02000' set proceed=0;
-open cur1;
-open cur2;
-set i_count = 10;
-while proceed do
-fetch cur1 into i_newf1, i_newf2, i_newf3, i_newf4;
-IF proceed THEN
-insert into temp1 values ('sp_inner', i_count, i_newf1, i_newf2, i_newf3, i_newf4);
-fetch cur2 into i_newf11, i_newf12, i_newf13, i_newf14;
-IF proceed THEN
-insert into temp2 values ('sp_inner', i_count, i_newf11, i_newf12, i_newf13, i_newf14);
-END IF;
-END IF;
-set i_count = i_count - 1;
-END while;
-close cur1;
-close cur2;
-END//
-CREATE PROCEDURE sp_outer( )
-BEGIN
-DECLARE proceed INT DEFAULT 1;
-DECLARE o_count INTEGER DEFAULT 20;
-DECLARE o_newf1 CHAR(20);
-DECLARE o_newf2 CHAR(20);
-DECLARE o_newf3 DATE;
-DECLARE o_newf4 INTEGER;
-DECLARE o_newf11 CHAR(20);
-DECLARE o_newf12 CHAR(20);
-DECLARE o_newf13 DATE;
-DECLARE o_newf14 INTEGER;
-DECLARE cur1 CURSOR FOR SELECT f1, f2, f3, f4 FROM t2
-WHERE f4>=-5000 ORDER BY f4 LIMIT 5;
-DECLARE cur2 CURSOR FOR SELECT f1, f2, f3, f4 FROM t2
-WHERE f4>=-5000 ORDER BY f4 LIMIT 5;
-DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET proceed=0;
-OPEN cur1;
-OPEN cur2;
-SET o_count = 1;
-WHILE proceed DO
-FETCH cur1 INTO o_newf1, o_newf2, o_newf3, o_newf4;
-IF proceed THEN
-INSERT INTO temp1 VALUES ('_sp_out_', o_count, o_newf1, o_newf2, o_newf3, o_newf4);
-CALL sp_inner();
-FETCH cur2 INTO o_newf11, o_newf12, o_newf13, o_newf14;
-IF proceed THEN
-INSERT INTO temp2 VALUES ('_sp_out_', o_count, o_newf11, o_newf12, o_newf13, o_newf14);
-END IF;
-END IF;
-SET o_count = o_count + 1;
-END WHILE;
-CLOSE cur1;
-CLOSE cur2;
-END//
-CALL sp_outer();
-SELECT * FROM temp1;
-f0 cnt f1 f2 f3 f4
-_sp_out_ 1 a` a` 1000-01-01 -5000
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-sp_inner 7 acaaa acaaa 1000-01-04 -4997
-_sp_out_ 2 aaa aaa 1000-01-02 -4999
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-sp_inner 7 acaaa acaaa 1000-01-04 -4997
-_sp_out_ 3 abaa abaa 1000-01-03 -4998
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-sp_inner 7 acaaa acaaa 1000-01-04 -4997
-_sp_out_ 4 acaaa acaaa 1000-01-04 -4997
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-sp_inner 7 acaaa acaaa 1000-01-04 -4997
-_sp_out_ 5 adaaaa adaaaa 1000-01-05 -4996
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-sp_inner 7 acaaa acaaa 1000-01-04 -4997
-SELECT * FROM temp2;
-f0 cnt f1 f2 f3 f4
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-_sp_out_ 1 a` a` 1000-01-01 -5000
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-_sp_out_ 2 aaa aaa 1000-01-02 -4999
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-_sp_out_ 3 abaa abaa 1000-01-03 -4998
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-_sp_out_ 4 acaaa acaaa 1000-01-04 -4997
-sp_inner 10 a` a` 1000-01-01 -5000
-sp_inner 9 aaa aaa 1000-01-02 -4999
-sp_inner 8 abaa abaa 1000-01-03 -4998
-_sp_out_ 5 adaaaa adaaaa 1000-01-05 -4996
-DROP PROCEDURE sp_outer;
-DROP PROCEDURE sp_inner;
-DROP TABLE temp1;
-DROP TABLE temp2;
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-
-. +++ END OF SCRIPT +++
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result
deleted file mode 100644
index fdbe03e17fc..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result
+++ /dev/null
@@ -1,496 +0,0 @@
-
---source suite/funcs_1/storedproc/load_sp_tb.inc
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-CREATE DATABASE db_storedproc;
-CREATE DATABASE db_storedproc_1;
-USE db_storedproc;
-create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
-USE db_storedproc_1;
-create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
-USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
-
-Section 3.1.3 - Syntax checks for the stored procedure-specific flow
-control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE:
---------------------------------------------------------------------------------
-
-Testcase 3.1.3.7:
------------------
-
-Ensure that the IF statement acts correctly for all variants, including cases
-where statements are nested.
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
-DROP PROCEDURE IF EXISTS sp9;
-CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 CHAR(20), f2 VARCHAR(20), f3 SMALLINT);
-CREATE PROCEDURE sp9( action char(20), subaction char(20) )
-BEGIN
-if action = 'action' then
-if subaction = 'subaction' then
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'subaction' , 1);
-else
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'none' , 2);
-END if;
-else
-if subaction = 'subaction'
- then
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'subaction' , 3);
-elseif subaction = 'subaction1'
- then
-BEGIN
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values ('none', 'subaction1', 4);
-END;
-else
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'none' , 5);
-END if;
-END if;
-END//
-CALL sp9( 'action', 'subaction' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=1;
-f1 f2 f3
-action subaction 1
-CALL sp9( 'temp', 'subaction' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=3;
-f1 f2 f3
-none subaction 3
-CALL sp9( 'temp', 'subaction1' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=4;
-f1 f2 f3
-none subaction1 4
-CALL sp9( 'action', 'temp' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=2;
-f1 f2 f3
-action none 2
-CALL sp9( 'temp', 'temp' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742 where f3=5;
-f1 f2 f3
-none none 5
-DROP PROCEDURE sp9;
-DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
-
-Testcase 3.1.3.8.:
-------------------
-
-Ensure that the CASE statement acts correctly for all variants, including cases
-where statements are nested.
---------------------------------------------------------------------------------
-drop table IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
-DROP PROCEDURE IF EXISTS sp10;
-create table res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 char(20), f2 varchar(20), f3 smallint);
-CREATE PROCEDURE sp10( action char(20), subaction char(20) )
-BEGIN
-case action
-when 'action' then
-case
-when subaction = 'subaction_1' then
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'subaction_2' , 1);
-when subaction = 'subaction_2' then
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'subaction_2' , 2);
-else
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'action', 'none' , 3);
-END case;
-else
-case
-when subaction = 'subaction_1' then
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'subaction_1' , 4);
-when subaction = 'subaction_2' then
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'subaction_2' , 5);
-else
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'none', 'none' , 6);
-END case;
-END case;
-END//
-CALL sp10( 'action', 'subaction_1' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-action subaction_2 1
-delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-CALL sp10( 'action', 'subaction_2' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-action subaction_2 2
-delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-CALL sp10( 'temp', 'subaction_1' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-none subaction_1 4
-delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-CALL sp10( 'temp', 'subaction_2' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-none subaction_2 5
-delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-CALL sp10( 'action', 'temp' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-action none 3
-delete from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-CALL sp10( 'temp', 'temp' );
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-none none 6
-DROP PROCEDURE sp10;
-DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
-
-Testcase 3.1.3.9 + 3.1.3.15:
-----------------------------
-
-09. Ensure that the LOOP statement acts correctly for all variants, including
-. cases where statements are nested.
-15. Ensure that the LEAVE statement acts correctly for all variants, including
-. cases where statements are nested.
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
-DROP PROCEDURE IF EXISTS sp11;
-CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 CHAR(20), f2 VARCHAR(20), f3 SMALLINT);
-CREATE PROCEDURE sp11( )
-BEGIN
-declare count1 integer default 1;
-declare count2 integer default 1;
-label1: loop
-if count2 > 3 then leave label1;
-END if;
-set count1 = 1;
-label2: loop
-if count1 > 4 then leave label2;
-END if;
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
-set count1 = count1 + 1;
-iterate label2;
-END loop label2;
-set count2 = count2 + 1;
-iterate label1;
-END loop label1;
-END//
-CALL sp11();
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-xyz pqr 1
-xyz pqr 2
-xyz pqr 3
-xyz pqr 4
-xyz pqr 1
-xyz pqr 2
-xyz pqr 3
-xyz pqr 4
-xyz pqr 1
-xyz pqr 2
-xyz pqr 3
-xyz pqr 4
-DROP PROCEDURE sp11;
-DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
-
-Testcase 3.1.3.16:
-------------------
-
-Ensure that the ITERATE statement acts correctly for all variants, including
-cases where statements are nested.
-(tests for this testcase are also included in other testcases)
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp31316;
-CREATE PROCEDURE sp31316( )
-BEGIN
-declare count1 integer default 1;
-declare count2 integer default 1;
-label1: loop
-if count2 > 3 then leave label1;
-END if;
-set count1 = 1;
-label2: loop
-if count1 > 4 then leave label2;
-END if;
-insert into temp values( count1, count2);
-set count1 = count1 + 1;
-iterate label3;
-END loop label2;
-set count2 = count2 + 1;
-iterate label1;
-END loop label1;
-END//
-ERROR 42000: ITERATE with no matching label: label3
-
-Testcase 3.1.3.18:
-------------------
-
-Ensure that the REPEAT statement acts correctly for all variants, including
-cases where statements are nested.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp17;
-DROP TABLE IF EXISTS res_t3_itisalongname_1381742_itsaverylongname_1381742;
-CREATE TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742( f1 CHAR(20), f2 VARCHAR(20), f3 SMALLINT);
-CREATE PROCEDURE sp17( )
-BEGIN
-declare count1 integer default 1;
-declare count2 integer default 1;
-repeat
-set count1 = count1 + 1;
-set count2 = 1;
-label1: repeat
-set count2 = count2 + 1;
-insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz' , 'pqr', count1);
-until count2 > 3
-END repeat label1;
-until count1 > 3
-END repeat;
-END//
-CALL sp17();
-SELECT * from res_t3_itisalongname_1381742_itsaverylongname_1381742;
-f1 f2 f3
-xyz pqr 2
-xyz pqr 2
-xyz pqr 2
-xyz pqr 3
-xyz pqr 3
-xyz pqr 3
-xyz pqr 4
-xyz pqr 4
-xyz pqr 4
-DROP PROCEDURE sp17;
-DROP TABLE res_t3_itisalongname_1381742_itsaverylongname_1381742;
-
-Testcase 3.1.3.24:
-------------------
-
-Ensure that the WHILE statement acts correctly for all variants, including cases
-where statements are nested.
---------------------------------------------------------------------------------
-drop table IF EXISTS res_t21;
-DROP PROCEDURE IF EXISTS sp21;
-create table res_t21(name text(10), surname blob(20), age_averylongfieldname_averylongname_1234569 smallint);
-insert into res_t21 values('ashwin', 'mokadam', 25);
-CREATE PROCEDURE sp21( )
-BEGIN
-declare count1 integer default 0;
-declare count2 integer default 0;
-while count1 < 3 do
-BEGIN
-declare ithisissamevariablename int default 100;
-SELECT ithisissamevariablename;
-BEGIN
-declare ithisissamevariablename int default 200;
-SELECT ithisissamevariablename;
-END;
-set count2 = 0;
-label1: while count2 < 3 do
-BEGIN
-declare count1 integer default 7;
-set count2 = count2 + 1;
-insert into res_t21 values( 'xyz' , 'pqr', count2);
-label2: while count1 < 10 do
-set count1 = count1 + 1;
-insert into res_t21 values( 'xyz' , 'pqr', count1);
-END while label2;
-END;
-END while label1;
-set count1 = count1 + 1;
-END;
-END while;
-END//
-CALL sp21();
-ithisissamevariablename
-100
-ithisissamevariablename
-200
-ithisissamevariablename
-100
-ithisissamevariablename
-200
-ithisissamevariablename
-100
-ithisissamevariablename
-200
-SELECT * from res_t21;
-name surname age_averylongfieldname_averylongname_1234569
-ashwin mokadam 25
-xyz pqr 1
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 2
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 3
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 1
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 2
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 3
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 1
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 2
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-xyz pqr 3
-xyz pqr 8
-xyz pqr 9
-xyz pqr 10
-DROP PROCEDURE sp21;
-drop table res_t21;
-
-Testcase 3.1.3.30:
-------------------
-
-Ensure that multiple cases of all possible combinations of the control flow
-statements, nested within multiple compound statements within a stored
-procedure, always act correctly and return the expected result.
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS res_tbl;
-DROP PROCEDURE IF EXISTS sp31330;
-create table res_tbl (f1 int, f2 text, f3 blob, f4 date,
-f5 set('one', 'two', 'three', 'four', 'five') default 'one');
-CREATE PROCEDURE sp31330 (path int)
-BEGIN
-declare count int default 1;
-declare var1 text;
-declare var2 blob;
-declare var3 date;
-declare var4 set('one', 'two', 'three', 'four', 'five') DEFAULT 'five';
-case
-when path=1 then
-set var3 = '2000-11-09';
-set var1 = 'flowing through case 1';
-label1: loop
-if count > 5 then
-if var4=1000 then
-set var2 = 'exiting out of case 1 - invalid SET';
-END if;
-if var4='two' then
-set var2 = 'exiting out of case 1';
-END if;
-insert into res_tbl values (1, var1, var2, var3, (count-2));
-leave label1;
-elseif count = 5 then
-set count= count + 2;
-set var4='two';
-iterate label1;
-else
-set count= count + 1;
-END if;
-set var4='one';
-END loop label1;
-when path=2 then
-set var3 = '1989-11-09';
-set var1 = 'flowing through case 2';
-set @count3=0;
-label2: repeat
-set count=count + 1;
-set @count2=1;
-while @count2 <= 5 do
-set @count2 = @count2 + 1;
-END while;
-SELECT @count2;
-set @count3=@count3 + @count2;
-until count > 5
-END repeat label2;
-set var2 = 'exiting out of case 2';
-set var4 = count-3;
-SELECT @count3;
-insert into res_tbl values (2, var1, var2, var3, var4);
-ELSE BEGIN
-set @error_opt='undefined path specified';
-SELECT @error_opt;
-END;
-END case;
-END//
-CALL sp31330();
-ERROR 42000: Incorrect number of arguments for PROCEDURE db_storedproc.sp31330; expected 1, got 0
-CALL sp31330(1);
-SELECT * from res_tbl;
-f1 f2 f3 f4 f5
-1 flowing through case 1 exiting out of case 1 2000-11-09 one,three
-CALL sp31330(2);
-@count2
-6
-@count2
-6
-@count2
-6
-@count2
-6
-@count2
-6
-@count3
-30
-SELECT * from res_tbl;
-f1 f2 f3 f4 f5
-1 flowing through case 1 exiting out of case 1 2000-11-09 one,three
-2 flowing through case 2 exiting out of case 2 1989-11-09 one,two
-CALL sp31330(4);
-@error_opt
-undefined path specified
-DROP PROCEDURE sp31330;
-drop table res_tbl;
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-
-. +++ END OF SCRIPT +++
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result
deleted file mode 100644
index ee1548fe012..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result
+++ /dev/null
@@ -1,395 +0,0 @@
-
---source suite/funcs_1/storedproc/load_sp_tb.inc
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-CREATE DATABASE db_storedproc;
-CREATE DATABASE db_storedproc_1;
-USE db_storedproc;
-create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
-USE db_storedproc_1;
-create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
-USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
-
-Section 3.1.6 - Privilege Checks:
---------------------------------------------------------------------------------
-USE db_storedproc_1;
-
-root@localhost db_storedproc_1
-
-Testcase 3.1.6.1:
------------------
-Ensure that no user may create a stored procedure without the GRANT CREATE
-ROUTINE privilege.
---------------------------------------------------------------------------------
-create user 'user_1'@'localhost';
-grant all on db_storedproc_1.* to 'user_1'@'localhost';
-revoke create routine on db_storedproc_1.* from 'user_1'@'localhost';
-flush privileges;
-DROP PROCEDURE IF EXISTS sp1;
-
-user_1@localhost db_storedproc_1
-USE db_storedproc_1;
-CREATE PROCEDURE sp1(v1 char(20))
-BEGIN
-SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
-END//
-ERROR 42000: Access denied for user 'user_1'@'localhost' to database 'db_storedproc_1'
-USE db_storedproc_1;
-
-root@localhost db_storedproc_1
-GRANT CREATE ROUTINE ON db_storedproc_1.* TO 'user_1'@'localhost';
-
-user_1@localhost db_storedproc_1
-USE db_storedproc_1;
-CREATE PROCEDURE sp1(v1 char(20))
-BEGIN
-SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
-END//
-USE db_storedproc_1;
-
-root@localhost db_storedproc_1
-DROP USER 'user_1'@'localhost';
-DROP PROCEDURE sp1;
-
-Testcase 3.1.6.2:
------------------
-Ensure that root always has the GRANT CREATE ROUTINE privilege.
-(checked by other testscases)
---------------------------------------------------------------------------------
-grant create routine on db_storedproc_1.* to 'user_1'@'localhost';
-flush privileges;
-
-user_1@localhost db_storedproc_1
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
-CREATE PROCEDURE sp3(v1 char(20))
-BEGIN
-SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
-END//
-CREATE FUNCTION fn1(v1 int) returns int
-BEGIN
-return v1;
-END//
-USE db_storedproc_1;
-
-root@localhost db_storedproc_1
-drop user 'user_1'@'localhost';
-DROP PROCEDURE sp3;
-DROP FUNCTION fn1;
-Warnings:
-Warning 1403 There is no such grant defined for user 'user_1' on host 'localhost' on routine 'fn1'
-
-Testcase 3.1.6.4:
------------------
-Ensure that the default security provision of a stored procedure is SQL SECURITY
-DEFINER.
---------------------------------------------------------------------------------
-CREATE USER 'user_1'@'localhost';
-grant update on db_storedproc_1.t6 to 'user_1'@'localhost';
-grant execute on db_storedproc_1.* to 'user_1'@'localhost';
-flush privileges;
-USE db_storedproc_1;
-DROP PROCEDURE IF EXISTS sp4;
-CREATE PROCEDURE sp4(v1 char(20))
-BEGIN
-SELECT * from db_storedproc_1.t6 where t6.f2= 'xyz';
-END//
-
-user_1@localhost db_storedproc_1
-USE db_storedproc_1;
-CALL sp4('a');
-f1 f2 f3 f4 f5 f6
-SELECT SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE,
-ROUTINE_BODY, ROUTINE_DEFINITION, IS_DETERMINISTIC,
-SQL_DATA_ACCESS, SECURITY_TYPE, SQL_MODE, ROUTINE_COMMENT
-FROM information_schema.routines
-WHERE routine_schema LIKE 'db_sto%';
-SPECIFIC_NAME sp4
-ROUTINE_SCHEMA db_storedproc_1
-ROUTINE_NAME sp4
-ROUTINE_TYPE PROCEDURE
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION NULL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SECURITY_TYPE DEFINER
-SQL_MODE
-ROUTINE_COMMENT
-
-root@localhost db_storedproc_1
-DROP PROCEDURE sp4;
-DROP USER 'user_1'@'localhost';
-
-Testcase 3.1.6.5:
------------------
-Ensure that a stored procedure defined with SQL SECURITY DEFINER can be
-called/executed by any user, using only the privileges (including database
-access privileges) associated with the user who created the stored procedure.
---------------------------------------------------------------------------------
-USE db_storedproc_1;
-CREATE TABLE t3165 ( c1 char(20), c2 char(20), c3 date);
-INSERT INTO t3165 VALUES ('inserted', 'outside of SP', NULL);
-create user 'user_1'@'localhost';
-create user 'user_2'@'localhost';
-grant create routine on db_storedproc_1.* to 'user_1'@'localhost';
-grant SELECT on db_storedproc_1.* to 'user_2'@'localhost';
-grant execute on db_storedproc_1.* to 'user_2'@'localhost';
-flush privileges;
-
-user_1@localhost db_storedproc_1
-CREATE PROCEDURE sp5_s_i () sql security definer
-BEGIN
-SELECT * from db_storedproc_1.t3165;
-insert into db_storedproc_1.t3165 values ('inserted', 'from sp5_s_i', 1000);
-END//
-CREATE PROCEDURE sp5_sel () sql security definer
-BEGIN
-SELECT * from db_storedproc_1.t3165;
-END//
-CREATE PROCEDURE sp5_ins () sql security definer
-BEGIN
-insert into db_storedproc_1.t3165 values ('inserted', 'from sp5_ins', 1000);
-END//
-
-user_2@localhost db_storedproc_1
-CALL sp5_s_i();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_ins();
-ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_sel();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-
-root@localhost db_storedproc_1
-CALL sp5_sel();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-grant insert on db_storedproc_1.* to 'user_1'@'localhost';
-flush privileges;
-
-user_2@localhost db_storedproc_1
-CALL sp5_s_i();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_ins();
-CALL sp5_sel();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-
-root@localhost db_storedproc_1
-CALL sp5_sel();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-grant SELECT on db_storedproc_1.* to 'user_1'@'localhost';
-flush privileges;
-
-user_2@localhost db_storedproc_1
-CALL sp5_s_i();
-c1 c2 c3
-inserted outside of SP NULL
-inserted from sp5_ins 2000-10-00
-CALL sp5_ins();
-CALL sp5_sel();
-c1 c2 c3
-inserted outside of SP NULL
-inserted from sp5_ins 2000-10-00
-inserted from sp5_s_i 2000-10-00
-inserted from sp5_ins 2000-10-00
-
-root@localhost db_storedproc_1
-REVOKE INSERT on db_storedproc_1.* from 'user_1'@'localhost';
-flush privileges;
-
-user_2@localhost db_storedproc_1
-CALL sp5_s_i();
-c1 c2 c3
-inserted outside of SP NULL
-inserted from sp5_ins 2000-10-00
-inserted from sp5_s_i 2000-10-00
-inserted from sp5_ins 2000-10-00
-ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_ins();
-ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_sel();
-c1 c2 c3
-inserted outside of SP NULL
-inserted from sp5_ins 2000-10-00
-inserted from sp5_s_i 2000-10-00
-inserted from sp5_ins 2000-10-00
-
-root@localhost db_storedproc_1
-REVOKE SELECT on db_storedproc_1.* from 'user_1'@'localhost';
-flush privileges;
-
-user_2@localhost db_storedproc_1
-CALL sp5_s_i();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_ins();
-ERROR 42000: INSERT command denied to user 'user_1'@'localhost' for table 't3165'
-CALL sp5_sel();
-ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't3165'
-
-root@localhost db_storedproc_1
-DROP PROCEDURE sp5_s_i;
-DROP PROCEDURE sp5_sel;
-DROP PROCEDURE sp5_ins;
-DROP TABLE t3165;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-
-Testcase 3.1.6.6:
------------------
-Ensure that a stored procedure defined with SQL SECURITY INVOKER can be
-called/executed by any user, using only the privileges (including database
-access privileges) associated with the user executing the stored procedure.
---------------------------------------------------------------------------------
-USE db_storedproc_1;
-CREATE TABLE t3166 ( c1 char(30) );
-INSERT INTO db_storedproc_1.t3166 VALUES ('inserted outside SP');
-create user 'user_1'@'localhost';
-create user 'user_2'@'localhost';
-GRANT CREATE ROUTINE ON db_storedproc_1.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_storedproc_1.* TO 'user_2'@'localhost';
-GRANT EXECUTE ON db_storedproc_1.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-user_1@localhost db_storedproc_1
-CREATE PROCEDURE sp3166_s_i () SQL SECURITY INVOKER
-BEGIN
-SELECT * from db_storedproc_1.t3166;
-insert into db_storedproc_1.t3166 values ('inserted from sp3166_s_i');
-END//
-CREATE PROCEDURE sp3166_sel () SQL SECURITY INVOKER
-BEGIN
-SELECT * from db_storedproc_1.t3166;
-END//
-CREATE PROCEDURE sp3166_ins () SQL SECURITY INVOKER
-BEGIN
-insert into db_storedproc_1.t3166 values ('inserted from sp3166_ins');
-END//
-
-user_2@localhost db_storedproc_1
-CALL sp3166_s_i();
-c1
-inserted outside SP
-ERROR 42000: INSERT command denied to user 'user_2'@'localhost' for table 't3166'
-CALL sp3166_ins();
-ERROR 42000: INSERT command denied to user 'user_2'@'localhost' for table 't3166'
-CALL sp3166_sel();
-c1
-inserted outside SP
-
-root@localhost db_storedproc_1
-CALL sp3166_sel();
-c1
-inserted outside SP
-GRANT INSERT ON db_storedproc_1.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-user_2@localhost db_storedproc_1
-CALL sp3166_s_i();
-c1
-inserted outside SP
-CALL sp3166_ins();
-CALL sp3166_sel();
-c1
-inserted outside SP
-inserted from sp3166_s_i
-inserted from sp3166_ins
-
-root@localhost db_storedproc_1
-CALL sp3166_sel();
-c1
-inserted outside SP
-inserted from sp3166_s_i
-inserted from sp3166_ins
-REVOKE SELECT ON db_storedproc_1.* FROM 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-user_2@localhost db_storedproc_1
-CALL sp3166_s_i();
-ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 't3166'
-CALL sp3166_ins();
-CALL sp3166_sel();
-ERROR 42000: SELECT command denied to user 'user_2'@'localhost' for table 't3166'
-CALL sp3166_s_i();
-c1
-inserted outside SP
-inserted from sp3166_s_i
-inserted from sp3166_ins
-inserted from sp3166_ins
-
-root@localhost db_storedproc_1
-REVOKE EXECUTE on db_storedproc_1.* FROM 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-user_2@localhost db_storedproc_1
-CALL sp3166_s_i();
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc_1.sp3166_s_i'
-CALL sp3166_ins();
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc_1.sp3166_ins'
-CALL sp3166_sel();
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc_1.sp3166_sel'
-
-root@localhost db_storedproc_1
-DROP PROCEDURE sp3166_s_i;
-DROP PROCEDURE sp3166_sel;
-DROP PROCEDURE sp3166_ins;
-DROP TABLE t3166;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-
-. +++ END OF SCRIPT +++
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result
deleted file mode 100644
index a520bdfac36..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result
+++ /dev/null
@@ -1,178 +0,0 @@
-
---source suite/funcs_1/storedproc/load_sp_tb.inc
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-CREATE DATABASE db_storedproc;
-CREATE DATABASE db_storedproc_1;
-USE db_storedproc;
-create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
-USE db_storedproc_1;
-create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
-USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
-
-Section 3.1.7 - SQL mode checks:
---------------------------------------------------------------------------------
-USE db_storedproc;
-
-Testcase 3.1.7.1:
------------------
-Ensure that the sql_mode setting in effect at the time a stored procedure is
-created is the same setting under which the stored procedure runs when it is
-called/executed.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP TABLE IF EXISTS temp_tbl;
-DROP TABLE IF EXISTS result;
-CREATE TABLE temp_tbl (f1 tinyint);
-CREATE TABLE result (f1 text(200), f2 char(20));
-set @@sql_mode='traditional';
-SHOW VARIABLES LIKE 'sql_mode';
-Variable_name Value
-sql_mode STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-CREATE PROCEDURE sp1()
-BEGIN
-declare a tinyint;
-declare count_ int default 1;
-declare continue handler for sqlstate '22003' set count_=1000;
-SHOW VARIABLES LIKE 'sql_mode';
-SELECT @@sql_mode into @cur_val_sql_mode;
-insert into temp_tbl values (1000);
-if count_ = 1000 THEN
-INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
-ELSE
-INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
-END if;
-END//
-SHOW CREATE PROCEDURE sp1;
-Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-sp1 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`()
-BEGIN
-declare a tinyint;
-declare count_ int default 1;
-declare continue handler for sqlstate '22003' set count_=1000;
-SHOW VARIABLES LIKE 'sql_mode';
-SELECT @@sql_mode into @cur_val_sql_mode;
-insert into temp_tbl values (1000);
-if count_ = 1000 THEN
-INSERT INTO result VALUES (@cur_val_sql_mode, 'value restored');
-ELSE
-INSERT INTO result VALUES (@cur_val_sql_mode, 'value not restored');
-END if;
-END latin1 latin1_swedish_ci latin1_swedish_ci
-set @@sql_mode='';
-SHOW VARIABLES LIKE 'sql_mode';
-Variable_name Value
-sql_mode
-CALL sp1();
-Variable_name Value
-sql_mode STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-SELECT * from result;
-f1 f2
-STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION value restored
-SHOW VARIABLES LIKE 'sql_mode';
-Variable_name Value
-sql_mode
-SELECT @@sql_mode;
-@@sql_mode
-
-SET @@sql_mode='TRADITIONAL';
-DROP PROCEDURE sp1;
-DROP TABLE temp_tbl;
-DROP TABLE result;
-
-Testcase 3.1.7.2:
------------------
-Ensure that if the sql_mode setting is changed when a stored procedure is run,
-that the original setting is restored as soon as the stored procedure execution
-is complete.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp2;
-... show initial value
-SHOW VARIABLES LIKE 'sql_mode';
-Variable_name Value
-sql_mode STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-CREATE PROCEDURE sp2()
-BEGIN
-SET @@sql_mode='MAXDB';
-SHOW VARIABLES LIKE 'sql_mode';
-END//
-SHOW CREATE PROCEDURE sp2;
-Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-sp2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `sp2`()
-BEGIN
-SET @@sql_mode='MAXDB';
-SHOW VARIABLES LIKE 'sql_mode';
-END latin1 latin1_swedish_ci latin1_swedish_ci
-... show value prior calling procedure
-SHOW VARIABLES LIKE 'sql_mode';
-Variable_name Value
-sql_mode STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-... call procedure that changes sql_mode
-CALL sp2();
-Variable_name Value
-sql_mode PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
-... check whether old value is re-set
-SHOW VARIABLES LIKE 'sql_mode';
-Variable_name Value
-sql_mode STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-DROP PROCEDURE sp2;
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-
-. +++ END OF SCRIPT +++
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result
deleted file mode 100644
index 4d85b97369c..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result
+++ /dev/null
@@ -1,835 +0,0 @@
-
---source suite/funcs_1/storedproc/load_sp_tb.inc
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-CREATE DATABASE db_storedproc;
-CREATE DATABASE db_storedproc_1;
-USE db_storedproc;
-create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
-USE db_storedproc_1;
-create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
-USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
-
-Section 3.1.8 - SHOW statement checks:
---------------------------------------------------------------------------------
-
-Testcase 3.1.8.9:
------------------
-
-Ensure that all stored procedure changes made with ALTER PROCEDURE or ALTER
-FUNCTION are properly recorded and displayed when a SHOW CREATE PROCEDURE or
-SHOW CREATE PROCEDURE STATUS statement, or a SHOW CREATE FUNCTION or SHOW CREATE
-FUNCTION STATUS statement (respectively) is executed.
---------------------------------------------------------------------------------
-DROP FUNCTION IF EXISTS fn_1;
-DROP FUNCTION IF EXISTS fn_2;
-DROP PROCEDURE IF EXISTS sp_1;
-DROP PROCEDURE IF EXISTS sp_2;
-CREATE PROCEDURE sp_1 (i1 int)
-BEGIN
-set @x=i1;
-END//
-CREATE PROCEDURE sp_2 (i1 int) SQL SECURITY INVOKER COMMENT 'created with INVOKER'
-BEGIN
-set @x=i1;
-END//
-CREATE FUNCTION fn_1 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) returns year
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END//
-CREATE FUNCTION fn_2 (i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real)
-RETURNS YEAR
-SQL SECURITY INVOKER
-COMMENT 'created with INVOKER'
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END//
-
-... now check what is stored:
------------------------------
-SELECT * FROM information_schema.routines where routine_schema = 'db_storedproc';
-SPECIFIC_NAME fn_1
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME fn_1
-ROUTINE_TYPE FUNCTION
-DATA_TYPE year
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER year(4)
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE DEFINER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME fn_2
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME fn_2
-ROUTINE_TYPE FUNCTION
-DATA_TYPE year
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER year(4)
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE INVOKER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT created with INVOKER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME sp_1
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME sp_1
-ROUTINE_TYPE PROCEDURE
-DATA_TYPE
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE DEFINER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME sp_2
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME sp_2
-ROUTINE_TYPE PROCEDURE
-DATA_TYPE
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE INVOKER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT created with INVOKER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SHOW CREATE FUNCTION fn_1;
-Function fn_1
-sql_mode
-Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_1`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE FUNCTION fn_2;
-Function fn_2
-sql_mode
-Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_2`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
- SQL SECURITY INVOKER
- COMMENT 'created with INVOKER'
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE PROCEDURE sp_1;
-Procedure sp_1
-sql_mode
-Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
-BEGIN
-set @x=i1;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE PROCEDURE sp_2;
-Procedure sp_2
-sql_mode
-Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
- SQL SECURITY INVOKER
- COMMENT 'created with INVOKER'
-BEGIN
-set @x=i1;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW FUNCTION STATUS LIKE 'fn_%';
-Db db_storedproc
-Name fn_1
-Type FUNCTION
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type DEFINER
-Comment
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-Db db_storedproc
-Name fn_2
-Type FUNCTION
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type INVOKER
-Comment created with INVOKER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW PROCEDURE STATUS LIKE 'sp_%';
-Db db_storedproc
-Name sp_1
-Type PROCEDURE
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type DEFINER
-Comment
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-Db db_storedproc
-Name sp_2
-Type PROCEDURE
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type INVOKER
-Comment created with INVOKER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
-... now change some stuff:
---------------------------
-ALTER PROCEDURE sp_1 SQL SECURITY INVOKER;
-ALTER PROCEDURE sp_1 COMMENT 'new comment, SP changed to INVOKER';
-ALTER PROCEDURE sp_2 SQL SECURITY DEFINER;
-ALTER PROCEDURE sp_2 DROP COMMENT;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP COMMENT' at line 1
-ALTER PROCEDURE sp_2 COMMENT 'SP changed to DEFINER';
-ALTER PROCEDURE sp_2 READS SQL DATA;
-ALTER FUNCTION fn_1 SQL SECURITY INVOKER;
-ALTER FUNCTION fn_1 COMMENT 'new comment, FN changed to INVOKER';
-ALTER FUNCTION fn_1 NO SQL;
-ALTER FUNCTION fn_2 SQL SECURITY DEFINER;
-ALTER FUNCTION fn_2 COMMENT 'FN changed to DEFINER';
-ALTER FUNCTION fn_2 MODIFIES SQL DATA;
-
-... now check what is stored:
------------------------------
-SELECT * FROM information_schema.routines where routine_schema = 'db_storedproc';
-SPECIFIC_NAME fn_1
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME fn_1
-ROUTINE_TYPE FUNCTION
-DATA_TYPE year
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER year(4)
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS NO SQL
-SQL_PATH NULL
-SECURITY_TYPE INVOKER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT new comment, FN changed to INVOKER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME fn_2
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME fn_2
-ROUTINE_TYPE FUNCTION
-DATA_TYPE year
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER year(4)
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS MODIFIES SQL DATA
-SQL_PATH NULL
-SECURITY_TYPE DEFINER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT FN changed to DEFINER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME sp_1
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME sp_1
-ROUTINE_TYPE PROCEDURE
-DATA_TYPE
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE INVOKER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT new comment, SP changed to INVOKER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME sp_2
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME sp_2
-ROUTINE_TYPE PROCEDURE
-DATA_TYPE
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS READS SQL DATA
-SQL_PATH NULL
-SECURITY_TYPE DEFINER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT SP changed to DEFINER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SHOW CREATE FUNCTION fn_1;
-Function fn_1
-sql_mode
-Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_1`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
- NO SQL
- SQL SECURITY INVOKER
- COMMENT 'new comment, FN changed to INVOKER'
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE FUNCTION fn_2;
-Function fn_2
-sql_mode
-Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_2`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
- MODIFIES SQL DATA
- COMMENT 'FN changed to DEFINER'
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE PROCEDURE sp_1;
-Procedure sp_1
-sql_mode
-Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
- SQL SECURITY INVOKER
- COMMENT 'new comment, SP changed to INVOKER'
-BEGIN
-set @x=i1;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE PROCEDURE sp_2;
-Procedure sp_2
-sql_mode
-Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
- READS SQL DATA
- COMMENT 'SP changed to DEFINER'
-BEGIN
-set @x=i1;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW FUNCTION STATUS LIKE 'fn_%';
-Db db_storedproc
-Name fn_1
-Type FUNCTION
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type INVOKER
-Comment new comment, FN changed to INVOKER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-Db db_storedproc
-Name fn_2
-Type FUNCTION
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type DEFINER
-Comment FN changed to DEFINER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW PROCEDURE STATUS LIKE 'sp_%';
-Db db_storedproc
-Name sp_1
-Type PROCEDURE
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type INVOKER
-Comment new comment, SP changed to INVOKER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-Db db_storedproc
-Name sp_2
-Type PROCEDURE
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type DEFINER
-Comment SP changed to DEFINER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
-... change back to default and check result:
---------------------------------------------
-ALTER FUNCTION fn_2 CONTAINS SQL;
-
-... now check what is stored:
------------------------------
-SELECT * FROM information_schema.routines where routine_schema = 'db_storedproc';
-SPECIFIC_NAME fn_1
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME fn_1
-ROUTINE_TYPE FUNCTION
-DATA_TYPE year
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER year(4)
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS NO SQL
-SQL_PATH NULL
-SECURITY_TYPE INVOKER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT new comment, FN changed to INVOKER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME fn_2
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME fn_2
-ROUTINE_TYPE FUNCTION
-DATA_TYPE year
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER year(4)
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE DEFINER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT FN changed to DEFINER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME sp_1
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME sp_1
-ROUTINE_TYPE PROCEDURE
-DATA_TYPE
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS CONTAINS SQL
-SQL_PATH NULL
-SECURITY_TYPE INVOKER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT new comment, SP changed to INVOKER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SPECIFIC_NAME sp_2
-ROUTINE_CATALOG def
-ROUTINE_SCHEMA db_storedproc
-ROUTINE_NAME sp_2
-ROUTINE_TYPE PROCEDURE
-DATA_TYPE
-CHARACTER_MAXIMUM_LENGTH NULL
-CHARACTER_OCTET_LENGTH NULL
-NUMERIC_PRECISION NULL
-NUMERIC_SCALE NULL
-CHARACTER_SET_NAME NULL
-COLLATION_NAME NULL
-DTD_IDENTIFIER NULL
-ROUTINE_BODY SQL
-ROUTINE_DEFINITION BEGIN
-set @x=i1;
-END
-EXTERNAL_NAME NULL
-EXTERNAL_LANGUAGE NULL
-PARAMETER_STYLE SQL
-IS_DETERMINISTIC NO
-SQL_DATA_ACCESS READS SQL DATA
-SQL_PATH NULL
-SECURITY_TYPE DEFINER
-CREATED <modified>
-LAST_ALTERED <created>
-SQL_MODE
-ROUTINE_COMMENT SP changed to DEFINER
-DEFINER root@localhost
-CHARACTER_SET_CLIENT latin1
-COLLATION_CONNECTION latin1_swedish_ci
-DATABASE_COLLATION latin1_swedish_ci
-SHOW CREATE FUNCTION fn_1;
-Function fn_1
-sql_mode
-Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_1`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
- NO SQL
- SQL SECURITY INVOKER
- COMMENT 'new comment, FN changed to INVOKER'
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE FUNCTION fn_2;
-Function fn_2
-sql_mode
-Create Function CREATE DEFINER=`root`@`localhost` FUNCTION `fn_2`(i1 longtext, i2 mediumint , i3 longblob, i4 year, i5 real) RETURNS year(4)
- COMMENT 'FN changed to DEFINER'
-BEGIN
-set @x=i1;
-set @y=@x;
-return i4;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE PROCEDURE sp_1;
-Procedure sp_1
-sql_mode
-Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_1`(i1 int)
- SQL SECURITY INVOKER
- COMMENT 'new comment, SP changed to INVOKER'
-BEGIN
-set @x=i1;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW CREATE PROCEDURE sp_2;
-Procedure sp_2
-sql_mode
-Create Procedure CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_2`(i1 int)
- READS SQL DATA
- COMMENT 'SP changed to DEFINER'
-BEGIN
-set @x=i1;
-END
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW FUNCTION STATUS LIKE 'fn_%';
-Db db_storedproc
-Name fn_1
-Type FUNCTION
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type INVOKER
-Comment new comment, FN changed to INVOKER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-Db db_storedproc
-Name fn_2
-Type FUNCTION
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type DEFINER
-Comment FN changed to DEFINER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-SHOW PROCEDURE STATUS LIKE 'sp_%';
-Db db_storedproc
-Name sp_1
-Type PROCEDURE
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type INVOKER
-Comment new comment, SP changed to INVOKER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-Db db_storedproc
-Name sp_2
-Type PROCEDURE
-Definer root@localhost
-Modified <modified>
-Created <created>
-Security_type DEFINER
-Comment SP changed to DEFINER
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
-... cleanup
------------
-DROP FUNCTION fn_1;
-DROP FUNCTION fn_2;
-DROP PROCEDURE sp_1;
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-
-. +++ END OF SCRIPT +++
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result
deleted file mode 100644
index d731979a095..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result
+++ /dev/null
@@ -1,400 +0,0 @@
-
---source suite/funcs_1/storedproc/load_sp_tb.inc
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-CREATE DATABASE db_storedproc;
-CREATE DATABASE db_storedproc_1;
-USE db_storedproc;
-create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t1;
-create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t2;
-create table t3(f1 char(20),f2 char(20),f3 integer) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t3.txt' into table t3;
-create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t4;
-USE db_storedproc_1;
-create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t6;
-USE db_storedproc;
-create table t7 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t7;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t8 (f1 char(20), f2 char(25), f3 date, f4 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t7.txt' into table t8;
-Warnings:
-Warning 1265 Data truncated for column 'f3' at row 1
-Warning 1265 Data truncated for column 'f3' at row 2
-Warning 1265 Data truncated for column 'f3' at row 3
-Warning 1265 Data truncated for column 'f3' at row 4
-Warning 1265 Data truncated for column 'f3' at row 5
-Warning 1265 Data truncated for column 'f3' at row 6
-Warning 1265 Data truncated for column 'f3' at row 7
-Warning 1265 Data truncated for column 'f3' at row 8
-Warning 1265 Data truncated for column 'f3' at row 9
-Warning 1265 Data truncated for column 'f3' at row 10
-create table t9(f1 int, f2 char(25), f3 int) engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table t9;
-create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t10;
-create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int)
-engine = <engine_to_be_tested>;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t4.txt' into table t11;
-
-Section 3.1.10 - CALL checks:
---------------------------------------------------------------------------------
-USE db_storedproc;
-
-Testcase 3.1.10.2 + 3.1.10.5:
------------------------------
-
-2. Ensure that a procedure cannot be called if the appropriate privileges do not
-exist.
-5. Ensure that a function cannot be executed if the appropriate privileges do
-not exist.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp31102;
-DROP FUNCTION IF EXISTS fn31105;
-create user 'user_1'@'localhost';
-create user 'user_2'@'localhost';
-GRANT CREATE ROUTINE ON db_storedproc.* TO 'user_1'@'localhost';
-GRANT SELECT ON db_storedproc.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-user_1@localhost db_storedproc
-CREATE PROCEDURE sp31102 () SQL SECURITY INVOKER
-BEGIN
-SELECT * FROM db_storedproc.t1 WHERE f4=-5000 LIMIT 1;
-END//
-CREATE FUNCTION fn31105(n INT) RETURNS INT
-BEGIN
-DECLARE res INT;
-SET res = n * n;
-RETURN res;
-END//
-
-user_2@localhost db_storedproc
-CALL sp31102();
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.sp31102'
-SELECT fn31105( 9 );
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.fn31105'
-connection default;
-USE db_storedproc;
-
-root@localhost db_storedproc
-CALL sp31102();
-f1 f2 f3 f4 f5 f6
-a` a` 1000-01-01 -5000 a` -5000
-SELECT fn31105( 9 );
-fn31105( 9 )
-81
-GRANT EXECUTE ON db_storedproc.* TO 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-
-user_2@localhost db_storedproc
-CALL sp31102();
-f1 f2 f3 f4 f5 f6
-a` a` 1000-01-01 -5000 a` -5000
-SELECT fn31105( 9 );
-fn31105( 9 )
-81
-connection default;
-USE db_storedproc;
-
-root@localhost db_storedproc
-REVOKE EXECUTE ON db_storedproc.* FROM 'user_2'@'localhost';
-FLUSH PRIVILEGES;
-CALL sp31102();
-f1 f2 f3 f4 f5 f6
-a` a` 1000-01-01 -5000 a` -5000
-SELECT fn31105( 9 );
-fn31105( 9 )
-81
-
-user_2@localhost db_storedproc
-CALL sp31102();
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.sp31102'
-SELECT fn31105( 9 );
-ERROR 42000: execute command denied to user 'user_2'@'localhost' for routine 'db_storedproc.fn31105'
-USE db_storedproc;
-
-root@localhost db_storedproc
-DROP PROCEDURE sp31102;
-DROP FUNCTION fn31105;
-DROP USER 'user_1'@'localhost';
-DROP USER 'user_2'@'localhost';
-
-Testcase 3.1.10.3:
-------------------
-
-Ensure that a function can never be called.
---------------------------------------------------------------------------------
-DROP FUNCTION IF EXISTS fn1;
-CREATE FUNCTION fn1(a int) returns int
-BEGIN
-set @b = 0.9 * a;
-return @b;
-END//
-CALL fn1();
-ERROR 42000: PROCEDURE db_storedproc.fn1 does not exist
-DROP FUNCTION fn1;
-
-Testcase 3.1.10.6:
-------------------
-
-Ensure that a procedure can never be executed.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp1;
-DROP FUNCTION IF EXISTS sp1;
-CREATE PROCEDURE sp1()
-BEGIN
-SELECT * from t10;
-END//
-SELECT sp1();
-ERROR 42000: FUNCTION db_storedproc.sp1 does not exist
-DROP PROCEDURE sp1;
-
-Testcase 3.1.10.7:
-------------------
-
-Ensure that the ROW_COUNT() SQL function always returns the correct number of
-rows affected by the execution of a stored procedure.
---------------------------------------------------------------------------------
-DROP PROCEDURE IF EXISTS sp_ins_1;
-DROP PROCEDURE IF EXISTS sp_ins_3;
-DROP PROCEDURE IF EXISTS sp_upd;
-DROP PROCEDURE IF EXISTS sp_ins_upd;
-DROP PROCEDURE IF EXISTS sp_del;
-DROP PROCEDURE IF EXISTS sp_with_rowcount;
-CREATE TABLE temp(f1 CHAR(20),f2 CHAR(25),f3 DATE,f4 INT,f5 CHAR(25),f6 INT);
-INSERT INTO temp SELECT * FROM t10;
-CREATE PROCEDURE sp_ins_1()
-BEGIN
-INSERT INTO temp VALUES ('abc', 'abc', '20051003', 100, 'uvw', 1000);
-END//
-CREATE PROCEDURE sp_ins_3()
-BEGIN
-INSERT INTO temp VALUES ('abc', 'xyz', '19490523', 100, 'uvw', 1000);
-INSERT INTO temp VALUES ('abc', 'xyz', '1989-11-09', 100, 'uvw', 1000);
-INSERT INTO temp VALUES ('abc', 'xyz', '2005-10-24', 100, 'uvw', 1000);
-END//
-CREATE PROCEDURE sp_upd()
-BEGIN
-UPDATE temp SET temp.f1 = 'updated' WHERE temp.f1 ='abc';
-END//
-CREATE PROCEDURE sp_ins_upd()
-BEGIN
-BEGIN
-INSERT INTO temp VALUES ('qwe', 'abc', '1989-11-09', 100, 'uvw', 1000);
-INSERT INTO temp VALUES ('qwe', 'xyz', '1998-03-26', 100, 'uvw', 1000);
-INSERT INTO temp VALUES ('qwe', 'abc', '2000-11-09', 100, 'uvw', 1000);
-INSERT INTO temp VALUES ('qwe', 'abc', '2005-11-07', 100, 'uvw', 1000);
-END;
-SELECT COUNT( f1 ), f1 FROM temp GROUP BY f1;
-UPDATE temp SET temp.f1 = 'updated_2' WHERE temp.f1 ='qwe' AND temp.f2 = 'abc';
-END//
-CREATE PROCEDURE sp_del()
-BEGIN
-DELETE FROM temp WHERE temp.f1 ='qwe' OR temp.f1 = 'updated_2';
-END//
-CREATE PROCEDURE sp_with_rowcount()
-BEGIN
-BEGIN
-INSERT INTO temp VALUES ('qwe', 'abc', '1989-11-09', 100, 'uvw', 1000),
-('qwe', 'xyz', '1998-03-26', 100, 'uvw', 1000),
-('qwe', 'abc', '2000-11-09', 100, 'uvw', 1000),
-('qwe', 'xyz', '2005-11-07', 100, 'uvw', 1000);
-END;
-SELECT row_count() AS 'row_count() after insert';
-SELECT row_count() AS 'row_count() after select row_count()';
-SELECT f1,f2,f3 FROM temp ORDER BY f1,f2,f3;
-UPDATE temp SET temp.f1 = 'updated_2' WHERE temp.f2 = 'abc';
-SELECT row_count() AS 'row_count() after update';
-SELECT f1,f2,f3 FROM temp ORDER BY f1,f2,f3;
-DELETE FROM temp WHERE temp.f1 = 'updated_2';
-SELECT row_count() AS 'row_count() after delete';
-END//
-CALL sp_ins_1();
-SELECT row_count();
-row_count()
-1
-SELECT * FROM temp;
-f1 f2 f3 f4 f5 f6
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-a` a` 1000-01-01 -5000 a` -5000
-aaa aaa 1000-01-02 -4999 aaa -4999
-abaa abaa 1000-01-03 -4998 abaa -4998
-abc abc 2005-10-03 100 uvw 1000
-acaaa acaaa 1000-01-04 -4997 acaaa -4997
-adaaaa adaaaa 1000-01-05 -4996 adaaaa -4996
-aeaaaaa aeaaaaa 1000-01-06 -4995 aeaaaaa -4995
-afaaaaaa afaaaaaa 1000-01-07 -4994 afaaaaaa -4994
-agaaaaaaa agaaaaaaa 1000-01-08 -4993 agaaaaaaa -4993
-CALL sp_ins_3();
-SELECT row_count();
-row_count()
-1
-SELECT * FROM temp;
-f1 f2 f3 f4 f5 f6
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-a` a` 1000-01-01 -5000 a` -5000
-aaa aaa 1000-01-02 -4999 aaa -4999
-abaa abaa 1000-01-03 -4998 abaa -4998
-abc abc 2005-10-03 100 uvw 1000
-abc xyz 1949-05-23 100 uvw 1000
-abc xyz 1989-11-09 100 uvw 1000
-abc xyz 2005-10-24 100 uvw 1000
-acaaa acaaa 1000-01-04 -4997 acaaa -4997
-adaaaa adaaaa 1000-01-05 -4996 adaaaa -4996
-aeaaaaa aeaaaaa 1000-01-06 -4995 aeaaaaa -4995
-afaaaaaa afaaaaaa 1000-01-07 -4994 afaaaaaa -4994
-agaaaaaaa agaaaaaaa 1000-01-08 -4993 agaaaaaaa -4993
-CALL sp_upd();
-SELECT row_count();
-row_count()
-4
-SELECT * FROM temp;
-f1 f2 f3 f4 f5 f6
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-a` a` 1000-01-01 -5000 a` -5000
-aaa aaa 1000-01-02 -4999 aaa -4999
-abaa abaa 1000-01-03 -4998 abaa -4998
-acaaa acaaa 1000-01-04 -4997 acaaa -4997
-adaaaa adaaaa 1000-01-05 -4996 adaaaa -4996
-aeaaaaa aeaaaaa 1000-01-06 -4995 aeaaaaa -4995
-afaaaaaa afaaaaaa 1000-01-07 -4994 afaaaaaa -4994
-agaaaaaaa agaaaaaaa 1000-01-08 -4993 agaaaaaaa -4993
-updated abc 2005-10-03 100 uvw 1000
-updated xyz 1949-05-23 100 uvw 1000
-updated xyz 1989-11-09 100 uvw 1000
-updated xyz 2005-10-24 100 uvw 1000
-CALL sp_ins_upd();
-COUNT( f1 ) f1
-1 aaa
-1 abaa
-1 acaaa
-1 adaaaa
-1 aeaaaaa
-1 afaaaaaa
-1 agaaaaaaa
-1 a^aaaaaaaa
-1 a_aaaaaaaaa
-1 a`
-4 qwe
-4 updated
-SELECT row_count();
-row_count()
-3
-SELECT * FROM temp;
-f1 f2 f3 f4 f5 f6
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-a` a` 1000-01-01 -5000 a` -5000
-aaa aaa 1000-01-02 -4999 aaa -4999
-abaa abaa 1000-01-03 -4998 abaa -4998
-acaaa acaaa 1000-01-04 -4997 acaaa -4997
-adaaaa adaaaa 1000-01-05 -4996 adaaaa -4996
-aeaaaaa aeaaaaa 1000-01-06 -4995 aeaaaaa -4995
-afaaaaaa afaaaaaa 1000-01-07 -4994 afaaaaaa -4994
-agaaaaaaa agaaaaaaa 1000-01-08 -4993 agaaaaaaa -4993
-qwe xyz 1998-03-26 100 uvw 1000
-updated abc 2005-10-03 100 uvw 1000
-updated xyz 1949-05-23 100 uvw 1000
-updated xyz 1989-11-09 100 uvw 1000
-updated xyz 2005-10-24 100 uvw 1000
-updated_2 abc 1989-11-09 100 uvw 1000
-updated_2 abc 2000-11-09 100 uvw 1000
-updated_2 abc 2005-11-07 100 uvw 1000
-CALL sp_del();
-SELECT row_count();
-row_count()
-4
-SELECT * FROM temp;
-f1 f2 f3 f4 f5 f6
-a^aaaaaaaa a^aaaaaaaa 1000-01-09 -4992 a^aaaaaaaa -4992
-a_aaaaaaaaa a_aaaaaaaaa 1000-01-10 -4991 a_aaaaaaaaa -4991
-a` a` 1000-01-01 -5000 a` -5000
-aaa aaa 1000-01-02 -4999 aaa -4999
-abaa abaa 1000-01-03 -4998 abaa -4998
-acaaa acaaa 1000-01-04 -4997 acaaa -4997
-adaaaa adaaaa 1000-01-05 -4996 adaaaa -4996
-aeaaaaa aeaaaaa 1000-01-06 -4995 aeaaaaa -4995
-afaaaaaa afaaaaaa 1000-01-07 -4994 afaaaaaa -4994
-agaaaaaaa agaaaaaaa 1000-01-08 -4993 agaaaaaaa -4993
-updated abc 2005-10-03 100 uvw 1000
-updated xyz 1949-05-23 100 uvw 1000
-updated xyz 1989-11-09 100 uvw 1000
-updated xyz 2005-10-24 100 uvw 1000
-DELETE FROM temp;
-CALL sp_with_rowcount();
-row_count() after insert
-4
-row_count() after select row_count()
--1
-f1 f2 f3
-qwe abc 1989-11-09
-qwe abc 2000-11-09
-qwe xyz 1998-03-26
-qwe xyz 2005-11-07
-row_count() after update
-2
-f1 f2 f3
-qwe xyz 1998-03-26
-qwe xyz 2005-11-07
-updated_2 abc 1989-11-09
-updated_2 abc 2000-11-09
-row_count() after delete
-2
-SELECT row_count();
-row_count()
-0
-SELECT * FROM temp;
-f1 f2 f3 f4 f5 f6
-qwe xyz 1998-03-26 100 uvw 1000
-qwe xyz 2005-11-07 100 uvw 1000
-DROP PROCEDURE sp_ins_1;
-DROP PROCEDURE sp_ins_3;
-DROP PROCEDURE sp_upd;
-DROP PROCEDURE sp_ins_upd;
-DROP PROCEDURE sp_del;
-DROP PROCEDURE sp_with_rowcount;
-DROP TABLE temp;
-
-Testcase 3.1.10.8:
-------------------
-
-Ensure that the mysql_affected_rows() C API function always returns the correct
-number of rows affected by the execution of a stored procedure.
---------------------------------------------------------------------------------
-
---source suite/funcs_1/storedproc/cleanup_sp_tb.inc
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS db_storedproc;
-DROP DATABASE IF EXISTS db_storedproc_1;
-
-. +++ END OF SCRIPT +++
---------------------------------------------------------------------------------
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result
deleted file mode 100644
index 5ca24acf0bf..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result
+++ /dev/null
@@ -1,366 +0,0 @@
-USE test;
-drop table if exists tb3;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 char(50),
-f122 char(50),
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = <engine_to_be_used>;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-
-Testcase: 3.5.1.1:
-------------------
-use test;
-Create trigger trg1_1 BEFORE INSERT
-on tb3 for each row set @test_before = 2, new.f142 = @test_before;
-Create trigger trg1_2 AFTER INSERT
-on tb3 for each row set @test_after = 6;
-Create trigger trg1_4 BEFORE UPDATE
-on tb3 for each row set @test_before = 27,
-new.f142 = @test_before,
-new.f122 = 'Before Update Trigger';
-Create trigger trg1_3 AFTER UPDATE
-on tb3 for each row set @test_after = '15';
-Create trigger trg1_5 BEFORE DELETE on tb3 for each row
-select count(*) into @test_before from tb3 as tr_tb3
-where f121 = 'Test 3.5.1.1';
-Create trigger trg1_6 AFTER DELETE on tb3 for each row
-select count(*) into @test_after from tb3 as tr_tb3
-where f121 = 'Test 3.5.1.1';
-set @test_before = 1;
-set @test_after = 5;
-select @test_before, @test_after;
-@test_before @test_after
-1 5
-Insert into tb3 (f121, f122, f142, f144, f134)
-values ('Test 3.5.1.1', 'First Row', @test_before, @test_after, 1);
-select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1';
-f121 f122 f142 f144 f134
-Test 3.5.1.1 First Row 2 0000000005 1
-select @test_before, @test_after;
-@test_before @test_after
-2 6
-set @test_before = 18;
-set @test_after = 8;
-select @test_before, @test_after;
-@test_before @test_after
-18 8
-Update tb3 set tb3.f122 = 'Update',
-tb3.f142 = @test_before,
-tb3.f144 = @test_after
-where tb3.f121 = 'Test 3.5.1.1';
-select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1';
-f121 f122 f142 f144 f134
-Test 3.5.1.1 Before Update Trigger 27 0000000008 1
-select @test_before, @test_after;
-@test_before @test_after
-27 15
-Insert into tb3 (f121, f122, f142, f144, f134)
-values ('Test 3.5.1.1', 'Second Row', 5, 6, 2);
-set @test_before = 0;
-set @test_after = 0;
-select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1';
-f121 f122 f142 f144 f134
-Test 3.5.1.1 Before Update Trigger 27 0000000008 1
-Test 3.5.1.1 Second Row 2 0000000006 2
-select @test_before, @test_after;
-@test_before @test_after
-0 0
-Delete from tb3 where f121 = 'Test 3.5.1.1' and f134 = 2;
-select f121, f122, f142, f144, f134 from tb3 where f121 = 'Test 3.5.1.1';
-f121 f122 f142 f144 f134
-Test 3.5.1.1 Before Update Trigger 27 0000000008 1
-select @test_before, @test_after;
-@test_before @test_after
-2 1
-drop trigger trg1_1;
-drop trigger trg1_2;
-drop trigger trg1_3;
-drop trigger trg1_4;
-drop trigger trg1_5;
-drop trigger trg1_6;
-delete from tb3 where f121='Test 3.5.1.1';
-
-Testcase: 3.5.1.2:
-------------------
-Create trigger trg_1 after insert
-on tb3 for each statement set @x= 1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'statement set @x= 1' at line 2
-drop trigger trg_1;
-
-Testcase 3.5.1.3:
------------------
-CREATE TRIGGER trg3_1 on tb3 BEFORE INSERT for each row set new.f120 = 't';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on tb3 BEFORE INSERT for each row set new.f120 = 't'' at line 1
-CREATE trg3_2 TRIGGER AFTER INSERT on tb3 for each row set new.f120 = 's';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trg3_2 TRIGGER AFTER INSERT on tb3 for each row set new.f120 = 's'' at line 1
-CREATE TRIGGER trg3_3 Before DELETE on tb3 set @ret1 = 'test' for each row;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set @ret1 = 'test' for each row' at line 1
-CREATE TRIGGER trg3_4 DELETE AFTER on tb3 set @ret1 = 'test' for each row;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE AFTER on tb3 set @ret1 = 'test' for each row' at line 1
-CREATE for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'for each row TRIGGER trg3_5 AFTER UPDATE on tb3 set @ret1 = 'test'' at line 1
-drop trigger trg3_1;
-drop trigger trg3_2;
-drop trigger trg3_3;
-drop trigger trg3_4;
-drop trigger trg3_5;
-
-Testcase: 3.5.1.5:
-------------------
-CREATE TRIGGER trg4_1 AFTER on tb3 for each row set new.f120 = 'e';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on tb3 for each row set new.f120 = 'e'' at line 1
-CREATE TRIGGER trg4_2 INSERT on tb3 for each set row new.f120 = 'f';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT on tb3 for each set row new.f120 = 'f'' at line 1
-CREATE TRIGGER trg4_3 BEFORE INSERT tb3 for each row set new.f120 = 'g';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tb3 for each row set new.f120 = 'g'' at line 1
-CREATE TRIGGER trg4_4 AFTER UPDATE on tb3 for each set new.f120 = 'g';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set new.f120 = 'g'' at line 1
-CREATE trg4_5 AFTER DELETE on tb3 for each set new.f120 = 'g';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trg4_5 AFTER DELETE on tb3 for each set new.f120 = 'g'' at line 1
-CREATE TRIGGER trg4_6 BEFORE DELETE for each row set new.f120 = 'g';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'for each row set new.f120 = 'g'' at line 1
-drop trigger trg4_1;
-drop trigger trg4_2;
-drop trigger trg4_3;
-drop trigger trg4_4;
-drop trigger trg4_5;
-drop trigger trg4_6;
-
-Testcase 3.5.1.6: - Need to fix
--------------------------------
-
-Testcase 3.5.1.7: - need to fix
--------------------------------
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (f1 int, f2 char(25),f3 int) engine = <engine_to_be_used>;
-CREATE TRIGGER trg5_1 BEFORE INSERT on test.t1
-for each row set new.f3 = '14';
-CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
-BEFORE UPDATE on test.t1 for each row set new.f3 = '42';
-ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long
-CREATE TRIGGER trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX
-BEFORE UPDATE on test.t1 for each row set new.f3 = '42';
-insert into t1 (f2) values ('insert 3.5.1.7');
-select * from t1;
-f1 f2 f3
-NULL insert 3.5.1.7 14
-update t1 set f2='update 3.5.1.7';
-select * from t1;
-f1 f2 f3
-NULL update 3.5.1.7 42
-select trigger_name from information_schema.triggers order by trigger_name;
-trigger_name
-gs_insert
-trg5_1
-trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX
-ts_insert
-drop trigger trg5_1;
-drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ;
-ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long
-drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX;
-drop table t1;
-
-Testcase 3.5.1.8:
------------------
-CREATE TRIGGER trg12* before insert on tb3 for each row set new.f120 = 't';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* before insert on tb3 for each row set new.f120 = 't'' at line 1
-CREATE TRIGGER trigger before insert on tb3 for each row set new.f120 = 't';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trigger before insert on tb3 for each row set new.f120 = 't'' at line 1
-CREATE TRIGGER 100 before insert on tb3 for each row set new.f120 = 't';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '100 before insert on tb3 for each row set new.f120 = 't'' at line 1
-CREATE TRIGGER @@view before insert on tb3 for each row set new.f120 = 't';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@@view before insert on tb3 for each row set new.f120 = 't'' at line 1
-CREATE TRIGGER @name before insert on tb3 for each row set new.f120 = 't';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@name before insert on tb3 for each row set new.f120 = 't'' at line 1
-CREATE TRIGGER tb3.trg6_1 BEFORE INSERT on test.tb3
-for each row set new.f120 ='X';
-ERROR HY000: Trigger in wrong schema
-drop database if exists trig_db;
-create database trig_db;
-use trig_db;
-create table t1 (f1 integer) engine = <engine_to_be_used>;
-use test;
-CREATE TRIGGER trig_db.trg6_2 AFTER INSERT on tb3
-for each row set @ret_trg6_2 = 5;
-ERROR 42S02: Table 'trig_db.tb3' doesn't exist
-use trig_db;
-CREATE TRIGGER trg6_3 AFTER INSERT on test.tb3
-for each row set @ret_trg6_3 = 18;
-ERROR HY000: Trigger in wrong schema
-use test;
-drop database trig_db;
-drop trigger trg6_1;
-drop trigger trg6_3;
-
-Testcase 3.5.1.9:(cannot be inplemented at this point)
-------------------------------------------------------
-
-Testcase 3.5.1.10:
-------------------
-CREATE TRIGGER trg7_1 BEFORE UPDATE on tb3 for each row set new.f120 ='X';
-CREATE TRIGGER trg7_1 AFTER INSERT on tb3 for each row set @x ='Y';
-ERROR HY000: Trigger already exists
-drop trigger trg7_1;
-
-Testcase 3.5.1.?:
------------------
-drop table if exists t1;
-drop table if exists t2;
-create table t1 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create table t2 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create trigger trig before insert on t1
-for each row set new.f1 ='trig t1';
-create trigger trig before update on t2
-for each row set new.f1 ='trig t2';
-ERROR HY000: Trigger already exists
-insert into t1 value ('insert to t1',1);
-select * from t1;
-f1 f2
-trig t1 1
-update t1 set f1='update to t1';
-select * from t1;
-f1 f2
-update to t1 1
-insert into t2 value ('insert to t2',2);
-update t2 set f1='update to t1';
-select * from t2;
-f1 f2
-update to t1 2
-drop table t1;
-drop table t2;
-drop trigger trig;
-
-Testcase 3.5.1.11:
-------------------
-drop database if exists trig_db1;
-drop database if exists trig_db2;
-drop database if exists trig_db3;
-create database trig_db1;
-create database trig_db2;
-create database trig_db3;
-use trig_db1;
-create table t1 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create trigger trig before insert on t1
-for each row set new.f1 ='trig1', @test_var1='trig1';
-use trig_db2;
-create table t2 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create trigger trig before insert on t2
-for each row set new.f1 ='trig2', @test_var2='trig2';
-use trig_db3;
-create table t1 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create trigger trig before insert on t1
-for each row set new.f1 ='trig3', @test_var3='trig3';
-set @test_var1= '', @test_var2= '', @test_var3= '';
-use trig_db1;
-insert into t1 (f1,f2) values ('insert to db1 t1',1);
-insert into trig_db1.t1 (f1,f2) values ('insert to db1 t1 from db1',2);
-insert into trig_db2.t2 (f1,f2) values ('insert to db2 t2 from db1',3);
-insert into trig_db3.t1 (f1,f2) values ('insert to db3 t1 from db1',4);
-select @test_var1, @test_var2, @test_var3;
-@test_var1 @test_var2 @test_var3
-trig1 trig2 trig3
-select * from t1 order by f2;
-f1 f2
-trig1 1
-trig1 2
-select * from trig_db2.t2;
-f1 f2
-trig2 3
-select * from trig_db3.t1;
-f1 f2
-trig3 4
-select * from t1 order by f2;
-f1 f2
-trig1 1
-trig1 2
-use test;
-drop database trig_db1;
-drop database trig_db2;
-drop database trig_db3;
-
-Testcase 3.5.2.1/2/3:
----------------------
-drop database if exists trig_db1;
-drop database if exists trig_db2;
-create database trig_db1;
-create database trig_db2;
-use trig_db1;
-create table t1 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create table trig_db2.t1 (f1 char(50), f2 integer) engine = <engine_to_be_used>;
-create trigger trig1_b before insert on t1
-for each row set @test_var1='trig1_b';
-create trigger trig_db1.trig1_a after insert on t1
-for each row set @test_var2='trig1_a';
-create trigger trig_db2.trig2 before insert on trig_db2.t1
-for each row set @test_var3='trig2';
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers
-where trigger_schema like 'trig_db%'
- order by trigger_name;
-trigger_schema trigger_name event_object_table
-trig_db1 trig1_a t1
-trig_db1 trig1_b t1
-trig_db2 trig2 t1
-set @test_var1= '', @test_var2= '', @test_var3= '';
-insert into t1 (f1,f2) values ('insert to db1 t1 from db1',352);
-insert into trig_db2.t1 (f1,f2) values ('insert to db2 t1 from db1',352);
-select @test_var1, @test_var2, @test_var3;
-@test_var1 @test_var2 @test_var3
-trig1_b trig1_a trig2
-drop database trig_db1;
-drop database trig_db2;
-DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_03.result b/mysql-test/suite/funcs_1/r/ndb_trig_03.result
deleted file mode 100644
index db92ea56444..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_03.result
+++ /dev/null
@@ -1,675 +0,0 @@
-USE test;
-drop table if exists tb3;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 char(50),
-f122 char(50),
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = <engine_to_be_used>;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-
-Testcase 3.5.3:
----------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= <engine_to_be_used>;
-create User test_noprivs@localhost;
-set password for test_noprivs@localhost = password('PWD');
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-
-Testcase 3.5.3.2/6:
--------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant ALL on *.* to test_noprivs@localhost;
-revoke TRIGGER on *.* from test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, CREATE TABLESPACE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant SELECT on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-
-Testcase 3.5.3.2:
------------------
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.2_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-no');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.2_2-yes';
-select current_user;
-current_user
-root@localhost
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.2-yes');
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't1'
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-grant UPDATE on priv_db.t1 to test_yesprivs@localhost;
-insert into t1 (f1) values ('insert 3.5.3.2-yes');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-
-Testcase 3.5.3.6:
------------------
-use priv_db;
-drop trigger trg1_2;
-ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.6-yes');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-use priv_db;
-drop trigger trg1_2;
-use priv_db;
-insert into t1 (f1) values ('insert 3.5.3.6-no');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-drop trigger trg1_2;
-
-Testcase 3.5.3.7a:
-------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant ALL on *.* to test_noprivs@localhost;
-revoke UPDATE on *.* from test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER, UPDATE on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-show grants;
-Grants for test_noprivs@localhost
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-create trigger trg4a_1 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.7-1a';
-insert into t1 (f1) values ('insert 3.5.3.7-1a');
-ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-drop trigger trg4a_1;
-use priv_db;
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants;
-Grants for test_yesprivs@localhost
-GRANT UPDATE, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-create trigger trg4a_2 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.7-2a';
-insert into t1 (f1) values ('insert 3.5.3.7-2b');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-drop trigger trg4a_2;
-
-Testcase 3.5.3.7b:
-------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant TRIGGER on *.* to test_noprivs;
-grant ALL on priv_db.* to test_noprivs@localhost;
-revoke UPDATE on priv_db.* from test_noprivs@localhost;
-show grants for test_noprivs;
-Grants for test_noprivs@%
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant UPDATE on priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-show grants;
-Grants for test_noprivs@localhost
-GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-create trigger trg4b_1 before UPDATE on t1 for each row
-set new.f1 = 'trig 3.5.3.7-1b';
-insert into t1 (f1) values ('insert 3.5.3.7-1b');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-update t1 set f1 = 'update 3.5.3.7-1b' where f1 = 'insert 3.5.3.7-1b';
-ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-drop trigger trg4b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-use priv_db;
-create trigger trg4b_2 before UPDATE on t1 for each row
-set new.f1 = 'trig 3.5.3.7-2b';
-insert into t1 (f1) values ('insert 3.5.3.7-2b');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-insert 3.5.3.7-2b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-update t1 set f1 = 'update 3.5.3.7-2b' where f1 = 'insert 3.5.3.7-2b';
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-trig 3.5.3.7-2b
-drop trigger trg4b_2;
-
-Testcase 3.5.3.7c
------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant TRIGGER on *.* to test_noprivs@localhost;
-grant ALL on priv_db.t1 to test_noprivs@localhost;
-revoke UPDATE on priv_db.t1 from test_noprivs@localhost;
-show grants for test_noprivs;
-Grants for test_noprivs@%
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant UPDATE on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-show grants;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-create trigger trg4c_1 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.7-1c';
-insert into t1 (f1) values ('insert 3.5.3.7-1c');
-ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-trig 3.5.3.7-2b
-drop trigger trg4c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-use priv_db;
-create trigger trg4c_2 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.7-2c';
-insert into t1 (f1) values ('insert 3.5.3.7-2c');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-trig 3.5.3.7-2b
-trig 3.5.3.7-2c
-drop trigger trg4c_2;
-
-Testcase 3.5.3.7d:
-------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant TRIGGER on *.* to test_noprivs@localhost;
-grant SELECT (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost;
-show grants for test_noprivs;
-Grants for test_noprivs@%
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'%'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant UPDATE (f1) on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_noprivs;
-Grants for test_noprivs@%
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'%'
-show grants;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT (f1), INSERT (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-create trigger trg4d_1 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.7-1d';
-insert into t1 (f1) values ('insert 3.5.3.7-1d');
-ERROR 42000: UPDATE command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-trig 3.5.3.7-2b
-trig 3.5.3.7-2c
-drop trigger trg4d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT UPDATE (f1) ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-use priv_db;
-create trigger trg4d_2 before INSERT on t1 for each row
-set new.f1 = 'trig 3.5.3.7-2d';
-insert into t1 (f1) values ('insert 3.5.3.7-2d');
-select f1 from t1 order by f1;
-f1
-insert 3.5.3.2-no
-insert 3.5.3.6-no
-insert 3.5.3.7-1b
-trig 3.5.3.2_2-yes
-trig 3.5.3.2_2-yes
-trig 3.5.3.7-2a
-trig 3.5.3.7-2b
-trig 3.5.3.7-2c
-trig 3.5.3.7-2d
-drop trigger trg4d_2;
-
-Testcase 3.5.3.8a:
-------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant ALL on *.* to test_noprivs@localhost;
-revoke SELECT on *.* from test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER, SELECT on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT SELECT, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-show grants;
-Grants for test_noprivs@localhost
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-create trigger trg5a_1 before INSERT on t1 for each row
-set @test_var = new.f1;
-set @test_var = 'before trig 3.5.3.8-1a';
-select @test_var;
-@test_var
-before trig 3.5.3.8-1a
-insert into t1 (f1) values ('insert 3.5.3.8-1a');
-ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select @test_var;
-@test_var
-before trig 3.5.3.8-1a
-drop trigger trg5a_1;
-use priv_db;
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants;
-Grants for test_yesprivs@localhost
-GRANT SELECT, TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-create trigger trg5a_2 before INSERT on t1 for each row
-set @test_var= new.f1;
-set @test_var= 'before trig 3.5.3.8-2a';
-select @test_var;
-@test_var
-before trig 3.5.3.8-2a
-insert into t1 (f1) values ('insert 3.5.3.8-2a');
-select @test_var;
-@test_var
-insert 3.5.3.8-2a
-drop trigger trg5a_2;
-
-Testcase: 3.5.3.8b
-------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant TRIGGER on *.* to test_noprivs@localhost;
-grant ALL on priv_db.* to test_noprivs@localhost;
-revoke SELECT on priv_db.* from test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `priv_db`.* TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant SELECT on priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-show grants;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `priv_db`.* TO 'test_noprivs'@'localhost'
-use priv_db;
-create trigger trg5b_1 before UPDATE on t1 for each row
-set @test_var= new.f1;
-set @test_var= 'before trig 3.5.3.8-1b';
-insert into t1 (f1) values ('insert 3.5.3.8-1b');
-select @test_var;
-@test_var
-before trig 3.5.3.8-1b
-update t1 set f1= 'update 3.5.3.8-1b' where f1 = 'insert 3.5.3.8-1b';
-ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select @test_var;
-@test_var
-before trig 3.5.3.8-1b
-drop trigger trg5b_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-use priv_db;
-create trigger trg5b_2 before UPDATE on t1 for each row
-set @test_var= new.f1;
-set @test_var= 'before trig 3.5.3.8-2b';
-insert into t1 (f1) values ('insert 3.5.3.8-2b');
-select @test_var;
-@test_var
-before trig 3.5.3.8-2b
-update t1 set f1= 'update 3.5.3.8-2b' where f1 = 'insert 3.5.3.8-2b';
-select @test_var;
-@test_var
-update 3.5.3.8-2b
-drop trigger trg5b_2;
-
-Testcase 3.5.3.8c:
-------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant TRIGGER on *.* to test_noprivs@localhost;
-grant ALL on priv_db.t1 to test_noprivs@localhost;
-revoke SELECT on priv_db.t1 from test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant SELECT on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-show grants;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-create trigger trg5c_1 before INSERT on t1 for each row
-set @test_var= new.f1;
-set @test_var= 'before trig 3.5.3.8-1c';
-insert into t1 (f1) values ('insert 3.5.3.8-1c');
-ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select @test_var;
-@test_var
-before trig 3.5.3.8-1c
-drop trigger trg5c_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-use priv_db;
-create trigger trg5c_2 before INSERT on t1 for each row
-set @test_var= new.f1;
-set @test_var='before trig 3.5.3.8-2c';
-insert into t1 (f1) values ('insert 3.5.3.8-2c');
-select @test_var;
-@test_var
-insert 3.5.3.8-2c
-drop trigger trg5c_2;
-
-Testcase: 3.5.3.8d:
--------------------
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant TRIGGER on *.* to test_noprivs@localhost;
-grant UPDATE (f1), INSERT (f1) on priv_db.t1 to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant SELECT (f1) on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-show grants;
-Grants for test_noprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT INSERT (f1), UPDATE (f1) ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-use priv_db;
-create trigger trg5d_1 before INSERT on t1 for each row
-set @test_var= new.f1;
-set @test_var='before trig 3.5.3.8-1d';
-insert into t1 (f1) values ('insert 3.5.3.8-1d');
-ERROR 42000: SELECT command denied to user 'test_noprivs'@'localhost' for column 'f1' in table 't1'
-select @test_var;
-@test_var
-before trig 3.5.3.8-1d
-drop trigger trg5d_1;
-show grants;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT (f1) ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-use priv_db;
-create trigger trg5d_2 before INSERT on t1 for each row
-set @test_var= new.f1;
-set @test_var='before trig 3.5.3.8-2d';
-insert into t1 (f1) values ('insert 3.5.3.8-2d');
-select @test_var;
-@test_var
-insert 3.5.3.8-2d
-drop trigger trg5d_2;
-
-Testcase: 3.5.3.x:
-------------------
-use priv_db;
-drop table if exists t1;
-drop table if exists t2;
-create table t1 (f1 int) engine= <engine_to_be_used>;
-create table t2 (f2 int) engine= <engine_to_be_used>;
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on *.* to test_yesprivs@localhost;
-grant SELECT, UPDATE on priv_db.t1 to test_yesprivs@localhost;
-grant SELECT on priv_db.t2 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT TRIGGER ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.`t2` TO 'test_yesprivs'@'localhost'
-GRANT SELECT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-create trigger trg1 before insert on t1 for each row
-insert into t2 values (new.f1);
-use priv_db;
-insert into t1 (f1) values (4);
-ERROR 42000: INSERT command denied to user 'test_yesprivs'@'localhost' for table 't2'
-revoke SELECT on priv_db.t2 from test_yesprivs@localhost;
-grant INSERT on priv_db.t2 to test_yesprivs@localhost;
-insert into t1 (f1) values (4);
-select f1 from t1 order by f1;
-f1
-4
-select f2 from t2 order by f2;
-f2
-4
-use priv_db;
-drop trigger trg1;
-create trigger trg2 before insert on t1 for each row
-update t2 set f2=new.f1-1;
-use priv_db;
-insert into t1 (f1) values (2);
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for table 't2'
-revoke INSERT on priv_db.t2 from test_yesprivs@localhost;
-grant UPDATE on priv_db.t2 to test_yesprivs@localhost;
-insert into t1 (f1) values (2);
-select f1 from t1 order by f1;
-f1
-2
-4
-select f2 from t2 order by f2;
-f2
-1
-use priv_db;
-drop trigger trg2;
-create trigger trg3 before insert on t1 for each row
-select f2 into @aaa from t2 where f2=new.f1;
-use priv_db;
-insert into t1 (f1) values (1);
-ERROR 42000: SELECT command denied to user 'test_yesprivs'@'localhost' for table 't2'
-revoke UPDATE on priv_db.t2 from test_yesprivs@localhost;
-grant SELECT on priv_db.t2 to test_yesprivs@localhost;
-insert into t1 (f1) values (1);
-select f1 from t1 order by f1;
-f1
-1
-2
-4
-select f2 from t2 order by f2;
-f2
-1
-select @aaa;
-@aaa
-1
-use priv_db;
-drop trigger trg3;
-create trigger trg4 before insert on t1 for each row
-delete from t2;
-use priv_db;
-insert into t1 (f1) values (1);
-ERROR 42000: DELETE command denied to user 'test_yesprivs'@'localhost' for table 't2'
-revoke SELECT on priv_db.t2 from test_yesprivs@localhost;
-grant DELETE on priv_db.t2 to test_yesprivs@localhost;
-insert into t1 (f1) values (1);
-select f1 from t1 order by f1;
-f1
-1
-1
-2
-4
-select f2 from t2 order by f2;
-f2
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-drop user test_noprivs;
-use test;
-drop table tb3;
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_03e.result b/mysql-test/suite/funcs_1/r/ndb_trig_03e.result
deleted file mode 100644
index 91bd22d3c06..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_03e.result
+++ /dev/null
@@ -1,1620 +0,0 @@
-USE test;
-
-Testcase for db level:
-----------------------
-drop database if exists priv_db;
-drop database if exists no_priv_db;
-create database priv_db;
-create database no_priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant select on priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-create User test_noprivs@localhost;
-set password for test_noprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant select,insert on priv_db.* to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT ON `priv_db`.* TO 'test_noprivs'@'localhost'
-
-no trigger privilege on db level for create:
---------------------------------------------
-use priv_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-
-trigger privilege on db level for create:
------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't1'
-select f1 from t1 order by f1;
-f1
-insert-yes
-select current_user;
-current_user
-root@localhost
-grant UPDATE on priv_db.* to test_yesprivs@localhost;
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_2-yes
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_2-yes
-trig 1_2-yes
-select current_user;
-current_user
-root@localhost
-revoke TRIGGER on priv_db.* from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, UPDATE ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-
-no trigger privilege on db level for drop:
-------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-drop trigger trg1_2;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-
-no trigger privilege at activation time:
-----------------------------------------
-insert into t1 (f1) values ('insert-yes');
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_2-yes
-trig 1_2-yes
-
-trigger privilege at activation time:
--------------------------------------
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.* to test_yesprivs@localhost;
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-
-trigger privilege on db level for drop:
----------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, UPDATE, TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-drop trigger trg1_2;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-
-takes effect after use priv_db:
--------------------------------
-use priv_db;
-drop trigger trg1_2;
-select current_user;
-current_user
-root@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-insert-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-
-switch to db without having trigger priv for it:
-------------------------------------------------
-use no_priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-grant SELECT,UPDATE on no_priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, UPDATE, TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-GRANT SELECT, UPDATE ON `no_priv_db`.* TO 'test_yesprivs'@'localhost'
-
-use db with trigger privilege on db level and without...:
----------------------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-use no_priv_db;
-create trigger trg1_3 before INSERT on t1 for each row
-set new.f1 = 'trig 1_3-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-use priv_db;
-create trigger trg1_3 before INSERT on t1 for each row
-set new.f1 = 'trig 1_3-yes';
-use no_priv_db;
-create trigger trg1_4 before UPDATE on t1 for each row
-set new.f1 = 'trig 1_4-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-use priv_db;
-create trigger trg1_4 before UPDATE on t1 for each row
-set new.f1 = 'trig 1_4-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use no_priv_db;
-ERROR 42000: Access denied for user 'test_noprivs'@'localhost' to database 'no_priv_db'
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-insert-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_3-yes
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-insert-yes
-insert-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_3-yes
-trig 1_3-yes
-select current_user;
-current_user
-test_yesprivs@localhost
-use no_priv_db;
-drop trigger trg1_3;
-ERROR HY000: Trigger does not exist
-use priv_db;
-drop trigger trg1_3;
-use no_priv_db;
-drop trigger trg1_4;
-ERROR HY000: Trigger does not exist
-use priv_db;
-drop trigger trg1_4;
-select current_user;
-current_user
-root@localhost
-drop table priv_db.t1;
-drop table no_priv_db.t1;
-drop database if exists priv_db;
-drop database if exists no_priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-
-######### Testcase for table level: ########
----------------------------------------------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-create User test_noprivs@localhost;
-set password for test_noprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-
-no trigger privilege on table level for create:
------------------------------------------------
-select current_user;
-current_user
-root@localhost
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-grant select, insert, update on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-grant select, update, insert on priv_db.t1 to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-show tables;
-Tables_in_priv_db
-t1
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert1-yes');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-select current_user;
-current_user
-root@localhost
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-show tables;
-Tables_in_priv_db
-t1
-insert into t1 (f1) values ('insert2-yes');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-grant TRIGGER on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-
-trigger privilege on table level for create:
---------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-insert into t1 (f1) values ('insert3-no');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-trig 1_2-yes
-select current_user;
-current_user
-root@localhost
-insert into t1 (f1) values ('insert4-no');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-trig 1_2-yes
-trig 1_2-yes
-revoke TRIGGER on priv_db.t1 from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-
-no trigger privilege on table level for drop:
----------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-drop trigger trg1_2;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-
-no trigger privilege at activation time:
-----------------------------------------
-select current_user;
-current_user
-test_noprivs@localhost
-insert into t1 (f1) values ('insert5-no');
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-trig 1_2-yes
-trig 1_2-yes
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.t1 to test_yesprivs@localhost;
-
-trigger privilege at activation time:
--------------------------------------
-select current_user;
-current_user
-test_noprivs@localhost
-insert into t1 (f1) values ('insert6-no');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-
-trigger privilege on table level for drop:
-------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-drop trigger trg1_2;
-select current_user;
-current_user
-test_noprivs@localhost
-insert into t1 (f1) values ('insert7-yes');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-insert7-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-select current_user;
-current_user
-root@localhost
-insert into t1 (f1) values ('insert8-yes');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-insert7-yes
-insert8-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-
-switch to table without having trigger priv for it:
----------------------------------------------------
-create table t2 (f1 char(20)) engine= ndb;
-grant SELECT, INSERT, UPDATE on priv_db.t2 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t2` TO 'test_yesprivs'@'localhost'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-grant SELECT, INSERT, UPDATE on priv_db.t2 to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_noprivs'@'localhost'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t2` TO 'test_noprivs'@'localhost'
-
-use table with trigger privilege and without...:
-------------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-create trigger trg2_1 before INSERT on t2 for each row
-set new.f1 = 'trig 2_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't2'
-create trigger trg1_3 before INSERT on t1 for each row
-set new.f1 = 'trig 1_3-yes';
-create trigger trg2_2 before UPDATE on t2 for each row
-set new.f1 = 'trig 2_2-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't2'
-create trigger trg1_4 before UPDATE on t1 for each row
-set new.f1 = 'trig 1_4-yes';
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1_3 INSERT t1 set new.f1 = 'trig 1_3-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-trg1_4 UPDATE t1 set new.f1 = 'trig 1_4-yes' BEFORE NULL test_yesprivs@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-select current_user;
-current_user
-test_noprivs@localhost
-insert into t2 (f1) values ('insert9-yes');
-select f1 from t2 order by f1;
-f1
-insert9-yes
-insert into t1 (f1) values ('insert10-no');
-select f1 from t1 order by f1;
-f1
-insert1-yes
-insert2-yes
-insert7-yes
-insert8-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_3-yes
-select current_user;
-current_user
-test_yesprivs@localhost
-drop trigger trg2_1;
-ERROR HY000: Trigger does not exist
-drop trigger trg1_3;
-drop trigger trg2_2;
-ERROR HY000: Trigger does not exist
-drop trigger trg1_4;
-select current_user;
-current_user
-root@localhost
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-
-#### Testcase for mix of user(global) and db level: ####
---------------------------------------------------------
-drop database if exists priv_db;
-drop database if exists no_priv_db;
-create database priv_db;
-create database no_priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-use no_priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant ALL on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-create User test_noprivs@localhost;
-set password for test_noprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant SELECT,INSERT on *.* to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT SELECT, INSERT ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select current_user;
-current_user
-test_yesprivs@localhost
-
-trigger privilege on user level for create:
--------------------------------------------
-use priv_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-yes';
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-use no_priv_db;
-create trigger priv_db.trg1_5 before UPDATE on priv_db.t1
-for each row
-set new.f1 = 'trig 1_5-yes';
-insert into priv_db.t1 (f1) values ('insert-no');
-select f1 from priv_db.t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-drop trigger priv_db.trg1_5;
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-root@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-revoke TRIGGER on *.* from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, CREATE TABLESPACE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-select * from information_schema.triggers;
-TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
-drop trigger trg1_1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-root@localhost
-show grants;
-Grants for root@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-drop trigger trg1_1;
-use priv_db;
-
-no trigger privilege on db level for create:
---------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, CREATE TABLESPACE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-
-trigger privilege on db level for create:
------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-create trigger no_priv_db.trg1_9 before insert on no_priv_db.t1
-for each row
-set new.f1 = 'trig 1_9-yes';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-use no_priv_db;
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-create trigger priv_db.trg1_9 before UPDATE on priv_db.t1
-for each row
-set new.f1 = 'trig 1_9-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-use no_priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-drop trigger priv_db.trg1_9;
-ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-root@localhost
-drop trigger priv_db.trg1_9;
-revoke TRIGGER on priv_db.* from test_yesprivs@localhost;
-use priv_db;
-insert into t1 (f1) values ('insert-yes');
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-grant TRIGGER on *.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-select current_user;
-current_user
-test_yesprivs@localhost
-use no_priv_db;
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-trig 1_2-yes
-use no_priv_db;
-insert into t1 (f1) values ('insert-yes');
-select f1 from t1 order by f1;
-f1
-insert-yes
-insert-yes
-select current_user;
-current_user
-test_yesprivs@localhost
-use no_priv_db;
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-insert-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-use no_priv_db;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-insert-yes
-insert-yes
-trig 1_2-yes
-select current_user;
-current_user
-root@localhost
-drop database if exists priv_db;
-drop database if exists no_priv_db;
-drop database if exists h1;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-
-####### Testcase for mix of db and table level: #######
--------------------------------------------------------
-drop database if exists priv1_db;
-drop database if exists priv2_db;
-create database priv1_db;
-create database priv2_db;
-use priv1_db;
-create table t1 (f1 char(20)) engine= ndb;
-create table t2 (f1 char(20)) engine= ndb;
-use priv2_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant ALL on priv1_db.* to test_yesprivs@localhost;
-grant SELECT,UPDATE on priv2_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT ALL PRIVILEGES ON `priv1_db`.* TO 'test_yesprivs'@'localhost'
-GRANT SELECT, UPDATE ON `priv2_db`.* TO 'test_yesprivs'@'localhost'
-create User test_noprivs@localhost;
-set password for test_noprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant SELECT,INSERT,UPDATE on priv1_db.* to test_noprivs@localhost;
-grant SELECT,INSERT on priv2_db.* to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv1_db`.* TO 'test_noprivs'@'localhost'
-GRANT SELECT, INSERT ON `priv2_db`.* TO 'test_noprivs'@'localhost'
-use priv1_db;
-use priv1_db;
-
-trigger privilege on one db1 db level, not on db2
--------------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv1_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-yes';
-create trigger trg2_1 before INSERT on t2 for each row
-set new.f1 = 'trig 2_1-yes';
-use priv2_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig1_1-yes';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-test_noprivs@localhost
-insert into t1 (f1) values ('insert1_no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-insert into t2 (f1) values ('insert1_no');
-select f1 from t2 order by f1;
-f1
-trig 2_1-yes
-insert into priv2_db.t1 (f1) values ('insert21-yes');
-select f1 from priv2_db.t1 order by f1;
-f1
-insert21-yes
-use priv2_db;
-insert into t1 (f1) values ('insert1_yes');
-select f1 from t1 order by f1;
-f1
-insert1_yes
-insert21-yes
-insert into priv1_db.t1 (f1) values ('insert11-no');
-select f1 from priv1_db.t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-insert into priv1_db.t2 (f1) values ('insert22-no');
-select f1 from priv1_db.t2 order by f1;
-f1
-trig 2_1-yes
-trig 2_1-yes
-
-revoke trigger privilege on table level (not existing)
-------------------------------------------------------
-select current_user;
-current_user
-root@localhost
-use priv1_db;
-revoke TRIGGER on priv1_db.t1 from test_yesprivs@localhost;
-ERROR 42000: There is no such grant defined for user 'test_yesprivs' on host 'localhost' on table 't1'
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT ALL PRIVILEGES ON `priv1_db`.* TO 'test_yesprivs'@'localhost'
-GRANT SELECT, UPDATE ON `priv2_db`.* TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-drop trigger trg1_1;
-ERROR HY000: Trigger does not exist
-drop trigger trg2_1;
-ERROR HY000: Trigger does not exist
-use priv1_db;
-drop trigger trg1_1;
-drop trigger trg2_1;
-select current_user;
-current_user
-root@localhost
-use priv1_db;
-revoke TRIGGER on priv1_db.* from test_yesprivs@localhost;
-
-no trigger privilege on table level for create:
------------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv1_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-root@localhost
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-grant TRIGGER on priv1_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT ON `priv1_db`.* TO 'test_yesprivs'@'localhost'
-GRANT SELECT, UPDATE ON `priv2_db`.* TO 'test_yesprivs'@'localhost'
-GRANT TRIGGER ON `priv1_db`.`t1` TO 'test_yesprivs'@'localhost'
-
-trigger privilege on table level for create:
---------------------------------------------
-select current_user;
-current_user
-test_yesprivs@localhost
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-create trigger trg1_2 before INSERT on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-create trigger trg2_1 before INSERT on t2 for each row
-set new.f1 = 'trig 2_1-no';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't2'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv1_db;
-insert into t1 (f1) values ('insert2-no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-insert into t2 (f1) values ('insert2-yes');
-select f1 from t2 order by f1;
-f1
-insert2-yes
-trig 2_1-yes
-trig 2_1-yes
-insert into priv2_db.t1 (f1) values ('insert22-yes');
-select f1 from priv2_db.t1 order by f1;
-f1
-insert1_yes
-insert21-yes
-insert22-yes
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv1_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT ALL PRIVILEGES ON `priv1_db`.* TO 'test_yesprivs'@'localhost'
-GRANT SELECT, UPDATE ON `priv2_db`.* TO 'test_yesprivs'@'localhost'
-GRANT TRIGGER ON `priv1_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-create trigger trg2_1 before INSERT on t2 for each row
-set new.f1 = 'trig 2_1-yes';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't2'
-use priv1_db;
-create trigger trg2_1 before INSERT on t2 for each row
-set new.f1 = 'trig 2_1-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use priv1_db;
-insert into t1 (f1) values ('insert3-no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-trig 1_2-yes
-insert into t2 (f1) values ('insert3-no');
-select f1 from t2 order by f1;
-f1
-insert2-yes
-trig 2_1-yes
-trig 2_1-yes
-trig 2_1-yes
-use priv2_db;
-insert into priv1_db.t1 (f1) values ('insert12-no');
-select f1 from priv1_db.t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_2-yes
-trig 1_2-yes
-trig 1_2-yes
-insert into priv1_db.t2 (f1) values ('insert23-no');
-select f1 from priv1_db.t2 order by f1;
-f1
-insert2-yes
-trig 2_1-yes
-trig 2_1-yes
-trig 2_1-yes
-trig 2_1-yes
-select current_user;
-current_user
-test_yesprivs@localhost
-drop trigger trg1_2;
-drop trigger trg2_1;
-select current_user;
-current_user
-root@localhost
-drop database if exists priv1_db;
-drop database if exists priv2_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
-
-#### Testcase for trigger privilege on execution time ########
---------------------------------------------------------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-create User test_useprivs@localhost;
-set password for test_useprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_useprivs@localhost;
-select current_user;
-current_user
-root@localhost
-show triggers;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-grant select, insert, update ,trigger
-on priv_db.t1 to test_yesprivs@localhost
-with grant option;
-grant select
-on priv_db.t1 to test_useprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-create trigger trg1_1 before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-yes';
-grant insert on t1 to test_useprivs@localhost;
-prepare ins1 from 'insert into t1 (f1) values (''insert1-no'')';
-execute ins1;
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-prepare ins1 from 'insert into t1 (f1) values (''insert2-no'')';
-select current_user;
-current_user
-test_useprivs@localhost
-use priv_db;
-prepare ins1 from 'insert into t1 (f1) values (''insert3-no'')';
-execute ins1;
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-root@localhost
-revoke TRIGGER on priv_db.t1 from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-execute ins1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-prepare ins1 from 'insert into t1 (f1) values (''insert4-no'')';
-select current_user;
-current_user
-test_useprivs@localhost
-prepare ins1 from 'insert into t1 (f1) values (''insert5-no'')';
-execute ins1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-execute ins1;
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-prepare ins1 from 'insert into t1 (f1) values (''insert6-no'')';
-select current_user;
-current_user
-test_useprivs@localhost
-execute ins1;
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-prepare ins1 from 'insert into t1 (f1) values (''insert7-no'')';
-select current_user;
-current_user
-root@localhost
-revoke TRIGGER on priv_db.t1 from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-execute ins1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-test_useprivs@localhost
-execute ins1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-execute ins1;
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-test_useprivs@localhost
-execute ins1;
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select current_user;
-current_user
-root@localhost
-revoke TRIGGER on priv_db.t1 from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-execute ins1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-deallocate prepare ins1;
-select current_user;
-current_user
-test_useprivs@localhost
-execute ins1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-deallocate prepare ins1;
-select current_user;
-current_user
-root@localhost
-grant TRIGGER on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-select current_user;
-current_user
-test_yesprivs@localhost
-drop trigger trg1_1;
-select current_user;
-current_user
-root@localhost
-select current_user;
-current_user
-root@localhost
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_useprivs@localhost;
-
-######### Testcase for definer: ########
------------------------------------------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-select current_user;
-current_user
-root@localhost
-create definer=not_ex_user@localhost trigger trg1_0
-before INSERT on t1 for each row
-set new.f1 = 'trig 1_0-yes';
-Warnings:
-Note 1449 The user specified as a definer ('not_ex_user'@'localhost') does not exist
-drop trigger trg1_0;
-create definer=test_yesprivs@localhost trigger trg1_0
-before INSERT on t1 for each row
-set new.f1 = 'trig 1_0-yes';
-grant select, insert, update
-on priv_db.t1 to test_yesprivs@localhost;
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert-no');
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f1 from t1 order by f1;
-f1
-drop trigger trg1_0;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select current_user;
-current_user
-root@localhost
-grant select, insert, update ,trigger
-on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-trig 1_0-yes
-drop trigger trg1_0;
-create definer=not_ex_user@localhost trigger trg1_0
-before INSERT on t1 for each row
-set new.f1 = 'trig 1_0-yes';
-ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
-create definer=current_user trigger trg1_1
-before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-yes';
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-trig 1_0-yes
-trig 1_1-yes
-create definer=test_yesprivs@localhost trigger trg1_2
-before UPDATE on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-update t1 set f1 = 'update-yes' where f1 like '%trig%';
-select f1 from t1 order by f1;
-f1
-trig 1_2-yes
-trig 1_2-yes
-select current_user;
-current_user
-root@localhost
-grant trigger on priv_db.* to test_yesprivs@localhost
-with grant option;
-select current_user;
-current_user
-test_yesprivs@localhost
-show grants;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost' WITH GRANT OPTION
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-create definer=not_ex_user@localhost trigger trg1_3
-after UPDATE on t1 for each row
-set @var1 = 'trig 1_3-yes';
-ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
-select current_user;
-current_user
-root@localhost
-select current_user;
-current_user
-root@localhost
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-
-######### Testcase for transactions: ########
-----------------------------------------------------
-drop database if exists priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-select current_user;
-current_user
-root@localhost
-grant select, insert, update ,trigger
-on priv_db.t1 to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, INSERT, UPDATE, TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-set autocommit=0;
-create definer=current_user trigger trg1_1
-before INSERT on t1 for each row
-set new.f1 = 'trig 1_1-yes';
-rollback work;
-insert into t1 (f1) values ('insert-no');
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-create definer=test_yesprivs@localhost trigger trg1_2
-before UPDATE on t1 for each row
-set new.f1 = 'trig 1_2-yes';
-commit work;
-update t1 set f1 = 'update-yes' where f1 like '%trig%';
-select f1 from t1 order by f1;
-f1
-trig 1_2-yes
-commit work;
-drop trigger trg1_1;
-rollback work;
-drop trigger trg1_1;
-ERROR HY000: Trigger does not exist
-drop trigger trg1_2;
-commit work;
-set autocommit=1;
-select current_user;
-current_user
-root@localhost
-select current_user;
-current_user
-root@localhost
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-
-####### Testcase for column privileges of triggers: #######
------------------------------------------------------------
-drop database if exists priv_db;
-drop database if exists no_priv_db;
-create database priv_db;
-use priv_db;
-create table t1 (f1 char(20)) engine= ndb;
-create table t2 (f1 char(20)) engine= ndb;
-create User test_yesprivs@localhost;
-set password for test_yesprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
-grant TRIGGER on priv_db.* to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-create User test_noprivs@localhost;
-set password for test_noprivs@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost;
-grant SELECT,UPDATE on priv_db.* to test_noprivs@localhost;
-show grants for test_noprivs@localhost;
-Grants for test_noprivs@localhost
-GRANT USAGE ON *.* TO 'test_noprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT, UPDATE ON `priv_db`.* TO 'test_noprivs'@'localhost'
-
-update only on column:
-----------------------
-select current_user;
-current_user
-root@localhost
-grant SELECT(f1),INSERT,UPDATE(f1) on priv_db.t1
-to test_yesprivs@localhost;
-grant SELECT(f1),INSERT,UPDATE(f1) on priv_db.t2
-to test_yesprivs@localhost;
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert1-yes');
-insert into t2 (f1) values ('insert1-yes');
-create trigger trg1_1 before UPDATE on t1 for each row
-set new.f1 = 'trig 1_1-yes';
-create trigger trg2_1 before UPDATE on t2 for each row
-set new.f1 = 'trig 2_1-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-select f1 from t1 order by f1;
-f1
-insert1-yes
-update t1 set f1 = 'update1_no'
- where f1 like '%insert%';
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-select f1 from t2 order by f1;
-f1
-insert1-yes
-update t2 set f1 = 'update1_no'
- where f1 like '%insert%';
-select f1 from t2 order by f1;
-f1
-trig 2_1-yes
-select current_user;
-current_user
-root@localhost
-revoke UPDATE on priv_db.*
-from test_yesprivs@localhost;
-revoke UPDATE(f1) on priv_db.t2
-from test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT TRIGGER ON `priv_db`.* TO 'test_yesprivs'@'localhost'
-GRANT SELECT (f1), INSERT ON `priv_db`.`t2` TO 'test_yesprivs'@'localhost'
-GRANT SELECT (f1), INSERT, UPDATE (f1) ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-insert into t1 (f1) values ('insert2-yes');
-insert into t2 (f1) values ('insert2-yes');
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-update t1 set f1 = 'update2_no'
- where f1 like '%insert%';
-update t2 set f1 = 'update2_no'
- where f1 like '%insert%';
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't2'
-update t1 set f1 = 'update3_no'
- where f1 like '%insert%';
-update t2 set f1 = 'update3_no'
- where f1 like '%insert%';
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't2'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-select f1 from t2 order by f1;
-f1
-insert2-yes
-trig 2_1-yes
-
-check if access only on one of three columns
---------------------------------------------
-select current_user;
-current_user
-root@localhost
-alter table priv_db.t1 add f2 char(20), add f3 int;
-revoke TRIGGER on priv_db.* from test_yesprivs@localhost;
-grant TRIGGER,SELECT on priv_db.t1 to test_yesprivs@localhost;
-grant UPDATE on priv_db.t2 to test_yesprivs@localhost;
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-insert into t1 values ('insert2-yes','insert2-yes',1);
-insert into t1 values ('insert3-yes','insert3-yes',2);
-select * from t1 order by f1;
-f1 f2 f3
-insert2-yes insert2-yes 1
-insert3-yes insert3-yes 2
-trig 1_1-yes NULL NULL
-trig 1_1-yes NULL NULL
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-update t1 set f1 = 'update4-no',
-f2 = 'update4-yes',
-f3 = f3*10
-where f2 like '%yes';
-select * from t1 order by f1,f2,f3;
-f1 f2 f3
-trig 1_1-yes NULL NULL
-trig 1_1-yes NULL NULL
-trig 1_1-yes update4-yes 10
-trig 1_1-yes update4-yes 20
-select current_user;
-current_user
-test_yesprivs@localhost
-create trigger trg1_2 after UPDATE on t1 for each row
-set @f2 = 'trig 1_2-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-update t1 set f1 = 'update5-yes',
-f2 = 'update5-yes'
- where f2 like '%yes';
-select * from t1 order by f1,f2,f3;
-f1 f2 f3
-trig 1_1-yes NULL NULL
-trig 1_1-yes NULL NULL
-trig 1_1-yes update5-yes 10
-trig 1_1-yes update5-yes 20
-select @f2;
-@f2
-trig 1_2-yes
-update t1 set f1 = 'update6_no'
- where f1 like '%insert%';
-update t2 set f1 = 'update6_no'
- where f1 like '%insert%';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't2'
-update t1 set f1 = 'update7_no'
- where f1 like '%insert%';
-update t2 set f1 = 'update7_no'
- where f1 like '%insert%';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't2'
-select f1 from t1 order by f1;
-f1
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-trig 1_1-yes
-select f1 from t2 order by f1;
-f1
-insert2-yes
-trig 2_1-yes
-
-check if rejected without trigger privilege:
---------------------------------------------
-select current_user;
-current_user
-root@localhost
-revoke TRIGGER on priv_db.t1 from test_yesprivs@localhost;
-select current_user;
-current_user
-test_noprivs@localhost
-update t1 set f1 = 'update8-no',
-f2 = 'update8-no'
- where f2 like '%yes';
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select * from t1 order by f1,f2,f3;
-f1 f2 f3
-trig 1_1-yes NULL NULL
-trig 1_1-yes NULL NULL
-trig 1_1-yes update5-yes 10
-trig 1_1-yes update5-yes 20
-select @f2;
-@f2
-trig 1_2-yes
-
-check trigger, but not update privilege on column:
---------------------------------------------------
-select current_user;
-current_user
-root@localhost
-revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost;
-grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
-to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT (f1), INSERT, UPDATE ON `priv_db`.`t2` TO 'test_yesprivs'@'localhost'
-GRANT SELECT, SELECT (f1), INSERT, UPDATE (f3, f2), TRIGGER ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_yesprivs@localhost
-use priv_db;
-drop trigger trg1_1;
-create trigger trg1_3 before UPDATE on t1 for each row
-set new.f1 = 'trig 1_3-yes';
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-update t1 set f1 = 'update9-no',
-f2 = 'update9-no'
- where f2 like '%yes';
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't1'
-select * from t1 order by f1,f2,f3;
-f1 f2 f3
-trig 1_1-yes NULL NULL
-trig 1_1-yes NULL NULL
-trig 1_1-yes update5-yes 10
-trig 1_1-yes update5-yes 20
-update t1 set f3= f3+1;
-ERROR 42000: UPDATE command denied to user 'test_yesprivs'@'localhost' for column 'f1' in table 't1'
-select f3 from t1 order by f3;
-f3
-NULL
-NULL
-10
-20
-select current_user;
-current_user
-root@localhost
-revoke TRIGGER on priv_db.t1 from test_yesprivs@localhost;
-grant UPDATE(f1),UPDATE(f2),UPDATE(f3) on priv_db.t1
-to test_yesprivs@localhost;
-show grants for test_yesprivs@localhost;
-Grants for test_yesprivs@localhost
-GRANT USAGE ON *.* TO 'test_yesprivs'@'localhost' IDENTIFIED BY PASSWORD '*C49735D016A099C0CF104EF9183F374A54CA2576'
-GRANT SELECT (f1), INSERT, UPDATE ON `priv_db`.`t2` TO 'test_yesprivs'@'localhost'
-GRANT SELECT, SELECT (f1), INSERT, UPDATE (f3, f2, f1) ON `priv_db`.`t1` TO 'test_yesprivs'@'localhost'
-select current_user;
-current_user
-test_noprivs@localhost
-use priv_db;
-update t1 set f3= f3+1;
-ERROR 42000: TRIGGER command denied to user 'test_yesprivs'@'localhost' for table 't1'
-select f3 from t1 order by f3;
-f3
-NULL
-NULL
-10
-20
-
-##### trigger privilege on column level? #######
-------------------------------------------------
-grant TRIGGER(f1) on priv_db.t1 to test_yesprivs@localhost;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(f1) on priv_db.t1 to test_yesprivs@localhost' at line 1
-select current_user;
-current_user
-root@localhost
-drop database if exists priv_db;
-drop user test_yesprivs@localhost;
-drop user test_noprivs@localhost;
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result b/mysql-test/suite/funcs_1/r/ndb_trig_0407.result
deleted file mode 100644
index 8597f252e54..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result
+++ /dev/null
@@ -1,470 +0,0 @@
-USE test;
-drop table if exists tb3;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 char(50),
-f122 char(50),
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = <engine_to_be_used>;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-
-Testcase: 3.5:
---------------
-create User test_general@localhost;
-set password for test_general@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost;
-create User test_super@localhost;
-set password for test_super@localhost = password('PWD');
-grant ALL on *.* to test_super@localhost with grant OPTION;
-
-Testcase 3.5.4:
----------------
-use test;
-
-Testcase 3.5.4.1:
------------------
-create database db_drop;
-Use db_drop;
-create table t1 (f1 char(30)) engine = <engine_to_be_used>;
-grant INSERT, SELECT on db_drop.t1 to test_general;
-Use db_drop;
-Create trigger trg1 BEFORE INSERT on t1
-for each row set new.f1='Trigger 3.5.4.1';
-Use db_drop;
-Insert into t1 values ('Insert error 3.5.4.1');
-Select * from t1 order by f1;
-f1
-Trigger 3.5.4.1
-drop trigger trg1;
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers
-where trigger_schema = 'db_drop'
- order by trigger_name;
-trigger_schema trigger_name event_object_table
-Insert into t1 values ('Insert no trigger 3.5.4.1');
-Select * from t1 order by f1;
-f1
-Insert no trigger 3.5.4.1
-Trigger 3.5.4.1
-drop trigger trg1;
-drop database if exists db_drop;
-revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-
-Testcase 3.5.4.2:
------------------
-create database db_drop2;
-Use db_drop2;
-drop table if exists t1_432 ;
-create table t1_432 (f1 char (30)) engine = <engine_to_be_used>;
-Drop trigger tr_does_not_exit;
-ERROR HY000: Trigger does not exist
-drop table if exists t1_432 ;
-drop database if exists db_drop2;
-
-Testcase 3.5.4.3:
------------------
-create database db_drop3;
-Use db_drop3;
-drop table if exists t1_433 ;
-drop table if exists t1_433a ;
-create table t1_433 (f1 char (30)) engine = <engine_to_be_used>;
-create table t1_433a (f1a char (5)) engine = <engine_to_be_used>;
-CREATE TRIGGER trg3 BEFORE INSERT on t1_433 for each row
-set new.f1 = 'Trigger 3.5.4.3';
-Drop trigger t1.433.trg3;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.trg3' at line 1
-Drop trigger db_drop3.t1.433.trg3;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.433.trg3' at line 1
-Drop trigger mysql.trg3;
-ERROR HY000: Trigger does not exist
-Drop trigger tbx.trg3;
-ERROR HY000: Trigger does not exist
-Drop trigger db_drop3.trg3;
-drop table if exists t1_433;
-drop table if exists t1_433a;
-drop database if exists db_drop3;
-
-Testcase 3.5.4.4:
------------------
-create database db_drop4;
-Use db_drop4;
-create table t1 (f1 char(30)) engine = <engine_to_be_used>;
-grant INSERT, SELECT on db_drop4.t1 to test_general;
-Create trigger trg4 BEFORE INSERT on t1
-for each row set new.f1='Trigger 3.5.4.4';
-Use db_drop4;
-Insert into t1 values ('Insert 3.5.4.4');
-Select * from t1;
-f1
-Trigger 3.5.4.4
-Drop database db_drop4;
-Show databases like 'db_drop4';
-Database (db_drop4)
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers
-where information_schema.triggers.trigger_name='trg4';
-trigger_schema trigger_name event_object_table
-create database db_drop4;
-Use db_drop4;
-create table t1 (f1 char(30)) engine = <engine_to_be_used>;
-grant INSERT, SELECT on db_drop4.t1 to test_general;
-Insert into t1 values ('2nd Insert 3.5.4.4');
-Select * from t1;
-f1
-2nd Insert 3.5.4.4
-drop trigger trg4;
-ERROR HY000: Trigger does not exist
-drop database if exists db_drop4;
-revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-
-Testcase 3.5.4.5:
------------------
-create database db_drop5;
-Use db_drop5;
-create table t1 (f1 char(50)) engine = <engine_to_be_used>;
-grant INSERT, SELECT on t1 to test_general;
-Create trigger trg5 BEFORE INSERT on t1
-for each row set new.f1='Trigger 3.5.4.5';
-Use db_drop5;
-Insert into t1 values ('Insert 3.5.4.5');
-Select * from t1;
-f1
-Trigger 3.5.4.5
-Drop table t1;
-Show tables;
-Tables_in_db_drop5
-select trigger_schema, trigger_name, event_object_table
-from information_schema.triggers
-where information_schema.triggers.trigger_name='trg5';
-trigger_schema trigger_name event_object_table
-create table t1 (f1 char(50)) engine = <engine_to_be_used>;
-grant INSERT, SELECT on t1 to test_general;
-Insert into t1 values ('2nd Insert 3.5.4.5');
-Select * from t1;
-f1
-2nd Insert 3.5.4.5
-drop trigger trg5;
-ERROR HY000: Trigger does not exist
-drop database if exists db_drop5;
-revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-
-Testcase 3.5.5:
----------------
-use test;
-
-Testcase 3.5.5.1:
------------------
-Create trigger trg1 before INSERT on t100 for each row set new.f2=1000;
-ERROR 42S02: Table 'test.t100' doesn't exist
-
-Testcase 3.5.5.2:
------------------
-Create temporary table t1_temp (f1 bigint signed, f2 bigint unsigned);
-Create trigger trg2 before INSERT
-on t1_temp for each row set new.f2=9999;
-ERROR HY000: Trigger's 't1_temp' is view or temporary table
-drop table t1_temp;
-
-Testcase 3.5.5.3:
------------------
-Create view vw3 as select f118 from tb3;
-Create trigger trg3 before INSERT
-on vw3 for each row set new.f118='s';
-ERROR HY000: 'test.vw3' is not BASE TABLE
-drop view vw3;
-
-Testcase 3.5.5.4:
------------------
-create database dbtest_one;
-create database dbtest_two;
-use dbtest_two;
-create table t2 (f1 char(15)) engine = <engine_to_be_used>;
-use dbtest_one;
-create trigger trg4 before INSERT
-on dbtest_two.t2 for each row set new.f1='trig 3.5.5.4';
-ERROR HY000: Trigger in wrong schema
-grant INSERT, SELECT on dbtest_two.t2 to test_general;
-grant SELECT on dbtest_one.* to test_general;
-use dbtest_two;
-Insert into t2 values ('1st Insert 3.5.5.4');
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Select * from t2;
-f1
-1st Insert 3.5.
-use dbtest_one;
-Insert into dbtest_two.t2 values ('2nd Insert 3.5.5.4');
-Warnings:
-Warning 1265 Data truncated for column 'f1' at row 1
-Select * from dbtest_two.t2 order by f1;
-f1
-1st Insert 3.5.
-2nd Insert 3.5.
-revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-DROP DATABASE if exists dbtest_one;
-drop database if EXISTS dbtest_two;
-
-Testcase 3.5.6:
----------------
-use test;
-
-Testcase 3.5.6.1 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.6.2 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.6.3:
------------------
-Create trigger trg3_1 DURING UPDATE on tb3 for each row set new.f132=25;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DURING UPDATE on tb3 for each row set new.f132=25' at line 1
-Create trigger trg3_2 TIME INSERT on tb3 for each row set new.f132=15;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TIME INSERT on tb3 for each row set new.f132=15' at line 1
-drop trigger tb3.trg3_1;
-drop trigger tb3.trg3_2;
-
-Testcase 3.5.6.4 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.6.5 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.7.1 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.7.2 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.7.3 (see Testcase 3.5.1.1)
----------------------------------------
-
-Testcase 3.5.7.4:
------------------
-Create trigger trg4_1 BEFORE SELECT on tb3 for each row set new.f132=5;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT on tb3 for each row set new.f132=5' at line 1
-Create trigger trg4_2 AFTER VALUE on tb3 for each row set new.f132=1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUE on tb3 for each row set new.f132=1' at line 1
-drop trigger tb3.trg4_1;
-drop trigger tb3.trg4_2;
-
-Testcase 3.5.7.5 / 3.5.7.6:
----------------------------
-Create trigger trg5_1 BEFORE INSERT
-on tb3 for each row set new.f122='Trigger1 3.5.7.5/6';
-Create trigger trg5_2 BEFORE INSERT
-on tb3 for each row set new.f122='Trigger2 3.5.7.5';
-ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
-Insert into tb3 (f121,f122) values ('Test 3.5.7.5/6','Insert 3.5.7.5');
-Select f121,f122 from tb3 where f121='Test 3.5.7.5/6';
-f121 f122
-Test 3.5.7.5/6 Trigger1 3.5.7.5/6
-update tb3 set f122='Update 3.5.7.6' where f121= 'Test 3.5.7.5/6';
-Select f121,f122 from tb3 where f121='Test 3.5.7.5/6';
-f121 f122
-Test 3.5.7.5/6 Update 3.5.7.6
-drop trigger trg5_1;
-drop trigger trg5_2;
-delete from tb3 where f121='Test 3.5.7.5/6';
-
-Testcase 3.5.7.7 / 3.5.7.8:
----------------------------
-set @test_var='Before trig 3.5.7.7';
-Create trigger trg6_1 AFTER INSERT
-on tb3 for each row set @test_var='Trigger1 3.5.7.7/8';
-Create trigger trg6_2 AFTER INSERT
-on tb3 for each row set @test_var='Trigger2 3.5.7.7';
-ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
-select @test_var;
-@test_var
-Before trig 3.5.7.7
-Insert into tb3 (f121,f122) values ('Test 3.5.7.7/8','Insert 3.5.7.7');
-Select f121,f122 from tb3 where f121='Test 3.5.7.7/8';
-f121 f122
-Test 3.5.7.7/8 Insert 3.5.7.7
-select @test_var;
-@test_var
-Trigger1 3.5.7.7/8
-update tb3 set f122='Update 3.5.7.8' where f121= 'Test 3.5.7.7/8';
-Select f121,f122 from tb3 where f121='Test 3.5.7.7/8';
-f121 f122
-Test 3.5.7.7/8 Update 3.5.7.8
-select @test_var;
-@test_var
-Trigger1 3.5.7.7/8
-drop trigger trg6_1;
-drop trigger trg6_2;
-delete from tb3 where f121='Test 3.5.7.7/8';
-
-Testcase 3.5.7.9/10:
---------------------
-Create trigger trg7_1 BEFORE UPDATE
-on tb3 for each row set new.f122='Trigger1 3.5.7.9/10';
-Create trigger trg7_2 BEFORE UPDATE
-on tb3 for each row set new.f122='Trigger2 3.5.7.9';
-ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
-Insert into tb3 (f121,f122) values ('Test 3.5.7.9/10','Insert 3.5.7.9');
-Select f121,f122 from tb3 where f121='Test 3.5.7.9/10';
-f121 f122
-Test 3.5.7.9/10 Insert 3.5.7.9
-update tb3 set f122='update 3.5.7.10' where f121='Test 3.5.7.9/10';
-Select f121,f122 from tb3 where f121='Test 3.5.7.9/10';
-f121 f122
-Test 3.5.7.9/10 Trigger1 3.5.7.9/10
-drop trigger trg7_1;
-drop trigger trg7_2;
-delete from tb3 where f121='Test 3.5.7.9/10';
-
-Testcase 3.5.7.11/12:
----------------------
-set @test_var='Before trig 3.5.7.11';
-Create trigger trg8_1 AFTER UPDATE
-on tb3 for each row set @test_var='Trigger 3.5.7.11/12';
-Create trigger trg8_2 AFTER UPDATE
-on tb3 for each row set @test_var='Trigger2 3.5.7.11';
-ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
-select @test_var;
-@test_var
-Before trig 3.5.7.11
-Insert into tb3 (f121,f122) values ('Test 3.5.7.11/12','Insert 3.5.7.11/12');
-select @test_var;
-@test_var
-Before trig 3.5.7.11
-Select f121,f122 from tb3 where f121='Test 3.5.7.11/12';
-f121 f122
-Test 3.5.7.11/12 Insert 3.5.7.11/12
-update tb3 set f122='update 3.5.7.12' where f121='Test 3.5.7.11/12';
-Select f121,f122 from tb3 where f121='Test 3.5.7.11/12';
-f121 f122
-Test 3.5.7.11/12 update 3.5.7.12
-select @test_var;
-@test_var
-Trigger 3.5.7.11/12
-delete from tb3 where f121='Test 3.5.7.11/12';
-drop trigger trg8_1;
-drop trigger trg8_2;
-delete from tb3 where f121='Test 3.5.7.11/12';
-
-Testcase 3.5.7.13/14:
----------------------
-set @test_var=1;
-Create trigger trg9_1 BEFORE DELETE
-on tb3 for each row set @test_var=@test_var+1;
-Create trigger trg9_2 BEFORE DELETE
-on tb3 for each row set @test_var=@test_var+10;
-ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
-select @test_var;
-@test_var
-1
-Insert into tb3 (f121,f122) values ('Test 3.5.7.13/14','Insert 3.5.7.13');
-Select f121,f122 from tb3 where f121='Test 3.5.7.13/14';
-f121 f122
-Test 3.5.7.13/14 Insert 3.5.7.13
-select @test_var;
-@test_var
-1
-delete from tb3 where f121='Test 3.5.7.13/14';
-Select f121,f122 from tb3 where f121='Test 3.5.7.13/14';
-f121 f122
-select @test_var;
-@test_var
-2
-delete from tb3 where f121='Test 3.5.7.13/14';
-select @test_var;
-@test_var
-2
-drop trigger trg9_1;
-drop trigger trg9_2;
-delete from tb3 where f121='Test 3.5.7.13/14';
-
-Testcase 3.5.7.15/16:
----------------------
-set @test_var=1;
-Create trigger trg_3_406010_1 AFTER DELETE
-on tb3 for each row set @test_var=@test_var+5;
-Create trigger trg_3_406010_2 AFTER DELETE
-on tb3 for each row set @test_var=@test_var+50;
-ERROR 42000: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
-Create trigger trg_3_406010_1 AFTER INSERT
-on tb3 for each row set @test_var=@test_var+1;
-ERROR HY000: Trigger already exists
-select @test_var;
-@test_var
-1
-Insert into tb3 (f121,f122) values ('Test 3.5.7.15/16','Insert 3.5.7.15/16');
-Select f121,f122 from tb3 where f121='Test 3.5.7.15/16';
-f121 f122
-Test 3.5.7.15/16 Insert 3.5.7.15/16
-select @test_var;
-@test_var
-1
-delete from tb3 where f121='Test 3.5.7.15/16';
-Select f121,f122 from tb3 where f121='Test 3.5.7.15/16';
-f121 f122
-select @test_var;
-@test_var
-6
-delete from tb3 where f121='Test 3.5.7.15/16';
-select @test_var;
-@test_var
-6
-drop trigger trg_3_406010_1;
-drop trigger trg_3_406010_2;
-delete from tb3 where f121='Test 3.5.7.15/16';
-
-Testcase 3.5.7.17 (see Testcase 3.5.1.1)
-----------------------------------------
-drop user test_general@localhost;
-drop user test_general;
-drop user test_super@localhost;
-DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_08.result b/mysql-test/suite/funcs_1/r/ndb_trig_08.result
deleted file mode 100644
index b2b38694680..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_08.result
+++ /dev/null
@@ -1,527 +0,0 @@
-USE test;
-drop table if exists tb3;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 char(50),
-f122 char(50),
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = <engine_to_be_used>;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-
-Testcase: 3.5:
---------------
-create User test_general@localhost;
-set password for test_general@localhost = password('PWD');
-revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost;
-create User test_super@localhost;
-set password for test_super@localhost = password('PWD');
-grant ALL on *.* to test_super@localhost with grant OPTION;
-
-Testcase 3.5.8.1: (implied in previous tests)
----------------------------------------------
-
-Testcase 3.5.8.2: (implied in previous tests)
----------------------------------------------
-
-Testcase 3.5.8.3/4:
--------------------
-create database db_test;
-grant SELECT, INSERT, UPDATE, DELETE on db_test.* to test_general;
-grant LOCK TABLES on db_test.* to test_general;
-Use db_test;
-create table t1_i (
-i120 char ascii not null DEFAULT b'101',
-i136 smallint zerofill not null DEFAULT 999,
-i144 int zerofill not null DEFAULT 99999,
-i163 decimal (63,30)) engine=<engine_to_be_used>;
-create table t1_u (
-u120 char ascii not null DEFAULT b'101',
-u136 smallint zerofill not null DEFAULT 999,
-u144 int zerofill not null DEFAULT 99999,
-u163 decimal (63,30)) engine=<engine_to_be_used>;
-create table t1_d (
-d120 char ascii not null DEFAULT b'101',
-d136 smallint zerofill not null DEFAULT 999,
-d144 int zerofill not null DEFAULT 99999,
-d163 decimal (63,30)) engine=<engine_to_be_used>;
-Insert into t1_u values ('a',111,99999,999.99);
-Insert into t1_u values ('b',222,99999,999.99);
-Insert into t1_u values ('c',333,99999,999.99);
-Insert into t1_u values ('d',222,99999,999.99);
-Insert into t1_u values ('e',222,99999,999.99);
-Insert into t1_u values ('f',333,99999,999.99);
-Insert into t1_d values ('a',111,99999,999.99);
-Insert into t1_d values ('b',222,99999,999.99);
-Insert into t1_d values ('c',333,99999,999.99);
-Insert into t1_d values ('d',444,99999,999.99);
-Insert into t1_d values ('e',222,99999,999.99);
-Insert into t1_d values ('f',222,99999,999.99);
-
-3.5.8.4 - multiple SQL
-----------------------
-use test;
-Create trigger trg1 AFTER INSERT on tb3 for each row
-BEGIN
-insert into db_test.t1_i
-values (new.f120, new.f136, new.f144, new.f163);
-update db_test.t1_u
-set u144=new.f144, u163=new.f163
-where u136=new.f136;
-delete from db_test.t1_d where d136= new.f136;
-select sum(db_test.t1_u.u163) into @test_var from db_test.t1_u
-where u136= new.f136;
-END//
-Use test;
-set @test_var=0;
-Insert into tb3 (f120, f122, f136, f144, f163)
-values ('1', 'Test 3.5.8.4', 222, 23456, 1.05);
-Select f120, f122, f136, f144, f163 from tb3 where f122= 'Test 3.5.8.4';
-f120 f122 f136 f144 f163
-1 Test 3.5.8.4 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_i;
-i120 i136 i144 i163
-1 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_u;
-u120 u136 u144 u163
-a 00111 0000099999 999.990000000000000000000000000000
-b 00222 0000023456 1.050000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-d 00222 0000023456 1.050000000000000000000000000000
-e 00222 0000023456 1.050000000000000000000000000000
-f 00333 0000099999 999.990000000000000000000000000000
-select * from db_test.t1_d;
-d120 d136 d144 d163
-a 00111 0000099999 999.990000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-d 00444 0000099999 999.990000000000000000000000000000
-select @test_var;
-@test_var
-3.150000000000000000000000000000
-
-3.5.8.4 - single SQL - insert
------------------------------
-Create trigger trg2 BEFORE UPDATE on tb3 for each row
-BEGIN
-insert into db_test.t1_i
-values (new.f120, new.f136, new.f144, new.f163);
-END//
-Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%';
-f120 f122 f136 f144 f163
-1 Test 3.5.8.4 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_i order by i120;
-i120 i136 i144 i163
-1 00222 0000023456 1.050000000000000000000000000000
-update tb3 set f120='I', f122='Test 3.5.8.4-Single Insert'
- where f122='Test 3.5.8.4';
-Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%';
-f120 f122 f136 f144 f163
-I Test 3.5.8.4-Single Insert 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_i order by i120;
-i120 i136 i144 i163
-1 00222 0000023456 1.050000000000000000000000000000
-I 00222 0000023456 1.050000000000000000000000000000
-
-3.5.8.4 - single SQL - update
------------------------------
-drop trigger trg2;
-Create trigger trg3 BEFORE UPDATE on tb3 for each row
-update db_test.t1_u
-set u120=new.f120
-where u136=new.f136;
-update tb3 set f120='U', f122='Test 3.5.8.4-Single Update'
- where f122='Test 3.5.8.4-Single Insert';
-Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%';
-f120 f122 f136 f144 f163
-U Test 3.5.8.4-Single Update 00222 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_u order by u120;
-u120 u136 u144 u163
-a 00111 0000099999 999.990000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-f 00333 0000099999 999.990000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-U 00222 0000023456 1.050000000000000000000000000000
-
-3.5.8.3/4 - single SQL - delete
--------------------------------
-drop trigger trg3;
-Create trigger trg4 AFTER UPDATE on tb3 for each row
-delete from db_test.t1_d where d136= new.f136;
-update tb3 set f120='D', f136=444,
-f122='Test 3.5.8.4-Single Delete'
- where f122='Test 3.5.8.4-Single Update';
-Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%';
-f120 f122 f136 f144 f163
-D Test 3.5.8.4-Single Delete 00444 0000023456 1.050000000000000000000000000000
-select * from db_test.t1_d order by d120;
-d120 d136 d144 d163
-a 00111 0000099999 999.990000000000000000000000000000
-c 00333 0000099999 999.990000000000000000000000000000
-
-3.5.8.3/4 - single SQL - select
--------------------------------
-drop trigger trg4;
-Create trigger trg5 AFTER UPDATE on tb3 for each row
-select sum(db_test.t1_u.u163) into @test_var from db_test.t1_u
-where u136= new.f136;
-set @test_var=0;
-update tb3 set f120='S', f136=111,
-f122='Test 3.5.8.4-Single Select'
- where f122='Test 3.5.8.4-Single Delete';
-Select f120, f122, f136, f144, f163 from tb3 where f122 like 'Test 3.5.8.4%';
-f120 f122 f136 f144 f163
-S Test 3.5.8.4-Single Select 00111 0000023456 1.050000000000000000000000000000
-select @test_var;
-@test_var
-999.990000000000000000000000000000
-drop trigger trg1;
-drop trigger trg5;
-drop database if exists db_test;
-delete from tb3 where f122 like 'Test 3.5.8.4%';
-revoke ALL PRIVILEGES, GRANT OPTION FROM 'test_general'@'localhost';
-
-Testcase 3.5.8.5 (IF):
-----------------------
-create trigger trg2 before insert on tb3 for each row
-BEGIN
-IF new.f120='1' then
-set @test_var='one', new.f120='2';
-ELSEIF new.f120='2' then
-set @test_var='two', new.f120='3';
-ELSEIF new.f120='3' then
-set @test_var='three', new.f120='4';
-END IF;
-IF (new.f120='4') and (new.f136=10) then
-set @test_var2='2nd if', new.f120='d';
-ELSE
-set @test_var2='2nd else', new.f120='D';
-END IF;
-END//
-set @test_var='Empty', @test_var2=0;
-Insert into tb3 (f120, f122, f136) values ('1', 'Test 3.5.8.5-if', 101);
-select f120, f122, f136, @test_var, @test_var2
-from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
-f120 f122 f136 @test_var @test_var2
-D Test 3.5.8.5-if 00101 one 2nd else
-Insert into tb3 (f120, f122, f136) values ('2', 'Test 3.5.8.5-if', 102);
-select f120, f122, f136, @test_var, @test_var2
-from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
-f120 f122 f136 @test_var @test_var2
-D Test 3.5.8.5-if 00101 two 2nd else
-D Test 3.5.8.5-if 00102 two 2nd else
-Insert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 10);
-select f120, f122, f136, @test_var, @test_var2
-from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
-f120 f122 f136 @test_var @test_var2
-d Test 3.5.8.5-if 00010 three 2nd if
-D Test 3.5.8.5-if 00101 three 2nd if
-D Test 3.5.8.5-if 00102 three 2nd if
-Insert into tb3 (f120, f122, f136) values ('3', 'Test 3.5.8.5-if', 103);
-select f120, f122, f136, @test_var, @test_var2
-from tb3 where f122 = 'Test 3.5.8.5-if' order by f136;
-f120 f122 f136 @test_var @test_var2
-d Test 3.5.8.5-if 00010 three 2nd else
-D Test 3.5.8.5-if 00101 three 2nd else
-D Test 3.5.8.5-if 00102 three 2nd else
-D Test 3.5.8.5-if 00103 three 2nd else
-create trigger trg3 before update on tb3 for each row
-BEGIN
-ELSEIF new.f120='2' then
-END IF;
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELSEIF new.f120='2' then
-END IF;
-END' at line 3
-drop trigger trg3//
-create trigger trg4 before update on tb3 for each row
-BEGIN
-IF (new.f120='4') and (new.f136=10) then
-set @test_var2='2nd if', new.f120='d';
-ELSE
-set @test_var2='2nd else', new.f120='D';
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7
-drop trigger trg4;
-drop trigger trg2;
-delete from tb3 where f121='Test 3.5.8.5-if';
-
-Testcase 3.5.8.5-case:
-----------------------
-create trigger trg3 before insert on tb3 for each row
-BEGIN
-SET new.f120=char(ascii(new.f120)-32);
-CASE
-when new.f136<100 then set new.f136=new.f136+120;
-when new.f136<10 then set new.f144=777;
-when new.f136>100 then set new.f120=new.f136-1;
-END case;
-CASE
-when new.f136=200 then set @test_var=CONCAT(new.f120, '=');
-ELSE set @test_var=concat(new.f120, '*');
-END case;
-CASE new.f144
-when 1 then set @test_var=concat(@test_var, 'one');
-when 2 then set @test_var=concat(@test_var, 'two');
-when 3 then set @test_var=concat(@test_var, 'three');
-when 4 then set @test_var=concat(@test_var, 'four');
-when 5 then set @test_var=concat(@test_var, 'five');
-when 6 then set @test_var=concat(@test_var, 'six');
-when 7 then set @test_var=concat(@test_var, 'seven');
-when 8 then set @test_var=concat(@test_var, 'eight');
-when 9 then set @test_var=concat(@test_var, 'nine');
-when 10 then set @test_var=concat(@test_var, 'ten');
-when 11 then set @test_var=concat(@test_var, 'eleven');
-when 12 then set @test_var=concat(@test_var, 'twelve');
-when 13 then set @test_var=concat(@test_var, 'thirteen');
-when 14 then set @test_var=concat(@test_var, 'fourteen');
-when 15 then set @test_var=concat(@test_var, 'fifteen');
-ELSE set @test_var=CONCAT(new.f120, '*', new.f144);
-END case;
-END//
-set @test_var='Empty';
-Insert into tb3 (f120, f122, f136, f144)
-values ('a', 'Test 3.5.8.5-case', 5, 7);
-select f120, f122, f136, f144, @test_var
-from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
-f120 f122 f136 f144 @test_var
-A Test 3.5.8.5-case 00125 0000000007 A*seven
-Insert into tb3 (f120, f122, f136, f144)
-values ('b', 'Test 3.5.8.5-case', 71,16);
-select f120, f122, f136, f144, @test_var
-from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
-f120 f122 f136 f144 @test_var
-A Test 3.5.8.5-case 00125 0000000007 B*0000000016
-B Test 3.5.8.5-case 00191 0000000016 B*0000000016
-Insert into tb3 (f120, f122, f136, f144)
-values ('c', 'Test 3.5.8.5-case', 80,1);
-select f120, f122, f136, f144, @test_var
-from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
-f120 f122 f136 f144 @test_var
-A Test 3.5.8.5-case 00125 0000000007 C=one
-B Test 3.5.8.5-case 00191 0000000016 C=one
-C Test 3.5.8.5-case 00200 0000000001 C=one
-Insert into tb3 (f120, f122, f136)
-values ('d', 'Test 3.5.8.5-case', 152);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
-select f120, f122, f136, f144, @test_var
-from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
-f120 f122 f136 f144 @test_var
-1 Test 3.5.8.5-case 00152 0000099999 1*0000099999
-A Test 3.5.8.5-case 00125 0000000007 1*0000099999
-B Test 3.5.8.5-case 00191 0000000016 1*0000099999
-C Test 3.5.8.5-case 00200 0000000001 1*0000099999
-Insert into tb3 (f120, f122, f136, f144)
-values ('e', 'Test 3.5.8.5-case', 200, 8);
-Warnings:
-Warning 1265 Data truncated for column 'f120' at row 1
-select f120, f122, f136, f144, @test_var
-from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
-f120 f122 f136 f144 @test_var
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 1=eight
-A Test 3.5.8.5-case 00125 0000000007 1=eight
-B Test 3.5.8.5-case 00191 0000000016 1=eight
-C Test 3.5.8.5-case 00200 0000000001 1=eight
-Insert into tb3 (f120, f122, f136, f144)
-values ('f', 'Test 3.5.8.5-case', 100, 8);
-select f120, f122, f136, f144, @test_var
-from tb3 where f122 = 'Test 3.5.8.5-case' order by f120,f136;
-f120 f122 f136 f144 @test_var
-1 Test 3.5.8.5-case 00152 0000099999 1=eight
-1 Test 3.5.8.5-case 00200 0000000008 1=eight
-A Test 3.5.8.5-case 00125 0000000007 1=eight
-B Test 3.5.8.5-case 00191 0000000016 1=eight
-C Test 3.5.8.5-case 00200 0000000001 1=eight
-create trigger trg3a before update on tb3 for each row
-BEGIN
-CASE
-when new.f136<100 then set new.f120='p';
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
-drop trigger trg3a;
-drop trigger trg3;
-delete from tb3 where f121='Test 3.5.8.5-case';
-
-Testcase 3.5.8.5-loop/leave:
-----------------------------
-Create trigger trg4 after insert on tb3 for each row
-BEGIN
-set @counter=0, @flag='Initial';
-Label1: loop
-if new.f136<new.f144 then
-set @counter='Nothing to loop';
-leave Label1;
-else
-set @counter=@counter+1;
-if new.f136=new.f144+@counter then
-set @counter=concat(@counter, ' loops');
-leave Label1;
-end if;
-end if;
-iterate label1;
-set @flag='Final';
-END loop Label1;
-END//
-Insert into tb3 (f122, f136, f144)
-values ('Test 3.5.8.5-loop', 2, 8);
-select @counter, @flag;
-@counter @flag
-Nothing to loop Initial
-Insert into tb3 (f122, f136, f144)
-values ('Test 3.5.8.5-loop', 11, 8);
-select @counter, @flag;
-@counter @flag
-3 loops Initial
-Create trigger trg4_2 after update on tb3 for each row
-BEGIN
-Label1: loop
-set @counter=@counter+1;
-END;
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
-END' at line 5
-drop trigger trg4_2;
-drop trigger trg4;
-delete from tb3 where f122='Test 3.5.8.5-loop';
-
-Testcase 3.5.8.5-repeat:
-------------------------
-Create trigger trg6 after insert on tb3 for each row
-BEGIN
-rp_label: REPEAT
-SET @counter1 = @counter1 + 1;
-IF (@counter1 MOD 2 = 0) THEN ITERATE rp_label;
-END IF;
-SET @counter2 = @counter2 + 1;
-UNTIL @counter1> new.f136 END REPEAT rp_label;
-END//
-set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
-values ('Test 3.5.8.5-repeat', 13);
-select @counter1, @counter2;
-@counter1 @counter2
-15 8
-Create trigger trg6_2 after update on tb3 for each row
-BEGIN
-REPEAT
-SET @counter2 = @counter2 + 1;
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 5
-drop trigger trg6;
-delete from tb3 where f122='Test 3.5.8.5-repeat';
-
-Testcase 3.5.8.5-while:
------------------------
-Create trigger trg7 after insert on tb3 for each row
-wl_label: WHILE @counter1 < new.f136 DO
-SET @counter1 = @counter1 + 1;
-IF (@counter1 MOD 2 = 0) THEN ITERATE wl_label;
-END IF;
-SET @counter2 = @counter2 + 1;
-END WHILE wl_label//
-set @counter1= 0, @counter2= 0;
-Insert into tb3 (f122, f136)
-values ('Test 3.5.8.5-while', 7);
-select @counter1, @counter2;
-@counter1 @counter2
-7 4
-Create trigger trg7_2 after update on tb3 for each row
-BEGIN
-WHILE @counter1 < new.f136
-SET @counter1 = @counter1 + 1;
-END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @counter1 = @counter1 + 1;
-END' at line 4
-delete from tb3 where f122='Test 3.5.8.5-while';
-drop trigger trg7;
-
-Testcase 3.5.8.6: (requirement void)
-------------------------------------
-CREATE PROCEDURE sp_01 () BEGIN set @v1=1; END//
-CREATE TRIGGER trg8_1 BEFORE UPDATE ON tb3 FOR EACH ROW
-BEGIN
-CALL sp_01 ();
-END//
-Insert into tb3 (f120, f122, f136) values ('6', 'Test 3.5.8.6-insert', 101);
-update tb3 set f120='S', f136=111,
-f122='Test 3.5.8.6-tr8_1'
- where f122='Test 3.5.8.6-insert';
-select f120, f122
-from tb3 where f122 like 'Test 3.5.8.6%' order by f120;
-f120 f122
-S Test 3.5.8.6-tr8_1
-DROP TRIGGER trg8_1;
-DROP PROCEDURE sp_01;
-
-Testcase 3.5.8.7
-----------------
-Create trigger trg9_1 before update on tb3 for each row
-BEGIN
-Start transaction;
-Set new.f120='U';
-Commit;
-END//
-ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
-Create trigger trg9_2 before delete on tb3 for each row
-BEGIN
-Start transaction;
-Set @var2=old.f120;
-Rollback;
-END//
-ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
-drop user test_general@localhost;
-drop user test_general;
-drop user test_super@localhost;
-DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_09.result b/mysql-test/suite/funcs_1/r/ndb_trig_09.result
deleted file mode 100644
index 986506b4e71..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_09.result
+++ /dev/null
@@ -1,269 +0,0 @@
-USE test;
-drop table if exists tb3;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 char(50),
-f122 char(50),
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = <engine_to_be_used>;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb3.txt'
-into table tb3;
-
-Testcase 3.5.9.1/2:
--------------------
-Create trigger trg1 BEFORE UPDATE on tb3 for each row
-set new.f142 = 94087, @counter=@counter+1;
-TotalRows
-10
-Affected
-9
-NotAffected
-1
-NewValuew
-0
-set @counter=0;
-Update tb3 Set f142='1' where f130<100;
-select count(*) as ExpectedChanged, @counter as TrigCounter
-from tb3 where f142=94087;
-ExpectedChanged TrigCounter
-9 9
-select count(*) as ExpectedNotChange from tb3
-where f130<100 and f142<>94087;
-ExpectedNotChange
-0
-select count(*) as NonExpectedChanged from tb3
-where f130>=130 and f142=94087;
-NonExpectedChanged
-0
-drop trigger trg1;
-
-Testcase 3.5.9.3:
------------------
-Create trigger trg2_a before update on tb3 for each row
-set @tr_var_b4_118=old.f118, @tr_var_b4_121=old.f121,
-@tr_var_b4_122=old.f122, @tr_var_b4_136=old.f136,
-@tr_var_b4_163=old.f163;
-Create trigger trg2_b after update on tb3 for each row
-set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
-@tr_var_af_122=old.f122, @tr_var_af_136=old.f136,
-@tr_var_af_163=old.f163;
-Create trigger trg2_c before delete on tb3 for each row
-set @tr_var_b4_118=old.f118, @tr_var_b4_121=old.f121,
-@tr_var_b4_122=old.f122, @tr_var_b4_136=old.f136,
-@tr_var_b4_163=old.f163;
-Create trigger trg2_d after delete on tb3 for each row
-set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
-@tr_var_af_122=old.f122, @tr_var_af_136=old.f136,
-@tr_var_af_163=old.f163;
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
-0 0 0 0 0
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
-0 0 0 0 0
-Insert into tb3 (f122, f136, f163)
-values ('Test 3.5.9.3', 7, 123.17);
-Update tb3 Set f136=8 where f122='Test 3.5.9.3';
-select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
-f118 f121 f122 f136 f163
-a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000
-select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
-@tr_var_b4_136, @tr_var_b4_163;
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
-a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
-select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
-@tr_var_af_136, @tr_var_af_163;
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
-a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
-0 0 0 0 0
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
-0 0 0 0 0
-delete from tb3 where f122='Test 3.5.9.3';
-select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
-f118 f121 f122 f136 f163
-select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
-@tr_var_b4_136, @tr_var_b4_163;
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
-a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
-select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
-@tr_var_af_136, @tr_var_af_163;
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
-a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
-drop trigger trg2_a;
-drop trigger trg2_b;
-drop trigger trg2_c;
-drop trigger trg2_d;
-
-Testcase 3.5.9.4:
------------------
-Create trigger trg3_a before insert on tb3 for each row
-set @tr_var_b4_118=new.f118, @tr_var_b4_121=new.f121,
-@tr_var_b4_122=new.f122, @tr_var_b4_136=new.f136,
-@tr_var_b4_151=new.f151, @tr_var_b4_163=new.f163;
-Create trigger trg3_b after insert on tb3 for each row
-set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
-@tr_var_af_122=new.f122, @tr_var_af_136=new.f136,
-@tr_var_af_151=new.f151, @tr_var_af_163=new.f163;
-Create trigger trg3_c before update on tb3 for each row
-set @tr_var_b4_118=new.f118, @tr_var_b4_121=new.f121,
-@tr_var_b4_122=new.f122, @tr_var_b4_136=new.f136,
-@tr_var_b4_151=new.f151, @tr_var_b4_163=new.f163;
-Create trigger trg3_d after update on tb3 for each row
-set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
-@tr_var_af_122=new.f122, @tr_var_af_136=new.f136,
-@tr_var_af_151=new.f151, @tr_var_af_163=new.f163;
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-0 0 0 0 0 0
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
-0 0 0 0 0 0
-Insert into tb3 (f122, f136, f151, f163)
-values ('Test 3.5.9.4', 7, DEFAULT, 995.24);
-select f118, f121, f122, f136, f151, f163 from tb3
-where f122 like 'Test 3.5.9.4%' order by f163;
-f118 f121 f122 f136 f151 f163
-a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000
-select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
-@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
-select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
-@tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
-a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-0 0 0 0 0 0
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
-0 0 0 0 0 0
-Update tb3 Set f122='Test 3.5.9.4-trig', f136=NULL, f151=DEFAULT, f163=NULL
-where f122='Test 3.5.9.4';
-Warnings:
-Warning 1048 Column 'f136' cannot be null
-Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
-where f122='Test 3.5.9.4';
-select f118, f121, f122, f136, f151, f163 from tb3
-where f122 like 'Test 3.5.9.4-trig' order by f163;
-f118 f121 f122 f136 f151 f163
-a NULL Test 3.5.9.4-trig 00000 999 NULL
-select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
-@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
-@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
-a NULL Test 3.5.9.4-trig 0 999 NULL
-select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
-@tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
-@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
-a NULL Test 3.5.9.4-trig 0 999 NULL
-drop trigger trg3_a;
-drop trigger trg3_b;
-drop trigger trg3_c;
-drop trigger trg3_d;
-delete from tb3 where f122='Test 3.5.9.4-trig';
-
-Testcase 3.5.9.5: (implied in previous tests)
----------------------------------------------
-
-Testcase 3.5.9.6:
------------------
-create trigger trg4a before insert on tb3 for each row
-set @temp1= old.f120;
-ERROR HY000: There is no OLD row in on INSERT trigger
-create trigger trg4b after insert on tb3 for each row
-set old.f120= 'test';
-ERROR HY000: Updating of OLD row is not allowed in trigger
-drop trigger trg4a;
-drop trigger trg4b;
-
-Testcase 3.5.9.7: (implied in previous tests)
----------------------------------------------
-
-Testcase 3.5.9.8: (implied in previous tests)
----------------------------------------------
-
-Testcase 3.5.9.9:
------------------
-create trigger trg5a before DELETE on tb3 for each row
-set @temp1=new.f122;
-ERROR HY000: There is no NEW row in on DELETE trigger
-create trigger trg5b after DELETE on tb3 for each row
-set new.f122='test';
-ERROR HY000: There is no NEW row in on DELETE trigger
-drop trigger trg5a;
-drop trigger trg5b;
-
-Testcase 3.5.9.10: (implied in previous tests)
-----------------------------------------------
-
-Testcase 3.5.9.11: covered by 3.5.9.9
--------------------------------------
-
-Testcase 3.5.9.12: covered by 3.5.9.6
--------------------------------------
-
-Testcase 3.5.9.13:
-------------------
-create trigger trg6a before UPDATE on tb3 for each row
-set old.f118='C', new.f118='U';
-ERROR HY000: Updating of OLD row is not allowed in trigger
-create trigger trg6b after INSERT on tb3 for each row
-set old.f136=163, new.f118='U';
-ERROR HY000: Updating of OLD row is not allowed in trigger
-create trigger trg6c after UPDATE on tb3 for each row
-set old.f136=NULL;
-ERROR HY000: Updating of OLD row is not allowed in trigger
-drop trigger trg6a;
-drop trigger trg6b;
-drop trigger trg6c;
-
-Testcase 3.5.9.14: (implied in previous tests)
-----------------------------------------------
-DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result b/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result
deleted file mode 100644
index 198382b409d..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result
+++ /dev/null
@@ -1,394 +0,0 @@
-USE test;
-drop table if exists tb3;
-create table tb3 (
-f118 char not null DEFAULT 'a',
-f119 char binary not null DEFAULT b'101',
-f120 char ascii not null DEFAULT b'101',
-f121 char(50),
-f122 char(50),
-f129 binary not null DEFAULT b'101',
-f130 tinyint not null DEFAULT 99,
-f131 tinyint unsigned not null DEFAULT 99,
-f132 tinyint zerofill not null DEFAULT 99,
-f133 tinyint unsigned zerofill not null DEFAULT 99,
-f134 smallint not null DEFAULT 999,
-f135 smallint unsigned not null DEFAULT 999,
-f136 smallint zerofill not null DEFAULT 999,
-f137 smallint unsigned zerofill not null DEFAULT 999,
-f138 mediumint not null DEFAULT 9999,
-f139 mediumint unsigned not null DEFAULT 9999,
-f140 mediumint zerofill not null DEFAULT 9999,
-f141 mediumint unsigned zerofill not null DEFAULT 9999,
-f142 int not null DEFAULT 99999,
-f143 int unsigned not null DEFAULT 99999,
-f144 int zerofill not null DEFAULT 99999,
-f145 int unsigned zerofill not null DEFAULT 99999,
-f146 bigint not null DEFAULT 999999,
-f147 bigint unsigned not null DEFAULT 999999,
-f148 bigint zerofill not null DEFAULT 999999,
-f149 bigint unsigned zerofill not null DEFAULT 999999,
-f150 decimal not null DEFAULT 999.999,
-f151 decimal unsigned not null DEFAULT 999.17,
-f152 decimal zerofill not null DEFAULT 999.999,
-f153 decimal unsigned zerofill,
-f154 decimal (0),
-f155 decimal (64),
-f156 decimal (0) unsigned,
-f157 decimal (64) unsigned,
-f158 decimal (0) zerofill,
-f159 decimal (64) zerofill,
-f160 decimal (0) unsigned zerofill,
-f161 decimal (64) unsigned zerofill,
-f162 decimal (0,0),
-f163 decimal (63,30),
-f164 decimal (0,0) unsigned,
-f165 decimal (63,30) unsigned,
-f166 decimal (0,0) zerofill,
-f167 decimal (63,30) zerofill,
-f168 decimal (0,0) unsigned zerofill,
-f169 decimal (63,30) unsigned zerofill,
-f170 numeric,
-f171 numeric unsigned,
-f172 numeric zerofill,
-f173 numeric unsigned zerofill,
-f174 numeric (0),
-f175 numeric (64)
-) engine = <engine_to_be_used>;
-Warnings:
-Note 1265 Data truncated for column 'f150' at row 1
-Note 1265 Data truncated for column 'f151' at row 1
-Note 1265 Data truncated for column 'f152' at row 1
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/memory_tb3.txt'
-into table tb3;
-
-Testcase 3.5.10.1/2/3:
-----------------------
-Create view vw11 as select * from tb3
-where f122 like 'Test 3.5.10.1/2/3%';
-Create trigger trg1a before insert on tb3
-for each row set new.f163=111.11;
-Create trigger trg1b after insert on tb3
-for each row set @test_var='After Insert';
-Create trigger trg1c before update on tb3
-for each row set new.f121='Y', new.f122='Test 3.5.10.1/2/3-Update';
-Create trigger trg1d after update on tb3
-for each row set @test_var='After Update';
-Create trigger trg1e before delete on tb3
-for each row set @test_var=5;
-Create trigger trg1f after delete on tb3
-for each row set @test_var= 2* @test_var+7;
-Insert into vw11 (f122, f151) values ('Test 3.5.10.1/2/3', 1);
-Insert into vw11 (f122, f151) values ('Test 3.5.10.1/2/3', 2);
-Insert into vw11 (f122, f151) values ('Not in View', 3);
-select f121, f122, f151, f163
-from tb3 where f122 like 'Test 3.5.10.1/2/3%' order by f151;
-f121 f122 f151 f163
-NULL Test 3.5.10.1/2/3 1 111.110000000000000000000000000000
-NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000
-select f121, f122, f151, f163 from vw11;
-f121 f122 f151 f163
-NULL Test 3.5.10.1/2/3 1 111.110000000000000000000000000000
-NULL Test 3.5.10.1/2/3 2 111.110000000000000000000000000000
-select f121, f122, f151, f163
-from tb3 where f122 like 'Not in View';
-f121 f122 f151 f163
-NULL Not in View 3 111.110000000000000000000000000000
-Update vw11 set f163=1;
-select f121, f122, f151, f163 from tb3
-where f122 like 'Test 3.5.10.1/2/3%' order by f151;
-f121 f122 f151 f163
-Y Test 3.5.10.1/2/3-Update 1 1.000000000000000000000000000000
-Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000
-select f121, f122, f151, f163 from vw11;
-f121 f122 f151 f163
-Y Test 3.5.10.1/2/3-Update 1 1.000000000000000000000000000000
-Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000
-set @test_var=0;
-Select @test_var as 'before delete';
-before delete
-0
-delete from vw11 where f151=1;
-select f121, f122, f151, f163 from tb3
-where f122 like 'Test 3.5.10.1/2/3%' order by f151;
-f121 f122 f151 f163
-Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000
-select f121, f122, f151, f163 from vw11;
-f121 f122 f151 f163
-Y Test 3.5.10.1/2/3-Update 2 1.000000000000000000000000000000
-Select @test_var as 'after delete';
-after delete
-17
-drop view vw11;
-drop trigger trg1a;
-drop trigger trg1b;
-drop trigger trg1c;
-drop trigger trg1d;
-drop trigger trg1e;
-drop trigger trg1f;
-delete from tb3 where f122 like 'Test 3.5.10.1/2/3%';
-
-Testcase 3.5.10.4:
-------------------
-create table tb_load (f1 int, f2 char(25),f3 int) engine = <engine_to_be_used>;
-Create trigger trg4 before insert on tb_load
-for each row set new.f3=-(new.f1 div 5), @counter= @counter+1;
-set @counter= 0;
-select @counter as 'Rows Loaded Before';
-Rows Loaded Before
-0
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/t9.txt' into table tb_load;
-select @counter as 'Rows Loaded After';
-Rows Loaded After
-10
-Select * from tb_load order by f1 limit 10;
-f1 f2 f3
--5000 a` 1000
--4999 aaa 999
--4998 abaa 999
--4997 acaaa 999
--4996 adaaaa 999
--4995 aeaaaaa 999
--4994 afaaaaaa 998
--4993 agaaaaaaa 998
--4992 a^aaaaaaaa 998
--4991 a_aaaaaaaaa 998
-drop trigger trg4;
-drop table tb_load;
-
-Testcase 3.5.10.5: (implemented in trig_frkey.test)
----------------------------------------------------
-
-Testcase 3.5.10.6: (implemented in trig_frkey.test)
----------------------------------------------------
-
-Testcase 3.5.10.extra:
-----------------------
-create table t1_sp (var136 tinyint, var151 decimal) engine = <engine_to_be_used>;
-create trigger trg before insert on t1_sp
-for each row set @counter=@counter+1;
-create procedure trig_sp()
-begin
-declare done int default 0;
-declare var151 decimal;
-declare var136 tinyint;
-declare cur1 cursor for select f136, f151 from tb3;
-declare continue handler for sqlstate '01000' set done = 1;
-open cur1;
-fetch cur1 into var136, var151;
-wl_loop: WHILE NOT done DO
-insert into t1_sp values (var136, var151);
-fetch cur1 into var136, var151;
-END WHILE wl_loop;
-close cur1;
-end//
-set @counter=0;
-select @counter;
-@counter
-0
-call trig_sp();
-ERROR 02000: No data - zero rows fetched, selected, or processed
-select @counter;
-@counter
-11
-select count(*) from tb3;
-count(*)
-11
-select count(*) from t1_sp;
-count(*)
-11
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase 3.5.11.1 (implemented in trig_perf.test)
--------------------------------------------------
-
-Testcase y.y.y.2: Check for triggers starting triggers
-------------------------------------------------------
-use test;
-drop table if exists t1;
-drop table if exists t2_1;
-drop table if exists t2_2;
-drop table if exists t2_3;
-drop table if exists t2_4;
-drop table if exists t3;
-create table t1 (f1 integer) engine = <engine_to_be_used>;
-create table t2_1 (f1 integer) engine = <engine_to_be_used>;
-create table t2_2 (f1 integer) engine = <engine_to_be_used>;
-create table t2_3 (f1 integer) engine = <engine_to_be_used>;
-create table t2_4 (f1 integer) engine = <engine_to_be_used>;
-create table t3 (f1 integer) engine = <engine_to_be_used>;
-insert into t1 values (1);
-create trigger tr1 after insert on t1 for each row
-BEGIN
-insert into t2_1 (f1) values (new.f1+1);
-insert into t2_2 (f1) values (new.f1+1);
-insert into t2_3 (f1) values (new.f1+1);
-insert into t2_4 (f1) values (new.f1+1);
-END//
-create trigger tr2_1 after insert on t2_1 for each row
-insert into t3 (f1) values (new.f1+10);
-create trigger tr2_2 after insert on t2_2 for each row
-insert into t3 (f1) values (new.f1+100);
-create trigger tr2_3 after insert on t2_3 for each row
-insert into t3 (f1) values (new.f1+1000);
-create trigger tr2_4 after insert on t2_4 for each row
-insert into t3 (f1) values (new.f1+10000);
-insert into t1 values (1);
-select * from t3 order by f1;
-f1
-12
-102
-1002
-10002
-drop trigger tr1;
-drop trigger tr2_1;
-drop trigger tr2_2;
-drop trigger tr2_3;
-drop trigger tr2_4;
-drop table t1, t2_1, t2_2, t2_3, t2_4, t3;
-
-Testcase y.y.y.3: Circular trigger reference
---------------------------------------------
-use test;
-drop table if exists t1;
-drop table if exists t2;
-drop table if exists t3;
-drop table if exists t4;
-create table t1 (f1 integer) engine = <engine_to_be_used>;
-create table t2 (f2 integer) engine = <engine_to_be_used>;
-create table t3 (f3 integer) engine = <engine_to_be_used>;
-create table t4 (f4 integer) engine = <engine_to_be_used>;
-insert into t1 values (0);
-create trigger tr1 after insert on t1
-for each row insert into t2 (f2) values (new.f1+1);
-create trigger tr2 after insert on t2
-for each row insert into t3 (f3) values (new.f2+1);
-create trigger tr3 after insert on t3
-for each row insert into t4 (f4) values (new.f3+1);
-create trigger tr4 after insert on t4
-for each row insert into t1 (f1) values (new.f4+1);
-insert into t1 values (1);
-ERROR HY000: Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
-select * from t1 order by f1;
-f1
-0
-select * from t2 order by f2;
-f2
-select * from t3 order by f3;
-f3
-select * from t4 order by f4;
-f4
-drop trigger tr1;
-drop trigger tr2;
-drop trigger tr3;
-drop trigger tr4;
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
-
-Testcase y.y.y.4: Recursive trigger/SP references
--------------------------------------------------
-set @sql_mode='traditional';
-create table t1_sp (
-count integer,
-var136 tinyint,
-var151 decimal) engine = <engine_to_be_used>;
-create procedure trig_sp()
-begin
-declare done int default 0;
-declare var151 decimal;
-declare var136 tinyint;
-declare cur1 cursor for select f136, f151 from tb3;
-declare continue handler for sqlstate '01000' set done = 1;
-set @counter= @counter+1;
-open cur1;
-fetch cur1 into var136, var151;
-wl_loop: WHILE NOT done DO
-insert into t1_sp values (@counter, var136, var151);
-fetch cur1 into var136, var151;
-END WHILE wl_loop;
-close cur1;
-end//
-create trigger trg before insert on t1_sp
-for each row call trig_sp();
-set @counter=0;
-select @counter;
-@counter
-0
-call trig_sp();
-ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine trig_sp
-select @counter;
-@counter
-1
-select count(*) from tb3;
-count(*)
-11
-select count(*) from t1_sp;
-count(*)
-0
-set @@max_sp_recursion_depth= 10;
-set @counter=0;
-select @counter;
-@counter
-0
-call trig_sp();
-ERROR HY000: Can't update table 't1_sp' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
-select @counter;
-@counter
-2
-select count(*) from tb3;
-count(*)
-11
-select count(*) from t1_sp;
-count(*)
-0
-drop procedure trig_sp;
-drop trigger trg;
-drop table t1_sp;
-
-Testcase y.y.y.5: Rollback of nested trigger references
--------------------------------------------------------
-set @@sql_mode='traditional';
-use test;
-drop table if exists t1;
-drop table if exists t2;
-drop table if exists t3;
-drop table if exists t4;
-create table t1 (f1 integer) engine = <engine_to_be_used>;
-create table t2 (f2 integer) engine = <engine_to_be_used>;
-create table t3 (f3 integer) engine = <engine_to_be_used>;
-create table t4 (f4 tinyint) engine = <engine_to_be_used>;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f1` int(11) default NULL
-) ENGINE=<engine_to_be_used> DEFAULT CHARSET=latin1
-insert into t1 values (1);
-create trigger tr1 after insert on t1
-for each row insert into t2 (f2) values (new.f1+1);
-create trigger tr2 after insert on t2
-for each row insert into t3 (f3) values (new.f2+1);
-create trigger tr3 after insert on t3
-for each row insert into t4 (f4) values (new.f3+1000);
-set autocommit=0;
-start transaction;
-insert into t1 values (1);
-ERROR 22003: Out of range value adjusted for column 'f4' at row 1
-commit;
-select * from t1 order by f1;
-f1
-1
-select * from t2 order by f2;
-f2
-select * from t3 order by f3;
-f3
-drop trigger tr1;
-drop trigger tr2;
-drop trigger tr3;
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
-DROP TABLE test.tb3;
diff --git a/mysql-test/suite/funcs_1/r/ndb_views.result b/mysql-test/suite/funcs_1/r/ndb_views.result
deleted file mode 100644
index 6c5a10845a0..00000000000
--- a/mysql-test/suite/funcs_1/r/ndb_views.result
+++ /dev/null
@@ -1,22914 +0,0 @@
-USE test;
-drop table if exists tb2 ;
-create table tb2 (
-f59 numeric (0) unsigned,
-f60 numeric (64) unsigned,
-f61 numeric (0) zerofill,
-f62 numeric (64) zerofill,
-f63 numeric (0) unsigned zerofill,
-f64 numeric (64) unsigned zerofill,
-f65 numeric (0,0),
-f66 numeric (63,30),
-f67 numeric (0,0) unsigned,
-f68 numeric (63,30) unsigned,
-f69 numeric (0,0) zerofill,
-f70 numeric (63,30) zerofill,
-f71 numeric (0,0) unsigned zerofill,
-f72 numeric (63,30) unsigned zerofill,
-f73 real,
-f74 real unsigned,
-f75 real zerofill,
-f76 real unsigned zerofill,
-f77 double default 7.7,
-f78 double unsigned default 7.7,
-f79 double zerofill default 7.7,
-f80 double unsigned zerofill default 8.8,
-f81 float not null default 8.8,
-f82 float unsigned not null default 8.8,
-f83 float zerofill not null default 8.8,
-f84 float unsigned zerofill not null default 8.8,
-f85 float(0) not null default 8.8,
-f86 float(23) not null default 8.8,
-f87 float(0) unsigned not null default 8.8,
-f88 float(23) unsigned not null default 8.8,
-f89 float(0) zerofill not null default 8.8,
-f90 float(23) zerofill not null default 8.8,
-f91 float(0) unsigned zerofill not null default 8.8,
-f92 float(23) unsigned zerofill not null default 8.8,
-f93 float(24) not null default 8.8,
-f94 float(53) not null default 8.8,
-f95 float(24) unsigned not null default 8.8,
-f96 float(53) unsigned not null default 8.8,
-f97 float(24) zerofill not null default 8.8,
-f98 float(53) zerofill not null default 8.8,
-f99 float(24) unsigned zerofill not null default 8.8,
-f100 float(53) unsigned zerofill not null default 8.8,
-f101 date not null default '2000-01-01',
-f102 time not null default 20,
-f103 datetime not null default '2/2/2',
-f104 timestamp not null default 20001231235959,
-f105 year not null default 2000,
-f106 year(3) not null default 2000,
-f107 year(4) not null default 2000,
-f108 enum("1enum","2enum") not null default "1enum",
-f109 set("1set","2set") not null default "1set"
-) engine = ndb;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/ndb_tb2.txt'
-into table tb2 ;
-DROP DATABASE IF EXISTS test1;
-CREATE DATABASE test1;
-USE test1;
-drop table if exists tb2 ;
-create table tb2 (
-f59 numeric (0) unsigned,
-f60 numeric (64) unsigned,
-f61 numeric (0) zerofill,
-f62 numeric (64) zerofill,
-f63 numeric (0) unsigned zerofill,
-f64 numeric (64) unsigned zerofill,
-f65 numeric (0,0),
-f66 numeric (63,30),
-f67 numeric (0,0) unsigned,
-f68 numeric (63,30) unsigned,
-f69 numeric (0,0) zerofill,
-f70 numeric (63,30) zerofill,
-f71 numeric (0,0) unsigned zerofill,
-f72 numeric (63,30) unsigned zerofill,
-f73 real,
-f74 real unsigned,
-f75 real zerofill,
-f76 real unsigned zerofill,
-f77 double default 7.7,
-f78 double unsigned default 7.7,
-f79 double zerofill default 7.7,
-f80 double unsigned zerofill default 8.8,
-f81 float not null default 8.8,
-f82 float unsigned not null default 8.8,
-f83 float zerofill not null default 8.8,
-f84 float unsigned zerofill not null default 8.8,
-f85 float(0) not null default 8.8,
-f86 float(23) not null default 8.8,
-f87 float(0) unsigned not null default 8.8,
-f88 float(23) unsigned not null default 8.8,
-f89 float(0) zerofill not null default 8.8,
-f90 float(23) zerofill not null default 8.8,
-f91 float(0) unsigned zerofill not null default 8.8,
-f92 float(23) unsigned zerofill not null default 8.8,
-f93 float(24) not null default 8.8,
-f94 float(53) not null default 8.8,
-f95 float(24) unsigned not null default 8.8,
-f96 float(53) unsigned not null default 8.8,
-f97 float(24) zerofill not null default 8.8,
-f98 float(53) zerofill not null default 8.8,
-f99 float(24) unsigned zerofill not null default 8.8,
-f100 float(53) unsigned zerofill not null default 8.8,
-f101 date not null default '2000-01-01',
-f102 time not null default 20,
-f103 datetime not null default '2/2/2',
-f104 timestamp not null default 20001231235959,
-f105 year not null default 2000,
-f106 year(3) not null default 2000,
-f107 year(4) not null default 2000,
-f108 enum("1enum","2enum") not null default "1enum",
-f109 set("1set","2set") not null default "1set"
-) engine = ndb;
-load data infile '<MYSQLTEST_VARDIR>/std_data/funcs_1/ndb_tb2.txt'
-into table tb2 ;
-USE test;
-
-! Attention: The file with the expected results is not
-| thoroughly checked.
-! The server return codes are correct, but
-| most result sets where the table tb2 is
-! involved are not checked.
---------------------------------------------------------------------------------
-
-There are some statements where the ps-protocol is switched off.
-Bug#32285: mysqltest, --ps-protocol, strange output, float/double/real with zerofill
---------------------------------------------------------------------------------
-insert into test.tb2 (f59,f60) values (76710,226546);
-insert into test.tb2 (f59,f60) values(2760,985654);
-insert into test.tb2 (f59,f60) values(569300,9114376);
-insert into test.tb2 (f59,f60) values(660,876546);
-insert into test.tb2 (f59,f60) values(250,87895654);
-insert into test.tb2 (f59,f60) values(340,9984376);
-insert into test.tb2 (f59,f60) values(3410,996546);
-insert into test.tb2 (f59,f60) values(2550,775654);
-insert into test.tb2 (f59,f60) values(3330,764376);
-insert into test.tb2 (f59,f60) values(441,16546);
-insert into test.tb2 (f59,f60) values(24,51654);
-insert into test.tb2 (f59,f60) values(323,14376);
-insert into test.tb2 (f59,f60) values(34,41);
-insert into test.tb2 (f59,f60) values(04,74);
-insert into test.tb2 (f59,f60) values(15,87);
-insert into test.tb2 (f59,f60) values(22,93);
-insert into test.tb2 (f59,f60) values(394,41);
-insert into test.tb2 (f59,f60) values(094,74);
-insert into test.tb2 (f59,f60) values(195,87);
-insert into test.tb2 (f59,f60) values(292,93);
-insert into test.tb2 (f59,f60) values(0987,41) ;
-insert into test.tb2 (f59,f60) values(7876,74) ;
-INSERT INTO tb2 (f59,f61) VALUES(321,765 );
-INSERT INTO tb2 (f59,f61) VALUES(9112,8771);
-INSERT INTO tb2 (f59,f61) VALUES (500,900 ) ;
-INSERT INTO tb2 (f59,f61) VALUES (500,900 ) ;
-INSERT INTO tb2 (f59,f61) VALUES (500,900 ) ;
-Insert into tb2 (f59,f60,f61) values (107,105,106) ;
-Insert into tb2 (f59,f60,f61) values (109,108,104) ;
-Insert into tb2 (f59,f60,f61) values (207,205,206) ;
-Insert into tb2 (f59,f60,f61) values (209,208,204) ;
-Insert into tb2 (f59,f60,f61) values (27,25,26) ;
-Insert into tb2 (f59,f60,f61) values (29,28,24) ;
-Insert into tb2 (f59,f60,f61) values (17,15,16) ;
-Insert into tb2 (f59,f60,f61) values (19,18,14) ;
-insert into tb2 (f59,f60,f61) values (107,105,106);
-insert into tb2 (f59,f60,f61) values (109,108,104);
-INSERT INTO tb2 (f59,f60) VALUES( 299,899 );
-INSERT INTO tb2 (f59,f60) VALUES( 242,79 );
-INSERT INTO tb2 (f59,f60) VALUES( 424,89 );
-SELECT * FROM tb2 ORDER BY f59, f60, f61;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-1 1 0000000001 0000000000000000000000000000000000000000000000000000000000000001 0000000001 0000000000000000000000000000000000000000000000000000000000000001 -5 0.000000000000000000000000000000 1 0.000000000000000000000000000000 0000000001 000000000000000000000000000000000.000000000000000000000000000000 0000000001 000000000000000000000000000000000.000000000000000000000000000000 -1.17549435e-38 1.175494352e-38 00000001.175494352e-38 00000001.175494352e-38 -1.17549435e-38 1.175494352e-38 00000001.175494352e-38 00000001.175494352e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549435e-38 1.17549e-38 1.175494352e-38 01.17549e-38 00000001.175494352e-38 01.17549e-38 00000001.175494352e-38 1000-01-01 838:59:58 1970-01-02 00:00:01 1970-01-02 00:00:01 1902 1902 1902 2enum 2set
-2 2 0000000002 0000000000000000000000000000000000000000000000000000000000000002 0000000002 0000000000000000000000000000000000000000000000000000000000000002 -4 1.100000000000000000000000000000 2 1.100000000000000000000000000000 0000000002 000000000000000000000000000000001.100000000000000000000000000000 0000000002 000000000000000000000000000000001.100000000000000000000000000000 -1.175494349e-38 1.175494353e-38 00000001.175494353e-38 00000001.175494353e-38 -1.175494349e-38 1.175494353e-38 00000001.175494353e-38 00000001.175494353e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494349e-38 1.17549e-38 1.175494353e-38 01.17549e-38 00000001.175494353e-38 01.17549e-38 00000001.175494353e-38 1000-01-02 838:59:57 1970-01-03 00:00:02 1970-01-03 00:00:02 1903 1903 1903 1enum 1set,2set
-3 3 0000000003 0000000000000000000000000000000000000000000000000000000000000003 0000000003 0000000000000000000000000000000000000000000000000000000000000003 -3 2.200000000000000000000000000000 3 2.200000000000000000000000000000 0000000003 000000000000000000000000000000002.200000000000000000000000000000 0000000003 000000000000000000000000000000002.200000000000000000000000000000 -1.175494348e-38 1.175494354e-38 00000001.175494354e-38 00000001.175494354e-38 -1.175494348e-38 1.175494354e-38 00000001.175494354e-38 00000001.175494354e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494348e-38 1.17549e-38 1.175494354e-38 01.17549e-38 00000001.175494354e-38 01.17549e-38 00000001.175494354e-38 1000-01-03 838:59:56 1970-01-04 00:00:03 1970-01-04 00:00:03 1904 1904 1904 2enum 1set
-4 4 0000000004 0000000000000000000000000000000000000000000000000000000000000004 0000000004 0000000000000000000000000000000000000000000000000000000000000004 -2 3.300000000000000000000000000000 4 3.300000000000000000000000000000 0000000004 000000000000000000000000000000003.300000000000000000000000000000 0000000004 000000000000000000000000000000003.300000000000000000000000000000 -1.175494347e-38 1.175494355e-38 00000001.175494355e-38 00000001.175494355e-38 -1.175494347e-38 1.175494355e-38 00000001.175494355e-38 00000001.175494355e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494347e-38 1.17549e-38 1.175494355e-38 01.17549e-38 00000001.175494355e-38 01.17549e-38 00000001.175494355e-38 1000-01-04 838:59:55 1970-01-05 00:00:04 1970-01-05 00:00:04 1905 1905 1905 1enum 2set
-4 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-5 5 0000000005 0000000000000000000000000000000000000000000000000000000000000005 0000000005 0000000000000000000000000000000000000000000000000000000000000005 -1 4.400000000000000000000000000000 5 4.400000000000000000000000000000 0000000005 000000000000000000000000000000004.400000000000000000000000000000 0000000005 000000000000000000000000000000004.400000000000000000000000000000 -1.175494346e-38 1.175494356e-38 00000001.175494356e-38 00000001.175494356e-38 -1.175494346e-38 1.175494356e-38 00000001.175494356e-38 00000001.175494356e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494346e-38 1.17549e-38 1.175494356e-38 01.17549e-38 00000001.175494356e-38 01.17549e-38 00000001.175494356e-38 1000-01-05 838:59:54 1970-01-06 00:00:05 1970-01-06 00:00:05 1906 1906 1906 2enum 1set,2set
-6 6 0000000006 0000000000000000000000000000000000000000000000000000000000000006 0000000006 0000000000000000000000000000000000000000000000000000000000000006 0 5.500000000000000000000000000000 6 5.500000000000000000000000000000 0000000006 000000000000000000000000000000005.500000000000000000000000000000 0000000006 000000000000000000000000000000005.500000000000000000000000000000 -1.175494345e-38 1.175494357e-38 00000001.175494357e-38 00000001.175494357e-38 -1.175494345e-38 1.175494357e-38 00000001.175494357e-38 00000001.175494357e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494345e-38 1.17549e-38 1.175494357e-38 01.17549e-38 00000001.175494357e-38 01.17549e-38 00000001.175494357e-38 1000-01-06 838:59:53 1970-01-07 00:00:06 1970-01-07 00:00:06 1907 1907 1907 1enum 1set
-7 7 0000000007 0000000000000000000000000000000000000000000000000000000000000007 0000000007 0000000000000000000000000000000000000000000000000000000000000007 1 6.600000000000000000000000000000 7 6.600000000000000000000000000000 0000000007 000000000000000000000000000000006.600000000000000000000000000000 0000000007 000000000000000000000000000000006.600000000000000000000000000000 -1.175494344e-38 1.175494358e-38 00000001.175494358e-38 00000001.175494358e-38 -1.175494344e-38 1.175494358e-38 00000001.175494358e-38 00000001.175494358e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494344e-38 1.17549e-38 1.175494358e-38 01.17549e-38 00000001.175494358e-38 01.17549e-38 00000001.175494358e-38 1000-01-07 838:59:52 1970-01-08 00:00:07 1970-01-08 00:00:07 1908 1908 1908 2enum 2set
-8 8 0000000008 0000000000000000000000000000000000000000000000000000000000000008 0000000008 0000000000000000000000000000000000000000000000000000000000000008 2 7.700000000000000000000000000000 8 7.700000000000000000000000000000 0000000008 000000000000000000000000000000007.700000000000000000000000000000 0000000008 000000000000000000000000000000007.700000000000000000000000000000 -1.175494343e-38 1.175494359e-38 00000001.175494359e-38 00000001.175494359e-38 -1.175494343e-38 1.175494359e-38 00000001.175494359e-38 00000001.175494359e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494343e-38 1.17549e-38 1.175494359e-38 01.17549e-38 00000001.175494359e-38 01.17549e-38 00000001.175494359e-38 1000-01-08 838:59:51 1970-01-09 00:00:08 1970-01-09 00:00:08 1909 1909 1909 1enum 1set,2set
-9 9 0000000009 0000000000000000000000000000000000000000000000000000000000000009 0000000009 0000000000000000000000000000000000000000000000000000000000000009 3 8.800000000000000000000000000000 9 8.800000000000000000000000000000 0000000009 000000000000000000000000000000008.800000000000000000000000000000 0000000009 000000000000000000000000000000008.800000000000000000000000000000 -1.175494342e-38 1.17549436e-38 000000001.17549436e-38 000000001.17549436e-38 -1.175494342e-38 1.17549436e-38 000000001.17549436e-38 000000001.17549436e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494342e-38 1.17549e-38 1.17549436e-38 01.17549e-38 000000001.17549436e-38 01.17549e-38 000000001.17549436e-38 1000-01-09 838:59:50 1970-01-10 00:00:09 1970-01-10 00:00:09 1910 1910 1910 2enum 1set
-10 10 0000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000010 0000000000000000000000000000000000000000000000000000000000000010 4 9.900000000000000000000000000000 10 9.900000000000000000000000000000 0000000010 000000000000000000000000000000009.900000000000000000000000000000 0000000010 000000000000000000000000000000009.900000000000000000000000000000 -1.175494341e-38 1.175494361e-38 00000001.175494361e-38 00000001.175494361e-38 -1.175494341e-38 1.175494361e-38 00000001.175494361e-38 00000001.175494361e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494341e-38 1.17549e-38 1.175494361e-38 01.17549e-38 00000001.175494361e-38 01.17549e-38 00000001.175494361e-38 1000-01-10 838:59:49 1970-01-11 00:00:10 1970-01-11 00:00:10 1911 1911 1911 1enum 2set
-15 87 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-17 15 0000000016 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-19 18 0000000014 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-22 93 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-24 51654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-27 25 0000000026 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-29 28 0000000024 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-34 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-94 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-107 105 0000000106 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-107 105 0000000106 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-109 108 0000000104 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-109 108 0000000104 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-195 87 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-207 205 0000000206 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-209 208 0000000204 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-242 79 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-250 87895654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-292 93 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-299 899 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-321 NULL 0000000765 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-323 14376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-340 9984376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-394 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-424 89 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-441 16546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-660 876546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-987 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2550 775654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2760 985654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3330 764376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3410 996546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-7876 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-9112 NULL 0000008771 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-76710 226546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-569300 9114376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-Use test;
-
-Testcase 3.3.1.1
---------------------------------------------------------------------------------
-Drop table if exists t1;
-Create table t1 (f59 INT, f60 INT) ;
-Insert into t1 values (100,4234);
-Insert into t1 values (990,6624);
-Insert into t1 values (710,765);
-Insert into t1 values (300,433334);
-Insert into t1 values (800,9788);
-Insert into t1 values (500,9866);
-Drop view if exists v1 ;
-CREATE VIEW v1 AS select f59,f60,f61
-FROM test.tb2 where f59=250;
-select * FROM v1 order by f60,f61 limit 0,10;
-f59 f60 f61
-250 87895654 NULL
-Drop view if exists v1 ;
-CREATE VIEW v1 AS select f59,f60,f61
-FROM test.tb2 limit 100;
-select * FROM v1 order by f59,f60,f61 limit 0,10;
-f59 f60 f61
-1 1 0000000001
-2 2 0000000002
-3 3 0000000003
-4 4 0000000004
-4 74 NULL
-5 5 0000000005
-6 6 0000000006
-7 7 0000000007
-8 8 0000000008
-9 9 0000000009
-CREATE or REPLACE VIEW v1 AS select f59,f60,f61
-FROM test.tb2;
-select * FROM v1 order by f59,f60,f61 limit 4,3;
-f59 f60 f61
-4 74 NULL
-5 5 0000000005
-6 6 0000000006
-CREATE or REPLACE VIEW v1 AS select distinct f59
-FROM test.tb2;
-select * FROM v1 order by f59 limit 4,3;
-f59
-5
-6
-7
-ALTER VIEW v1 AS select f59
-FROM test.tb2;
-select * FROM v1 order by f59 limit 6,2;
-f59
-6
-7
-CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59;
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-4
-5
-6
-7
-8
-9
-CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 asc;
-select * FROM v1 limit 0,10;
-f59
-1
-2
-3
-4
-4
-5
-6
-7
-8
-9
-CREATE or REPLACE VIEW v1 AS select f59
-from tb2 order by f59 desc;
-select * FROM v1 limit 0,10;
-f59
-569300
-76710
-9112
-7876
-3410
-3330
-2760
-2550
-987
-660
-CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59;
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 asc;
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-CREATE or REPLACE VIEW v1 AS select f59
-from tb2 group by f59 desc;
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-CREATE or REPLACE VIEW v1 AS (select f59 from tb2)
-union (select f59 from t1);
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
-UNION DISTINCT(select f59 FROM t1) ;
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-CREATE or REPLACE VIEW v1 AS (select f59 FROM tb2)
-UNION ALL(select f59 FROM t1) ;
-select * FROM v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-4
-5
-6
-7
-8
-9
-CREATE or REPLACE VIEW v1 AS select *
-FROM test.tb2 WITH LOCAL CHECK OPTION ;
-select * FROM v1 order by f59,f60,f61,f62,f63,f64 limit 0,50;
-f59 1
-f60 1
-f61 0000000001
-f62 0000000000000000000000000000000000000000000000000000000000000001
-f63 0000000001
-f64 0000000000000000000000000000000000000000000000000000000000000001
-f65 -5
-f66 0.000000000000000000000000000000
-f67 1
-f68 0.000000000000000000000000000000
-f69 0000000001
-f70 000000000000000000000000000000000.000000000000000000000000000000
-f71 0000000001
-f72 000000000000000000000000000000000.000000000000000000000000000000
-f73 -1.17549435e-38
-f74 1.175494352e-38
-f75 00000001.175494352e-38
-f76 00000001.175494352e-38
-f77 -1.17549435e-38
-f78 1.175494352e-38
-f79 00000001.175494352e-38
-f80 00000001.175494352e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.17549435e-38
-f95 1.17549e-38
-f96 1.175494352e-38
-f97 01.17549e-38
-f98 00000001.175494352e-38
-f99 01.17549e-38
-f100 00000001.175494352e-38
-f101 1000-01-01
-f102 838:59:58
-f103 1970-01-02 00:00:01
-f104 1970-01-02 00:00:01
-f105 1902
-f106 1902
-f107 1902
-f108 2enum
-f109 2set
-f59 2
-f60 2
-f61 0000000002
-f62 0000000000000000000000000000000000000000000000000000000000000002
-f63 0000000002
-f64 0000000000000000000000000000000000000000000000000000000000000002
-f65 -4
-f66 1.100000000000000000000000000000
-f67 2
-f68 1.100000000000000000000000000000
-f69 0000000002
-f70 000000000000000000000000000000001.100000000000000000000000000000
-f71 0000000002
-f72 000000000000000000000000000000001.100000000000000000000000000000
-f73 -1.175494349e-38
-f74 1.175494353e-38
-f75 00000001.175494353e-38
-f76 00000001.175494353e-38
-f77 -1.175494349e-38
-f78 1.175494353e-38
-f79 00000001.175494353e-38
-f80 00000001.175494353e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494349e-38
-f95 1.17549e-38
-f96 1.175494353e-38
-f97 01.17549e-38
-f98 00000001.175494353e-38
-f99 01.17549e-38
-f100 00000001.175494353e-38
-f101 1000-01-02
-f102 838:59:57
-f103 1970-01-03 00:00:02
-f104 1970-01-03 00:00:02
-f105 1903
-f106 1903
-f107 1903
-f108 1enum
-f109 1set,2set
-f59 3
-f60 3
-f61 0000000003
-f62 0000000000000000000000000000000000000000000000000000000000000003
-f63 0000000003
-f64 0000000000000000000000000000000000000000000000000000000000000003
-f65 -3
-f66 2.200000000000000000000000000000
-f67 3
-f68 2.200000000000000000000000000000
-f69 0000000003
-f70 000000000000000000000000000000002.200000000000000000000000000000
-f71 0000000003
-f72 000000000000000000000000000000002.200000000000000000000000000000
-f73 -1.175494348e-38
-f74 1.175494354e-38
-f75 00000001.175494354e-38
-f76 00000001.175494354e-38
-f77 -1.175494348e-38
-f78 1.175494354e-38
-f79 00000001.175494354e-38
-f80 00000001.175494354e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494348e-38
-f95 1.17549e-38
-f96 1.175494354e-38
-f97 01.17549e-38
-f98 00000001.175494354e-38
-f99 01.17549e-38
-f100 00000001.175494354e-38
-f101 1000-01-03
-f102 838:59:56
-f103 1970-01-04 00:00:03
-f104 1970-01-04 00:00:03
-f105 1904
-f106 1904
-f107 1904
-f108 2enum
-f109 1set
-f59 4
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 4
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 5
-f60 5
-f61 0000000005
-f62 0000000000000000000000000000000000000000000000000000000000000005
-f63 0000000005
-f64 0000000000000000000000000000000000000000000000000000000000000005
-f65 -1
-f66 4.400000000000000000000000000000
-f67 5
-f68 4.400000000000000000000000000000
-f69 0000000005
-f70 000000000000000000000000000000004.400000000000000000000000000000
-f71 0000000005
-f72 000000000000000000000000000000004.400000000000000000000000000000
-f73 -1.175494346e-38
-f74 1.175494356e-38
-f75 00000001.175494356e-38
-f76 00000001.175494356e-38
-f77 -1.175494346e-38
-f78 1.175494356e-38
-f79 00000001.175494356e-38
-f80 00000001.175494356e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494346e-38
-f95 1.17549e-38
-f96 1.175494356e-38
-f97 01.17549e-38
-f98 00000001.175494356e-38
-f99 01.17549e-38
-f100 00000001.175494356e-38
-f101 1000-01-05
-f102 838:59:54
-f103 1970-01-06 00:00:05
-f104 1970-01-06 00:00:05
-f105 1906
-f106 1906
-f107 1906
-f108 2enum
-f109 1set,2set
-f59 6
-f60 6
-f61 0000000006
-f62 0000000000000000000000000000000000000000000000000000000000000006
-f63 0000000006
-f64 0000000000000000000000000000000000000000000000000000000000000006
-f65 0
-f66 5.500000000000000000000000000000
-f67 6
-f68 5.500000000000000000000000000000
-f69 0000000006
-f70 000000000000000000000000000000005.500000000000000000000000000000
-f71 0000000006
-f72 000000000000000000000000000000005.500000000000000000000000000000
-f73 -1.175494345e-38
-f74 1.175494357e-38
-f75 00000001.175494357e-38
-f76 00000001.175494357e-38
-f77 -1.175494345e-38
-f78 1.175494357e-38
-f79 00000001.175494357e-38
-f80 00000001.175494357e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494345e-38
-f95 1.17549e-38
-f96 1.175494357e-38
-f97 01.17549e-38
-f98 00000001.175494357e-38
-f99 01.17549e-38
-f100 00000001.175494357e-38
-f101 1000-01-06
-f102 838:59:53
-f103 1970-01-07 00:00:06
-f104 1970-01-07 00:00:06
-f105 1907
-f106 1907
-f107 1907
-f108 1enum
-f109 1set
-f59 7
-f60 7
-f61 0000000007
-f62 0000000000000000000000000000000000000000000000000000000000000007
-f63 0000000007
-f64 0000000000000000000000000000000000000000000000000000000000000007
-f65 1
-f66 6.600000000000000000000000000000
-f67 7
-f68 6.600000000000000000000000000000
-f69 0000000007
-f70 000000000000000000000000000000006.600000000000000000000000000000
-f71 0000000007
-f72 000000000000000000000000000000006.600000000000000000000000000000
-f73 -1.175494344e-38
-f74 1.175494358e-38
-f75 00000001.175494358e-38
-f76 00000001.175494358e-38
-f77 -1.175494344e-38
-f78 1.175494358e-38
-f79 00000001.175494358e-38
-f80 00000001.175494358e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494344e-38
-f95 1.17549e-38
-f96 1.175494358e-38
-f97 01.17549e-38
-f98 00000001.175494358e-38
-f99 01.17549e-38
-f100 00000001.175494358e-38
-f101 1000-01-07
-f102 838:59:52
-f103 1970-01-08 00:00:07
-f104 1970-01-08 00:00:07
-f105 1908
-f106 1908
-f107 1908
-f108 2enum
-f109 2set
-f59 8
-f60 8
-f61 0000000008
-f62 0000000000000000000000000000000000000000000000000000000000000008
-f63 0000000008
-f64 0000000000000000000000000000000000000000000000000000000000000008
-f65 2
-f66 7.700000000000000000000000000000
-f67 8
-f68 7.700000000000000000000000000000
-f69 0000000008
-f70 000000000000000000000000000000007.700000000000000000000000000000
-f71 0000000008
-f72 000000000000000000000000000000007.700000000000000000000000000000
-f73 -1.175494343e-38
-f74 1.175494359e-38
-f75 00000001.175494359e-38
-f76 00000001.175494359e-38
-f77 -1.175494343e-38
-f78 1.175494359e-38
-f79 00000001.175494359e-38
-f80 00000001.175494359e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494343e-38
-f95 1.17549e-38
-f96 1.175494359e-38
-f97 01.17549e-38
-f98 00000001.175494359e-38
-f99 01.17549e-38
-f100 00000001.175494359e-38
-f101 1000-01-08
-f102 838:59:51
-f103 1970-01-09 00:00:08
-f104 1970-01-09 00:00:08
-f105 1909
-f106 1909
-f107 1909
-f108 1enum
-f109 1set,2set
-f59 9
-f60 9
-f61 0000000009
-f62 0000000000000000000000000000000000000000000000000000000000000009
-f63 0000000009
-f64 0000000000000000000000000000000000000000000000000000000000000009
-f65 3
-f66 8.800000000000000000000000000000
-f67 9
-f68 8.800000000000000000000000000000
-f69 0000000009
-f70 000000000000000000000000000000008.800000000000000000000000000000
-f71 0000000009
-f72 000000000000000000000000000000008.800000000000000000000000000000
-f73 -1.175494342e-38
-f74 1.17549436e-38
-f75 000000001.17549436e-38
-f76 000000001.17549436e-38
-f77 -1.175494342e-38
-f78 1.17549436e-38
-f79 000000001.17549436e-38
-f80 000000001.17549436e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494342e-38
-f95 1.17549e-38
-f96 1.17549436e-38
-f97 01.17549e-38
-f98 000000001.17549436e-38
-f99 01.17549e-38
-f100 000000001.17549436e-38
-f101 1000-01-09
-f102 838:59:50
-f103 1970-01-10 00:00:09
-f104 1970-01-10 00:00:09
-f105 1910
-f106 1910
-f107 1910
-f108 2enum
-f109 1set
-f59 10
-f60 10
-f61 0000000010
-f62 0000000000000000000000000000000000000000000000000000000000000010
-f63 0000000010
-f64 0000000000000000000000000000000000000000000000000000000000000010
-f65 4
-f66 9.900000000000000000000000000000
-f67 10
-f68 9.900000000000000000000000000000
-f69 0000000010
-f70 000000000000000000000000000000009.900000000000000000000000000000
-f71 0000000010
-f72 000000000000000000000000000000009.900000000000000000000000000000
-f73 -1.175494341e-38
-f74 1.175494361e-38
-f75 00000001.175494361e-38
-f76 00000001.175494361e-38
-f77 -1.175494341e-38
-f78 1.175494361e-38
-f79 00000001.175494361e-38
-f80 00000001.175494361e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494341e-38
-f95 1.17549e-38
-f96 1.175494361e-38
-f97 01.17549e-38
-f98 00000001.175494361e-38
-f99 01.17549e-38
-f100 00000001.175494361e-38
-f101 1000-01-10
-f102 838:59:49
-f103 1970-01-11 00:00:10
-f104 1970-01-11 00:00:10
-f105 1911
-f106 1911
-f107 1911
-f108 1enum
-f109 2set
-f59 15
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 17
-f60 15
-f61 0000000016
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 19
-f60 18
-f61 0000000014
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 22
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 24
-f60 51654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 27
-f60 25
-f61 0000000026
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 29
-f60 28
-f61 0000000024
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 34
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 94
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 195
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 207
-f60 205
-f61 0000000206
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 209
-f60 208
-f61 0000000204
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 242
-f60 79
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 250
-f60 87895654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 292
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 299
-f60 899
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 321
-f60 NULL
-f61 0000000765
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 323
-f60 14376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 340
-f60 9984376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 394
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 424
-f60 89
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 441
-f60 16546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 660
-f60 876546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 987
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2550
-f60 775654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2760
-f60 985654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3330
-f60 764376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3410
-f60 996546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 7876
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 9112
-f60 NULL
-f61 0000008771
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 76710
-f60 226546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 569300
-f60 9114376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-CREATE or REPLACE VIEW v1 AS select *
-FROM test.tb2 WITH CASCADED CHECK OPTION ;
-select * FROM v1 order by f59,f60,f61,f62,f63,f64 limit 0,10;
-f59 1
-f60 1
-f61 0000000001
-f62 0000000000000000000000000000000000000000000000000000000000000001
-f63 0000000001
-f64 0000000000000000000000000000000000000000000000000000000000000001
-f65 -5
-f66 0.000000000000000000000000000000
-f67 1
-f68 0.000000000000000000000000000000
-f69 0000000001
-f70 000000000000000000000000000000000.000000000000000000000000000000
-f71 0000000001
-f72 000000000000000000000000000000000.000000000000000000000000000000
-f73 -1.17549435e-38
-f74 1.175494352e-38
-f75 00000001.175494352e-38
-f76 00000001.175494352e-38
-f77 -1.17549435e-38
-f78 1.175494352e-38
-f79 00000001.175494352e-38
-f80 00000001.175494352e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.17549435e-38
-f95 1.17549e-38
-f96 1.175494352e-38
-f97 01.17549e-38
-f98 00000001.175494352e-38
-f99 01.17549e-38
-f100 00000001.175494352e-38
-f101 1000-01-01
-f102 838:59:58
-f103 1970-01-02 00:00:01
-f104 1970-01-02 00:00:01
-f105 1902
-f106 1902
-f107 1902
-f108 2enum
-f109 2set
-f59 2
-f60 2
-f61 0000000002
-f62 0000000000000000000000000000000000000000000000000000000000000002
-f63 0000000002
-f64 0000000000000000000000000000000000000000000000000000000000000002
-f65 -4
-f66 1.100000000000000000000000000000
-f67 2
-f68 1.100000000000000000000000000000
-f69 0000000002
-f70 000000000000000000000000000000001.100000000000000000000000000000
-f71 0000000002
-f72 000000000000000000000000000000001.100000000000000000000000000000
-f73 -1.175494349e-38
-f74 1.175494353e-38
-f75 00000001.175494353e-38
-f76 00000001.175494353e-38
-f77 -1.175494349e-38
-f78 1.175494353e-38
-f79 00000001.175494353e-38
-f80 00000001.175494353e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494349e-38
-f95 1.17549e-38
-f96 1.175494353e-38
-f97 01.17549e-38
-f98 00000001.175494353e-38
-f99 01.17549e-38
-f100 00000001.175494353e-38
-f101 1000-01-02
-f102 838:59:57
-f103 1970-01-03 00:00:02
-f104 1970-01-03 00:00:02
-f105 1903
-f106 1903
-f107 1903
-f108 1enum
-f109 1set,2set
-f59 3
-f60 3
-f61 0000000003
-f62 0000000000000000000000000000000000000000000000000000000000000003
-f63 0000000003
-f64 0000000000000000000000000000000000000000000000000000000000000003
-f65 -3
-f66 2.200000000000000000000000000000
-f67 3
-f68 2.200000000000000000000000000000
-f69 0000000003
-f70 000000000000000000000000000000002.200000000000000000000000000000
-f71 0000000003
-f72 000000000000000000000000000000002.200000000000000000000000000000
-f73 -1.175494348e-38
-f74 1.175494354e-38
-f75 00000001.175494354e-38
-f76 00000001.175494354e-38
-f77 -1.175494348e-38
-f78 1.175494354e-38
-f79 00000001.175494354e-38
-f80 00000001.175494354e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494348e-38
-f95 1.17549e-38
-f96 1.175494354e-38
-f97 01.17549e-38
-f98 00000001.175494354e-38
-f99 01.17549e-38
-f100 00000001.175494354e-38
-f101 1000-01-03
-f102 838:59:56
-f103 1970-01-04 00:00:03
-f104 1970-01-04 00:00:03
-f105 1904
-f106 1904
-f107 1904
-f108 2enum
-f109 1set
-f59 4
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 4
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 5
-f60 5
-f61 0000000005
-f62 0000000000000000000000000000000000000000000000000000000000000005
-f63 0000000005
-f64 0000000000000000000000000000000000000000000000000000000000000005
-f65 -1
-f66 4.400000000000000000000000000000
-f67 5
-f68 4.400000000000000000000000000000
-f69 0000000005
-f70 000000000000000000000000000000004.400000000000000000000000000000
-f71 0000000005
-f72 000000000000000000000000000000004.400000000000000000000000000000
-f73 -1.175494346e-38
-f74 1.175494356e-38
-f75 00000001.175494356e-38
-f76 00000001.175494356e-38
-f77 -1.175494346e-38
-f78 1.175494356e-38
-f79 00000001.175494356e-38
-f80 00000001.175494356e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494346e-38
-f95 1.17549e-38
-f96 1.175494356e-38
-f97 01.17549e-38
-f98 00000001.175494356e-38
-f99 01.17549e-38
-f100 00000001.175494356e-38
-f101 1000-01-05
-f102 838:59:54
-f103 1970-01-06 00:00:05
-f104 1970-01-06 00:00:05
-f105 1906
-f106 1906
-f107 1906
-f108 2enum
-f109 1set,2set
-f59 6
-f60 6
-f61 0000000006
-f62 0000000000000000000000000000000000000000000000000000000000000006
-f63 0000000006
-f64 0000000000000000000000000000000000000000000000000000000000000006
-f65 0
-f66 5.500000000000000000000000000000
-f67 6
-f68 5.500000000000000000000000000000
-f69 0000000006
-f70 000000000000000000000000000000005.500000000000000000000000000000
-f71 0000000006
-f72 000000000000000000000000000000005.500000000000000000000000000000
-f73 -1.175494345e-38
-f74 1.175494357e-38
-f75 00000001.175494357e-38
-f76 00000001.175494357e-38
-f77 -1.175494345e-38
-f78 1.175494357e-38
-f79 00000001.175494357e-38
-f80 00000001.175494357e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494345e-38
-f95 1.17549e-38
-f96 1.175494357e-38
-f97 01.17549e-38
-f98 00000001.175494357e-38
-f99 01.17549e-38
-f100 00000001.175494357e-38
-f101 1000-01-06
-f102 838:59:53
-f103 1970-01-07 00:00:06
-f104 1970-01-07 00:00:06
-f105 1907
-f106 1907
-f107 1907
-f108 1enum
-f109 1set
-f59 7
-f60 7
-f61 0000000007
-f62 0000000000000000000000000000000000000000000000000000000000000007
-f63 0000000007
-f64 0000000000000000000000000000000000000000000000000000000000000007
-f65 1
-f66 6.600000000000000000000000000000
-f67 7
-f68 6.600000000000000000000000000000
-f69 0000000007
-f70 000000000000000000000000000000006.600000000000000000000000000000
-f71 0000000007
-f72 000000000000000000000000000000006.600000000000000000000000000000
-f73 -1.175494344e-38
-f74 1.175494358e-38
-f75 00000001.175494358e-38
-f76 00000001.175494358e-38
-f77 -1.175494344e-38
-f78 1.175494358e-38
-f79 00000001.175494358e-38
-f80 00000001.175494358e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494344e-38
-f95 1.17549e-38
-f96 1.175494358e-38
-f97 01.17549e-38
-f98 00000001.175494358e-38
-f99 01.17549e-38
-f100 00000001.175494358e-38
-f101 1000-01-07
-f102 838:59:52
-f103 1970-01-08 00:00:07
-f104 1970-01-08 00:00:07
-f105 1908
-f106 1908
-f107 1908
-f108 2enum
-f109 2set
-f59 8
-f60 8
-f61 0000000008
-f62 0000000000000000000000000000000000000000000000000000000000000008
-f63 0000000008
-f64 0000000000000000000000000000000000000000000000000000000000000008
-f65 2
-f66 7.700000000000000000000000000000
-f67 8
-f68 7.700000000000000000000000000000
-f69 0000000008
-f70 000000000000000000000000000000007.700000000000000000000000000000
-f71 0000000008
-f72 000000000000000000000000000000007.700000000000000000000000000000
-f73 -1.175494343e-38
-f74 1.175494359e-38
-f75 00000001.175494359e-38
-f76 00000001.175494359e-38
-f77 -1.175494343e-38
-f78 1.175494359e-38
-f79 00000001.175494359e-38
-f80 00000001.175494359e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494343e-38
-f95 1.17549e-38
-f96 1.175494359e-38
-f97 01.17549e-38
-f98 00000001.175494359e-38
-f99 01.17549e-38
-f100 00000001.175494359e-38
-f101 1000-01-08
-f102 838:59:51
-f103 1970-01-09 00:00:08
-f104 1970-01-09 00:00:08
-f105 1909
-f106 1909
-f107 1909
-f108 1enum
-f109 1set,2set
-f59 9
-f60 9
-f61 0000000009
-f62 0000000000000000000000000000000000000000000000000000000000000009
-f63 0000000009
-f64 0000000000000000000000000000000000000000000000000000000000000009
-f65 3
-f66 8.800000000000000000000000000000
-f67 9
-f68 8.800000000000000000000000000000
-f69 0000000009
-f70 000000000000000000000000000000008.800000000000000000000000000000
-f71 0000000009
-f72 000000000000000000000000000000008.800000000000000000000000000000
-f73 -1.175494342e-38
-f74 1.17549436e-38
-f75 000000001.17549436e-38
-f76 000000001.17549436e-38
-f77 -1.175494342e-38
-f78 1.17549436e-38
-f79 000000001.17549436e-38
-f80 000000001.17549436e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494342e-38
-f95 1.17549e-38
-f96 1.17549436e-38
-f97 01.17549e-38
-f98 000000001.17549436e-38
-f99 01.17549e-38
-f100 000000001.17549436e-38
-f101 1000-01-09
-f102 838:59:50
-f103 1970-01-10 00:00:09
-f104 1970-01-10 00:00:09
-f105 1910
-f106 1910
-f107 1910
-f108 2enum
-f109 1set
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 WITH CASCADED CHECK OPTION;
-SELECT * FROM v1 order by f59,f60 limit 0,10;
-F59 F60
-1 1
-2 2
-3 3
-4 4
-4 74
-5 5
-6 6
-7 7
-8 8
-9 9
-CREATE or REPLACE VIEW v1 AS select f59, f60
-from test.tb2 where f59=3330 ;
-select * FROM v1 order by f60 limit 0,10;
-f59 f60
-3330 764376
-DROP VIEW v1 ;
-DROP TABLE t1 ;
-
-Testcase 3.3.1.2
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-DROP VIEW IF EXISTS v2 ;
-CREATE TABLE t1 (f1 BIGINT) ;
-SET @x=0;
-CREATE or REPLACE VIEW v1 AS Select 1 INTO @x;
-ERROR HY000: View's SELECT contains a 'INTO' clause
-Select @x;
-@x
-0
-CREATE or REPLACE VIEW v1 AS Select 1
-FROM (SELECT 1 FROM t1) my_table;
-ERROR HY000: View's SELECT contains a subquery in the FROM clause
-CREATE VIEW v1 AS SELECT f1 FROM t1;
-CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ;
-SET @a:=0 ;
-SELECT @a ;
-@a
-0
-INSERT INTO v1 VALUES (1) ;
-SELECT @a ;
-@a
-1
-SELECT * FROM t1;
-f1
-1
-DROP TRIGGER tr1 ;
-SET @a:=0 ;
-CREATE TRIGGER tr1 BEFORE INSERT ON v1 FOR EACH ROW SET @a:=1 ;
-ERROR HY000: 'test.v1' is not BASE TABLE
-RENAME TABLE v1 TO v2;
-RENAME VIEW v2 TO v1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VIEW v2 TO v1' at line 1
-ALTER TABLE v2 RENAME AS v1;
-ERROR HY000: 'test.v2' is not BASE TABLE
-ALTER VIEW v1 RENAME AS v2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RENAME AS v2' at line 1
-DROP TABLE IF EXISTS t1, t2 ;
-DROP VIEW IF EXISTS v1 ;
-DROP VIEW IF EXISTS v2 ;
-CREATE TABLE t1 ( f1 DATE, f2 BLOB, f3 DOUBLE );
-CREATE VIEW v1 AS SELECT f1, f2, f3 FROM t1;
-ALTER TABLE t1 ADD PRIMARY KEY(f1);
-ALTER TABLE v1 ADD PRIMARY KEY(f1);
-ERROR HY000: 'test.v1' is not BASE TABLE
-ALTER VIEW v1 ADD PRIMARY KEY(f1);
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ADD PRIMARY KEY(f1)' at line 1
-CREATE INDEX t1_idx ON t1(f3);
-CREATE INDEX v1_idx ON v1(f3);
-ERROR HY000: 'test.v1' is not BASE TABLE
-DROP TABLE t1;
-DROP VIEW v1;
-
-Testcase 3.3.1.3 + 3.1.1.4
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1 ;
-CREATE VIEW v1 or REPLACE AS Select * from tb2 my_table;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'or REPLACE AS Select * from tb2 my_table' at line 1
-CREATE VIEW v1 WITH CASCADED CHECK OPTION AS Select *
-from tb2 my_table limit 50;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASCADED CHECK OPTION AS Select *
-from tb2 my_table limit 50' at line 1
-CREATE VIEW v1 WITH LOCAL CHECK OPTION AS Select *
-from tb2 my_table limit 50;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LOCAL CHECK OPTION AS Select *
-from tb2 my_table limit 50' at line 1
-SELECT * FROM tb2 my_table CREATE VIEW As v1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE VIEW As v1' at line 1
-CREATE or REPLACE VIEW v1 Select f59, f60
-from test.tb2 my_table where f59 = 250 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Select f59, f60
-from test.tb2 my_table where f59 = 250' at line 1
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
-DROP VIEW v1;
-REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR CREATE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK ' at line 1
-CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT AS F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK OPTION' at line 1
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table CASCADED WITH CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASCADED WITH CHECK OPTION' at line 2
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH CASCADED OPTION CHECK;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION CHECK' at line 2
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table CHECK OPTION WITH CASCADED;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHECK OPTION WITH CASCADED' at line 2
-CREATE OR REPLACE VIEW v1 WITH CASCADED CHECK OPTION
-AS SELECT F59, F60 FROM test.tb2 my_table;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASCADED CHECK OPTION
-AS SELECT F59, F60 FROM test.tb2 my_table' at line 1
-CREATE OR REPLACE AS SELECT F59, F60
-FROM test.tb2 my_table VIEW v1 WITH CASCADED CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS SELECT F59, F60
-FROM test.tb2 my_table VIEW v1 WITH CASCADED CHECK OPTION' at line 1
-CREATE OR REPLACE AS SELECT F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK OPTION VIEW v1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS SELECT F59, F60
-FROM test.tb2 my_table WITH CASCADED CHECK OPTION VIEW v1' at line 1
-REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR CREATE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH LOCAL CHECK OPT' at line 1
-CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
-FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT AS F59, F60
-FROM test.tb2 my_table WITH LOCAL CHECK OPTION' at line 1
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table LOCAL WITH CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LOCAL WITH CHECK OPTION' at line 2
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table WITH LOCAL OPTION CHECK;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION CHECK' at line 2
-CREATE OR REPLACE VIEW v1 AS SELECT F59, F60
-FROM test.tb2 my_table CHECK OPTION WITH LOCAL;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHECK OPTION WITH LOCAL' at line 2
-CREATE OR REPLACE VIEW v1 WITH CASCADED CHECK OPTION
-AS SELECT F59, F60 FROM test.tb2 my_table;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASCADED CHECK OPTION
-AS SELECT F59, F60 FROM test.tb2 my_table' at line 1
-CREATE OR REPLACE AS SELECT F59, F60
-FROM test.tb2 my_table VIEW v1 WITH LOCAL CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS SELECT F59, F60
-FROM test.tb2 my_table VIEW v1 WITH LOCAL CHECK OPTION' at line 1
-CREATE OR REPLACE AS SELECT F59, F60
-FROM test.tb2 my_table WITH LOCAL CHECK OPTION VIEW v1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS SELECT F59, F60
-FROM test.tb2 my_table WITH LOCAL CHECK OPTION VIEW v1' at line 1
-Drop table if exists t1 ;
-CREATE table t1 (f1 int ,f2 int) ;
-INSERT INTO t1 values (235, 22);
-INSERT INTO t1 values (554, 11);
-CREATE or REPLACE view v1 as (Select from f59 tb2)
-Union ALL (Select from f1 t1);
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from f59 tb2)
-Union ALL (Select from f1 t1)' at line 1
-CREATE or REPLACE view v1 as Select f59, f60
-from tb2 by order f59;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by order f59' at line 2
-CREATE or REPLACE view v1 as Select f59, f60
-from tb2 by group f59 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by group f59' at line 2
-
-Testcase 3.3.1.5
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1 ;
-CREATE VIEW v1 SELECT * FROM tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tb2' at line 1
-CREATE v1 AS SELECT * FROM tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'v1 AS SELECT * FROM tb2' at line 1
-VIEW v1 AS SELECT * FROM tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VIEW v1 AS SELECT * FROM tb2' at line 1
-CREATE VIEW v1 AS SELECT 1;
-DROP VIEW v1;
-VIEW v1 AS SELECT 1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VIEW v1 AS SELECT 1' at line 1
-CREATE v1 AS SELECT 1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'v1 AS SELECT 1' at line 1
-CREATE VIEW AS SELECT 1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS SELECT 1' at line 1
-CREATE VIEW v1 SELECT 1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1' at line 1
-CREATE VIEW v1 AS ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
-
-Testcase 3.3.1.6
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1 ;
-CREATE or REPLACE VIEW v1
-as SELECT * from tb2;
-CREATE or REPLACE ALGORITHM = UNDEFINED VIEW v1
-as SELECT * from tb2;
-CREATE or REPLACE ALGORITHM = MERGE VIEW v1
-as SELECT * from tb2;
-CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2;
-CREATE or REPLACE ALGORITHM = TEMPTABLE VIEW v1
-as SELECT * from tb2;
-CREATE or REPLACE = TEMPTABLE VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= TEMPTABLE VIEW v1
-as SELECT * from tb2' at line 1
-CREATE or REPLACE ALGORITHM TEMPTABLE VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TEMPTABLE VIEW v1
-as SELECT * from tb2' at line 1
-CREATE or REPLACE ALGORITHM = VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VIEW v1
-as SELECT * from tb2' at line 1
-CREATE or REPLACE TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TEMPTABLE = ALGORITHM VIEW v1
-as SELECT * from tb2' at line 1
-CREATE or REPLACE TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TEMPTABLE - ALGORITHM VIEW v1
-as SELECT * from tb2' at line 1
-CREATE or REPLACE GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GARBAGE = TEMPTABLE VIEW v1
-as SELECT * from tb2' at line 1
-CREATE or REPLACE ALGORITHM = GARBAGE VIEW v1
-as SELECT * from tb2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GARBAGE VIEW v1
-as SELECT * from tb2' at line 1
-Drop view if exists v1 ;
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1;
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 WITH CHECK OPTION;
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 WITH CASCADED CHECK OPTION;
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 WITH LOCAL CHECK OPTION;
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 WITH NO CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NO CHECK OPTION' at line 2
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 CASCADED CHECK OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASCADED CHECK OPTION' at line 2
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 WITH CASCADED OPTION;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION' at line 2
-CREATE or REPLACE VIEW v1
-AS SELECT * from tb2 where f59 < 1 WITH CASCADED CHECK ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
-
-Testcase 3.3.1.7
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1 ;
-Create view test.v1 AS Select * from test.tb2;
-Alter view test.v1 AS Select F59 from test. tb2 limit 100 ;
-Drop view test.v1 ;
-Create view v1 AS Select * from test.tb2 limit 100 ;
-Alter view v1 AS Select F59 from test.tb2 limit 100 ;
-Drop view v1 ;
-
-Testcase 3.3.1.A0
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-DROP VIEW IF EXISTS V1 ;
-CREATE TABLE t1 (f1 NUMERIC(4)) ENGINE = ndb;
-INSERT INTO t1 VALUES(1111), (2222);
-CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1 = 1111;
-CREATE VIEW V1 AS SELECT * FROM t1 WHERE f1 = 2222;
-SELECT * FROM v1;
-f1
-1111
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-DROP VIEW IF EXISTS V1 ;
-
-Testcase 3.3.1.8
---------------------------------------------------------------------------------
-Create view select AS Select * from test.tb2 limit 100;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select AS Select * from test.tb2 limit 100' at line 1
-Create view as AS Select * from test.tb2 limit 100;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as AS Select * from test.tb2 limit 100' at line 1
-Create view where AS Select * from test.tb2 limit 100;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where AS Select * from test.tb2 limit 100' at line 1
-Create view from AS Select * from test.tb2 limit 100;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from AS Select * from test.tb2 limit 100' at line 1
-Create view while AS Select * from test.tb2 limit 100;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'while AS Select * from test.tb2 limit 100' at line 1
-Create view asdkj*(&*&&^ as Select * from test.tb2 limit 100 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*(&*&&^ as Select * from test.tb2 limit 100' at line 1
-Drop view if exists test.procedure ;
-Create view test.procedure as Select * from test.tb2 limit 100 ;
-Drop view if exists test.procedure ;
-
-Testcase 3.3.1.9
---------------------------------------------------------------------------------
-Drop TABLE IF EXISTS t1 ;
-Drop VIEW IF EXISTS v1;
-Drop VIEW IF EXISTS v2;
-Drop VIEW IF EXISTS v3;
-CREATE TABLE t1 ( f1 char(5));
-INSERT INTO t1 SET f1 = 'abcde';
-CREATE VIEW v1 AS SELECT f1 FROM t1;
-CREATE VIEW v2 AS SELECT * FROM v1;
-DROP TABLE t1;
-SELECT * FROM v1;
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DELETE FROM v1;
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-UPDATE v1 SET f1 = 'aaaaa';
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-INSERT INTO v1 SET f1 = "fffff";
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-SELECT * FROM v2;
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DELETE FROM v2;
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-UPDATE v2 SET f1 = 'aaaaa';
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-INSERT INTO v2 SET f1 = "fffff";
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DROP VIEW v1;
-SELECT * FROM v2;
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DELETE FROM v2;
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-UPDATE v2 SET f1 = 'aaaaa';
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-INSERT INTO v2 SET f1 = "fffff";
-ERROR HY000: View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DROP VIEW v2;
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-CREATE TABLE t1 (f1 FLOAT);
-CREATE VIEW v1 AS SELECT * FROM v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-CREATE VIEW v1 AS SELECT * FROM t1;
-CREATE or REPLACE VIEW v1 AS SELECT * FROM v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-DROP VIEW v1;
-DROP TABLE t1;
-
-Testcase 3.3.1.10
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-Create view test.v1 AS Select * from test.tb2 ;
-Create view test.v1 AS Select F59 from test.tb2 ;
-ERROR 42S01: Table 'v1' already exists
-Create view v1 AS Select F59 from test.tb2 ;
-ERROR 42S01: Table 'v1' already exists
-
-Testcase 3.3.1.11
---------------------------------------------------------------------------------
-Create view test.tb2 AS Select f59,f60 from test.tb2 limit 100 ;
-ERROR 42S01: Table 'tb2' already exists
-Create view tb2 AS Select f59,f60 from test.tb2 limit 100 ;
-ERROR 42S01: Table 'tb2' already exists
-Drop view if exists test.v111 ;
-Create view test.v111 as select * from tb2 limit 50;
-Create table test.v111(f1 int );
-ERROR 42S01: Table 'v111' already exists
-Create table v111(f1 int );
-ERROR 42S01: Table 'v111' already exists
-DROP VIEW test.v111;
-
-Testcase 3.3.1.12
---------------------------------------------------------------------------------
-USE test;
-Drop database if exists test2 ;
-Create database test2 ;
-DROP TABLE IF EXISTS test.t0, test.t1, test.t2;
-DROP VIEW IF EXISTS test.v1;
-DROP VIEW IF EXISTS test.v2;
-CREATE TABLE test.t1 ( f1 VARCHAR(20));
-CREATE TABLE test2.t1 ( f1 VARCHAR(20));
-CREATE TABLE test.t2 ( f1 VARCHAR(20));
-CREATE TABLE test2.v1 ( f1 VARCHAR(20));
-CREATE TABLE test.t0 ( f1 VARCHAR(20));
-CREATE TABLE test2.t0 ( f1 VARCHAR(20));
-CREATE VIEW test2.t2 AS SELECT * FROM test2.t0;
-CREATE VIEW test.v1 AS SELECT * FROM test.t0;
-CREATE VIEW test.v2 AS SELECT * FROM test.t0;
-CREATE VIEW test2.v2 AS SELECT * FROM test2.t0;
-INSERT INTO test.t1 VALUES('test.t1 - 1');
-INSERT INTO test2.t1 VALUES('test2.t1 - 1');
-INSERT INTO test.t2 VALUES('test.t2 - 1');
-INSERT INTO test2.v1 VALUES('test2.v1 - 1');
-INSERT INTO test.t0 VALUES('test.t0 - 1');
-INSERT INTO test2.t0 VALUES('test2.t0 - 1');
-USE test;
-INSERT INTO t1 VALUES('test.t1 - 2');
-INSERT INTO t2 VALUES('test.t2 - 2');
-INSERT INTO t0 VALUES('test.t0 - 2');
-USE test2;
-INSERT INTO t1 VALUES('test2.t1 - 2');
-INSERT INTO v1 VALUES('test2.v1 - 2');
-INSERT INTO t0 VALUES('test2.t0 - 2');
-SELECT * FROM t1;
-f1
-test2.t1 - 1
-test2.t1 - 2
-SELECT * FROM t2;
-f1
-test2.t0 - 1
-test2.t0 - 2
-SELECT * FROM v1;
-f1
-test2.v1 - 1
-test2.v1 - 2
-SELECT * FROM v2;
-f1
-test2.t0 - 1
-test2.t0 - 2
-USE test;
-SELECT * FROM t1;
-f1
-test.t1 - 1
-test.t1 - 2
-SELECT * FROM t2;
-f1
-test.t2 - 1
-test.t2 - 2
-SELECT * FROM v1;
-f1
-test.t0 - 1
-test.t0 - 2
-SELECT * FROM v2;
-f1
-test.t0 - 1
-test.t0 - 2
-
-Testcase 3.3.1.13
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 (f1 BIGINT);
-INSERT INTO t1 VALUES(1);
-CREATE VIEW test.v1 AS SELECT * FROM t1 limit 2;
-SHOW CREATE VIEW test.v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2 latin1 latin1_swedish_ci
-SELECT * FROM test.v1;
-f1
-1
-CREATE OR REPLACE ALGORITHM = TEMPTABLE VIEW test.v1
-AS SELECT * FROM t1 limit 2;
-SHOW CREATE VIEW test.v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` limit 2 latin1 latin1_swedish_ci
-SELECT * FROM test.v1;
-f1
-1
-CREATE OR REPLACE VIEW test.v1 AS SELECT * FROM tb2 order by f59 limit 2;
-SHOW CREATE VIEW test.v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `tb2`.`f59` AS `f59`,`tb2`.`f60` AS `f60`,`tb2`.`f61` AS `f61`,`tb2`.`f62` AS `f62`,`tb2`.`f63` AS `f63`,`tb2`.`f64` AS `f64`,`tb2`.`f65` AS `f65`,`tb2`.`f66` AS `f66`,`tb2`.`f67` AS `f67`,`tb2`.`f68` AS `f68`,`tb2`.`f69` AS `f69`,`tb2`.`f70` AS `f70`,`tb2`.`f71` AS `f71`,`tb2`.`f72` AS `f72`,`tb2`.`f73` AS `f73`,`tb2`.`f74` AS `f74`,`tb2`.`f75` AS `f75`,`tb2`.`f76` AS `f76`,`tb2`.`f77` AS `f77`,`tb2`.`f78` AS `f78`,`tb2`.`f79` AS `f79`,`tb2`.`f80` AS `f80`,`tb2`.`f81` AS `f81`,`tb2`.`f82` AS `f82`,`tb2`.`f83` AS `f83`,`tb2`.`f84` AS `f84`,`tb2`.`f85` AS `f85`,`tb2`.`f86` AS `f86`,`tb2`.`f87` AS `f87`,`tb2`.`f88` AS `f88`,`tb2`.`f89` AS `f89`,`tb2`.`f90` AS `f90`,`tb2`.`f91` AS `f91`,`tb2`.`f92` AS `f92`,`tb2`.`f93` AS `f93`,`tb2`.`f94` AS `f94`,`tb2`.`f95` AS `f95`,`tb2`.`f96` AS `f96`,`tb2`.`f97` AS `f97`,`tb2`.`f98` AS `f98`,`tb2`.`f99` AS `f99`,`tb2`.`f100` AS `f100`,`tb2`.`f101` AS `f101`,`tb2`.`f102` AS `f102`,`tb2`.`f103` AS `f103`,`tb2`.`f104` AS `f104`,`tb2`.`f105` AS `f105`,`tb2`.`f106` AS `f106`,`tb2`.`f107` AS `f107`,`tb2`.`f108` AS `f108`,`tb2`.`f109` AS `f109` from `tb2` order by `tb2`.`f59` limit 2 latin1 latin1_swedish_ci
-SELECT * FROM test.v1 order by f59,f60,f61,f62,f63,f64,f65;
-f59 1
-f60 1
-f61 0000000001
-f62 0000000000000000000000000000000000000000000000000000000000000001
-f63 0000000001
-f64 0000000000000000000000000000000000000000000000000000000000000001
-f65 -5
-f66 0.000000000000000000000000000000
-f67 1
-f68 0.000000000000000000000000000000
-f69 0000000001
-f70 000000000000000000000000000000000.000000000000000000000000000000
-f71 0000000001
-f72 000000000000000000000000000000000.000000000000000000000000000000
-f73 -1.17549435e-38
-f74 1.175494352e-38
-f75 00000001.175494352e-38
-f76 00000001.175494352e-38
-f77 -1.17549435e-38
-f78 1.175494352e-38
-f79 00000001.175494352e-38
-f80 00000001.175494352e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.17549435e-38
-f95 1.17549e-38
-f96 1.175494352e-38
-f97 01.17549e-38
-f98 00000001.175494352e-38
-f99 01.17549e-38
-f100 00000001.175494352e-38
-f101 1000-01-01
-f102 838:59:58
-f103 1970-01-02 00:00:01
-f104 1970-01-02 00:00:01
-f105 1902
-f106 1902
-f107 1902
-f108 2enum
-f109 2set
-f59 2
-f60 2
-f61 0000000002
-f62 0000000000000000000000000000000000000000000000000000000000000002
-f63 0000000002
-f64 0000000000000000000000000000000000000000000000000000000000000002
-f65 -4
-f66 1.100000000000000000000000000000
-f67 2
-f68 1.100000000000000000000000000000
-f69 0000000002
-f70 000000000000000000000000000000001.100000000000000000000000000000
-f71 0000000002
-f72 000000000000000000000000000000001.100000000000000000000000000000
-f73 -1.175494349e-38
-f74 1.175494353e-38
-f75 00000001.175494353e-38
-f76 00000001.175494353e-38
-f77 -1.175494349e-38
-f78 1.175494353e-38
-f79 00000001.175494353e-38
-f80 00000001.175494353e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494349e-38
-f95 1.17549e-38
-f96 1.175494353e-38
-f97 01.17549e-38
-f98 00000001.175494353e-38
-f99 01.17549e-38
-f100 00000001.175494353e-38
-f101 1000-01-02
-f102 838:59:57
-f103 1970-01-03 00:00:02
-f104 1970-01-03 00:00:02
-f105 1903
-f106 1903
-f107 1903
-f108 1enum
-f109 1set,2set
-CREATE OR REPLACE VIEW test.v1 AS SELECT F59 FROM tb2;
-SHOW CREATE VIEW test.v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `tb2`.`f59` AS `F59` from `tb2` latin1 latin1_swedish_ci
-SELECT * FROM test.v1 order by F59 limit 10,100;
-F59
-10
-15
-17
-19
-22
-24
-27
-29
-34
-94
-107
-107
-109
-109
-195
-207
-209
-242
-250
-292
-299
-321
-323
-340
-394
-424
-441
-500
-500
-500
-660
-987
-2550
-2760
-3330
-3410
-7876
-9112
-76710
-569300
-Drop table test.t1 ;
-Drop view test.v1 ;
-
-Testcase 3.3.1.14
---------------------------------------------------------------------------------
-CREATE OR REPLACE VIEW test.tb2 AS SELECT * From tb2 LIMIT 2;
-ERROR HY000: 'test.tb2' is not VIEW
-CREATE OR REPLACE VIEW tb2 AS SELECT * From tb2 LIMIT 2;
-ERROR HY000: 'test.tb2' is not VIEW
-
-Testcase 3.3.1.15
---------------------------------------------------------------------------------
-Drop table if exists test.v1 ;
-CREATE OR REPLACE view test.v1 as select * from tb2;
-SELECT * FROM test.v1;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-1 1 0000000001 0000000000000000000000000000000000000000000000000000000000000001 0000000001 0000000000000000000000000000000000000000000000000000000000000001 -5 0.000000000000000000000000000000 1 0.000000000000000000000000000000 0000000001 000000000000000000000000000000000.000000000000000000000000000000 0000000001 000000000000000000000000000000000.000000000000000000000000000000 -1.17549435e-38 1.175494352e-38 00000001.175494352e-38 00000001.175494352e-38 -1.17549435e-38 1.175494352e-38 00000001.175494352e-38 00000001.175494352e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549435e-38 1.17549e-38 1.175494352e-38 01.17549e-38 00000001.175494352e-38 01.17549e-38 00000001.175494352e-38 1000-01-01 838:59:58 1970-01-02 00:00:01 1970-01-02 00:00:01 1902 1902 1902 2enum 2set
-10 10 0000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000010 0000000000000000000000000000000000000000000000000000000000000010 4 9.900000000000000000000000000000 10 9.900000000000000000000000000000 0000000010 000000000000000000000000000000009.900000000000000000000000000000 0000000010 000000000000000000000000000000009.900000000000000000000000000000 -1.175494341e-38 1.175494361e-38 00000001.175494361e-38 00000001.175494361e-38 -1.175494341e-38 1.175494361e-38 00000001.175494361e-38 00000001.175494361e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494341e-38 1.17549e-38 1.175494361e-38 01.17549e-38 00000001.175494361e-38 01.17549e-38 00000001.175494361e-38 1000-01-10 838:59:49 1970-01-11 00:00:10 1970-01-11 00:00:10 1911 1911 1911 1enum 2set
-107 105 0000000106 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-107 105 0000000106 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-109 108 0000000104 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-109 108 0000000104 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-15 87 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-17 15 0000000016 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-19 18 0000000014 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-195 87 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2 2 0000000002 0000000000000000000000000000000000000000000000000000000000000002 0000000002 0000000000000000000000000000000000000000000000000000000000000002 -4 1.100000000000000000000000000000 2 1.100000000000000000000000000000 0000000002 000000000000000000000000000000001.100000000000000000000000000000 0000000002 000000000000000000000000000000001.100000000000000000000000000000 -1.175494349e-38 1.175494353e-38 00000001.175494353e-38 00000001.175494353e-38 -1.175494349e-38 1.175494353e-38 00000001.175494353e-38 00000001.175494353e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494349e-38 1.17549e-38 1.175494353e-38 01.17549e-38 00000001.175494353e-38 01.17549e-38 00000001.175494353e-38 1000-01-02 838:59:57 1970-01-03 00:00:02 1970-01-03 00:00:02 1903 1903 1903 1enum 1set,2set
-207 205 0000000206 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-209 208 0000000204 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-22 93 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-24 51654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-242 79 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-250 87895654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2550 775654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-27 25 0000000026 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2760 985654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-29 28 0000000024 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-292 93 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-299 899 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3 3 0000000003 0000000000000000000000000000000000000000000000000000000000000003 0000000003 0000000000000000000000000000000000000000000000000000000000000003 -3 2.200000000000000000000000000000 3 2.200000000000000000000000000000 0000000003 000000000000000000000000000000002.200000000000000000000000000000 0000000003 000000000000000000000000000000002.200000000000000000000000000000 -1.175494348e-38 1.175494354e-38 00000001.175494354e-38 00000001.175494354e-38 -1.175494348e-38 1.175494354e-38 00000001.175494354e-38 00000001.175494354e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494348e-38 1.17549e-38 1.175494354e-38 01.17549e-38 00000001.175494354e-38 01.17549e-38 00000001.175494354e-38 1000-01-03 838:59:56 1970-01-04 00:00:03 1970-01-04 00:00:03 1904 1904 1904 2enum 1set
-321 NULL 0000000765 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-323 14376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3330 764376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-34 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-340 9984376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3410 996546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-394 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-4 4 0000000004 0000000000000000000000000000000000000000000000000000000000000004 0000000004 0000000000000000000000000000000000000000000000000000000000000004 -2 3.300000000000000000000000000000 4 3.300000000000000000000000000000 0000000004 000000000000000000000000000000003.300000000000000000000000000000 0000000004 000000000000000000000000000000003.300000000000000000000000000000 -1.175494347e-38 1.175494355e-38 00000001.175494355e-38 00000001.175494355e-38 -1.175494347e-38 1.175494355e-38 00000001.175494355e-38 00000001.175494355e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494347e-38 1.17549e-38 1.175494355e-38 01.17549e-38 00000001.175494355e-38 01.17549e-38 00000001.175494355e-38 1000-01-04 838:59:55 1970-01-05 00:00:04 1970-01-05 00:00:04 1905 1905 1905 1enum 2set
-4 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-424 89 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-441 16546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-5 5 0000000005 0000000000000000000000000000000000000000000000000000000000000005 0000000005 0000000000000000000000000000000000000000000000000000000000000005 -1 4.400000000000000000000000000000 5 4.400000000000000000000000000000 0000000005 000000000000000000000000000000004.400000000000000000000000000000 0000000005 000000000000000000000000000000004.400000000000000000000000000000 -1.175494346e-38 1.175494356e-38 00000001.175494356e-38 00000001.175494356e-38 -1.175494346e-38 1.175494356e-38 00000001.175494356e-38 00000001.175494356e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494346e-38 1.17549e-38 1.175494356e-38 01.17549e-38 00000001.175494356e-38 01.17549e-38 00000001.175494356e-38 1000-01-05 838:59:54 1970-01-06 00:00:05 1970-01-06 00:00:05 1906 1906 1906 2enum 1set,2set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-569300 9114376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-6 6 0000000006 0000000000000000000000000000000000000000000000000000000000000006 0000000006 0000000000000000000000000000000000000000000000000000000000000006 0 5.500000000000000000000000000000 6 5.500000000000000000000000000000 0000000006 000000000000000000000000000000005.500000000000000000000000000000 0000000006 000000000000000000000000000000005.500000000000000000000000000000 -1.175494345e-38 1.175494357e-38 00000001.175494357e-38 00000001.175494357e-38 -1.175494345e-38 1.175494357e-38 00000001.175494357e-38 00000001.175494357e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494345e-38 1.17549e-38 1.175494357e-38 01.17549e-38 00000001.175494357e-38 01.17549e-38 00000001.175494357e-38 1000-01-06 838:59:53 1970-01-07 00:00:06 1970-01-07 00:00:06 1907 1907 1907 1enum 1set
-660 876546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-7 7 0000000007 0000000000000000000000000000000000000000000000000000000000000007 0000000007 0000000000000000000000000000000000000000000000000000000000000007 1 6.600000000000000000000000000000 7 6.600000000000000000000000000000 0000000007 000000000000000000000000000000006.600000000000000000000000000000 0000000007 000000000000000000000000000000006.600000000000000000000000000000 -1.175494344e-38 1.175494358e-38 00000001.175494358e-38 00000001.175494358e-38 -1.175494344e-38 1.175494358e-38 00000001.175494358e-38 00000001.175494358e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494344e-38 1.17549e-38 1.175494358e-38 01.17549e-38 00000001.175494358e-38 01.17549e-38 00000001.175494358e-38 1000-01-07 838:59:52 1970-01-08 00:00:07 1970-01-08 00:00:07 1908 1908 1908 2enum 2set
-76710 226546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-7876 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-8 8 0000000008 0000000000000000000000000000000000000000000000000000000000000008 0000000008 0000000000000000000000000000000000000000000000000000000000000008 2 7.700000000000000000000000000000 8 7.700000000000000000000000000000 0000000008 000000000000000000000000000000007.700000000000000000000000000000 0000000008 000000000000000000000000000000007.700000000000000000000000000000 -1.175494343e-38 1.175494359e-38 00000001.175494359e-38 00000001.175494359e-38 -1.175494343e-38 1.175494359e-38 00000001.175494359e-38 00000001.175494359e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494343e-38 1.17549e-38 1.175494359e-38 01.17549e-38 00000001.175494359e-38 01.17549e-38 00000001.175494359e-38 1000-01-08 838:59:51 1970-01-09 00:00:08 1970-01-09 00:00:08 1909 1909 1909 1enum 1set,2set
-9 9 0000000009 0000000000000000000000000000000000000000000000000000000000000009 0000000009 0000000000000000000000000000000000000000000000000000000000000009 3 8.800000000000000000000000000000 9 8.800000000000000000000000000000 0000000009 000000000000000000000000000000008.800000000000000000000000000000 0000000009 000000000000000000000000000000008.800000000000000000000000000000 -1.175494342e-38 1.17549436e-38 000000001.17549436e-38 000000001.17549436e-38 -1.175494342e-38 1.17549436e-38 000000001.17549436e-38 000000001.17549436e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494342e-38 1.17549e-38 1.17549436e-38 01.17549e-38 000000001.17549436e-38 01.17549e-38 000000001.17549436e-38 1000-01-09 838:59:50 1970-01-10 00:00:09 1970-01-10 00:00:09 1910 1910 1910 2enum 1set
-9112 NULL 0000008771 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-94 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-987 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-Drop view test.v1 ;
-
-Testcase 3.3.1.16 + 3.3.1.17
---------------------------------------------------------------------------------
-Drop table if exists test.v1 ;
-CREATE OR REPLACE VIEW v1 AS SELECT * From tb2;
-SELECT * FROM tb2 WHERE 1 = 2;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-SELECT * FROM v1 WHERE 1 = 2;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-Drop view v1;
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 (f1 NUMERIC(15,3));
-INSERT INTO t1 VALUES(8.8);
-CREATE VIEW v1 AS SELECT * FROM t1;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
-SELECT * FROM v1;
-f1
-8.800
-CREATE OR REPLACE VIEW v1 AS SELECT f1 FROM t1;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
-SELECT * FROM v1;
-f1
-8.800
-CREATE OR REPLACE VIEW v1 AS SELECT f1 As my_column FROM t1;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `my_column` from `t1` latin1 latin1_swedish_ci
-SELECT * FROM v1;
-my_column
-8.800
-CREATE OR REPLACE VIEW v1(column1,column2)
-AS SELECT f1 As my_column, f1 FROM t1;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1` latin1 latin1_swedish_ci
-SELECT * FROM v1;
-column1 column2
-8.800 8.800
-CREATE OR REPLACE VIEW test.v1(column1,column2)
-AS SELECT f1 As my_column, f1 FROM test.t1;
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `column1`,`t1`.`f1` AS `column2` from `t1` latin1 latin1_swedish_ci
-SELECT * FROM v1;
-column1 column2
-8.800 8.800
-
-Testcase 3.3.1.18
---------------------------------------------------------------------------------
-Drop view if exists v1 ;
-Drop view if exists v1_1 ;
-Create view v1
-as Select test.tb2.f59 as NewNameF1, test.tb2.f60
-from test.tb2 limit 0,100 ;
-Create view v1_1
-as Select test.tb2.f59 as NewNameF1, test.tb2.f60 as NewNameF2
-from tb2 limit 0,100 ;
-SELECT NewNameF1,f60 FROM test.v1_1 ;
-ERROR 42S22: Unknown column 'f60' in 'field list'
-SELECT NewNameF1, v1_1.f60 FROM test.v1_1 ;
-ERROR 42S22: Unknown column 'v1_1.f60' in 'field list'
-SELECT f59, f60 FROM test.v1 ;
-ERROR 42S22: Unknown column 'f59' in 'field list'
-Use test ;
-SELECT F59 FROM v1 ;
-ERROR 42S22: Unknown column 'F59' in 'field list'
-
-Testcase 3.3.1.19
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1, t2;
-DROP VIEW IF EXISTS v1;
-CREATE TABLE t1( f1 BIGINT, f2 DECIMAL(5,2));
-INSERT INTO t1 VALUES(7, 7.7);
-CREATE TABLE t2( f1 BIGINT, f2 DECIMAL(5,2));
-INSERT INTO t2 VALUES(6, 6.6);
-CREATE VIEW v1 AS SELECT * FROM t1;
-SELECT * FROM v1;
-f1 f2
-7 7.70
-CREATE OR REPLACE VIEW v1 AS SELECT f1, f2 FROM t1;
-SELECT * FROM v1;
-f1 f2
-7 7.70
-CREATE OR REPLACE VIEW v1 AS SELECT f1 AS my_f1, f2 AS my_f2 FROM t1;
-SELECT * FROM v1;
-my_f1 my_f2
-7 7.70
-CREATE OR REPLACE VIEW v1 (my_f1, my_f2) AS SELECT f1, f2 FROM t1;
-SELECT * FROM v1;
-my_f1 my_f2
-7 7.70
-CREATE OR REPLACE VIEW v1 (my_f1, my_f2) AS SELECT t1.f1, t2.f2 FROM t1, t2;
-SELECT * FROM v1;
-my_f1 my_f2
-7 6.60
-SELECT f1, f2 AS f1 FROM t1;
-f1 f1
-7 7.70
-CREATE OR REPLACE VIEW v1 AS SELECT f1, f2 AS f1 FROM t1;
-ERROR 42S21: Duplicate column name 'f1'
-SELECT t1.f1, t2.f1 AS f1 FROM t1, t2;
-f1 f1
-7 6
-CREATE OR REPLACE VIEW v1 AS SELECT t1.f1, t2.f1 AS f1 FROM t1, t2;
-ERROR 42S21: Duplicate column name 'f1'
-CREATE OR REPLACE VIEW v1 (my_col, my_col) AS SELECT * FROM t1;
-ERROR 42S21: Duplicate column name 'my_col'
-
-Testcase 3.3.1.20
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1( f1 BIGINT, f2 DECIMAL(5,2));
-CREATE OR REPLACE VIEW v1 (my_f1, my_f2) AS SELECT * FROM t1;
-CREATE OR REPLACE VIEW v1 (my_f1, my_f2) AS SELECT f1, f2 FROM t1;
-CREATE OR REPLACE VIEW v1 (my_f1 ) AS SELECT * FROM t1;
-ERROR HY000: View's SELECT and view's field list have different column counts
-CREATE OR REPLACE VIEW v1 (my_f1 ) AS SELECT f1, f2 FROM t1;
-ERROR HY000: View's SELECT and view's field list have different column counts
-CREATE OR REPLACE VIEW v1 (my_f1, my_f2, my_f3) AS SELECT * FROM t1;
-ERROR HY000: View's SELECT and view's field list have different column counts
-CREATE OR REPLACE VIEW v1 (my_f1, my_f2, my_f3) AS SELECT f1, f2 FROM t1;
-ERROR HY000: View's SELECT and view's field list have different column counts
-
-Testcase 3.3.1.21
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1;
-CREATE VIEW test.v1( F59, F60 ) AS SELECT F59, F60 From tb2;
-SELECT * FROM test.v1 order by F59, F60 desc LIMIT 2;
-F59 F60
-1 1
-2 2
-Drop view if exists test.v1 ;
-
-Testcase 3.3.1.22
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1;
-CREATE VIEW test.v1( product ) AS SELECT f59*f60 From tb2 WHERE f59 < 3;
-SELECT * FROM test.v1;
-product
-1
-4
-CREATE OR REPLACE VIEW test.v1( product ) AS SELECT 1*2;
-SELECT * FROM test.v1;
-product
-2
-CREATE OR REPLACE VIEW test.v1( product ) AS SELECT USER();
-SELECT * FROM test.v1;
-product
-root@localhost
-Drop view if exists test.v1 ;
-
-Testcase 3.3.1.23 + 3.3.1.24
---------------------------------------------------------------------------------
-USE test;
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1;
-DROP VIEW IF EXISTS v2;
-CREATE VIEW test.v2 AS SELECT * FROM test.t1;
-ERROR 42S02: Table 'test.t1' doesn't exist
-CREATE VIEW v2 AS Select * from test.v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-DROP VIEW IF EXISTS v2;
-Warnings:
-Note 1051 Unknown table 'test.v2'
-
-Testcase 3.3.1.25
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1_temp;
-DROP TABLE IF EXISTS t2_temp;
-DROP VIEW IF EXISTS v1;
-Create table t1_temp(f59 char(10),f60 int) ;
-Create temporary table t1_temp(f59 char(10),f60 int) ;
-Insert into t1_temp values('FER',90);
-Insert into t1_temp values('CAR',27);
-Create view v1 as select * from t1_temp ;
-ERROR HY000: View's SELECT refers to a temporary table 't1_temp'
-Create temporary table t2_temp(f59 char(10),f60 int) ;
-Insert into t2_temp values('AAA',11);
-Insert into t2_temp values('BBB',22);
-Create or replace view v1
-as select t1_temp.f59,t2_temp.f59 from t1_temp,t2_temp ;
-ERROR HY000: View's SELECT refers to a temporary table 't1_temp'
-DROP temporary table t1_temp;
-DROP table t1_temp;
-DROP temporary table t2_temp;
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 (f1 char(10));
-CREATE TEMPORARY TABLE t2 (f2 char(10));
-INSERT INTO t1 VALUES('t1');
-INSERT INTO t1 VALUES('A');
-INSERT INTO t2 VALUES('t2');
-INSERT INTO t2 VALUES('B');
-CREATE OR REPLACE VIEW v1 AS SELECT f2 FROM t2;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT * FROM t2, t1;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT f2, f1 FROM t2, t1;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1, t2;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT f1, f2 FROM t1, t2;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT * FROM t2 UNION SELECT * FROM t1;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT f2 FROM t2 UNION SELECT f1 FROM t1;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 UNION SELECT * FROM t2;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT f1 FROM t1 UNION SELECT f2 FROM t2;
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT 1 FROM t2
-WHERE f2 = ( SELECT f1 FROM t1 );
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-CREATE OR REPLACE VIEW v1 AS SELECT 1 FROM t1
-WHERE f1 = ( SELECT f2 FROM t2 );
-ERROR HY000: View's SELECT refers to a temporary table 't2'
-DROP TABLE t1;
-DROP TEMPORARY TABLE t2;
-
-Testcase 3.3.1.26
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS v1;
-Create view test.v1 AS Select * from test.tb2;
-Select * from test.v1;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-1 1 0000000001 0000000000000000000000000000000000000000000000000000000000000001 0000000001 0000000000000000000000000000000000000000000000000000000000000001 -5 0.000000000000000000000000000000 1 0.000000000000000000000000000000 0000000001 000000000000000000000000000000000.000000000000000000000000000000 0000000001 000000000000000000000000000000000.000000000000000000000000000000 -1.17549435e-38 1.175494352e-38 00000001.175494352e-38 00000001.175494352e-38 -1.17549435e-38 1.175494352e-38 00000001.175494352e-38 00000001.175494352e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549435e-38 1.17549e-38 1.175494352e-38 01.17549e-38 00000001.175494352e-38 01.17549e-38 00000001.175494352e-38 1000-01-01 838:59:58 1970-01-02 00:00:01 1970-01-02 00:00:01 1902 1902 1902 2enum 2set
-10 10 0000000010 0000000000000000000000000000000000000000000000000000000000000010 0000000010 0000000000000000000000000000000000000000000000000000000000000010 4 9.900000000000000000000000000000 10 9.900000000000000000000000000000 0000000010 000000000000000000000000000000009.900000000000000000000000000000 0000000010 000000000000000000000000000000009.900000000000000000000000000000 -1.175494341e-38 1.175494361e-38 00000001.175494361e-38 00000001.175494361e-38 -1.175494341e-38 1.175494361e-38 00000001.175494361e-38 00000001.175494361e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494341e-38 1.17549e-38 1.175494361e-38 01.17549e-38 00000001.175494361e-38 01.17549e-38 00000001.175494361e-38 1000-01-10 838:59:49 1970-01-11 00:00:10 1970-01-11 00:00:10 1911 1911 1911 1enum 2set
-107 105 0000000106 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-107 105 0000000106 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-109 108 0000000104 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-109 108 0000000104 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-15 87 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-17 15 0000000016 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-19 18 0000000014 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-195 87 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2 2 0000000002 0000000000000000000000000000000000000000000000000000000000000002 0000000002 0000000000000000000000000000000000000000000000000000000000000002 -4 1.100000000000000000000000000000 2 1.100000000000000000000000000000 0000000002 000000000000000000000000000000001.100000000000000000000000000000 0000000002 000000000000000000000000000000001.100000000000000000000000000000 -1.175494349e-38 1.175494353e-38 00000001.175494353e-38 00000001.175494353e-38 -1.175494349e-38 1.175494353e-38 00000001.175494353e-38 00000001.175494353e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494349e-38 1.17549e-38 1.175494353e-38 01.17549e-38 00000001.175494353e-38 01.17549e-38 00000001.175494353e-38 1000-01-02 838:59:57 1970-01-03 00:00:02 1970-01-03 00:00:02 1903 1903 1903 1enum 1set,2set
-207 205 0000000206 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-209 208 0000000204 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-22 93 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-24 51654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-242 79 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-250 87895654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2550 775654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-27 25 0000000026 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-2760 985654 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-29 28 0000000024 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-292 93 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-299 899 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3 3 0000000003 0000000000000000000000000000000000000000000000000000000000000003 0000000003 0000000000000000000000000000000000000000000000000000000000000003 -3 2.200000000000000000000000000000 3 2.200000000000000000000000000000 0000000003 000000000000000000000000000000002.200000000000000000000000000000 0000000003 000000000000000000000000000000002.200000000000000000000000000000 -1.175494348e-38 1.175494354e-38 00000001.175494354e-38 00000001.175494354e-38 -1.175494348e-38 1.175494354e-38 00000001.175494354e-38 00000001.175494354e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494348e-38 1.17549e-38 1.175494354e-38 01.17549e-38 00000001.175494354e-38 01.17549e-38 00000001.175494354e-38 1000-01-03 838:59:56 1970-01-04 00:00:03 1970-01-04 00:00:03 1904 1904 1904 2enum 1set
-321 NULL 0000000765 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-323 14376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3330 764376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-34 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-340 9984376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-3410 996546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-394 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-4 4 0000000004 0000000000000000000000000000000000000000000000000000000000000004 0000000004 0000000000000000000000000000000000000000000000000000000000000004 -2 3.300000000000000000000000000000 4 3.300000000000000000000000000000 0000000004 000000000000000000000000000000003.300000000000000000000000000000 0000000004 000000000000000000000000000000003.300000000000000000000000000000 -1.175494347e-38 1.175494355e-38 00000001.175494355e-38 00000001.175494355e-38 -1.175494347e-38 1.175494355e-38 00000001.175494355e-38 00000001.175494355e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494347e-38 1.17549e-38 1.175494355e-38 01.17549e-38 00000001.175494355e-38 01.17549e-38 00000001.175494355e-38 1000-01-04 838:59:55 1970-01-05 00:00:04 1970-01-05 00:00:04 1905 1905 1905 1enum 2set
-4 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-424 89 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-441 16546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-5 5 0000000005 0000000000000000000000000000000000000000000000000000000000000005 0000000005 0000000000000000000000000000000000000000000000000000000000000005 -1 4.400000000000000000000000000000 5 4.400000000000000000000000000000 0000000005 000000000000000000000000000000004.400000000000000000000000000000 0000000005 000000000000000000000000000000004.400000000000000000000000000000 -1.175494346e-38 1.175494356e-38 00000001.175494356e-38 00000001.175494356e-38 -1.175494346e-38 1.175494356e-38 00000001.175494356e-38 00000001.175494356e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494346e-38 1.17549e-38 1.175494356e-38 01.17549e-38 00000001.175494356e-38 01.17549e-38 00000001.175494356e-38 1000-01-05 838:59:54 1970-01-06 00:00:05 1970-01-06 00:00:05 1906 1906 1906 2enum 1set,2set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-500 NULL 0000000900 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-569300 9114376 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-6 6 0000000006 0000000000000000000000000000000000000000000000000000000000000006 0000000006 0000000000000000000000000000000000000000000000000000000000000006 0 5.500000000000000000000000000000 6 5.500000000000000000000000000000 0000000006 000000000000000000000000000000005.500000000000000000000000000000 0000000006 000000000000000000000000000000005.500000000000000000000000000000 -1.175494345e-38 1.175494357e-38 00000001.175494357e-38 00000001.175494357e-38 -1.175494345e-38 1.175494357e-38 00000001.175494357e-38 00000001.175494357e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494345e-38 1.17549e-38 1.175494357e-38 01.17549e-38 00000001.175494357e-38 01.17549e-38 00000001.175494357e-38 1000-01-06 838:59:53 1970-01-07 00:00:06 1970-01-07 00:00:06 1907 1907 1907 1enum 1set
-660 876546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-7 7 0000000007 0000000000000000000000000000000000000000000000000000000000000007 0000000007 0000000000000000000000000000000000000000000000000000000000000007 1 6.600000000000000000000000000000 7 6.600000000000000000000000000000 0000000007 000000000000000000000000000000006.600000000000000000000000000000 0000000007 000000000000000000000000000000006.600000000000000000000000000000 -1.175494344e-38 1.175494358e-38 00000001.175494358e-38 00000001.175494358e-38 -1.175494344e-38 1.175494358e-38 00000001.175494358e-38 00000001.175494358e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494344e-38 1.17549e-38 1.175494358e-38 01.17549e-38 00000001.175494358e-38 01.17549e-38 00000001.175494358e-38 1000-01-07 838:59:52 1970-01-08 00:00:07 1970-01-08 00:00:07 1908 1908 1908 2enum 2set
-76710 226546 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-7876 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-8 8 0000000008 0000000000000000000000000000000000000000000000000000000000000008 0000000008 0000000000000000000000000000000000000000000000000000000000000008 2 7.700000000000000000000000000000 8 7.700000000000000000000000000000 0000000008 000000000000000000000000000000007.700000000000000000000000000000 0000000008 000000000000000000000000000000007.700000000000000000000000000000 -1.175494343e-38 1.175494359e-38 00000001.175494359e-38 00000001.175494359e-38 -1.175494343e-38 1.175494359e-38 00000001.175494359e-38 00000001.175494359e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494343e-38 1.17549e-38 1.175494359e-38 01.17549e-38 00000001.175494359e-38 01.17549e-38 00000001.175494359e-38 1000-01-08 838:59:51 1970-01-09 00:00:08 1970-01-09 00:00:08 1909 1909 1909 1enum 1set,2set
-9 9 0000000009 0000000000000000000000000000000000000000000000000000000000000009 0000000009 0000000000000000000000000000000000000000000000000000000000000009 3 8.800000000000000000000000000000 9 8.800000000000000000000000000000 0000000009 000000000000000000000000000000008.800000000000000000000000000000 0000000009 000000000000000000000000000000008.800000000000000000000000000000 -1.175494342e-38 1.17549436e-38 000000001.17549436e-38 000000001.17549436e-38 -1.175494342e-38 1.17549436e-38 000000001.17549436e-38 000000001.17549436e-38 -1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.17549e-38 1.17549e-38 1.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 01.17549e-38 -1.17549e-38 -1.175494342e-38 1.17549e-38 1.17549436e-38 01.17549e-38 000000001.17549436e-38 01.17549e-38 000000001.17549436e-38 1000-01-09 838:59:50 1970-01-10 00:00:09 1970-01-10 00:00:09 1910 1910 1910 2enum 1set
-9112 NULL 0000008771 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-94 74 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-987 41 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 7.7 7.7 00000000000000000007.7 00000000000000000008.8 8.8 8.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 0000000008.8 0000000008.8 0000000008.8 8.8 8.8 8.8 8.8 0000000008.8 00000000000000000008.8 0000000008.8 00000000000000000008.8 2000-01-01 00:00:20 0002-02-02 00:00:00 2000-12-31 23:59:59 2000 2000 2000 1enum 1set
-Drop view test.v1 ;
-
-Testcase 3.3.1.27
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS test.v1;
-Drop VIEW IF EXISTS test.v1_1 ;
-Create view test.v1 AS Select * from test.tb2;
-Create view test.v1_1 AS Select F59 from test.v1 ;
-Select * from test.v1_1 order by F59 limit 2;
-F59
-1
-2
-Drop view test.v1 ;
-Drop view test.v1_1 ;
-
-Testcase 3.3.1.28
---------------------------------------------------------------------------------
-Drop database if exists test2 ;
-create database test2 ;
-Create view test2.v2 AS Select * from test.tb2 limit 50,50;
-use test2 ;
-Create view v1 AS Select * from test.tb2 limit 50 ;
-Select * from v1 order by f59,f60,f61,f62,f63,f64,f65;
-f59 1
-f60 1
-f61 0000000001
-f62 0000000000000000000000000000000000000000000000000000000000000001
-f63 0000000001
-f64 0000000000000000000000000000000000000000000000000000000000000001
-f65 -5
-f66 0.000000000000000000000000000000
-f67 1
-f68 0.000000000000000000000000000000
-f69 0000000001
-f70 000000000000000000000000000000000.000000000000000000000000000000
-f71 0000000001
-f72 000000000000000000000000000000000.000000000000000000000000000000
-f73 -1.17549435e-38
-f74 1.175494352e-38
-f75 00000001.175494352e-38
-f76 00000001.175494352e-38
-f77 -1.17549435e-38
-f78 1.175494352e-38
-f79 00000001.175494352e-38
-f80 00000001.175494352e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.17549435e-38
-f95 1.17549e-38
-f96 1.175494352e-38
-f97 01.17549e-38
-f98 00000001.175494352e-38
-f99 01.17549e-38
-f100 00000001.175494352e-38
-f101 1000-01-01
-f102 838:59:58
-f103 1970-01-02 00:00:01
-f104 1970-01-02 00:00:01
-f105 1902
-f106 1902
-f107 1902
-f108 2enum
-f109 2set
-f59 2
-f60 2
-f61 0000000002
-f62 0000000000000000000000000000000000000000000000000000000000000002
-f63 0000000002
-f64 0000000000000000000000000000000000000000000000000000000000000002
-f65 -4
-f66 1.100000000000000000000000000000
-f67 2
-f68 1.100000000000000000000000000000
-f69 0000000002
-f70 000000000000000000000000000000001.100000000000000000000000000000
-f71 0000000002
-f72 000000000000000000000000000000001.100000000000000000000000000000
-f73 -1.175494349e-38
-f74 1.175494353e-38
-f75 00000001.175494353e-38
-f76 00000001.175494353e-38
-f77 -1.175494349e-38
-f78 1.175494353e-38
-f79 00000001.175494353e-38
-f80 00000001.175494353e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494349e-38
-f95 1.17549e-38
-f96 1.175494353e-38
-f97 01.17549e-38
-f98 00000001.175494353e-38
-f99 01.17549e-38
-f100 00000001.175494353e-38
-f101 1000-01-02
-f102 838:59:57
-f103 1970-01-03 00:00:02
-f104 1970-01-03 00:00:02
-f105 1903
-f106 1903
-f107 1903
-f108 1enum
-f109 1set,2set
-f59 3
-f60 3
-f61 0000000003
-f62 0000000000000000000000000000000000000000000000000000000000000003
-f63 0000000003
-f64 0000000000000000000000000000000000000000000000000000000000000003
-f65 -3
-f66 2.200000000000000000000000000000
-f67 3
-f68 2.200000000000000000000000000000
-f69 0000000003
-f70 000000000000000000000000000000002.200000000000000000000000000000
-f71 0000000003
-f72 000000000000000000000000000000002.200000000000000000000000000000
-f73 -1.175494348e-38
-f74 1.175494354e-38
-f75 00000001.175494354e-38
-f76 00000001.175494354e-38
-f77 -1.175494348e-38
-f78 1.175494354e-38
-f79 00000001.175494354e-38
-f80 00000001.175494354e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494348e-38
-f95 1.17549e-38
-f96 1.175494354e-38
-f97 01.17549e-38
-f98 00000001.175494354e-38
-f99 01.17549e-38
-f100 00000001.175494354e-38
-f101 1000-01-03
-f102 838:59:56
-f103 1970-01-04 00:00:03
-f104 1970-01-04 00:00:03
-f105 1904
-f106 1904
-f107 1904
-f108 2enum
-f109 1set
-f59 4
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 4
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 5
-f60 5
-f61 0000000005
-f62 0000000000000000000000000000000000000000000000000000000000000005
-f63 0000000005
-f64 0000000000000000000000000000000000000000000000000000000000000005
-f65 -1
-f66 4.400000000000000000000000000000
-f67 5
-f68 4.400000000000000000000000000000
-f69 0000000005
-f70 000000000000000000000000000000004.400000000000000000000000000000
-f71 0000000005
-f72 000000000000000000000000000000004.400000000000000000000000000000
-f73 -1.175494346e-38
-f74 1.175494356e-38
-f75 00000001.175494356e-38
-f76 00000001.175494356e-38
-f77 -1.175494346e-38
-f78 1.175494356e-38
-f79 00000001.175494356e-38
-f80 00000001.175494356e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494346e-38
-f95 1.17549e-38
-f96 1.175494356e-38
-f97 01.17549e-38
-f98 00000001.175494356e-38
-f99 01.17549e-38
-f100 00000001.175494356e-38
-f101 1000-01-05
-f102 838:59:54
-f103 1970-01-06 00:00:05
-f104 1970-01-06 00:00:05
-f105 1906
-f106 1906
-f107 1906
-f108 2enum
-f109 1set,2set
-f59 6
-f60 6
-f61 0000000006
-f62 0000000000000000000000000000000000000000000000000000000000000006
-f63 0000000006
-f64 0000000000000000000000000000000000000000000000000000000000000006
-f65 0
-f66 5.500000000000000000000000000000
-f67 6
-f68 5.500000000000000000000000000000
-f69 0000000006
-f70 000000000000000000000000000000005.500000000000000000000000000000
-f71 0000000006
-f72 000000000000000000000000000000005.500000000000000000000000000000
-f73 -1.175494345e-38
-f74 1.175494357e-38
-f75 00000001.175494357e-38
-f76 00000001.175494357e-38
-f77 -1.175494345e-38
-f78 1.175494357e-38
-f79 00000001.175494357e-38
-f80 00000001.175494357e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494345e-38
-f95 1.17549e-38
-f96 1.175494357e-38
-f97 01.17549e-38
-f98 00000001.175494357e-38
-f99 01.17549e-38
-f100 00000001.175494357e-38
-f101 1000-01-06
-f102 838:59:53
-f103 1970-01-07 00:00:06
-f104 1970-01-07 00:00:06
-f105 1907
-f106 1907
-f107 1907
-f108 1enum
-f109 1set
-f59 7
-f60 7
-f61 0000000007
-f62 0000000000000000000000000000000000000000000000000000000000000007
-f63 0000000007
-f64 0000000000000000000000000000000000000000000000000000000000000007
-f65 1
-f66 6.600000000000000000000000000000
-f67 7
-f68 6.600000000000000000000000000000
-f69 0000000007
-f70 000000000000000000000000000000006.600000000000000000000000000000
-f71 0000000007
-f72 000000000000000000000000000000006.600000000000000000000000000000
-f73 -1.175494344e-38
-f74 1.175494358e-38
-f75 00000001.175494358e-38
-f76 00000001.175494358e-38
-f77 -1.175494344e-38
-f78 1.175494358e-38
-f79 00000001.175494358e-38
-f80 00000001.175494358e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494344e-38
-f95 1.17549e-38
-f96 1.175494358e-38
-f97 01.17549e-38
-f98 00000001.175494358e-38
-f99 01.17549e-38
-f100 00000001.175494358e-38
-f101 1000-01-07
-f102 838:59:52
-f103 1970-01-08 00:00:07
-f104 1970-01-08 00:00:07
-f105 1908
-f106 1908
-f107 1908
-f108 2enum
-f109 2set
-f59 8
-f60 8
-f61 0000000008
-f62 0000000000000000000000000000000000000000000000000000000000000008
-f63 0000000008
-f64 0000000000000000000000000000000000000000000000000000000000000008
-f65 2
-f66 7.700000000000000000000000000000
-f67 8
-f68 7.700000000000000000000000000000
-f69 0000000008
-f70 000000000000000000000000000000007.700000000000000000000000000000
-f71 0000000008
-f72 000000000000000000000000000000007.700000000000000000000000000000
-f73 -1.175494343e-38
-f74 1.175494359e-38
-f75 00000001.175494359e-38
-f76 00000001.175494359e-38
-f77 -1.175494343e-38
-f78 1.175494359e-38
-f79 00000001.175494359e-38
-f80 00000001.175494359e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494343e-38
-f95 1.17549e-38
-f96 1.175494359e-38
-f97 01.17549e-38
-f98 00000001.175494359e-38
-f99 01.17549e-38
-f100 00000001.175494359e-38
-f101 1000-01-08
-f102 838:59:51
-f103 1970-01-09 00:00:08
-f104 1970-01-09 00:00:08
-f105 1909
-f106 1909
-f107 1909
-f108 1enum
-f109 1set,2set
-f59 9
-f60 9
-f61 0000000009
-f62 0000000000000000000000000000000000000000000000000000000000000009
-f63 0000000009
-f64 0000000000000000000000000000000000000000000000000000000000000009
-f65 3
-f66 8.800000000000000000000000000000
-f67 9
-f68 8.800000000000000000000000000000
-f69 0000000009
-f70 000000000000000000000000000000008.800000000000000000000000000000
-f71 0000000009
-f72 000000000000000000000000000000008.800000000000000000000000000000
-f73 -1.175494342e-38
-f74 1.17549436e-38
-f75 000000001.17549436e-38
-f76 000000001.17549436e-38
-f77 -1.175494342e-38
-f78 1.17549436e-38
-f79 000000001.17549436e-38
-f80 000000001.17549436e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494342e-38
-f95 1.17549e-38
-f96 1.17549436e-38
-f97 01.17549e-38
-f98 000000001.17549436e-38
-f99 01.17549e-38
-f100 000000001.17549436e-38
-f101 1000-01-09
-f102 838:59:50
-f103 1970-01-10 00:00:09
-f104 1970-01-10 00:00:09
-f105 1910
-f106 1910
-f107 1910
-f108 2enum
-f109 1set
-f59 10
-f60 10
-f61 0000000010
-f62 0000000000000000000000000000000000000000000000000000000000000010
-f63 0000000010
-f64 0000000000000000000000000000000000000000000000000000000000000010
-f65 4
-f66 9.900000000000000000000000000000
-f67 10
-f68 9.900000000000000000000000000000
-f69 0000000010
-f70 000000000000000000000000000000009.900000000000000000000000000000
-f71 0000000010
-f72 000000000000000000000000000000009.900000000000000000000000000000
-f73 -1.175494341e-38
-f74 1.175494361e-38
-f75 00000001.175494361e-38
-f76 00000001.175494361e-38
-f77 -1.175494341e-38
-f78 1.175494361e-38
-f79 00000001.175494361e-38
-f80 00000001.175494361e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494341e-38
-f95 1.17549e-38
-f96 1.175494361e-38
-f97 01.17549e-38
-f98 00000001.175494361e-38
-f99 01.17549e-38
-f100 00000001.175494361e-38
-f101 1000-01-10
-f102 838:59:49
-f103 1970-01-11 00:00:10
-f104 1970-01-11 00:00:10
-f105 1911
-f106 1911
-f107 1911
-f108 1enum
-f109 2set
-f59 15
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 17
-f60 15
-f61 0000000016
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 19
-f60 18
-f61 0000000014
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 22
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 24
-f60 51654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 27
-f60 25
-f61 0000000026
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 29
-f60 28
-f61 0000000024
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 34
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 94
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 195
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 207
-f60 205
-f61 0000000206
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 209
-f60 208
-f61 0000000204
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 242
-f60 79
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 250
-f60 87895654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 292
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 299
-f60 899
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 321
-f60 NULL
-f61 0000000765
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 323
-f60 14376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 340
-f60 9984376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 394
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 424
-f60 89
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 441
-f60 16546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 660
-f60 876546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 987
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2550
-f60 775654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2760
-f60 985654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3330
-f60 764376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3410
-f60 996546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 7876
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 9112
-f60 NULL
-f61 0000008771
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 76710
-f60 226546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 569300
-f60 9114376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-Select * from test2.v2 ;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-Drop view if exists test2.v1 ;
-Drop view if exists test2.v2 ;
-Drop database test2 ;
-
-Testcase 3.3.1.29
---------------------------------------------------------------------------------
-Drop database if exists test2 ;
-Drop view if exists test.v1 ;
-create database test2 ;
-use test2;
-Create view test.v1 AS Select * from test.tb2 limit 50 ;
-Create view test2.v2 AS Select F59 from test.v1 ;
-Drop view if exists test.v1 ;
-Drop view if exists test2.v2 ;
-
-Testcase 3.3.1.31
---------------------------------------------------------------------------------
-Drop table if exists test.t1 ;
-CREATE TABLE test.t1 ( f59 int, f60 int );
-INSERT INTO test.t1 VALUES( 34, 654 );
-INSERT INTO test.t1 VALUES( 906, 434 );
-INSERT INTO test.t1 VALUES( 445, 765 );
-Create or replace view test.v1
-AS SELECT test.t1.F59, test.tb2.F60
-FROM test.tb2 JOIN test.t1 ON test.tb2.F59 = test.t1.F59 ;
-Select * from test.v1;
-F59 F60
-34 41
-Drop view test.v1 ;
-
-Testcase 3.3.1.32
---------------------------------------------------------------------------------
-Drop table if exists test.t1 ;
-Drop database if exists test2 ;
-Drop view if exists test.v1 ;
-create database test2 ;
-use test2 ;
-CREATE TABLE t1 ( f59 int, f60 int );
-INSERT INTO t1 VALUES( 34, 654 );
-INSERT INTO t1 VALUES( 906, 434 );
-INSERT INTO t1 VALUES( 445, 765 );
-CREATE VIEW test2.v1
-AS SELECT test.tb2.F59, test.tb2.F60
-FROM test.tb2 INNER JOIN test2.t1 ON tb2.f59 = t1.f59;
-Select * from test2.v1;
-F59 F60
-34 41
-Use test;
-
-Testcase 3.3.1.33
---------------------------------------------------------------------------------
-Drop view if exists test.v1_firstview ;
-Drop view if exists test.v1_secondview ;
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1_firstview AS SELECT * FROM test.tb2;
-CREATE VIEW test.v1_secondview AS SELECT * FROM test.tb2;
-CREATE VIEW test.v1
-AS SELECT test.v1_firstview.f59, test.v1_firstview.f60
-FROM test.v1_firstview INNER JOIN test.v1_secondview
-ON test.v1_firstview.f59 = test.v1_secondview.f59 ;
-SELECT * FROM test.v1 order by f59,f60 limit 0,10;
-f59 f60
-1 1
-2 2
-3 3
-4 4
-4 4
-4 74
-4 74
-5 5
-6 6
-7 7
-Drop view if exists test.v1_firstview ;
-Drop view if exists test.v1_secondview ;
-Drop view if exists test.v1 ;
-
-Testcase 3.3.1.34
---------------------------------------------------------------------------------
-Drop database if exists test2 ;
-Drop view if exists test.v1_firstview ;
-Drop view if exists test.v1_secondview ;
-create database test2 ;
-use test2 ;
-CREATE VIEW test.v1_firstview AS SELECT * FROM test.tb2 ;
-CREATE VIEW test.v1_secondview AS SELECT * FROM test.tb2 ;
-CREATE VIEW v1
-AS SELECT test.v1_firstview.F59, test.v1_firstview.F60
-FROM test.v1_firstview INNER JOIN test.v1_secondview
-ON test.v1_firstview.f59 = test.v1_secondview.f59 ;
-SELECT * FROM v1 order by f59,f60 limit 0,10;
-F59 F60
-1 1
-2 2
-3 3
-4 4
-4 4
-4 74
-4 74
-5 5
-6 6
-7 7
-Drop view v1 ;
-Drop view test.v1_firstview ;
-Drop view test.v1_secondview ;
-
-Testcase 3.3.1.35
---------------------------------------------------------------------------------
-use test;
-Drop view if exists test.v1;
-Drop view if exists test.v1_firstview;
-CREATE VIEW test.v1_firstview AS SELECT * FROM test.tb2;
-CREATE VIEW test.v1
-AS SELECT test.v1_firstview.f59, test.v1_firstview.f60
-FROM test.v1_firstview INNER JOIN test.tb2
-ON test.v1_firstview.f59 = test.tb2.f59;
-SELECT * FROM test.v1 order by f59,f60 limit 0,10;
-f59 f60
-1 1
-2 2
-3 3
-4 4
-4 4
-4 74
-4 74
-5 5
-6 6
-7 7
-Drop view test.v1 ;
-Drop view test.v1_firstview;
-
-Testcase 3.3.1.36
---------------------------------------------------------------------------------
-Drop database if exists test2 ;
-create database test2 ;
-use test2 ;
-CREATE VIEW v1_firstview AS SELECT * FROM test.tb2 ;
-CREATE VIEW v1
-AS SELECT v1_firstview.f59, v1_firstview.f60
-FROM v1_firstview INNER JOIN test.tb2 ON v1_firstview.f59 = test.tb2.f59 ;
-SELECT * FROM v1 order by f59,f60 limit 0,10;
-f59 f60
-1 1
-2 2
-3 3
-4 4
-4 4
-4 74
-4 74
-5 5
-6 6
-7 7
-Drop database test2 ;
-
-Testcase 3.3.1.37
---------------------------------------------------------------------------------
-use test;
-Drop table if exists t1;
-Drop view if exists test.v1 ;
-Drop view if exists test.v1_1 ;
-Drop view if exists test.v1_1 ;
-Drop view if exists test.v1_main ;
-Create view test.v1 as Select f59, f60 FROM test.tb2;
-Select * from test.v1 order by f59,f60 limit 0,10;
-f59 f60
-1 1
-2 2
-3 3
-4 4
-4 74
-5 5
-6 6
-7 7
-8 8
-9 9
-Create table t1(f59 int, f60 int);
-Insert into t1 values (90,507) ;
-Create view v1_1 as Select f59,f60 from t1 ;
-Select * from v1_1 ;
-f59 f60
-90 507
-Create view v1_main
-as SELECT test.tb2.f59 FROM test.tb2 JOIN test.v1
-ON test.tb2.f59 = test.v1.f59;
-Select * from v1_main order by f59 limit 0,10;
-f59
-1
-2
-3
-4
-4
-4
-4
-5
-6
-7
-Drop table t1;
-Drop view test.v1 ;
-Drop view test.v1_1 ;
-Drop view test.v1_main ;
-
-Testcase 3.3.1.31 - 3.3.1.37 New Implementation
---------------------------------------------------------------------------------
-USE test;
-DROP DATABASE IF EXISTS test2;
-DROP TABLE IF EXISTS t0,t1;
-DROP VIEW IF EXISTS t3,t4;
-CREATE DATABASE test2;
-CREATE TABLE test1.t0 (f1 VARCHAR(20));
-CREATE TABLE test1.t1 (f1 VARCHAR(20));
-CREATE TABLE test2.t0 (f1 VARCHAR(20));
-CREATE TABLE test2.t1 (f1 VARCHAR(20));
-CREATE VIEW test1.t2 AS SELECT * FROM test1.t0;
-CREATE VIEW test1.t3 AS SELECT * FROM test2.t0;
-CREATE VIEW test2.t2 AS SELECT * FROM test2.t0;
-CREATE VIEW test2.t3 AS SELECT * FROM test1.t0;
-INSERT INTO test1.t0 VALUES('test1.t0');
-INSERT INTO test1.t1 VALUES('test1.t1');
-INSERT INTO test2.t0 VALUES('test2.t0');
-INSERT INTO test2.t1 VALUES('test2.t1');
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t3 ta, test2.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t3 ta, test1.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t3 ta, test2.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t3 ta, test1.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t3 ta, test2.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t3 ta, test1.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t3 ta, test2.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t3 ta, test1.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t3 ta, test2.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test2.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t3 ta, test1.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test1.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t3 ta, test2.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test2.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t3 ta, test1.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test1.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t2 ta, test2.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t2 ta, test1.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t2 ta, test2.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t2 ta, test1.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t2 ta, test2.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t2 ta, test1.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t2 ta, test2.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t2 ta, test1.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t2 ta, test2.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test2.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t2 ta, test1.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t0 test1.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t2 ta, test2.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test2.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t2 ta, test1.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t0 test1.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t1 ta, test2.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t1 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t1 ta, test1.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t1 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t1 ta, test2.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t1 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t1 ta, test1.t3 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t1 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t1 ta, test2.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t1 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t1 ta, test1.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t1 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t1 ta, test2.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t1 test2.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t1 ta, test1.t2 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t1 test1.t0
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t1 ta, test2.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t1 test2.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test2.t1 ta, test1.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test2.t1 test1.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t1 ta, test2.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t1 test2.t1
-CREATE OR REPLACE VIEW test.v1 AS
-SELECT ta.f1 AS col1,
-tb.f1 AS col2
-FROM test1.t1 ta, test1.t1 tb;
-SELECT * FROM test.v1;
-col1 col2
-test1.t1 test1.t1
-
-Testcase 3.3.1.38
---------------------------------------------------------------------------------
-Drop table if exists test1.t1 ;
-Drop view if exists test.v1 ;
-Drop view if exists test.v1_main;
-Drop view if exists test1.v1_1 ;
-Drop database if exists test3 ;
-Create view test.v1 as Select f59, f60 FROM test.tb2;
-Select * from test.v1 order by f59,f60 limit 20;
-f59 f60
-1 1
-2 2
-3 3
-4 4
-4 74
-5 5
-6 6
-7 7
-8 8
-9 9
-10 10
-15 87
-17 15
-19 18
-22 93
-24 51654
-27 25
-29 28
-34 41
-94 74
-Create table test1.t1 (f59 int,f60 int) ;
-Insert into test1.t1 values (199,507) ;
-Create view test1.v1_1 as Select f59,f60 from test1.t1 ;
-Select * from test1.v1_1 ;
-f59 f60
-199 507
-Create database test3 ;
-Create table test3.t1(f59 int,f60 int) ;
-Insert into test3.t1 values (1023,7670) ;
-Create view test3.v1_2 as Select f59,f60 from test3.t1 ;
-Select * from test3.v1_2 ;
-f59 f60
-1023 7670
-use test ;
-Create view v1_main
-as SELECT test.tb2.f59 as f1, test1.v1_1.f59 as f2,
-test3.v1_2.f59 as f3
-FROM (test.tb2,test1.v1_1,test.v1) JOIN test3.v1_2
-ON (test.v1.f59 = test1.v1_1.f59) ;
-Select * from v1_main ;
-f1 f2 f3
-DROP VIEW test.v1 ;
-DROP VIEW test1.v1_1 ;
-DROP VIEW test.v1_main ;
-DROP DATABASE test3;
-
-Testcase 3.3.1.39
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1
-AS Select f59 from (Select * FROM tb2 limit 20) tx ;
-ERROR HY000: View's SELECT contains a subquery in the FROM clause
-SELECT * FROM test.v1 order by f59 ;
-ERROR 42S02: Table 'test.v1' doesn't exist
-Drop view if exists test.v1 ;
-
-Testcase 3.3.1.40
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-Set @var1 = 'ABC' ;
-Set @var2 = 'XYZ' ;
-CREATE VIEW test.v1 AS SELECT @var1, @var2 ;
-ERROR HY000: View's SELECT contains a variable or parameter
-CREATE VIEW test.v1 AS SELECT @@global.sort_buffer_size;
-ERROR HY000: View's SELECT contains a variable or parameter
-Drop view if exists test.v1 ;
-
-Testcase 3.3.1.41
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-Drop procedure if exists sp1 ;
-Create procedure sp1() DETERMINISTIC
-Begin
-DECLARE x char;
-Set x = 200 ;
-Create view test.v1 as SELECT * FROM tb2 WHERE f59 = x ;
-End //
-ERROR HY000: View's SELECT contains a variable or parameter
-Call sp1() ;
-ERROR 42000: PROCEDURE test.sp1 does not exist
-Drop view if exists test.v1 ;
-Warnings:
-Note 1051 Unknown table 'test.v1'
-Drop procedure sp1 ;
-ERROR 42000: PROCEDURE test.sp1 does not exist
-
-Testcase 3.3.1.42
---------------------------------------------------------------------------------
-Drop VIEW if exists test.v1 ;
-CREATE TEMPORARY VIEW test.v1 AS
-SELECT * FROM test.tb2 limit 2 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VIEW test.v1 AS
-SELECT * FROM test.tb2 limit 2' at line 1
-CREATE OR REPLACE TEMPORARY VIEW test.v1 AS
-SELECT * FROM test.tb2 limit 2 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TEMPORARY VIEW test.v1 AS
-SELECT * FROM test.tb2 limit 2' at line 1
-Drop view if exists test.v1 ;
-Use test;
-
-Testcase 3.3.1.43
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2;
-INSERT INTO test.v1 values(122,432);
-SELECT * FROM test.tb2 where f59 = 122 and f60 = 432 limit 0,20;
-f59 122
-f60 432
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-UPDATE test.v1 SET f59 = 3000 WHERE test.v1.f59 = 122 ;
-SELECT * FROM test.tb2 where f59 = 3000 limit 0,20;
-f59 3000
-f60 432
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-DELETE FROM test.v1
-where test.v1.f59 = 3000 and test.v1.f60 = 432;
-SELECT * FROM test.tb2 where f59 = 3000 and f60 = 432;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-drop view test.v1 ;
-
-Testcase 3.3.1.44
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60 FROM test.tb2 limit 100;
-INSERT INTO test.v1 values(31, 32, 33) ;
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-Drop view test.v1 ;
-
-Testcase 3.3.1.45
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT * FROM test.tb2 where f59 = 04;
-UPDATE test.v1 SET f59 = 30 where F59 = 04 ;
-affected rows: 2
-info: Rows matched: 2 Changed: 2 Warnings: 0
-SELECT * FROM test.v1 where f59 = 30 order by f59;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-SELECT * FROM test.tb2 where f59 = 30 ;
-f59 30
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 30
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-UPDATE tb2 SET f59 = 100 where f59 = 30 ;
-affected rows: 2
-info: Rows matched: 2 Changed: 2 Warnings: 0
-SELECT * FROM tb2 where f59 = 100 ;
-f59 100
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 100
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-SELECT * FROM test.v1 order by f59 ;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-drop view if exists test.v1 ;
-Drop TABLE IF EXISTS test.t1 ;
-Drop VIEW IF EXISTS test.v1 ;
-CREATE TABLE t1 (f1 BIGINT, f2 VARCHAR(20), PRIMARY KEY(f1))
-ENGINE = ndb;
-INSERT INTO t1 VALUES(1,'one');
-INSERT INTO t1 VALUES(2,'two');
-INSERT INTO t1 VALUES(3,'three');
-INSERT INTO t1 VALUES(5,'five');
-CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1 BETWEEN 2 AND 4;
-SELECT COUNT(*) FROM v1 WHERE f1 = 2;
-COUNT(*)
-1
-SELECT COUNT(*) FROM v1 WHERE f1 = 4;
-COUNT(*)
-0
-SELECT COUNT(*) FROM v1 WHERE f1 = 5;
-COUNT(*)
-0
-SELECT COUNT(*) FROM v1 WHERE f1 = 10;
-COUNT(*)
-0
-INSERT INTO t1 VALUES(4,'four');
-DELETE FROM v1 WHERE f1 = 3;
-affected rows: 1
-DELETE FROM v1 WHERE f1 = 5;
-affected rows: 0
-SELECT * FROM t1 ORDER BY f1;
-f1 f2
-1 one
-2 two
-4 four
-5 five
-SELECT * FROM v1 ORDER BY f1;
-f1 f2
-2 two
-4 four
-INSERT INTO v1 VALUES(2,'two');
-ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-INSERT INTO v1 VALUES(3,'three');
-affected rows: 1
-INSERT INTO v1 VALUES(6,'six');
-affected rows: 1
-SELECT * FROM t1 ORDER BY f1;
-f1 f2
-1 one
-2 two
-3 three
-4 four
-5 five
-6 six
-SELECT * FROM v1 ORDER BY f1;
-f1 f2
-2 two
-3 three
-4 four
-UPDATE v1 SET f1 = 2 WHERE f1 = 3;
-ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
-UPDATE v1 SET f2 = 'number' WHERE f1 = 3;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-UPDATE v1 SET f1 = 10 WHERE f1 = 3;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-UPDATE v1 SET f2 = 'number' WHERE f1 = 1;
-affected rows: 0
-
-Testcase 3.3.1.46
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60
-FROM test.tb2 where f59 = 195 WITH CHECK OPTION ;
-UPDATE test.v1 SET f59 = 198 where f59=195 ;
-ERROR HY000: CHECK OPTION failed 'test.v1'
-SELECT * FROM test.v1 order by f59 ;
-f59 f60
-195 87
-drop view if exists test.v1 ;
-
-Testcase 3.3.1.47
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-Drop view if exists test.v2 ;
-CREATE VIEW test.v1 AS SELECT f59,f60
-FROM test.tb2 where F59 = 0987 WITH LOCAL CHECK OPTION ;
-CREATE VIEW test.v2 as SELECT * FROM test.v1 ;
-UPDATE test.v1 SET F59 = 919 where f59 = 0987 ;
-ERROR HY000: CHECK OPTION failed 'test.v1'
-SELECT * FROM test.v1 order by f59 ;
-f59 f60
-987 41
-UPDATE test.v2 SET F59 = 9879 where f59 = 919 ;
-SELECT * FROM tb2 where f59 = 9879 ;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-drop view if exists v1 ;
-drop view if exists v2 ;
-
-Testcase 3.3.1.48
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS test.t1;
-DROP VIEW IF EXISTS test.v1;
-CREATE TABLE t1 (f1 ENUM('A', 'B', 'C') NOT NULL, f2 INTEGER)
-ENGINE = ndb;
-INSERT INTO t1 VALUES ('A', 1);
-SELECT * FROM t1 order by f1, f2;
-f1 f2
-A 1
-CREATE VIEW v1 AS SELECT * FROM t1 WHERE f2 BETWEEN 1 AND 2
-WITH CASCADED CHECK OPTION ;
-SELECT * FROM v1 order by f1, f2;
-f1 f2
-A 1
-UPDATE v1 SET f2 = 2 WHERE f2 = 1;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-INSERT INTO v1 VALUES('B',2);
-affected rows: 1
-SELECT * FROM v1 order by f1, f2;
-f1 f2
-A 2
-B 2
-UPDATE v1 SET f2 = 4;
-ERROR HY000: CHECK OPTION failed 'test.v1'
-INSERT INTO v1 VALUES('B',3);
-ERROR HY000: CHECK OPTION failed 'test.v1'
-SELECT * FROM v1 order by f1, f2;
-f1 f2
-A 2
-B 2
-
-Testcase 3.3.1.49
---------------------------------------------------------------------------------
-Drop table if exists test.t1 ;
-Drop view if exists test.v1 ;
-Drop view if exists test.v2 ;
-Drop view if exists test.v3 ;
-Create table test.t1 (f59 INT, f60 INT) ;
-Insert into test.t1 values (100,4234);
-Insert into test.t1 values (290,6624);
-Insert into test.t1 values (410,765);
-Insert into test.t1 values (300,433334);
-Insert into test.t1 values (800,9788);
-Insert into test.t1 values (501,9866);
-Create view test.v1 as select f59
-FROM test.t1 where f59<500 with check option ;
-Create view test.v2 as select *
-from test.v1 where f59>0 with local check option ;
-Create view test.v3 as select *
-from test.v1 where f59>0 with cascaded check option ;
-Insert into test.v2 values(23) ;
-Insert into test.v3 values(24) ;
-drop view if exists test.v1 ;
-drop view if exists test.v2 ;
-drop view if exists test.v3 ;
-
-Testcase 3.3.1.49A
---------------------------------------------------------------------------------
-USE test;
-DROP TABLE IF EXISTS test.t1 ;
-DROP TABLE IF EXISTS test.t1_results ;
-DROP VIEW IF EXISTS test.v1;
-DROP VIEW IF EXISTS test.v2;
-DROP VIEW IF EXISTS test.v3;
-CREATE TABLE t1 (f1 INTEGER, f2 CHAR(20));
-CREATE TABLE t1_results (v3_to_v1_options VARCHAR(100), statement VARCHAR(10),
-v3_to_v1_violation VARCHAR(20), errno CHAR(10));
-CREATE VIEW v1 AS SELECT f1, f2
- FROM t1 WHERE f1 BETWEEN 0 AND 10 WITH LOCAL CHECK OPTION ;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH LOCAL CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CASCADED CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 ;
-option_variant WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - <nothing> - WITH LOCAL CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f1, f2
- FROM t1 WHERE f1 BETWEEN 0 AND 10 WITH CASCADED CHECK OPTION ;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH LOCAL CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CASCADED CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 ;
-option_variant WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - <nothing> - WITH CASCADED CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f1, f2
- FROM t1 WHERE f1 BETWEEN 0 AND 10 WITH CHECK OPTION ;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH LOCAL CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CASCADED CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CHECK OPTION - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 ;
-option_variant WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - <nothing> - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - <nothing> - WITH CHECK OPTION
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f1, f2
- FROM t1 WHERE f1 BETWEEN 0 AND 10 ;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH LOCAL CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH LOCAL CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CASCADED CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CASCADED CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 WITH CHECK OPTION ;
-option_variant WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - WITH CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - WITH CHECK OPTION - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-CREATE VIEW v2 AS SELECT f1 AS col1, f2 AS col2
- FROM v1 WHERE f1 BETWEEN 6 AND 16 ;
-option_variant WITH LOCAL CHECK OPTION - <nothing> - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CASCADED CHECK OPTION - <nothing> - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant WITH CHECK OPTION - <nothing> - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-ERROR HY000: CHECK OPTION failed 'test.v3'
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(0, 'zero');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(7, 'seven');
-ERROR HY000: CHECK OPTION failed 'test.v3'
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-option_variant <nothing> - <nothing> - <nothing>
-option_variant --------------------------------------------------------------------------------
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-SELECT * FROM v1;
-f1 f2
-0 zero
-7 seven
-8 eight
-SELECT * FROM v2;
-col1 col2
-7 seven
-8 eight
-SELECT * FROM v3;
-my_col1 my_col2
-8 eight
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-DELETE FROM v3 WHERE my_col1 = 16;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 0;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 7;
-affected rows: 0
-DELETE FROM v3 WHERE my_col1 = 8;
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-DELETE FROM t1;
-INSERT INTO t1 VALUES(16, 'sixteen');
-INSERT INTO t1 VALUES(0, 'zero');
-INSERT INTO t1 VALUES(7, 'seven');
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 16;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 0;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 7;
-affected rows: 0
-info: Rows matched: 0 Changed: 0 Warnings: 0
-UPDATE v3 SET my_col2 = 'whatever' WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 whatever
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 7 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-7 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 0 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-0 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 16 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-16 eight
-DELETE FROM t1;
-INSERT INTO t1 VALUES(8, 'eight');
-UPDATE v3 SET my_col1 = 10 WHERE my_col1 = 8;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM t1;
-f1 f2
-10 eight
-DELETE FROM t1;
-INSERT INTO v3 VALUES(16, 'sixteen');
-affected rows: 1
-INSERT INTO v3 VALUES(0, 'zero');
-affected rows: 1
-INSERT INTO v3 VALUES(7, 'seven');
-affected rows: 1
-INSERT INTO v3 VALUES(8, 'eight');
-affected rows: 1
-SELECT * FROM t1;
-f1 f2
-16 sixteen
-0 zero
-7 seven
-8 eight
-DELETE FROM t1;
-DROP VIEW v3;
-DROP VIEW v2;
-DROP VIEW v1;
-SELECT * FROM t1_results ORDER BY v3_to_v1_options;
-v3_to_v1_options statement v3_to_v1_violation errno
- <nothing> - <nothing> - <nothing> UPDATE _v2_ 0
- <nothing> - <nothing> - <nothing> INSERT _v2_ 0
- <nothing> - <nothing> - <nothing> INSERT _ _v1 0
- <nothing> - <nothing> - <nothing> UPDATE _ _ 0
- <nothing> - <nothing> - <nothing> UPDATE _ _v1 0
- <nothing> - <nothing> - <nothing> UPDATE v3_ _ 0
- <nothing> - <nothing> - <nothing> INSERT _ _ 0
- <nothing> - <nothing> - WITH CHECK OPTION UPDATE _v2_ 0
- <nothing> - <nothing> - WITH CHECK OPTION INSERT _ _ 0
- <nothing> - <nothing> - WITH CHECK OPTION UPDATE _ _v1 0
- <nothing> - <nothing> - WITH CHECK OPTION UPDATE _ _ 0
- <nothing> - <nothing> - WITH CHECK OPTION UPDATE v3_ _ 0
- <nothing> - <nothing> - WITH CHECK OPTION INSERT _v2_ 0
- <nothing> - <nothing> - WITH CHECK OPTION INSERT _ _v1 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION INSERT _v2_ 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _ 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _v1 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _ 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
- <nothing> - <nothing> - WITH CASCADED CHECK OPTION UPDATE v3_ _ 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION INSERT _v2_ 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _v1 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _ 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION UPDATE v3_ _ 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
- <nothing> - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CHECK OPTION - <nothing> UPDATE _v2_ 0
- <nothing> - WITH CHECK OPTION - <nothing> INSERT _v2_ 0
- <nothing> - WITH CHECK OPTION - <nothing> UPDATE v3_ _ 0
- <nothing> - WITH CHECK OPTION - <nothing> UPDATE _ _v1 0
- <nothing> - WITH CHECK OPTION - <nothing> UPDATE _ _ 0
- <nothing> - WITH CHECK OPTION - <nothing> INSERT _ _v1 0
- <nothing> - WITH CHECK OPTION - <nothing> INSERT _ _ 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
- <nothing> - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> UPDATE _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> UPDATE v3_ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - <nothing> INSERT _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> UPDATE v3_ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> INSERT _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - <nothing> UPDATE _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
- <nothing> - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
-WITH CHECK OPTION - <nothing> - <nothing> UPDATE v3_ _ 1369
-WITH CHECK OPTION - <nothing> - <nothing> INSERT _ _ 0
-WITH CHECK OPTION - <nothing> - <nothing> INSERT _v2_ 1369
-WITH CHECK OPTION - <nothing> - <nothing> INSERT _ _v1 1369
-WITH CHECK OPTION - <nothing> - <nothing> UPDATE _v2_ 1369
-WITH CHECK OPTION - <nothing> - <nothing> UPDATE _ _v1 1369
-WITH CHECK OPTION - <nothing> - <nothing> UPDATE _ _ 0
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> INSERT _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - <nothing> - <nothing> INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 1369
-WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> INSERT _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - <nothing> UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - <nothing> - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - <nothing> UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - <nothing> INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - <nothing> INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH CASCADED CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _v2_ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _v1 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _ _ 0
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION UPDATE v3_ _ 1369
-WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION - WITH LOCAL CHECK OPTION INSERT _v2_ 0
-
-Plausibility checks for INSERTs and UPDATEs ( 4. and 5. above).
-All following SELECTs must give ROW NOT FOUND
---------------------------------------------------------------------------------
-SELECT * FROM t1_results
-WHERE v3_to_v1_violation = ' _ _ ' AND errno <> 0
-ORDER BY v3_to_v1_options;
-v3_to_v1_options statement v3_to_v1_violation errno
-SELECT * FROM t1_results
-WHERE v3_to_v1_options LIKE ' %' AND errno <> 0
-ORDER BY v3_to_v1_options;
-v3_to_v1_options statement v3_to_v1_violation errno
-SELECT * FROM t1_results
-WHERE v3_to_v1_options LIKE 'WITH %'
- AND v3_to_v1_violation LIKE 'v3_%' AND errno = 0
-ORDER BY v3_to_v1_options;
-v3_to_v1_options statement v3_to_v1_violation errno
-SELECT * FROM t1_results
-WHERE v3_to_v1_options LIKE 'WITH %' AND v3_to_v1_options NOT LIKE 'WITH LOCAL %'
- AND v3_to_v1_violation NOT LIKE ' _ _ ' AND errno = 0
-ORDER BY v3_to_v1_options;
-v3_to_v1_options statement v3_to_v1_violation errno
-SELECT * FROM t1_results
-WHERE errno <> 0 AND errno <> 1369
-ORDER BY v3_to_v1_options;
-v3_to_v1_options statement v3_to_v1_violation errno
-
-End of plausibility checks
---------------------------------------------------------------------------------
-DROP TABLE t1_results;
-
-Testcase 3.3.1.50 - 3.3.1.53
---------------------------------------------------------------------------------
-DROP VIEW IF EXISTS test.v1;
-CREATE VIEW test.v1 AS SELECT * FROM test.tb2;
-SELECT * FROM test.v1 order by f59,f60,f61 ;
-f59 1
-f60 1
-f61 0000000001
-f62 0000000000000000000000000000000000000000000000000000000000000001
-f63 0000000001
-f64 0000000000000000000000000000000000000000000000000000000000000001
-f65 -5
-f66 0.000000000000000000000000000000
-f67 1
-f68 0.000000000000000000000000000000
-f69 0000000001
-f70 000000000000000000000000000000000.000000000000000000000000000000
-f71 0000000001
-f72 000000000000000000000000000000000.000000000000000000000000000000
-f73 -1.17549435e-38
-f74 1.175494352e-38
-f75 00000001.175494352e-38
-f76 00000001.175494352e-38
-f77 -1.17549435e-38
-f78 1.175494352e-38
-f79 00000001.175494352e-38
-f80 00000001.175494352e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.17549435e-38
-f95 1.17549e-38
-f96 1.175494352e-38
-f97 01.17549e-38
-f98 00000001.175494352e-38
-f99 01.17549e-38
-f100 00000001.175494352e-38
-f101 1000-01-01
-f102 838:59:58
-f103 1970-01-02 00:00:01
-f104 1970-01-02 00:00:01
-f105 1902
-f106 1902
-f107 1902
-f108 2enum
-f109 2set
-f59 2
-f60 2
-f61 0000000002
-f62 0000000000000000000000000000000000000000000000000000000000000002
-f63 0000000002
-f64 0000000000000000000000000000000000000000000000000000000000000002
-f65 -4
-f66 1.100000000000000000000000000000
-f67 2
-f68 1.100000000000000000000000000000
-f69 0000000002
-f70 000000000000000000000000000000001.100000000000000000000000000000
-f71 0000000002
-f72 000000000000000000000000000000001.100000000000000000000000000000
-f73 -1.175494349e-38
-f74 1.175494353e-38
-f75 00000001.175494353e-38
-f76 00000001.175494353e-38
-f77 -1.175494349e-38
-f78 1.175494353e-38
-f79 00000001.175494353e-38
-f80 00000001.175494353e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494349e-38
-f95 1.17549e-38
-f96 1.175494353e-38
-f97 01.17549e-38
-f98 00000001.175494353e-38
-f99 01.17549e-38
-f100 00000001.175494353e-38
-f101 1000-01-02
-f102 838:59:57
-f103 1970-01-03 00:00:02
-f104 1970-01-03 00:00:02
-f105 1903
-f106 1903
-f107 1903
-f108 1enum
-f109 1set,2set
-f59 3
-f60 3
-f61 0000000003
-f62 0000000000000000000000000000000000000000000000000000000000000003
-f63 0000000003
-f64 0000000000000000000000000000000000000000000000000000000000000003
-f65 -3
-f66 2.200000000000000000000000000000
-f67 3
-f68 2.200000000000000000000000000000
-f69 0000000003
-f70 000000000000000000000000000000002.200000000000000000000000000000
-f71 0000000003
-f72 000000000000000000000000000000002.200000000000000000000000000000
-f73 -1.175494348e-38
-f74 1.175494354e-38
-f75 00000001.175494354e-38
-f76 00000001.175494354e-38
-f77 -1.175494348e-38
-f78 1.175494354e-38
-f79 00000001.175494354e-38
-f80 00000001.175494354e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494348e-38
-f95 1.17549e-38
-f96 1.175494354e-38
-f97 01.17549e-38
-f98 00000001.175494354e-38
-f99 01.17549e-38
-f100 00000001.175494354e-38
-f101 1000-01-03
-f102 838:59:56
-f103 1970-01-04 00:00:03
-f104 1970-01-04 00:00:03
-f105 1904
-f106 1904
-f107 1904
-f108 2enum
-f109 1set
-f59 5
-f60 5
-f61 0000000005
-f62 0000000000000000000000000000000000000000000000000000000000000005
-f63 0000000005
-f64 0000000000000000000000000000000000000000000000000000000000000005
-f65 -1
-f66 4.400000000000000000000000000000
-f67 5
-f68 4.400000000000000000000000000000
-f69 0000000005
-f70 000000000000000000000000000000004.400000000000000000000000000000
-f71 0000000005
-f72 000000000000000000000000000000004.400000000000000000000000000000
-f73 -1.175494346e-38
-f74 1.175494356e-38
-f75 00000001.175494356e-38
-f76 00000001.175494356e-38
-f77 -1.175494346e-38
-f78 1.175494356e-38
-f79 00000001.175494356e-38
-f80 00000001.175494356e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494346e-38
-f95 1.17549e-38
-f96 1.175494356e-38
-f97 01.17549e-38
-f98 00000001.175494356e-38
-f99 01.17549e-38
-f100 00000001.175494356e-38
-f101 1000-01-05
-f102 838:59:54
-f103 1970-01-06 00:00:05
-f104 1970-01-06 00:00:05
-f105 1906
-f106 1906
-f107 1906
-f108 2enum
-f109 1set,2set
-f59 6
-f60 6
-f61 0000000006
-f62 0000000000000000000000000000000000000000000000000000000000000006
-f63 0000000006
-f64 0000000000000000000000000000000000000000000000000000000000000006
-f65 0
-f66 5.500000000000000000000000000000
-f67 6
-f68 5.500000000000000000000000000000
-f69 0000000006
-f70 000000000000000000000000000000005.500000000000000000000000000000
-f71 0000000006
-f72 000000000000000000000000000000005.500000000000000000000000000000
-f73 -1.175494345e-38
-f74 1.175494357e-38
-f75 00000001.175494357e-38
-f76 00000001.175494357e-38
-f77 -1.175494345e-38
-f78 1.175494357e-38
-f79 00000001.175494357e-38
-f80 00000001.175494357e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494345e-38
-f95 1.17549e-38
-f96 1.175494357e-38
-f97 01.17549e-38
-f98 00000001.175494357e-38
-f99 01.17549e-38
-f100 00000001.175494357e-38
-f101 1000-01-06
-f102 838:59:53
-f103 1970-01-07 00:00:06
-f104 1970-01-07 00:00:06
-f105 1907
-f106 1907
-f107 1907
-f108 1enum
-f109 1set
-f59 7
-f60 7
-f61 0000000007
-f62 0000000000000000000000000000000000000000000000000000000000000007
-f63 0000000007
-f64 0000000000000000000000000000000000000000000000000000000000000007
-f65 1
-f66 6.600000000000000000000000000000
-f67 7
-f68 6.600000000000000000000000000000
-f69 0000000007
-f70 000000000000000000000000000000006.600000000000000000000000000000
-f71 0000000007
-f72 000000000000000000000000000000006.600000000000000000000000000000
-f73 -1.175494344e-38
-f74 1.175494358e-38
-f75 00000001.175494358e-38
-f76 00000001.175494358e-38
-f77 -1.175494344e-38
-f78 1.175494358e-38
-f79 00000001.175494358e-38
-f80 00000001.175494358e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494344e-38
-f95 1.17549e-38
-f96 1.175494358e-38
-f97 01.17549e-38
-f98 00000001.175494358e-38
-f99 01.17549e-38
-f100 00000001.175494358e-38
-f101 1000-01-07
-f102 838:59:52
-f103 1970-01-08 00:00:07
-f104 1970-01-08 00:00:07
-f105 1908
-f106 1908
-f107 1908
-f108 2enum
-f109 2set
-f59 8
-f60 8
-f61 0000000008
-f62 0000000000000000000000000000000000000000000000000000000000000008
-f63 0000000008
-f64 0000000000000000000000000000000000000000000000000000000000000008
-f65 2
-f66 7.700000000000000000000000000000
-f67 8
-f68 7.700000000000000000000000000000
-f69 0000000008
-f70 000000000000000000000000000000007.700000000000000000000000000000
-f71 0000000008
-f72 000000000000000000000000000000007.700000000000000000000000000000
-f73 -1.175494343e-38
-f74 1.175494359e-38
-f75 00000001.175494359e-38
-f76 00000001.175494359e-38
-f77 -1.175494343e-38
-f78 1.175494359e-38
-f79 00000001.175494359e-38
-f80 00000001.175494359e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494343e-38
-f95 1.17549e-38
-f96 1.175494359e-38
-f97 01.17549e-38
-f98 00000001.175494359e-38
-f99 01.17549e-38
-f100 00000001.175494359e-38
-f101 1000-01-08
-f102 838:59:51
-f103 1970-01-09 00:00:08
-f104 1970-01-09 00:00:08
-f105 1909
-f106 1909
-f107 1909
-f108 1enum
-f109 1set,2set
-f59 9
-f60 9
-f61 0000000009
-f62 0000000000000000000000000000000000000000000000000000000000000009
-f63 0000000009
-f64 0000000000000000000000000000000000000000000000000000000000000009
-f65 3
-f66 8.800000000000000000000000000000
-f67 9
-f68 8.800000000000000000000000000000
-f69 0000000009
-f70 000000000000000000000000000000008.800000000000000000000000000000
-f71 0000000009
-f72 000000000000000000000000000000008.800000000000000000000000000000
-f73 -1.175494342e-38
-f74 1.17549436e-38
-f75 000000001.17549436e-38
-f76 000000001.17549436e-38
-f77 -1.175494342e-38
-f78 1.17549436e-38
-f79 000000001.17549436e-38
-f80 000000001.17549436e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494342e-38
-f95 1.17549e-38
-f96 1.17549436e-38
-f97 01.17549e-38
-f98 000000001.17549436e-38
-f99 01.17549e-38
-f100 000000001.17549436e-38
-f101 1000-01-09
-f102 838:59:50
-f103 1970-01-10 00:00:09
-f104 1970-01-10 00:00:09
-f105 1910
-f106 1910
-f107 1910
-f108 2enum
-f109 1set
-f59 10
-f60 10
-f61 0000000010
-f62 0000000000000000000000000000000000000000000000000000000000000010
-f63 0000000010
-f64 0000000000000000000000000000000000000000000000000000000000000010
-f65 4
-f66 9.900000000000000000000000000000
-f67 10
-f68 9.900000000000000000000000000000
-f69 0000000010
-f70 000000000000000000000000000000009.900000000000000000000000000000
-f71 0000000010
-f72 000000000000000000000000000000009.900000000000000000000000000000
-f73 -1.175494341e-38
-f74 1.175494361e-38
-f75 00000001.175494361e-38
-f76 00000001.175494361e-38
-f77 -1.175494341e-38
-f78 1.175494361e-38
-f79 00000001.175494361e-38
-f80 00000001.175494361e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494341e-38
-f95 1.17549e-38
-f96 1.175494361e-38
-f97 01.17549e-38
-f98 00000001.175494361e-38
-f99 01.17549e-38
-f100 00000001.175494361e-38
-f101 1000-01-10
-f102 838:59:49
-f103 1970-01-11 00:00:10
-f104 1970-01-11 00:00:10
-f105 1911
-f106 1911
-f107 1911
-f108 1enum
-f109 2set
-f59 15
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 17
-f60 15
-f61 0000000016
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 19
-f60 18
-f61 0000000014
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 22
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 24
-f60 51654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 27
-f60 25
-f61 0000000026
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 29
-f60 28
-f61 0000000024
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 34
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 94
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 100
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 100
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 195
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 207
-f60 205
-f61 0000000206
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 209
-f60 208
-f61 0000000204
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 242
-f60 79
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 250
-f60 87895654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 292
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 299
-f60 899
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 321
-f60 NULL
-f61 0000000765
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 323
-f60 14376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 340
-f60 9984376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 394
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 424
-f60 89
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 441
-f60 16546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 660
-f60 876546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 987
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2550
-f60 775654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2760
-f60 985654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3330
-f60 764376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3410
-f60 996546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 7876
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 9112
-f60 NULL
-f61 0000008771
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 76710
-f60 226546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 569300
-f60 9114376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-drop view test.v1 ;
-CREATE VIEW test.v1 AS SELECT F59,F61 FROM test.tb2;
-SELECT * FROM test.v1 order by F59, F61 limit 50;
-F59 F61
-1 0000000001
-2 0000000002
-3 0000000003
-5 0000000005
-6 0000000006
-7 0000000007
-8 0000000008
-9 0000000009
-10 0000000010
-15 NULL
-17 0000000016
-19 0000000014
-22 NULL
-24 NULL
-27 0000000026
-29 0000000024
-34 NULL
-94 NULL
-100 NULL
-100 0000000004
-107 0000000106
-107 0000000106
-109 0000000104
-109 0000000104
-195 NULL
-207 0000000206
-209 0000000204
-242 NULL
-250 NULL
-292 NULL
-299 NULL
-321 0000000765
-323 NULL
-340 NULL
-394 NULL
-424 NULL
-441 NULL
-500 0000000900
-500 0000000900
-500 0000000900
-660 NULL
-987 NULL
-2550 NULL
-2760 NULL
-3330 NULL
-3410 NULL
-7876 NULL
-9112 0000008771
-76710 NULL
-569300 NULL
-drop view test.v1 ;
-CREATE VIEW test.v1 AS SELECT * FROM test.tb2 order by f59, f60, f61;
-SELECT * FROM test.v1 order by f59,f60,f61 ;
-f59 1
-f60 1
-f61 0000000001
-f62 0000000000000000000000000000000000000000000000000000000000000001
-f63 0000000001
-f64 0000000000000000000000000000000000000000000000000000000000000001
-f65 -5
-f66 0.000000000000000000000000000000
-f67 1
-f68 0.000000000000000000000000000000
-f69 0000000001
-f70 000000000000000000000000000000000.000000000000000000000000000000
-f71 0000000001
-f72 000000000000000000000000000000000.000000000000000000000000000000
-f73 -1.17549435e-38
-f74 1.175494352e-38
-f75 00000001.175494352e-38
-f76 00000001.175494352e-38
-f77 -1.17549435e-38
-f78 1.175494352e-38
-f79 00000001.175494352e-38
-f80 00000001.175494352e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.17549435e-38
-f95 1.17549e-38
-f96 1.175494352e-38
-f97 01.17549e-38
-f98 00000001.175494352e-38
-f99 01.17549e-38
-f100 00000001.175494352e-38
-f101 1000-01-01
-f102 838:59:58
-f103 1970-01-02 00:00:01
-f104 1970-01-02 00:00:01
-f105 1902
-f106 1902
-f107 1902
-f108 2enum
-f109 2set
-f59 2
-f60 2
-f61 0000000002
-f62 0000000000000000000000000000000000000000000000000000000000000002
-f63 0000000002
-f64 0000000000000000000000000000000000000000000000000000000000000002
-f65 -4
-f66 1.100000000000000000000000000000
-f67 2
-f68 1.100000000000000000000000000000
-f69 0000000002
-f70 000000000000000000000000000000001.100000000000000000000000000000
-f71 0000000002
-f72 000000000000000000000000000000001.100000000000000000000000000000
-f73 -1.175494349e-38
-f74 1.175494353e-38
-f75 00000001.175494353e-38
-f76 00000001.175494353e-38
-f77 -1.175494349e-38
-f78 1.175494353e-38
-f79 00000001.175494353e-38
-f80 00000001.175494353e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494349e-38
-f95 1.17549e-38
-f96 1.175494353e-38
-f97 01.17549e-38
-f98 00000001.175494353e-38
-f99 01.17549e-38
-f100 00000001.175494353e-38
-f101 1000-01-02
-f102 838:59:57
-f103 1970-01-03 00:00:02
-f104 1970-01-03 00:00:02
-f105 1903
-f106 1903
-f107 1903
-f108 1enum
-f109 1set,2set
-f59 3
-f60 3
-f61 0000000003
-f62 0000000000000000000000000000000000000000000000000000000000000003
-f63 0000000003
-f64 0000000000000000000000000000000000000000000000000000000000000003
-f65 -3
-f66 2.200000000000000000000000000000
-f67 3
-f68 2.200000000000000000000000000000
-f69 0000000003
-f70 000000000000000000000000000000002.200000000000000000000000000000
-f71 0000000003
-f72 000000000000000000000000000000002.200000000000000000000000000000
-f73 -1.175494348e-38
-f74 1.175494354e-38
-f75 00000001.175494354e-38
-f76 00000001.175494354e-38
-f77 -1.175494348e-38
-f78 1.175494354e-38
-f79 00000001.175494354e-38
-f80 00000001.175494354e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494348e-38
-f95 1.17549e-38
-f96 1.175494354e-38
-f97 01.17549e-38
-f98 00000001.175494354e-38
-f99 01.17549e-38
-f100 00000001.175494354e-38
-f101 1000-01-03
-f102 838:59:56
-f103 1970-01-04 00:00:03
-f104 1970-01-04 00:00:03
-f105 1904
-f106 1904
-f107 1904
-f108 2enum
-f109 1set
-f59 5
-f60 5
-f61 0000000005
-f62 0000000000000000000000000000000000000000000000000000000000000005
-f63 0000000005
-f64 0000000000000000000000000000000000000000000000000000000000000005
-f65 -1
-f66 4.400000000000000000000000000000
-f67 5
-f68 4.400000000000000000000000000000
-f69 0000000005
-f70 000000000000000000000000000000004.400000000000000000000000000000
-f71 0000000005
-f72 000000000000000000000000000000004.400000000000000000000000000000
-f73 -1.175494346e-38
-f74 1.175494356e-38
-f75 00000001.175494356e-38
-f76 00000001.175494356e-38
-f77 -1.175494346e-38
-f78 1.175494356e-38
-f79 00000001.175494356e-38
-f80 00000001.175494356e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494346e-38
-f95 1.17549e-38
-f96 1.175494356e-38
-f97 01.17549e-38
-f98 00000001.175494356e-38
-f99 01.17549e-38
-f100 00000001.175494356e-38
-f101 1000-01-05
-f102 838:59:54
-f103 1970-01-06 00:00:05
-f104 1970-01-06 00:00:05
-f105 1906
-f106 1906
-f107 1906
-f108 2enum
-f109 1set,2set
-f59 6
-f60 6
-f61 0000000006
-f62 0000000000000000000000000000000000000000000000000000000000000006
-f63 0000000006
-f64 0000000000000000000000000000000000000000000000000000000000000006
-f65 0
-f66 5.500000000000000000000000000000
-f67 6
-f68 5.500000000000000000000000000000
-f69 0000000006
-f70 000000000000000000000000000000005.500000000000000000000000000000
-f71 0000000006
-f72 000000000000000000000000000000005.500000000000000000000000000000
-f73 -1.175494345e-38
-f74 1.175494357e-38
-f75 00000001.175494357e-38
-f76 00000001.175494357e-38
-f77 -1.175494345e-38
-f78 1.175494357e-38
-f79 00000001.175494357e-38
-f80 00000001.175494357e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494345e-38
-f95 1.17549e-38
-f96 1.175494357e-38
-f97 01.17549e-38
-f98 00000001.175494357e-38
-f99 01.17549e-38
-f100 00000001.175494357e-38
-f101 1000-01-06
-f102 838:59:53
-f103 1970-01-07 00:00:06
-f104 1970-01-07 00:00:06
-f105 1907
-f106 1907
-f107 1907
-f108 1enum
-f109 1set
-f59 7
-f60 7
-f61 0000000007
-f62 0000000000000000000000000000000000000000000000000000000000000007
-f63 0000000007
-f64 0000000000000000000000000000000000000000000000000000000000000007
-f65 1
-f66 6.600000000000000000000000000000
-f67 7
-f68 6.600000000000000000000000000000
-f69 0000000007
-f70 000000000000000000000000000000006.600000000000000000000000000000
-f71 0000000007
-f72 000000000000000000000000000000006.600000000000000000000000000000
-f73 -1.175494344e-38
-f74 1.175494358e-38
-f75 00000001.175494358e-38
-f76 00000001.175494358e-38
-f77 -1.175494344e-38
-f78 1.175494358e-38
-f79 00000001.175494358e-38
-f80 00000001.175494358e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494344e-38
-f95 1.17549e-38
-f96 1.175494358e-38
-f97 01.17549e-38
-f98 00000001.175494358e-38
-f99 01.17549e-38
-f100 00000001.175494358e-38
-f101 1000-01-07
-f102 838:59:52
-f103 1970-01-08 00:00:07
-f104 1970-01-08 00:00:07
-f105 1908
-f106 1908
-f107 1908
-f108 2enum
-f109 2set
-f59 8
-f60 8
-f61 0000000008
-f62 0000000000000000000000000000000000000000000000000000000000000008
-f63 0000000008
-f64 0000000000000000000000000000000000000000000000000000000000000008
-f65 2
-f66 7.700000000000000000000000000000
-f67 8
-f68 7.700000000000000000000000000000
-f69 0000000008
-f70 000000000000000000000000000000007.700000000000000000000000000000
-f71 0000000008
-f72 000000000000000000000000000000007.700000000000000000000000000000
-f73 -1.175494343e-38
-f74 1.175494359e-38
-f75 00000001.175494359e-38
-f76 00000001.175494359e-38
-f77 -1.175494343e-38
-f78 1.175494359e-38
-f79 00000001.175494359e-38
-f80 00000001.175494359e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494343e-38
-f95 1.17549e-38
-f96 1.175494359e-38
-f97 01.17549e-38
-f98 00000001.175494359e-38
-f99 01.17549e-38
-f100 00000001.175494359e-38
-f101 1000-01-08
-f102 838:59:51
-f103 1970-01-09 00:00:08
-f104 1970-01-09 00:00:08
-f105 1909
-f106 1909
-f107 1909
-f108 1enum
-f109 1set,2set
-f59 9
-f60 9
-f61 0000000009
-f62 0000000000000000000000000000000000000000000000000000000000000009
-f63 0000000009
-f64 0000000000000000000000000000000000000000000000000000000000000009
-f65 3
-f66 8.800000000000000000000000000000
-f67 9
-f68 8.800000000000000000000000000000
-f69 0000000009
-f70 000000000000000000000000000000008.800000000000000000000000000000
-f71 0000000009
-f72 000000000000000000000000000000008.800000000000000000000000000000
-f73 -1.175494342e-38
-f74 1.17549436e-38
-f75 000000001.17549436e-38
-f76 000000001.17549436e-38
-f77 -1.175494342e-38
-f78 1.17549436e-38
-f79 000000001.17549436e-38
-f80 000000001.17549436e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494342e-38
-f95 1.17549e-38
-f96 1.17549436e-38
-f97 01.17549e-38
-f98 000000001.17549436e-38
-f99 01.17549e-38
-f100 000000001.17549436e-38
-f101 1000-01-09
-f102 838:59:50
-f103 1970-01-10 00:00:09
-f104 1970-01-10 00:00:09
-f105 1910
-f106 1910
-f107 1910
-f108 2enum
-f109 1set
-f59 10
-f60 10
-f61 0000000010
-f62 0000000000000000000000000000000000000000000000000000000000000010
-f63 0000000010
-f64 0000000000000000000000000000000000000000000000000000000000000010
-f65 4
-f66 9.900000000000000000000000000000
-f67 10
-f68 9.900000000000000000000000000000
-f69 0000000010
-f70 000000000000000000000000000000009.900000000000000000000000000000
-f71 0000000010
-f72 000000000000000000000000000000009.900000000000000000000000000000
-f73 -1.175494341e-38
-f74 1.175494361e-38
-f75 00000001.175494361e-38
-f76 00000001.175494361e-38
-f77 -1.175494341e-38
-f78 1.175494361e-38
-f79 00000001.175494361e-38
-f80 00000001.175494361e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494341e-38
-f95 1.17549e-38
-f96 1.175494361e-38
-f97 01.17549e-38
-f98 00000001.175494361e-38
-f99 01.17549e-38
-f100 00000001.175494361e-38
-f101 1000-01-10
-f102 838:59:49
-f103 1970-01-11 00:00:10
-f104 1970-01-11 00:00:10
-f105 1911
-f106 1911
-f107 1911
-f108 1enum
-f109 2set
-f59 15
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 17
-f60 15
-f61 0000000016
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 19
-f60 18
-f61 0000000014
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 22
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 24
-f60 51654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 27
-f60 25
-f61 0000000026
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 29
-f60 28
-f61 0000000024
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 34
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 94
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 100
-f60 4
-f61 0000000004
-f62 0000000000000000000000000000000000000000000000000000000000000004
-f63 0000000004
-f64 0000000000000000000000000000000000000000000000000000000000000004
-f65 -2
-f66 3.300000000000000000000000000000
-f67 4
-f68 3.300000000000000000000000000000
-f69 0000000004
-f70 000000000000000000000000000000003.300000000000000000000000000000
-f71 0000000004
-f72 000000000000000000000000000000003.300000000000000000000000000000
-f73 -1.175494347e-38
-f74 1.175494355e-38
-f75 00000001.175494355e-38
-f76 00000001.175494355e-38
-f77 -1.175494347e-38
-f78 1.175494355e-38
-f79 00000001.175494355e-38
-f80 00000001.175494355e-38
-f81 -1.17549e-38
-f82 1.17549e-38
-f83 01.17549e-38
-f84 01.17549e-38
-f85 -1.17549e-38
-f86 -1.17549e-38
-f87 1.17549e-38
-f88 1.17549e-38
-f89 01.17549e-38
-f90 01.17549e-38
-f91 01.17549e-38
-f92 01.17549e-38
-f93 -1.17549e-38
-f94 -1.175494347e-38
-f95 1.17549e-38
-f96 1.175494355e-38
-f97 01.17549e-38
-f98 00000001.175494355e-38
-f99 01.17549e-38
-f100 00000001.175494355e-38
-f101 1000-01-04
-f102 838:59:55
-f103 1970-01-05 00:00:04
-f104 1970-01-05 00:00:04
-f105 1905
-f106 1905
-f107 1905
-f108 1enum
-f109 2set
-f59 100
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 107
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 109
-f60 108
-f61 0000000104
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 195
-f60 87
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 207
-f60 205
-f61 0000000206
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 209
-f60 208
-f61 0000000204
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 242
-f60 79
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 250
-f60 87895654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 292
-f60 93
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 299
-f60 899
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 321
-f60 NULL
-f61 0000000765
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 323
-f60 14376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 340
-f60 9984376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 394
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 424
-f60 89
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 441
-f60 16546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 500
-f60 NULL
-f61 0000000900
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 660
-f60 876546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 987
-f60 41
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2550
-f60 775654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 2760
-f60 985654
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3330
-f60 764376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 3410
-f60 996546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 7876
-f60 74
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 9112
-f60 NULL
-f61 0000008771
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 76710
-f60 226546
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 569300
-f60 9114376
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-drop view test.v1 ;
-CREATE VIEW test.v1 AS SELECT F59,f61 FROM test.tb2;
-SELECT * FROM test.v1 order by f59,f61 desc limit 20;
-F59 f61
-1 0000000001
-2 0000000002
-3 0000000003
-5 0000000005
-6 0000000006
-7 0000000007
-8 0000000008
-9 0000000009
-10 0000000010
-15 NULL
-17 0000000016
-19 0000000014
-22 NULL
-24 NULL
-27 0000000026
-29 0000000024
-34 NULL
-94 NULL
-100 0000000004
-100 NULL
-drop view test.v1 ;
-
-Testcase 3.3.1.54
---------------------------------------------------------------------------------
-USE test;
-drop table if exists test.t1 ;
-drop table if exists test.t2 ;
-drop view if exists test.v1 ;
-Create table t1 (f59 int, f60 int) ;
-Create table t2 (f59 int, f60 int) ;
-Insert into t1 values (1,10) ;
-Insert into t1 values (2,20) ;
-Insert into t1 values (47,80) ;
-Insert into t2 values (1,1000) ;
-Insert into t2 values (2,2000) ;
-Insert into t2 values (31,97) ;
-Create view test.v1 as select t1.f59, t1.f60
-from t1,t2 where t1.f59=t2.f59 ;
-Select * from test.v1 order by f59 limit 50 ;
-f59 f60
-1 10
-2 20
-drop table test.t1 ;
-drop table test.t2 ;
-drop view test.v1 ;
-
-Testcase 3.3.1.50 - 3.3.1.54 additional implementation
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-CREATE TABLE t1 ( f1 BIGINT, f2 char(10), f3 DECIMAL(10,5) );
-INSERT INTO t1 VALUES(1, 'one', 1.1);
-INSERT INTO t1 VALUES(2, 'two', 2.2);
-INSERT INTO t1 VALUES(3, 'three', 3.3);
-CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1;
-SELECT * FROM v1;
-f1 f2 f3
-1 one 1.10000
-2 two 2.20000
-3 three 3.30000
-CREATE OR REPLACE VIEW v1 AS SELECT f2 FROM t1;
-SELECT * FROM v1;
-f2
-one
-two
-three
-CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 WHERE f3 = 2.2;
-SELECT * FROM v1;
-f1 f2 f3
-2 two 2.20000
-CREATE OR REPLACE VIEW v1 AS SELECT f2 FROM t1 WHERE f3 = 2.2;
-SELECT * FROM v1;
-f2
-two
-SET sql_mode = 'traditional,ansi';
-CREATE OR REPLACE VIEW v1 AS
-SELECT f3 AS "pure column f3:", f1 + f3 AS "sum of columns f1 + f3 =",
-3 * (- 0.11111E+1) AS "product of constants 3 * (- 0.11111E+1):",
-'->' || CAST(f3 AS CHAR) || '<-'
- AS "expression with '||'=CONCAT and CAST(DECIMAL column AS CHAR):"
-FROM t1 WHERE f1 = 2;
-CREATE OR REPLACE VIEW v1 AS
-SELECT f3 AS "pure column f3: ", f1 + f3 AS "sum of columns f1 + f3 = ",
-3 * (- 0.11111E+1) AS "product of constants 3 * (- 0.11111E+1): ",
-'->' || CAST(f3 AS CHAR) || '<-'
- AS "expression with '||'=CONCAT and CAST(DECIMAL column AS CHAR): "
-FROM t1 WHERE f1 = 2;
-ERROR 42000: Incorrect column name 'pure column f3: '
-SELECT * FROM v1;
-pure column f3: 2.20000
-sum of columns f1 + f3 = 4.20000
-product of constants 3 * (- 0.11111E+1): -3.3333
-expression with '||'=CONCAT and CAST(DECIMAL column AS CHAR): ->2.20000<-
-SET sql_mode = '';
-
-Testcases 3.3.1.55 - 3.3.1.62
---------------------------------------------------------------------------------
-Drop table if exists t1, t2 ;
-Drop view if exists v1 ;
-Create table t1 (f59 int, f60 char(10), f61 int, a char(1)) ;
-Insert into t1 values (1, 'single', 3, '1') ;
-Insert into t1 values (2, 'double', 6, '2') ;
-Insert into t1 values (3, 'single-f3', 4, '3') ;
-Create table t2 (f59 int, f60 char(10), f61 int, b char(1)) ;
-Insert into t2 values (2, 'double', 6, '2') ;
-Insert into t2 values (3, 'single-f3', 6, '3') ;
-Insert into t2 values (4, 'single', 4, '4') ;
-create or replace view test.v1 as
-Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
-t1.f61 t1_f61, t2.f61 t2_f61
-from t1 inner join t2 where t1.f59 = t2.f59 ;
-select * from test.v1 order by t1_f59 ;
-t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
-2 2 double double 6 6
-3 3 single-f3 single-f3 4 6
-Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
-t1.f61 t1_f61, t2.f61 t2_f61
-from t1 inner join t2 where t1.f59 = t2.f59;
-t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
-2 2 double double 6 6
-3 3 single-f3 single-f3 4 6
-Create or replace view test.v1 as
-Select t1.f59 AS t1_f59, t2.f59 AS t2_f59
-FROM t2 cross join t1;
-Select * from v1 order by t1_f59,t2_f59;
-t1_f59 t2_f59
-1 2
-1 3
-1 4
-2 2
-2 3
-2 4
-3 2
-3 3
-3 4
-Select t1.f59 AS t1_f59, t2.f59 AS t2_f59
-FROM t2 cross join t1;
-t1_f59 t2_f59
-1 2
-1 3
-1 4
-2 2
-2 3
-2 4
-3 2
-3 3
-3 4
-Create or replace view test.v1 as
-Select straight_join t1.f59 AS t1_f59, t2.f59 AS t2_f59
-FROM t2,t1;
-Select * from v1 order by t1_f59,t2_f59;
-t1_f59 t2_f59
-1 2
-1 3
-1 4
-2 2
-2 3
-2 4
-3 2
-3 3
-3 4
-Select straight_join t1.f59 AS t1_f59, t2.f59 AS t2_f59
-FROM t2,t1;
-t1_f59 t2_f59
-1 2
-1 3
-1 4
-2 2
-2 3
-2 4
-3 2
-3 3
-3 4
-Create or replace view test.v1 as
-Select f59, f60, f61, a, b
-FROM t2 natural join t1;
-Select * from v1 order by f59;
-f59 f60 f61 a b
-2 double 6 2 2
-Select f59, f60, f61, a, b
-FROM t2 natural join t1;
-f59 f60 f61 a b
-2 double 6 2 2
-Create or replace view test.v1 as
-Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
-t1.f61 t1_f61, t2.f61 t2_f61
-FROM t2 left outer join t1 on t2.f59=t1.f59;
-Select * from v1 order by t1_f59;
-t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
-NULL 4 NULL single NULL 4
-2 2 double double 6 6
-3 3 single-f3 single-f3 4 6
-Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
-t1.f61 t1_f61, t2.f61 t2_f61
-FROM t2 left outer join t1 on t2.f59=t1.f59;
-t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
-2 2 double double 6 6
-3 3 single-f3 single-f3 4 6
-NULL 4 NULL single NULL 4
-Create or replace view test.v1 as
-Select f59, f60, f61, t1.a, t2.b
-FROM t2 natural left outer join t1;
-Select * from v1 order by f59;
-f59 f60 f61 a b
-2 double 6 2 2
-3 single-f3 6 NULL 3
-4 single 4 NULL 4
-Select f59, f60, f61, t1.a, t2.b
-FROM t2 natural left outer join t1;
-f59 f60 f61 a b
-2 double 6 2 2
-3 single-f3 6 NULL 3
-4 single 4 NULL 4
-Create or replace view test.v1 as
-Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
-t1.f61 t1_f61, t2.f61 t2_f61
-FROM t2 right outer join t1 on t2.f59=t1.f59;
-Select * from v1 order by t1_f59;
-t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
-1 NULL single NULL 3 NULL
-2 2 double double 6 6
-3 3 single-f3 single-f3 4 6
-Select t1.f59 t1_f59, t2.f59 t2_f59, t1.f60 t1_f60, t2.f60 t2_f60,
-t1.f61 t1_f61, t2.f61 t2_f61
-FROM t2 right outer join t1 on t2.f59=t1.f59;
-t1_f59 t2_f59 t1_f60 t2_f60 t1_f61 t2_f61
-1 NULL single NULL 3 NULL
-2 2 double double 6 6
-3 3 single-f3 single-f3 4 6
-Create or replace view test.v1 as
-Select f59, f60, a, b
-FROM t2 natural right outer join t1;
-Select * from v1 order by f59 desc;
-f59 f60 a b
-3 single-f3 3 NULL
-2 double 2 2
-1 single 1 NULL
-Select f59, f60, a, b
-FROM t2 natural right outer join t1;
-f59 f60 a b
-1 single 1 NULL
-2 double 2 2
-3 single-f3 3 NULL
-drop table t1, t2;
-drop view v1 ;
-Use test;
-
-Testcase 3.3.1.A1 - 3.3.1.A3
---------------------------------------------------------------------------------
-Drop table if exists t1 ;
-Drop view if exists v1;
-Create table t1 (f59 int, f60 int, f61 int) ;
-Insert into t1 values (101,201,301) ;
-Insert into t1 values (107,501,601) ;
-Insert into t1 values (901,801,401) ;
-Create or replace view test.v1 as
-Select tb2.f59 FROM tb2 LEFT JOIN t1 on tb2.f59 = t1.f59 ;
-Select * from test.v1 order by f59 limit 0,10;
-f59
-1
-2
-3
-5
-6
-7
-8
-9
-10
-15
-Drop view if exists test.v1 ;
-Drop table if exists t1 ;
-Drop view if exists v1;
-Create table t1 (f59 int, f60 int, f61 int) ;
-Insert into t1 values (201,201,201) ;
-Insert into t1 values (207,201,201) ;
-Insert into t1 values (201,201,201) ;
-Create or replace view test.v1
-as Select tb2.f59 FROM tb2 INNER JOIN t1 on tb2.f59 = t1.f59 ;
-Select * from test.v1 order by f59 limit 0,10;
-f59
-207
-Drop view if exists test.v1 ;
-Drop table if exists t1 ;
-Drop view if exists v1;
-Create table t1 (f59 int, f60 int, f61 int) ;
-Insert into t1 values (21,21,21) ;
-Insert into t1 values (27,21,21) ;
-Insert into t1 values (21,21,21) ;
-Create or replace view test.v1
-as Select tb2.f59 FROM tb2 CROSS JOIN t1 on tb2.f59 = t1.f59 ;
-Select * from test.v1 order by f59 limit 0,10;
-f59
-27
-Drop view test.v1 ;
-
-Testcase 3.3.1.63
---------------------------------------------------------------------------------
-Drop table if exists t1 ;
-Drop view if exists test.v1 ;
-Create table t1 (f59 int, f60 int, f61 int) ;
-Insert into t1 values (11,21,31) ;
-Insert into t1 values (17,51,61) ;
-Insert into t1 values (91,81,41) ;
-Create or replace view test.v1 as (Select f59 FROM tb2 where f59=17 )
-Union ALL (Select f59 from t1 where f59=17 );
-Select * from test.v1 order by f59 limit 0,10;
-f59
-17
-17
-Create or replace view test.v1 as (Select f59 FROM tb2 where f59=17 )
-Union (Select f59 from t1 where f59=17 );
-Select * from test.v1 order by f59 limit 0,10;
-f59
-17
-Create or replace view test.v1 as (Select f59 FROM tb2 where f59=17 )
-Union Distinct (Select f59 from t1 where f60=17 );
-Select * from test.v1 order by f59 limit 0,10;
-f59
-17
-Drop view test.v1 ;
-drop table if exists t1;
-drop view if exists test.v1;
-create table t1 (f59 int, f60 int, f61 int);
-insert into t1 values (101,201,301);
-insert into t1 values (107,501,601);
-insert into t1 values (901,801,401);
-create or replace view test.v1 as
-select tb2.f59 from tb2 join t1 on tb2.f59 = t1.f59;
-select * from test.v1 order by f59 limit 0,10;
-f59
-107
-107
-create or replace view test.v1 as
-(select f59 from tb2 where f59=107 )
-union all
-(select f59 from t1 where f59=107 );
-select * from test.v1 order by f59 limit 0,10;
-f59
-107
-107
-107
-create or replace view test.v1 as
-(select f59 from tb2 where f59=107 )
-union
-(select f59 from t1 where f59=107 );
-select * from test.v1 order by f59 limit 0,10;
-f59
-107
-create or replace view test.v1 as
-(select f59 from tb2 where f59=107 )
-union distinct
-(select f59 from t1 where f59=107 );
-select * from test.v1 order by f59 limit 0,10;
-f59
-107
-drop view if exists test.v1 ;
-drop table t1;
-
-Testcase 3.3.1.64
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT F59
-FROM test.tb2 where test.tb2.F59 = 109;
-SELECT * FROM test.v1 order by f59 limit 0,10;
-F59
-109
-109
-ALTER VIEW test.v1 AS SELECT *
-FROM test.tb2 WHERE test.tb2.f59 = 242 ;
-SELECT * FROM test.v1 order by f59 limit 0,10;
-f59 242
-f60 79
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-Drop view test.v1 ;
-
-Testcase 3.3.1.65, 3.3.1.A4, 3.3.1.66, 3.3.1.67
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS test.v1 ;
-CREATE TABLE t1 ( f1 VARCHAR(1000) ) ENGINE = ndb ;
-CREATE VIEW v1 AS SELECT f1 FROM t1;
-DROP VIEW v1;
-DROP VIEW v1;
-ERROR 42S02: Unknown table 'v1'
-CREATE VIEW v1 AS SELECT f1 FROM t1;
-DROP VIEW IF EXISTS v1;
-DROP VIEW IF EXISTS v1;
-Warnings:
-Note 1051 Unknown table 'test.v1'
-
-Testcase 3.3.1.68
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1_base ;
-DROP VIEW IF EXISTS v1_top ;
-CREATE TABLE t1 ( f1 DOUBLE);
-CREATE VIEW v1_base AS SELECT * FROM t1;
-CREATE VIEW v1_top AS SELECT * FROM v1_base;
-DROP VIEW v1_top ;
-DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
-CREATE VIEW v1_top AS SELECT * FROM v1_base;
-DROP VIEW v1_base ;
-DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
-DROP VIEW v1_top;
-CREATE VIEW v1_base AS SELECT * FROM t1;
-CREATE VIEW v1_top AS SELECT * FROM v1_base;
-DROP VIEW v1_top CASCADE ;
-DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
-CREATE VIEW v1_top AS SELECT * FROM v1_base;
-DROP VIEW v1_base CASCADE ;
-DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
-DROP VIEW v1_top;
-CREATE VIEW v1_base AS SELECT * FROM t1;
-CREATE VIEW v1_top AS SELECT * FROM v1_base;
-DROP VIEW v1_top RESTRICT ;
-DROP VIEW v1_top;
-ERROR 42S02: Unknown table 'v1_top'
-CREATE VIEW v1_top AS SELECT * FROM v1_base;
-DROP VIEW v1_base RESTRICT ;
-DROP VIEW v1_base;
-ERROR 42S02: Unknown table 'v1_base'
-DROP VIEW v1_top;
-
-Testcase 3.3.1.69, 3.3.1.70, 3.3.1.A5
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-CREATE TABLE t1 (f59 INT, f60 INT, f61 INT) ENGINE = ndb;
-CREATE VIEW v1 AS SELECT * FROM t1;
-DROP VIEW v1 ;
-SELECT * FROM v1 ;
-ERROR 42S02: Table 'test.v1' doesn't exist
-SHOW CREATE VIEW v1 ;
-ERROR 42S02: Table 'test.v1' doesn't exist
-SHOW CREATE TABLE v1 ;
-ERROR 42S02: Table 'test.v1' doesn't exist
-SHOW TABLE STATUS like 'v1' ;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-SHOW TABLES LIKE 'v1';
-Tables_in_test (v1)
-SHOW COLUMNS FROM v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-SHOW FIELDS FROM v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-CHECK TABLE v1;
-Table Op Msg_type Msg_text
-test.v1 check Error Table 'test.v1' doesn't exist
-test.v1 check status Operation failed
-DESCRIBE v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-EXPLAIN SELECT * FROM v1;
-ERROR 42S02: Table 'test.v1' doesn't exist
-Use test;
-
-Testcase 3.3.1.A6
---------------------------------------------------------------------------------
-DROP DATABASE IF EXISTS test3;
-CREATE DATABASE test3;
-CREATE TABLE test3.t1 (f1 DECIMAL(5,3)) ENGINE = ndb;
-INSERT INTO test3.t1 SET f1 = 1.0;
-CREATE VIEW test3.v0 AS SELECT * FROM test3.t1;
-CREATE VIEW test3.v1 AS SELECT * FROM test3.v0;
-CREATE VIEW test3.v2 AS SELECT * FROM test3.v1;
-CREATE VIEW test3.v3 AS SELECT * FROM test3.v2;
-CREATE VIEW test3.v4 AS SELECT * FROM test3.v3;
-CREATE VIEW test3.v5 AS SELECT * FROM test3.v4;
-CREATE VIEW test3.v6 AS SELECT * FROM test3.v5;
-CREATE VIEW test3.v7 AS SELECT * FROM test3.v6;
-CREATE VIEW test3.v8 AS SELECT * FROM test3.v7;
-CREATE VIEW test3.v9 AS SELECT * FROM test3.v8;
-CREATE VIEW test3.v10 AS SELECT * FROM test3.v9;
-CREATE VIEW test3.v11 AS SELECT * FROM test3.v10;
-CREATE VIEW test3.v12 AS SELECT * FROM test3.v11;
-CREATE VIEW test3.v13 AS SELECT * FROM test3.v12;
-CREATE VIEW test3.v14 AS SELECT * FROM test3.v13;
-CREATE VIEW test3.v15 AS SELECT * FROM test3.v14;
-CREATE VIEW test3.v16 AS SELECT * FROM test3.v15;
-CREATE VIEW test3.v17 AS SELECT * FROM test3.v16;
-CREATE VIEW test3.v18 AS SELECT * FROM test3.v17;
-CREATE VIEW test3.v19 AS SELECT * FROM test3.v18;
-CREATE VIEW test3.v20 AS SELECT * FROM test3.v19;
-CREATE VIEW test3.v21 AS SELECT * FROM test3.v20;
-CREATE VIEW test3.v22 AS SELECT * FROM test3.v21;
-CREATE VIEW test3.v23 AS SELECT * FROM test3.v22;
-CREATE VIEW test3.v24 AS SELECT * FROM test3.v23;
-CREATE VIEW test3.v25 AS SELECT * FROM test3.v24;
-CREATE VIEW test3.v26 AS SELECT * FROM test3.v25;
-CREATE VIEW test3.v27 AS SELECT * FROM test3.v26;
-CREATE VIEW test3.v28 AS SELECT * FROM test3.v27;
-CREATE VIEW test3.v29 AS SELECT * FROM test3.v28;
-CREATE VIEW test3.v30 AS SELECT * FROM test3.v29;
-CREATE VIEW test3.v31 AS SELECT * FROM test3.v30;
-CREATE VIEW test3.v32 AS SELECT * FROM test3.v31;
-SHOW CREATE VIEW test3.v32;
-View Create View character_set_client collation_connection
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31` latin1 latin1_swedish_ci
-SELECT * FROM test3.v32;
-f1
-1.000
-EXPLAIN SELECT * FROM test3.v32;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 1
-DROP VIEW test3.v0;
-SHOW CREATE VIEW test3.v32;
-View Create View character_set_client collation_connection
-v32 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test3`.`v32` AS select `v31`.`f1` AS `f1` from `test3`.`v31` latin1 latin1_swedish_ci
-Warnings:
-Warning 1356 View 'test3.v32' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-SELECT * FROM test3.v32;
-ERROR HY000: View 'test3.v32' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-EXPLAIN SELECT * FROM test3.v32;
-ERROR HY000: View 'test3.v32' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-
-FIXME - Setting join_limit to 28 - hangs for higher values
-----------------------------------------------------------
-SET @join_limit = 28;
-SET @max_level = @join_limit - 1;
-DROP DATABASE IF EXISTS test3;
-DROP TABLE IF EXISTS test1.t1;
-DROP TABLE IF EXISTS test2.t1;
-DROP VIEW IF EXISTS test1.v27;
-DROP VIEW IF EXISTS test1.v26;
-DROP VIEW IF EXISTS test1.v25;
-DROP VIEW IF EXISTS test1.v24;
-DROP VIEW IF EXISTS test1.v23;
-DROP VIEW IF EXISTS test1.v22;
-DROP VIEW IF EXISTS test1.v21;
-DROP VIEW IF EXISTS test1.v20;
-DROP VIEW IF EXISTS test1.v19;
-DROP VIEW IF EXISTS test1.v18;
-DROP VIEW IF EXISTS test1.v17;
-DROP VIEW IF EXISTS test1.v16;
-DROP VIEW IF EXISTS test1.v15;
-DROP VIEW IF EXISTS test1.v14;
-DROP VIEW IF EXISTS test1.v13;
-DROP VIEW IF EXISTS test1.v12;
-DROP VIEW IF EXISTS test1.v11;
-DROP VIEW IF EXISTS test1.v10;
-DROP VIEW IF EXISTS test1.v9;
-DROP VIEW IF EXISTS test1.v8;
-DROP VIEW IF EXISTS test1.v7;
-DROP VIEW IF EXISTS test1.v6;
-DROP VIEW IF EXISTS test1.v5;
-DROP VIEW IF EXISTS test1.v4;
-DROP VIEW IF EXISTS test1.v3;
-DROP VIEW IF EXISTS test1.v2;
-DROP VIEW IF EXISTS test1.v1;
-DROP VIEW IF EXISTS test1.v0;
-CREATE DATABASE test3;
-USE test1;
-CREATE TABLE t1 (f1 BIGINT, f2 CHAR(50)) ENGINE = ndb ;
-INSERT INTO t1 VALUES (NULL, 'numeric column is NULL');
-INSERT INTO t1 VALUES (0, NULL);
-INSERT INTO t1 VALUES (5, 'five');
-INSERT INTO t1 VALUES (1, 'one');
-INSERT INTO t1 VALUES (2, 'two');
-USE test2;
-CREATE TABLE t1 (f1 DECIMAL(64,30), f2 VARCHAR(50)) ENGINE = ndb;
-INSERT INTO t1 VALUES (NULL, 'numeric column is NULL');
-INSERT INTO t1 VALUES (0.000000000000000000000000000000, NULL);
-INSERT INTO t1 VALUES (5.000000000000000000000000000000, 'five');
-INSERT INTO t1 VALUES (+1.000000000000000000000000000000, 'one');
-INSERT INTO t1 VALUES (3.000000000000000, 'three');
-USE test3;
-CREATE TABLE t1 (f1 DOUBLE, f2 VARBINARY(50)) ENGINE = ndb;
-INSERT INTO t1 VALUES (NULL, 'numeric column is NULL');
-INSERT INTO t1 VALUES (+0.0E-35, NULL);
-INSERT INTO t1 VALUES (+0.5E+1, 'five');
-INSERT INTO t1 VALUES (20.0E-1, 'two');
-INSERT INTO t1 VALUES (0.0300E2, 'three');
-USE test;
-CREATE OR REPLACE VIEW test1.v0 AS SELECT * FROM test2.t1;
-CREATE OR REPLACE VIEW test1.v1 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v0 tab2;
-CREATE OR REPLACE VIEW test1.v2 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v1 tab2;
-CREATE OR REPLACE VIEW test1.v3 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v2 tab2;
-CREATE OR REPLACE VIEW test1.v4 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v3 tab2;
-CREATE OR REPLACE VIEW test1.v5 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v4 tab2;
-CREATE OR REPLACE VIEW test1.v6 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v5 tab2;
-CREATE OR REPLACE VIEW test1.v7 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v6 tab2;
-CREATE OR REPLACE VIEW test1.v8 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v7 tab2;
-CREATE OR REPLACE VIEW test1.v9 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v8 tab2;
-CREATE OR REPLACE VIEW test1.v10 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v9 tab2;
-CREATE OR REPLACE VIEW test1.v11 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v10 tab2;
-CREATE OR REPLACE VIEW test1.v12 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v11 tab2;
-CREATE OR REPLACE VIEW test1.v13 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v12 tab2;
-CREATE OR REPLACE VIEW test1.v14 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v13 tab2;
-CREATE OR REPLACE VIEW test1.v15 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v14 tab2;
-CREATE OR REPLACE VIEW test1.v16 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v15 tab2;
-CREATE OR REPLACE VIEW test1.v17 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v16 tab2;
-CREATE OR REPLACE VIEW test1.v18 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v17 tab2;
-CREATE OR REPLACE VIEW test1.v19 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v18 tab2;
-CREATE OR REPLACE VIEW test1.v20 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v19 tab2;
-CREATE OR REPLACE VIEW test1.v21 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v20 tab2;
-CREATE OR REPLACE VIEW test1.v22 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v21 tab2;
-CREATE OR REPLACE VIEW test1.v23 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v22 tab2;
-CREATE OR REPLACE VIEW test1.v24 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v23 tab2;
-CREATE OR REPLACE VIEW test1.v25 AS SELECT f1, f2
-FROM test2.t1 tab1 NATURAL JOIN test1.v24 tab2;
-CREATE OR REPLACE VIEW test1.v26 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v25 tab2;
-CREATE OR REPLACE VIEW test1.v27 AS SELECT f1, f2
-FROM test1.t1 tab1 NATURAL JOIN test1.v26 tab2;
-SHOW CREATE VIEW test1.v27;
-View Create View character_set_client collation_connection
-v27 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v27` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test1`.`t1` `tab1` join `test1`.`v26` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`)))) latin1 latin1_swedish_ci
-SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-f1 f2
-5 five
-
-The output of following EXPLAIN is deactivated, because the result
-differs on some platforms
-FIXME Is this a bug ?
---------------------------------------------------------------------------------
-EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-CREATE VIEW test1.v28 AS SELECT f1, f2
-FROM test3.t1 tab1 NATURAL JOIN test1.v27 tab2;
-SHOW CREATE VIEW test1.v28;
-View Create View character_set_client collation_connection
-v28 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v28` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v27` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`)))) latin1 latin1_swedish_ci
-SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v28;
-f1 f2
-5 five
-
-The output of following EXPLAIN is deactivated, because the result
-differs on some platforms
-FIXME Is this a bug ?
---------------------------------------------------------------------------------
-EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v28;
-DROP VIEW IF EXISTS test1.v28;
-CREATE OR REPLACE VIEW test1.v0 AS
-SELECT f1 as f2, f2 as f1 FROM test2.t1;
-CREATE OR REPLACE VIEW test2.v0 AS
-SELECT CAST('0001-01-01' AS DATE) as f1, f2 FROM test3.t1;
-SHOW CREATE VIEW test1.v27;
-SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-CREATE OR REPLACE VIEW test3.v0 AS
-SELECT f1 , CONVERT('ßÄäÖöÜü§' USING UCS2) as f2 FROM test1.t1;
-SHOW CREATE VIEW test1.v27;
-SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-CREATE OR REPLACE VIEW test3.v0 AS
-SELECT CONVERT('ßÄäÖöÜü§' USING UCS2) as f1, f2 FROM test1.t1;
-SHOW CREATE VIEW test1.v27;
-SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-EXPLAIN SELECT CAST(f1 AS SIGNED INTEGER) AS f1,
-CAST(f2 AS CHAR) AS f2 FROM test1.v27;
-DROP VIEW IF EXISTS test1.v27;
-DROP VIEW IF EXISTS test1.v26;
-DROP VIEW IF EXISTS test1.v25;
-DROP VIEW IF EXISTS test1.v24;
-DROP VIEW IF EXISTS test1.v23;
-DROP VIEW IF EXISTS test1.v22;
-DROP VIEW IF EXISTS test1.v21;
-DROP VIEW IF EXISTS test1.v20;
-DROP VIEW IF EXISTS test1.v19;
-DROP VIEW IF EXISTS test1.v18;
-DROP VIEW IF EXISTS test1.v17;
-DROP VIEW IF EXISTS test1.v16;
-DROP VIEW IF EXISTS test1.v15;
-DROP VIEW IF EXISTS test1.v14;
-DROP VIEW IF EXISTS test1.v13;
-DROP VIEW IF EXISTS test1.v12;
-DROP VIEW IF EXISTS test1.v11;
-DROP VIEW IF EXISTS test1.v10;
-DROP VIEW IF EXISTS test1.v9;
-DROP VIEW IF EXISTS test1.v8;
-DROP VIEW IF EXISTS test1.v7;
-DROP VIEW IF EXISTS test1.v6;
-DROP VIEW IF EXISTS test1.v5;
-DROP VIEW IF EXISTS test1.v4;
-DROP VIEW IF EXISTS test1.v3;
-DROP VIEW IF EXISTS test1.v2;
-DROP VIEW IF EXISTS test1.v1;
-DROP VIEW IF EXISTS test1.v0;
-DROP DATABASE test3;
-DROP TABLE test1.t1;
-DROP TABLE test2.t1;
-Use test;
-
-Testcase 3.3.2.1
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-Create View test.v1 AS SELECT f59,f60 FROM tb2 where f59 = 1995 ;
-INSERT INTO test.v1 (f59,f60) values (879,700) ;
-affected rows: 1
-SELECT f59,f60 FROM test.v1 where f59 = 879 and f60 = 700 ;
-f59 f60
-DELETE FROM tb2 where f59 = 879 and f60 = 700 ;
-Drop view test.v1 ;
-
-Testcase 3.3.2.2
---------------------------------------------------------------------------------
-Drop view if exists test.v1 ;
-Create view test.v1 AS SELECT f59,f60,f61 FROM tb2 ;
-INSERT INTO test.v1 ( f59 , f60 ) values (2005,0101) ;
-affected rows: 1
-SELECT * FROM tb2 where f59 = 2005 and f60 = 0101 ;
-f59 2005
-f60 101
-f61 NULL
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-SELECT f59,f60 FROM test.v1 where f59 = 2005 and f60 = 0101 ;
-f59 f60
-2005 101
-DELETE FROM tb2 where f59 = 2005 and f60 = 0101 ;
-Drop view test.v1 ;
-
-Testcase 3.3.2.3
---------------------------------------------------------------------------------
-Insert into tb2 (f59,f60,f61) values (780,105,106) ;
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 ;
-UPDATE test.v1 SET f59 = 8 WHERE f59 = 780 and f60 = 105;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-SELECT * FROM tb2 where f59 = 8 and f60 = 105;
-f59 8
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-SELECT f59,f60 FROM test.v1 where f59 = 8 and f60 = 105 ;
-f59 f60
-8 105
-Drop view test.v1 ;
-
-Testcase 3.3.2.4
---------------------------------------------------------------------------------
-Insert into tb2 (f59,f60,f61) values (781,105,106) ;
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 ;
-UPDATE test.v1 SET f59 = 891 WHERE f60 = 105 ;
-affected rows: 4
-info: Rows matched: 4 Changed: 4 Warnings: 0
-SELECT * FROM tb2 where f59 = 891 and f60 = 105;
-f59 891
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 891
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 891
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-f59 891
-f60 105
-f61 0000000106
-f62 NULL
-f63 NULL
-f64 NULL
-f65 NULL
-f66 NULL
-f67 NULL
-f68 NULL
-f69 NULL
-f70 NULL
-f71 NULL
-f72 NULL
-f73 NULL
-f74 NULL
-f75 NULL
-f76 NULL
-f77 7.7
-f78 7.7
-f79 00000000000000000007.7
-f80 00000000000000000008.8
-f81 8.8
-f82 8.8
-f83 0000000008.8
-f84 0000000008.8
-f85 8.8
-f86 8.8
-f87 8.8
-f88 8.8
-f89 0000000008.8
-f90 0000000008.8
-f91 0000000008.8
-f92 0000000008.8
-f93 8.8
-f94 8.8
-f95 8.8
-f96 8.8
-f97 0000000008.8
-f98 00000000000000000008.8
-f99 0000000008.8
-f100 00000000000000000008.8
-f101 2000-01-01
-f102 00:00:20
-f103 0002-02-02 00:00:00
-f104 2000-12-31 23:59:59
-f105 2000
-f106 2000
-f107 2000
-f108 1enum
-f109 1set
-SELECT f59,f60 FROM test.v1 where f59 = 891 and f60 = 105 ;
-f59 f60
-891 105
-891 105
-891 105
-891 105
-Drop view test.v1 ;
-
-Testcase 3.3.2.5
---------------------------------------------------------------------------------
-Insert into tb2 (f59,f60,f61) values (789,105,106) ;
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 where f59 = 789 ;
-DELETE FROM test.v1 where f59 = 789 ;
-affected rows: 1
-SELECT * FROM tb2 where f59 = 789 ;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-SELECT f59,f60 FROM test.v1 where f59 = 789 order by f60 ;
-f59 f60
-Drop view test.v1 ;
-
-Testcase 3.3.2.6
---------------------------------------------------------------------------------
-Insert into tb2 (f59,f60,f61) values (711,105,106) ;
-Drop view if exists test.v1 ;
-CREATE VIEW test.v1 AS SELECT f59,f60,f61 FROM tb2 where f59 = 711 ;
-DELETE FROM test.v1 where f59 = 711 ;
-affected rows: 1
-SELECT * FROM tb2 where f59 = 711 ;
-f59 f60 f61 f62 f63 f64 f65 f66 f67 f68 f69 f70 f71 f72 f73 f74 f75 f76 f77 f78 f79 f80 f81 f82 f83 f84 f85 f86 f87 f88 f89 f90 f91 f92 f93 f94 f95 f96 f97 f98 f99 f100 f101 f102 f103 f104 f105 f106 f107 f108 f109
-SELECT f59,f60 FROM test.v1 where f59 = 711 order by f60 ;
-f59 f60
-Drop view test.v1 ;
-
-Testcase 3.3.2.1 - 3.3.2.6 alternative implementation
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-DROP VIEW IF EXISTS v1;
-CREATE TABLE t1 ( f1 BIGINT, f2 CHAR(20), f3 NUMERIC(7,4),
-f4 CHAR, PRIMARY KEY(f1));
-CREATE VIEW v1 AS SELECT f1, f2, f3 FROM t1;
-INSERT INTO v1 SET f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-1 NULL NULL NULL
-DELETE FROM t1;
-INSERT INTO v1 SET f2 = 'ABC';
-INSERT INTO v1 SET f2 = 'ABC';
-ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
-SELECT * from t1;
-f1 f2 f3 f4
-0 ABC NULL NULL
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1;
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2 WHERE f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2 WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2;
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f3 = -1.2E-3;
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2, f2 = 'NNN' WHERE f1 = 1 AND f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-2 NNN -0.0012 X
-DELETE FROM t1;
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f2, f3 FROM t1;
-INSERT INTO v1 SET f2 = 'ABC';
-INSERT INTO v1 SET f2 = 'ABC';
-ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
-SELECT * from t1;
-f1 f2 f3 f4
-0 ABC NULL NULL
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1;
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f3 = -1.2E-3;
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f1, f2, f3, 'HELLO' AS my_greeting FROM t1;
-INSERT INTO v1 SET f1 = 1;
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-SELECT * from t1;
-f1 f2 f3 f4
-DELETE FROM t1;
-INSERT INTO v1 SET f1 = 1, my_greeting = 'HELLO';
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-SELECT * from t1;
-f1 f2 f3 f4
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE my_greeting = 'HELLO';
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1;
-SELECT * from t1;
-f1 f2 f3 f4
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2 WHERE f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2 WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2 WHERE my_greeting = 'HELLO';
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2;
-SELECT * from t1;
-f1 f2 f3 f4
-2 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f1 = 1;
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE f3 = -1.2E-3;
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN' WHERE my_greeting = 'HELLO';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f2 = 'NNN';
-SELECT * from t1;
-f1 f2 f3 f4
-1 NNN -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET my_greeting = 'Hej' WHERE f1 = 1;
-ERROR HY000: Column 'my_greeting' is not updatable
-SELECT * from t1;
-f1 f2 f3 f4
-1 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET my_greeting = 'Hej' WHERE f2 = 'ABC';
-ERROR HY000: Column 'my_greeting' is not updatable
-SELECT * from t1;
-f1 f2 f3 f4
-1 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET my_greeting = 'Hej' WHERE my_greeting = 'HELLO';
-ERROR HY000: Column 'my_greeting' is not updatable
-SELECT * from t1;
-f1 f2 f3 f4
-1 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET my_greeting = 'Hej';
-ERROR HY000: Column 'my_greeting' is not updatable
-SELECT * from t1;
-f1 f2 f3 f4
-1 ABC -0.0012 X
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f1 = 2, f2 = 'NNN' WHERE f1 = 1 AND f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-2 NNN -0.0012 X
-DELETE FROM t1;
-DROP TABLE t1;
-SET sql_mode = 'traditional';
-CREATE TABLE t1 ( f1 BIGINT, f2 CHAR(20), f3 NUMERIC(7,4) NOT NULL,
-f4 CHAR, PRIMARY KEY(f1));
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f1, f2, f4 FROM t1;
-INSERT INTO v1 SET f1 = 1;
-ERROR HY000: Field of view 'test.v1' underlying table doesn't have a default value
-SELECT * from t1;
-f1 f2 f3 f4
-DELETE FROM t1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-DELETE FROM v1 WHERE f1 = 1;
-INSERT INTO t1 VALUES(1, 'ABC', -1.2E-3, 'X');
-UPDATE v1 SET f4 = 'Y' WHERE f2 = 'ABC';
-SELECT * from t1;
-f1 f2 f3 f4
-1 ABC -0.0012 Y
-DELETE FROM t1;
-SET sql_mode = '';
-
-Testcases 3.3.2.7 - 3.3.2.9,
-3.3.2.10 - 3.3.2.11 omitted because of missing
-features EXCEPT and INTERSECT
---------------------------------------------------------------------------------
-INSERT INTO tb2 (f59,f60,f61) VALUES (77,185,126) ;
-INSERT INTO tb2 (f59,f60,f61) VALUES (59,58,54) ;
-DROP TABLE IF EXISTS t1 ;
-DROP VIEW IF EXISTS v1 ;
-CREATE TABLE t1 (f59 INT, f60 INT, f61 INT) ;
-INSERT INTO t1 VALUES (19,41,32) ;
-INSERT INTO t1 VALUES (59,54,71) ;
-INSERT INTO t1 VALUES (21,91,99) ;
-SET @variant1 = 'UNION ';
-SET @variant2 = 'UNION ALL ';
-SET @variant3 = 'UNION DISTINCT ';
-SET @variant4 = 'EXCEPT ';
-SET @variant5 = 'INTERSECT ';
-CREATE VIEW v1 AS SELECT f61 FROM tb2 WHERE f59=59 UNION DISTINCT SELECT f61 FROM t1 WHERE f59=19;
-INSERT INTO v1 VALUES (3000);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61 = 100 WHERE f61 = 32;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1 ;
-CREATE VIEW v1 AS SELECT f61 FROM tb2 WHERE f59=59 UNION ALL SELECT f61 FROM t1 WHERE f59=19;
-INSERT INTO v1 VALUES (3000);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61 = 100 WHERE f61 = 32;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1 ;
-CREATE VIEW v1 AS SELECT f61 FROM tb2 WHERE f59=59 UNION SELECT f61 FROM t1 WHERE f59=19;
-INSERT INTO v1 VALUES (3000);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61 = 100 WHERE f61 = 32;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1 ;
-
-Testcases 3.3.2.12 - 3.3.2.20
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1, t2 ;
-DROP VIEW IF EXISTS test.v1 ;
-Drop view if exists v2 ;
-CREATE TABLE t1 (f59 int, f60 int, f61 int) ;
-INSERT INTO t1 VALUES (19,41,32) ;
-INSERT INTO t1 VALUES (59,54,71) ;
-INSERT INTO t1 VALUES (21,91,99) ;
-CREATE TABLE t2 (f59 int, f60 int, f61 int) ;
-INSERT INTO t2 VALUES (19,41,32) ;
-INSERT INTO t2 VALUES (59,54,71) ;
-INSERT INTO t2 VALUES (21,91,99) ;
-CREATE VIEW v2 AS SELECT f59, f60, f61 FROM t2 LIMIT 5;
-SET @variant1= 'CREATE VIEW v1 AS SELECT DISTINCT(f61) FROM t1';
-SET @variant2= 'CREATE VIEW v1 AS SELECT DISTINCTROW(f61) FROM t1';
-SET @variant3= 'CREATE VIEW v1 AS SELECT SUM(f59) AS f61 FROM t1';
-SET @variant4= 'CREATE VIEW v1 AS SELECT f61 FROM t1 GROUP BY f61';
-SET @variant5= 'CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0';
-SET @variant6= 'CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1';
-SET @variant7= 'CREATE VIEW v1 AS SELECT f61 FROM v2';
-SET @variant8= 'CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1)';
-SET @variant9= 'CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1';
-CREATE ALGORITHM = TEMPTABLE VIEW v1 (f61) AS select f60 from t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f59 AS f61 FROM t1 WHERE f60 IN (SELECT f59 FROM t1);
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f61 FROM v2;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT (SELECT f60 FROM t2 WHERE f59=19) AS f61 FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f61 FROM t1 HAVING f61 > 0;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT f61 FROM t1 GROUP BY f61;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT SUM(f59) AS f61 FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT DISTINCTROW(f61) FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-CREATE VIEW v1 AS SELECT DISTINCT(f61) FROM t1;
-INSERT INTO v1 VALUES (1002);
-ERROR HY000: The target table v1 of the INSERT is not insertable-into
-UPDATE v1 SET f61=1007;
-ERROR HY000: The target table v1 of the UPDATE is not updatable
-DELETE FROM v1;
-ERROR HY000: The target table v1 of the DELETE is not updatable
-DROP VIEW v1;
-Drop TABLE t1, t2 ;
-Drop VIEW v2 ;
-
-Testcases 3.3.A1
---------------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP VIEW IF EXISTS v1;
-DROP VIEW IF EXISTS v2;
-CREATE TABLE t1 (f1 BIGINT, f2 DATE DEFAULT NULL, f4 CHAR(5),
-report char(10)) ENGINE = ndb;
-CREATE VIEW v1 AS SELECT * FROM t1;
-INSERT INTO t1 SET f1 = -1, f4 = 'ABC', report = 't1 0';
-INSERT INTO v1 SET f1 = -1, f4 = 'ABC', report = 'v1 0';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 char(5) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 char(5) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-ALTER TABLE t1 CHANGE COLUMN f4 f4x CHAR(5);
-INSERT INTO t1 SET f1 = 0, f4x = 'ABC', report = 't1 1';
-INSERT INTO v1 SET f1 = 0, f4 = 'ABC', report = 'v1 1';
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-INSERT INTO v1 SET f1 = 0, f4x = 'ABC', report = 'v1 1a';
-ERROR 42S22: Unknown column 'f4x' in 'field list'
-INSERT INTO v1 SET f1 = 0, report = 'v1 1b';
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4x char(5) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-SELECT * FROM t1 order by f1, report;
-f1 f2 f4x report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-SELECT * FROM v1 order by f1, report;
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-ALTER TABLE t1 CHANGE COLUMN f4x f4 CHAR(5);
-ALTER TABLE t1 CHANGE COLUMN f4 f4 CHAR(10);
-INSERT INTO t1 SET f1 = 2, f4 = '<-- 10 -->', report = 't1 2';
-INSERT INTO v1 SET f1 = 2, f4 = '<-- 10 -->', report = 'v1 2';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 char(10) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 char(10) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 --> t1 2
-2 NULL <-- 10 --> v1 2
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 --> t1 2
-2 NULL <-- 10 --> v1 2
-ALTER TABLE t1 CHANGE COLUMN f4 f4 CHAR(8);
-Warnings:
-Warning 1265 Data truncated for column 'f4' at row <some number>
-Warning 1265 Data truncated for column 'f4' at row <some number>
-INSERT INTO t1 SET f1 = 3, f4 = '<-- 10 -->', report = 't1 3';
-Warnings:
-Warning 1265 Data truncated for column 'f4' at row 1
-INSERT INTO v1 SET f1 = 3, f4 = '<-- 10 -->', report = 'v1 3';
-Warnings:
-Warning 1265 Data truncated for column 'f4' at row 1
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 char(8) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 char(8) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-ALTER TABLE t1 CHANGE COLUMN f4 f4 VARCHAR(20);
-INSERT INTO t1 SET f1 = 4, f4 = '<------ 20 -------->', report = 't1 4';
-INSERT INTO v1 SET f1 = 4, f4 = '<------ 20 -------->', report = 'v1 4';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 date YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-ALTER TABLE t1 CHANGE COLUMN f1 f1 VARCHAR(30);
-INSERT INTO t1 SET f1 = '<------------- 30 ----------->',
-f4 = '<------ 20 -------->', report = 't1 5';
-INSERT INTO v1 SET f1 = '<------------- 30 ----------->',
-f4 = '<------ 20 -------->', report = 'v1 5';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f2 date YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f2 date YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-<------------- 30 -----------> NULL <------ 20 --------> t1 5
-<------------- 30 -----------> NULL <------ 20 --------> v1 5
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-<------------- 30 -----------> NULL <------ 20 --------> t1 5
-<------------- 30 -----------> NULL <------ 20 --------> v1 5
-ALTER TABLE t1 DROP COLUMN f2;
-INSERT INTO t1 SET f1 = 'ABC', f4 = '<------ 20 -------->', report = 't1 6';
-INSERT INTO v1 SET f1 = 'ABC', f4 = '<------ 20 -------->', report = 'v1 6';
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-DESCRIBE v1;
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-SELECT * FROM t1 order by f1, report;
-f1 f4 report
--1 ABC t1 0
--1 ABC v1 0
-0 ABC t1 1
-2 <-- 10 - t1 2
-2 <-- 10 - v1 2
-3 <-- 10 - t1 3
-3 <-- 10 - v1 3
-4 <------ 20 --------> t1 4
-4 <------ 20 --------> v1 4
-<------------- 30 -----------> <------ 20 --------> t1 5
-<------------- 30 -----------> <------ 20 --------> v1 5
-ABC <------ 20 --------> t1 6
-SELECT * FROM v1 order by f1, report;
-ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
-ALTER TABLE t1 ADD COLUMN f2 DATE DEFAULT NULL;
-INSERT INTO t1 SET f1 = 'ABC', f2 = '1500-12-04',
-f4 = '<------ 20 -------->', report = 't1 7';
-INSERT INTO v1 SET f1 = 'ABC', f2 = '1500-12-04',
-f4 = '<------ 20 -------->', report = 'v1 7';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-f2 date YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f2 date YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f4 report f2
--1 ABC t1 0 NULL
--1 ABC v1 0 NULL
-0 ABC t1 1 NULL
-2 <-- 10 - t1 2 NULL
-2 <-- 10 - v1 2 NULL
-3 <-- 10 - t1 3 NULL
-3 <-- 10 - v1 3 NULL
-4 <------ 20 --------> t1 4 NULL
-4 <------ 20 --------> v1 4 NULL
-<------------- 30 -----------> <------ 20 --------> t1 5 NULL
-<------------- 30 -----------> <------ 20 --------> v1 5 NULL
-ABC <------ 20 --------> t1 6 NULL
-ABC <------ 20 --------> t1 7 1500-12-04
-ABC <------ 20 --------> v1 7 1500-12-04
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-<------------- 30 -----------> NULL <------ 20 --------> t1 5
-<------------- 30 -----------> NULL <------ 20 --------> v1 5
-ABC NULL <------ 20 --------> t1 6
-ABC 1500-12-04 <------ 20 --------> t1 7
-ABC 1500-12-04 <------ 20 --------> v1 7
-ALTER TABLE t1 DROP COLUMN f2;
-ALTER TABLE t1 ADD COLUMN f2 FLOAT;
-INSERT INTO t1 SET f1 = 'ABC', f2 = -3.3E-4,
-f4 = '<------ 20 -------->', report = 't1 8';
-INSERT INTO v1 SET f1 = 'ABC', f2 = -3.3E-4,
-f4 = '<------ 20 -------->', report = 'v1 8';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-f2 float YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f2 float YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f4 report f2
--1 ABC t1 0 NULL
--1 ABC v1 0 NULL
-0 ABC t1 1 NULL
-2 <-- 10 - t1 2 NULL
-2 <-- 10 - v1 2 NULL
-3 <-- 10 - t1 3 NULL
-3 <-- 10 - v1 3 NULL
-4 <------ 20 --------> t1 4 NULL
-4 <------ 20 --------> v1 4 NULL
-<------------- 30 -----------> <------ 20 --------> t1 5 NULL
-<------------- 30 -----------> <------ 20 --------> v1 5 NULL
-ABC <------ 20 --------> t1 6 NULL
-ABC <------ 20 --------> t1 7 NULL
-ABC <------ 20 --------> t1 8 -0.00033
-ABC <------ 20 --------> v1 7 NULL
-ABC <------ 20 --------> v1 8 -0.00033
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-<------------- 30 -----------> NULL <------ 20 --------> t1 5
-<------------- 30 -----------> NULL <------ 20 --------> v1 5
-ABC NULL <------ 20 --------> t1 6
-ABC NULL <------ 20 --------> t1 7
-ABC -0.00033 <------ 20 --------> t1 8
-ABC NULL <------ 20 --------> v1 7
-ABC -0.00033 <------ 20 --------> v1 8
-ALTER TABLE t1 ADD COLUMN f3 NUMERIC(7,2);
-INSERT INTO t1 SET f1 = 'ABC', f2 = -3.3E-4,
-f3 = -2.2, f4 = '<------ 20 -------->', report = 't1 9';
-INSERT INTO v1 SET f1 = 'ABC', f2 = -3.3E-4,
-f3 = -2.2, f4 = '<------ 20 -------->', report = 'v1 9';
-ERROR 42S22: Unknown column 'f3' in 'field list'
-INSERT INTO v1 SET f1 = 'ABC', f2 = -3.3E-4,
-f4 = '<------ 20 -------->', report = 'v1 9a';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-f2 float YES NULL
-f3 decimal(7,2) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 varchar(30) YES NULL
-f2 float YES NULL
-f4 varchar(20) YES NULL
-report char(10) YES NULL
-SELECT * FROM t1 order by f1, report;
-f1 f4 report f2 f3
--1 ABC t1 0 NULL NULL
--1 ABC v1 0 NULL NULL
-0 ABC t1 1 NULL NULL
-2 <-- 10 - t1 2 NULL NULL
-2 <-- 10 - v1 2 NULL NULL
-3 <-- 10 - t1 3 NULL NULL
-3 <-- 10 - v1 3 NULL NULL
-4 <------ 20 --------> t1 4 NULL NULL
-4 <------ 20 --------> v1 4 NULL NULL
-<------------- 30 -----------> <------ 20 --------> t1 5 NULL NULL
-<------------- 30 -----------> <------ 20 --------> v1 5 NULL NULL
-ABC <------ 20 --------> t1 6 NULL NULL
-ABC <------ 20 --------> t1 7 NULL NULL
-ABC <------ 20 --------> t1 8 -0.00033 NULL
-ABC <------ 20 --------> t1 9 -0.00033 -2.20
-ABC <------ 20 --------> v1 7 NULL NULL
-ABC <------ 20 --------> v1 8 -0.00033 NULL
-ABC <------ 20 --------> v1 9a -0.00033 NULL
-SELECT * FROM v1 order by f1, report;
-f1 f2 f4 report
--1 NULL ABC t1 0
--1 NULL ABC v1 0
-0 NULL ABC t1 1
-2 NULL <-- 10 - t1 2
-2 NULL <-- 10 - v1 2
-3 NULL <-- 10 - t1 3
-3 NULL <-- 10 - v1 3
-4 NULL <------ 20 --------> t1 4
-4 NULL <------ 20 --------> v1 4
-<------------- 30 -----------> NULL <------ 20 --------> t1 5
-<------------- 30 -----------> NULL <------ 20 --------> v1 5
-ABC NULL <------ 20 --------> t1 6
-ABC NULL <------ 20 --------> t1 7
-ABC -0.00033 <------ 20 --------> t1 8
-ABC -0.00033 <------ 20 --------> t1 9
-ABC NULL <------ 20 --------> v1 7
-ABC -0.00033 <------ 20 --------> v1 8
-ABC -0.00033 <------ 20 --------> v1 9a
-DROP TABLE t1;
-DROP VIEW v1;
-CREATE TABLE t1 (f1 CHAR(10), f2 BIGINT) ENGINE = ndb;
-INSERT INTO t1 SET f1 = 'ABC', f2 = 3;
-CREATE VIEW v1 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 char(10) YES NULL
-f2 bigint(20) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 char(10) YES NULL
-my_sqrt double YES NULL
-SELECT * FROM t1 order by f1, f2;
-f1 f2
-ABC 3
-SELECT * FROM v1 order by 2;
-f1 my_sqrt
-ABC 1.7320508075688772
-ALTER TABLE t1 CHANGE COLUMN f2 f2 VARCHAR(30);
-INSERT INTO t1 SET f1 = 'ABC', f2 = 'DEF';
-DESCRIBE t1;
-Field Type Null Key Default Extra
-f1 char(10) YES NULL
-f2 varchar(30) YES NULL
-DESCRIBE v1;
-Field Type Null Key Default Extra
-f1 char(10) YES NULL
-my_sqrt double YES NULL
-SELECT * FROM t1 order by f1, f2;
-f1 f2
-ABC 3
-ABC DEF
-SELECT * FROM v1 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.7320508075688772
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-SELECT SQRT('DEF');
-SQRT('DEF')
-0
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-CREATE VIEW v2 AS SELECT SQRT('DEF');
-SELECT * FROM v2 order by 1;
-SQRT('DEF')
-0
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-CREATE OR REPLACE VIEW v2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
-DESCRIBE v2;
-Field Type Null Key Default Extra
-f1 char(10) YES NULL
-my_sqrt double YES NULL
-SELECT * FROM v2 order by 2;
-f1 my_sqrt
-ABC 0
-ABC 1.7320508075688772
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-CREATE TABLE t2 AS SELECT f1, SQRT(f2) my_sqrt FROM t1;
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-SELECT * FROM t2 order by 2;
-f1 ABC
-my_sqrt 0
-f1 ABC
-my_sqrt 1.7320508075688772
-DROP TABLE t2;
-CREATE TABLE t2 AS SELECT * FROM v1;
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-SELECT * FROM t2 order by 2;
-f1 ABC
-my_sqrt 0
-f1 ABC
-my_sqrt 1.7320508075688772
-DROP TABLE t2;
-CREATE TABLE t2 AS SELECT * FROM v2;
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: 'DEF'
-SELECT * FROM t2 order by 2;
-f1 ABC
-my_sqrt 0
-f1 ABC
-my_sqrt 1.7320508075688772
-DROP TABLE t1;
-DROP TABLE t2;
-DROP VIEW v1;
-DROP VIEW v2;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP VIEW IF EXISTS v1;
-DROP VIEW IF EXISTS v1_1;
-DROP VIEW IF EXISTS v1_2;
-DROP VIEW IF EXISTS v1_firstview;
-DROP VIEW IF EXISTS v1_secondview;
-DROP VIEW IF EXISTS v2;
-DROP DATABASE IF EXISTS test2;
-DROP DATABASE IF EXISTS test3;
-DROP DATABASE test1;
-DROP TABLE test.tb2;
diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
index ec7a13f1df4..0e3511d2ad5 100644
--- a/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
@@ -66,6 +66,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SHOW GRANTS;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
CREATE INDEX i_processlist ON processlist (user);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE processlist;
diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
index 36659ec9bd9..37ce8a3bf49 100644
--- a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
+++ b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result
@@ -65,6 +65,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SHOW GRANTS;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
CREATE INDEX i_processlist ON processlist (user);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE processlist;
diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
index 4ecca63351d..3e5ca055ae1 100644
--- a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
+++ b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc
@@ -117,15 +117,15 @@ create user 'user_1'@'localhost';
grant create routine on db_storedproc_1.* to 'user_1'@'localhost';
flush privileges;
+--disable_warnings
+DROP PROCEDURE IF EXISTS db_storedproc_1.sp3;
+DROP FUNCTION IF EXISTS db_storedproc_1.fn1;
+--enable_warnings
+
# disconnect default;
connect (user2, localhost, user_1, , db_storedproc_1);
--source suite/funcs_1/include/show_connection.inc
---disable_warnings
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
---enable_warnings
-
delimiter //;
CREATE PROCEDURE sp3(v1 char(20))
BEGIN
@@ -149,10 +149,6 @@ USE db_storedproc_1;
drop user 'user_1'@'localhost';
DROP PROCEDURE sp3;
-# This drop function shouldn't generated a warning as the
-# privileges should have been removed when the user was
-# dropped. Reported as Bug#36544 DROP USER does not remove
-# stored function privileges
DROP FUNCTION fn1;
diff --git a/mysql-test/suite/funcs_1/t/disabled.def b/mysql-test/suite/funcs_1/t/disabled.def
index 23f15b78103..9bfe9567d83 100644
--- a/mysql-test/suite/funcs_1/t/disabled.def
+++ b/mysql-test/suite/funcs_1/t/disabled.def
@@ -10,4 +10,3 @@
#
##############################################################################
-ndb_trig_1011ext: Bug#47564
diff --git a/mysql-test/suite/funcs_1/t/is_cml_ndb.test b/mysql-test/suite/funcs_1/t/is_cml_ndb.test
deleted file mode 100644
index 6d46424d14e..00000000000
--- a/mysql-test/suite/funcs_1/t/is_cml_ndb.test
+++ /dev/null
@@ -1,42 +0,0 @@
-# suite/funcs_1/t/is_cml_ndb.test
-#
-# Check the content of information_schema.columns about tables using
-# UNICODE columns.
-# Variant for storage engine NDB
-#
-# Author:
-# 2008-06-04 mleich Create this script based on older scripts and new code.
-#
-
---source include/have_ucs2.inc
-
-# This test cannot be used for the embedded server because privileges
-# are expected within result sets.
---source include/not_embedded.inc
-
---source include/have_ndb.inc
-let $engine_type= NDB;
-USE test;
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-eval CREATE TABLE t1
-(
- f1 CHAR UNICODE,
- f2 CHAR(0) UNICODE,
- f3 CHAR(10) UNICODE,
- f5 VARCHAR(0) UNICODE,
- f6 VARCHAR(255) UNICODE,
- f7 VARCHAR(260) UNICODE,
- f8 TEXT UNICODE,
- f9 TINYTEXT UNICODE,
- f10 MEDIUMTEXT UNICODE,
- f11 LONGTEXT UNICODE,
- PRIMARY KEY(f1)
-) ENGINE = $engine_type;
-
-# We look only for the tables created here.
-let $my_where = WHERE table_schema LIKE 'test%';
---source suite/funcs_1/datadict/columns.inc
-
-DROP TABLE t1;
diff --git a/mysql-test/suite/funcs_1/t/is_columns_ndb.test b/mysql-test/suite/funcs_1/t/is_columns_ndb.test
deleted file mode 100644
index 3d2a8d7aa5b..00000000000
--- a/mysql-test/suite/funcs_1/t/is_columns_ndb.test
+++ /dev/null
@@ -1,37 +0,0 @@
-# suite/funcs_1/t/is_columns_ndb.test
-#
-# Check the content of information_schema.columns about tables within
-# the databases created by the user.
-# Variant for storage engine ndb
-#
-# Author:
-# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
-# testsuite funcs_1
-# Create this script based on older scripts and new code.
-#
-
-# This test cannot be used for the embedded server because we check here
-# privileges.
---source include/not_embedded.inc
-
---source include/have_ndb.inc
-let $engine_type= ndb;
---source suite/funcs_1/datadict/datadict_load.inc
-
-# We look only for the tables created by datadict_load.inc.
-let $my_where = WHERE table_schema LIKE 'test%';
---source suite/funcs_1/datadict/columns.inc
-
-# This test runs with a different set of tables.
-# --source suite/funcs_1/include/cleanup.inc
-DROP DATABASE test1;
-DROP DATABASE test4;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t7;
-DROP TABLE test.t8;
-DROP TABLE test.t9;
-DROP TABLE test.t10;
-DROP TABLE test.t11;
diff --git a/mysql-test/suite/funcs_1/t/is_engines_ndb.test b/mysql-test/suite/funcs_1/t/is_engines_ndb.test
deleted file mode 100644
index bf9af8510a8..00000000000
--- a/mysql-test/suite/funcs_1/t/is_engines_ndb.test
+++ /dev/null
@@ -1,15 +0,0 @@
-# suite/funcs_1/t/is_engines_ndb.test
-#
-# Check the content of information_schema.engines
-# Variant for storage engine NDB
-#
-# Author:
-# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
-# testsuite funcs_1
-#
-
-let $engine_type= ndbcluster;
---source include/have_ndb.inc
---vertical_results
-eval SELECT * FROM information_schema.engines
-WHERE ENGINE = '$engine_type';
diff --git a/mysql-test/suite/funcs_1/t/is_tables_ndb.test b/mysql-test/suite/funcs_1/t/is_tables_ndb.test
deleted file mode 100644
index d21831b75c8..00000000000
--- a/mysql-test/suite/funcs_1/t/is_tables_ndb.test
+++ /dev/null
@@ -1,22 +0,0 @@
-# suite/funcs_1/t/is_tables_ndb.test
-#
-# Check the content of information_schema.tables about tables within
-# the databases created by the user.
-# Variant for storage engine NDB
-#
-# Author:
-# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
-# testsuite funcs_1
-# Create this script based on older scripts and new code.
-#
-
-# This test cannot be used for the embedded server because we check here
-# privileges.
---source include/not_embedded.inc
-
---source include/have_ndb.inc
-let $engine_type= NDB;
-
-# We look only for the tables created by suite/funcs_1/datadict/tables.inc
-let $my_where = WHERE table_schema LIKE 'test%' AND table_type = 'BASE TABLE';
---source suite/funcs_1/datadict/tables.inc
diff --git a/mysql-test/suite/funcs_1/t/is_user_privileges.test b/mysql-test/suite/funcs_1/t/is_user_privileges.test
index 253323af9a7..0f0e398d75b 100644
--- a/mysql-test/suite/funcs_1/t/is_user_privileges.test
+++ b/mysql-test/suite/funcs_1/t/is_user_privileges.test
@@ -104,20 +104,26 @@ ORDER BY grantee, table_catalog, privilege_type;
let $my_select2= SELECT * FROM mysql.user
WHERE user LIKE 'testuser%' ORDER BY host, user;
let $my_show= SHOW GRANTS;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
--echo #
--echo # Add GRANT OPTION db_datadict.* to testuser1;
GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
--echo # Establish connection testuser1 (user=testuser1)
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (testuser1, localhost, testuser1, , db_datadict);
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
eval $my_show;
--echo
@@ -128,36 +134,46 @@ connection default;
GRANT SELECT ON *.* TO 'testuser1'@'localhost';
--echo #
--echo # Here <SELECT NO> is shown correctly for testuser1;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
--echo #
--echo # Here <SELECT YES> is shown correctly for testuser1;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
--echo # Switch to connection testuser1
# check that this appears
connection testuser1;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
eval $my_show;
--echo # Establish connection testuser2 (user=testuser2)
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (testuser2, localhost, testuser2, , db_datadict);
+--vertical_results
eval $my_select1;
--error ER_TABLEACCESS_DENIED_ERROR
eval $my_select2;
+--horizontal_results
eval $my_show;
--echo # Establish connection testuser3 (user=testuser3)
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
connect (testuser3, localhost, testuser3, , test);
+--vertical_results
eval $my_select1;
--error ER_TABLEACCESS_DENIED_ERROR
eval $my_select2;
+--horizontal_results
eval $my_show;
--echo
@@ -165,23 +181,29 @@ eval $my_show;
--echo # Switch to connection default
connection default;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost';
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
--echo # Switch to connection testuser1
# check for changes
connection testuser1;
+--vertical_results
eval $my_select1;
--error ER_TABLEACCESS_DENIED_ERROR
eval $my_select2;
+--horizontal_results
eval $my_show;
# OK, testuser1 has no privs here
--error ER_TABLEACCESS_DENIED_ERROR
CREATE TABLE db_datadict.tb_55 ( c1 TEXT );
+--vertical_results
eval $my_select1;
--error ER_TABLEACCESS_DENIED_ERROR
eval $my_select2;
+--horizontal_results
eval $my_show;
# OK, testuser1 has no privs here
--error ER_TABLEACCESS_DENIED_ERROR
@@ -193,13 +215,17 @@ CREATE TABLE db_datadict.tb_66 ( c1 TEXT );
connection default;
GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
GRANT SELECT ON mysql.user TO 'testuser1'@'localhost';
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
--echo # Switch to connection testuser1
connection testuser1;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
eval $my_show;
# OK, testuser1 has no privs here
@@ -208,8 +234,10 @@ CREATE TABLE db_datadict.tb_56 ( c1 TEXT );
# using 'USE' lets the server read the privileges new, so now the CREATE works
USE db_datadict;
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
eval $my_show;
--replace_result $other_engine_type <other_engine_type>
eval
@@ -221,15 +249,19 @@ ENGINE = $other_engine_type;
--echo # Switch to connection default
connection default;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'testuser1'@'localhost';
+--vertical_results
eval $my_select1;
eval $my_select2;
+--horizontal_results
--echo # Switch to connection testuser1
# check for changes
connection testuser1;
+--vertical_results
eval $my_select1;
--error ER_TABLEACCESS_DENIED_ERROR
eval $my_select2;
+--horizontal_results
eval $my_show;
# WORKS, as the existing old privileges are used!
--replace_result $other_engine_type <other_engine_type>
@@ -273,19 +305,27 @@ DROP DATABASE IF EXISTS db_datadict;
let $my_select = SELECT * FROM information_schema.user_privileges
WHERE grantee = '''testuser1''@''localhost''';
let $my_show = SHOW GRANTS FOR 'testuser1'@'localhost';
+--vertical_results
eval $my_select;
+--horizontal_results
--error ER_NONEXISTING_GRANT
eval $my_show;
--error 0,ER_CANNOT_USER
DROP USER 'testuser1'@'localhost';
CREATE USER 'testuser1'@'localhost';
+--vertical_results
eval $my_select;
+--horizontal_results
eval $my_show;
GRANT SELECT, FILE ON *.* TO 'testuser1'@'localhost';
+--vertical_results
eval $my_select;
+--horizontal_results
eval $my_show;
DROP USER 'testuser1'@'localhost';
+--vertical_results
eval $my_select;
+--horizontal_results
--error ER_NONEXISTING_GRANT
eval $my_show;
diff --git a/mysql-test/suite/funcs_1/t/myisam_views.test b/mysql-test/suite/funcs_1/t/myisam_views-big.test
index fe72843cfaf..21613e78b24 100644
--- a/mysql-test/suite/funcs_1/t/myisam_views.test
+++ b/mysql-test/suite/funcs_1/t/myisam_views-big.test
@@ -1,6 +1,9 @@
#### suite/funcs_1/t/myisam_views.test
--source include/no_valgrind_without_big.inc
+# because of a pair of slow Solaris Sparc machines in pb2,
+# this test is marked as big:
+--source include/big_test.inc
# MyISAM tables should be used
#
diff --git a/mysql-test/suite/funcs_1/t/ndb_bitdata.test b/mysql-test/suite/funcs_1/t/ndb_bitdata.test
deleted file mode 100644
index f685a4abc6d..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_bitdata.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#### suite/funcs_1/t/ndb_bitdata.test
-
-# NDB tables should be used
-#
-# 1. Check if InnoDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndb;
-
-let $message= NOT YET IMPLEMENTED: bitdata tests;
---source include/show_msg80.inc
-exit;
-
-# Create some objects needed in many testcases
-USE test;
---source suite/funcs_1/include/ndb_tb4.inc
-
---source suite/funcs_1/bitdata/bitdata_master.test
diff --git a/mysql-test/suite/funcs_1/t/ndb_cursors.test b/mysql-test/suite/funcs_1/t/ndb_cursors.test
deleted file mode 100644
index 6aeeb3f298d..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_cursors.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#### suite/funcs_1/t/ndb_cursors.test
-
-# NDB tables should be used
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndb;
-
-let $message= NOT YET IMPLEMENTED: cursor tests;
---source include/show_msg80.inc
-exit;
-
-# Create some objects needed in many testcases
-USE test;
---source suite/funcs_1/include/ndb_tb1.inc
-
---source suite/funcs_1/cursors/cursors_master.test
-
diff --git a/mysql-test/suite/funcs_1/t/ndb_func_view.test b/mysql-test/suite/funcs_1/t/ndb_func_view.test
deleted file mode 100644
index 183ebc7053c..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_func_view.test
+++ /dev/null
@@ -1,16 +0,0 @@
-###################################################
-# #
-# Functions within VIEWs based on ndb tables #
-# #
-###################################################
-
-#
-# NOTE: PLEASE SEE THE DETAILED DESCRIPTION IN
-# suite/funcs_1/views/func_view.inc
-# BEFORE ADDING NEW TEST CASES HERE !!!
-
-let $type= 'ndb' ;
---source include/have_ndb.inc
-
---source suite/funcs_1/views/func_view.inc
-
diff --git a/mysql-test/suite/funcs_1/t/ndb_storedproc_02.test b/mysql-test/suite/funcs_1/t/ndb_storedproc_02.test
deleted file mode 100644
index 9c701ece72f..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_storedproc_02.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#### suite/funcs_1/t/ndb_storedproc_02.test
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-
-# 2. Set $engine_type
-let $engine_type= ndb;
-
---source suite/funcs_1/storedproc/storedproc_02.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_storedproc_03.test b/mysql-test/suite/funcs_1/t/ndb_storedproc_03.test
deleted file mode 100644
index 53c71932710..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_storedproc_03.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#### suite/funcs_1/t/ndb_storedproc_03.test
-#
-# 1. Check if nsd is available
---source include/have_ndb.inc
-
-# 2. Set $engine_type
-let $engine_type= ndb;
-
---source suite/funcs_1/storedproc/storedproc_03.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_storedproc_06.test b/mysql-test/suite/funcs_1/t/ndb_storedproc_06.test
deleted file mode 100644
index b8640391b02..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_storedproc_06.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#### suite/funcs_1/t/ndb_storedproc_06.test
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-
-# 2. Set $engine_type
-let $engine_type= ndb;
-
---source suite/funcs_1/storedproc/storedproc_06.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_storedproc_07.test b/mysql-test/suite/funcs_1/t/ndb_storedproc_07.test
deleted file mode 100644
index f0ef9fed313..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_storedproc_07.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#### suite/funcs_1/t/ndb_storedproc_07.test
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-
-# 2. Set $engine_type
-let $engine_type= ndb;
-
---source suite/funcs_1/storedproc/storedproc_07.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_storedproc_08.test b/mysql-test/suite/funcs_1/t/ndb_storedproc_08.test
deleted file mode 100644
index 21db9081822..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_storedproc_08.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#### suite/funcs_1/t/ndb_storedproc_08.test
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-
-# 2. Set $engine_type
-let $engine_type= ndb;
-
---source suite/funcs_1/storedproc/storedproc_08.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_storedproc_10.test b/mysql-test/suite/funcs_1/t/ndb_storedproc_10.test
deleted file mode 100644
index 6f5888ad2d3..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_storedproc_10.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#### suite/funcs_1/t/ndb_storedproc_10.test
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-
-# 2. Set $engine_type
-let $engine_type= ndb;
-
---source suite/funcs_1/storedproc/storedproc_10.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_0102.test b/mysql-test/suite/funcs_1/t/ndb_trig_0102.test
deleted file mode 100644
index dd239ff5edb..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_0102.test
+++ /dev/null
@@ -1,10 +0,0 @@
-#### suite/funcs_1/t/ndb_trig_0102.test
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndbcluster;
-
---source suite/funcs_1/triggers/triggers_0102.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_03.test b/mysql-test/suite/funcs_1/t/ndb_trig_03.test
deleted file mode 100644
index 1f68bd05a80..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_03.test
+++ /dev/null
@@ -1,10 +0,0 @@
-#### suite/funcs_1/t/ndb_trig_03.test
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndbcluster;
-
---source suite/funcs_1/triggers/triggers_03.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_03e.test b/mysql-test/suite/funcs_1/t/ndb_trig_03e.test
deleted file mode 100644
index 2f0e3a7af51..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_03e.test
+++ /dev/null
@@ -1,25 +0,0 @@
-#### suite/funcs_1/t/ndb_triggers.test
-
-# This test cannot be used for the embedded server because we check here
-# privileges.
---source include/not_embedded.inc
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndb;
-
-# Create some objects needed in many testcases
-USE test;
-
---source suite/funcs_1/triggers/triggers_03e_db_level.inc
---source suite/funcs_1/triggers/triggers_03e_table_level.inc
---source suite/funcs_1/triggers/triggers_03e_global_db_mix.inc
---source suite/funcs_1/triggers/triggers_03e_db_table_mix.inc
---source suite/funcs_1/triggers/triggers_03e_prepare.inc
---source suite/funcs_1/triggers/triggers_03e_definer.inc
---source suite/funcs_1/triggers/triggers_03e_transaction.inc
---source suite/funcs_1/triggers/triggers_03e_columns.inc
-
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_0407.test b/mysql-test/suite/funcs_1/t/ndb_trig_0407.test
deleted file mode 100644
index eccefd12dd9..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_0407.test
+++ /dev/null
@@ -1,10 +0,0 @@
-#### suite/funcs_1/t/ndb_trig_0407.test
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndbcluster;
-
---source suite/funcs_1/triggers/triggers_0407.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_08.test b/mysql-test/suite/funcs_1/t/ndb_trig_08.test
deleted file mode 100644
index e07c4fe7ec4..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_08.test
+++ /dev/null
@@ -1,10 +0,0 @@
-#### suite/funcs_1/t/ndb_trig_08.test
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndbcluster;
-
---source suite/funcs_1/triggers/triggers_08.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_09.test b/mysql-test/suite/funcs_1/t/ndb_trig_09.test
deleted file mode 100644
index 8def1d9eea1..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_09.test
+++ /dev/null
@@ -1,10 +0,0 @@
-#### suite/funcs_1/t/ndb_trig_09.test
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndbcluster;
-
---source suite/funcs_1/triggers/triggers_09.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test b/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test
deleted file mode 100644
index 729d5fee60b..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_trig_1011ext.test
+++ /dev/null
@@ -1,10 +0,0 @@
-#### suite/funcs_1/t/ndb_trig_1011ext.test
-
-# NDB tables should be used
-#
-# 1. Check if NDB is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndbcluster;
-
---source suite/funcs_1/triggers/triggers_1011ext.inc
diff --git a/mysql-test/suite/funcs_1/t/ndb_views.test b/mysql-test/suite/funcs_1/t/ndb_views.test
deleted file mode 100644
index 910b8adb189..00000000000
--- a/mysql-test/suite/funcs_1/t/ndb_views.test
+++ /dev/null
@@ -1,24 +0,0 @@
-#### suite/funcs_1/t/ndb_views.test
-
-# ndb tables should be used
-#
-# 1. Check if ndb is available
---source include/have_ndb.inc
-# 2. Set $engine_type
-let $engine_type= ndb;
-
-# Create some objects needed in many testcases
-USE test;
---source suite/funcs_1/include/ndb_tb2.inc
---disable_warnings
-DROP DATABASE IF EXISTS test1;
---enable_warnings
-CREATE DATABASE test1;
-USE test1;
---source suite/funcs_1/include/ndb_tb2.inc
-USE test;
-
---source suite/funcs_1/views/views_master.inc
-DROP DATABASE test1;
-DROP TABLE test.tb2;
-
diff --git a/mysql-test/suite/funcs_2/r/ndb_charset.result b/mysql-test/suite/funcs_2/r/ndb_charset.result
deleted file mode 100644
index 0a4dba2e302..00000000000
--- a/mysql-test/suite/funcs_2/r/ndb_charset.result
+++ /dev/null
@@ -1,119156 +0,0 @@
-DROP TABLE IF EXISTS test.t1;
-SET NAMES armscii8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET armscii8 COLLATE armscii8_bin) ENGINE=NDB CHARACTER SET armscii8 COLLATE armscii8_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # armscii8_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES armscii8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET armscii8 COLLATE armscii8_general_ci) ENGINE=NDB CHARACTER SET armscii8 COLLATE armscii8_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # armscii8_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES ascii;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ascii COLLATE ascii_bin) ENGINE=NDB CHARACTER SET ascii COLLATE ascii_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # ascii_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES ascii;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ascii COLLATE ascii_general_ci) ENGINE=NDB CHARACTER SET ascii COLLATE ascii_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # ascii_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES big5;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET big5 COLLATE big5_bin) ENGINE=NDB CHARACTER SET big5 COLLATE big5_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # big5_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES big5;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET big5 COLLATE big5_chinese_ci) ENGINE=NDB CHARACTER SET big5 COLLATE big5_chinese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # big5_chinese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-60 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-7E 1
-5A 1
-7A 1
-5D 1
-5B 1
-5C 1
-5E 1
-5F 1
-7B 1
-7C 1
-7D 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES binary;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET binary) ENGINE=NDB CHARACTER SET binary;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # binary # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1250;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_bin) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1250_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1250;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_croatian_ci) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_croatian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1250_croatian_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-A5 1
-B9 1
-C1 1
-C2 1
-C3 1
-C4 1
-E1 1
-E2 1
-E3 1
-E4 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-C8 1
-E8 1
-C6 1
-E6 1
-44 1
-64 1
-CF 1
-EF 1
-D0 1
-F0 1
-45 1
-65 1
-C9 1
-CA 1
-CB 1
-CC 1
-E9 1
-EA 1
-EB 1
-EC 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CD 1
-CE 1
-ED 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-A3 1
-B3 1
-BC 1
-BE 1
-C5 1
-E5 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-D2 1
-F1 1
-F2 1
-4F 1
-6F 1
-D3 1
-D4 1
-D5 1
-D6 1
-F3 1
-F4 1
-F5 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C0 1
-D8 1
-E0 1
-F8 1
-53 1
-73 1
-8C 1
-9C 1
-AA 1
-BA 1
-DF 1
-8A 1
-9A 1
-54 1
-74 1
-8D 1
-9D 1
-DE 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-8F 1
-9F 1
-AF 1
-BF 1
-8E 1
-9E 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8B 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9B 1
-A0 1
-A1 1
-A2 1
-A4 1
-A6 1
-A7 1
-A8 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B2 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-BB 1
-BD 1
-D7 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1250;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_czech_cs) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_czech_cs;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1250_czech_cs # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-7F 1
-80 1
-81 1
-83 1
-88 1
-90 1
-98 1
-B6 1
-A0 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-C4 1
-E4 1
-A5 1
-B9 1
-42 1
-62 1
-43 1
-63 1
-C6 1
-E6 1
-C7 1
-E7 1
-C8 1
-E8 1
-44 1
-64 1
-CF 1
-EF 1
-D0 1
-F0 1
-45 1
-65 1
-C9 1
-E9 1
-CC 1
-EC 1
-CB 1
-EB 1
-CA 1
-EA 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CD 1
-ED 1
-CE 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-C5 1
-E5 1
-BC 1
-BE 1
-A3 1
-B3 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-D2 1
-F2 1
-4F 1
-6F 1
-D3 1
-F3 1
-D4 1
-F4 1
-D6 1
-F6 1
-D5 1
-F5 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C0 1
-E0 1
-D8 1
-F8 1
-53 1
-73 1
-8C 1
-9C 1
-AA 1
-BA 1
-8A 1
-9A 1
-DF 1
-54 1
-74 1
-8D 1
-9D 1
-DE 1
-55 1
-75 1
-DA 1
-FA 1
-D9 1
-F9 1
-DC 1
-FC 1
-DB 1
-FB 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-AF 1
-BF 1
-8F 1
-9F 1
-8E 1
-9E 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-82 1
-84 1
-85 1
-86 1
-87 1
-89 1
-8B 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-99 1
-9B 1
-A1 1
-A2 1
-A4 1
-A6 1
-A7 1
-A8 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B2 1
-B4 1
-B5 1
-B7 1
-B8 1
-BB 1
-BD 1
-D7 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1250;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1250 COLLATE cp1250_general_ci) ENGINE=NDB CHARACTER SET cp1250 COLLATE cp1250_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1250_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-A0 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-A5 1
-B9 1
-C1 1
-C2 1
-C3 1
-C4 1
-E1 1
-E2 1
-E3 1
-E4 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-C8 1
-E8 1
-C6 1
-E6 1
-44 1
-64 1
-CF 1
-EF 1
-D0 1
-F0 1
-45 1
-65 1
-C9 1
-CA 1
-CB 1
-CC 1
-E9 1
-EA 1
-EB 1
-EC 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CD 1
-CE 1
-ED 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-A3 1
-B3 1
-BC 1
-BE 1
-C5 1
-E5 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-D2 1
-F1 1
-F2 1
-4F 1
-6F 1
-D3 1
-D4 1
-D5 1
-D6 1
-F3 1
-F4 1
-F5 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C0 1
-D8 1
-E0 1
-F8 1
-53 1
-73 1
-A7 1
-AA 1
-BA 1
-DF 1
-8A 1
-8C 1
-9A 1
-9C 1
-54 1
-74 1
-8D 1
-9D 1
-DE 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-8E 1
-8F 1
-9E 1
-9F 1
-AF 1
-BF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8B 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9B 1
-A1 1
-A2 1
-A4 1
-A6 1
-A8 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B2 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-BB 1
-BD 1
-D7 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1251;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_bin) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1251_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1251;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_bulgarian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1251_bulgarian_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-C0 1
-E0 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-C4 1
-E4 1
-C5 1
-E5 1
-A8 1
-B8 1
-C6 1
-E6 1
-C7 1
-E7 1
-C8 1
-E8 1
-C9 1
-E9 1
-CA 1
-EA 1
-CB 1
-EB 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-CF 1
-EF 1
-D0 1
-F0 1
-D1 1
-F1 1
-D2 1
-F2 1
-D3 1
-F3 1
-D4 1
-F4 1
-D5 1
-F5 1
-D6 1
-F6 1
-D7 1
-F7 1
-D8 1
-F8 1
-D9 1
-F9 1
-DA 1
-FA 1
-DB 1
-FB 1
-DC 1
-FC 1
-DD 1
-FD 1
-DE 1
-DF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1251;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_general_ci) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1251_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-C0 1
-E0 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-A5 1
-B4 1
-C4 1
-E4 1
-80 1
-90 1
-81 1
-83 1
-C5 1
-E5 1
-A8 1
-B8 1
-AA 1
-BA 1
-C6 1
-E6 1
-C7 1
-E7 1
-BD 1
-BE 1
-C8 1
-E8 1
-B2 1
-B3 1
-AF 1
-BF 1
-C9 1
-E9 1
-A3 1
-BC 1
-CA 1
-EA 1
-8D 1
-9D 1
-CB 1
-EB 1
-8A 1
-9A 1
-CC 1
-EC 1
-CD 1
-ED 1
-8C 1
-9C 1
-CE 1
-EE 1
-CF 1
-EF 1
-D0 1
-F0 1
-D1 1
-F1 1
-D2 1
-F2 1
-8E 1
-9E 1
-D3 1
-F3 1
-A1 1
-A2 1
-D4 1
-F4 1
-D5 1
-F5 1
-D6 1
-F6 1
-D7 1
-F7 1
-8F 1
-9F 1
-D8 1
-F8 1
-D9 1
-F9 1
-DA 1
-FA 1
-DB 1
-FB 1
-DC 1
-FC 1
-DD 1
-FD 1
-DE 1
-DF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-82 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8B 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9B 1
-A0 1
-A4 1
-A6 1
-A7 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B5 1
-B6 1
-B7 1
-B9 1
-BB 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1251;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_general_cs) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_general_cs;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1251_general_cs # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-C0 1
-E0 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-A5 1
-B4 1
-C4 1
-E4 1
-80 1
-90 1
-81 1
-83 1
-C5 1
-E5 1
-A8 1
-B8 1
-AA 1
-BA 1
-C6 1
-E6 1
-C7 1
-E7 1
-BD 1
-BE 1
-C8 1
-E8 1
-B2 1
-B3 1
-AF 1
-BF 1
-C9 1
-E9 1
-A3 1
-BC 1
-CA 1
-EA 1
-8D 1
-9D 1
-CB 1
-EB 1
-8A 1
-9A 1
-CC 1
-EC 1
-CD 1
-ED 1
-8C 1
-9C 1
-CE 1
-EE 1
-CF 1
-EF 1
-D0 1
-F0 1
-D1 1
-F1 1
-D2 1
-F2 1
-8E 1
-9E 1
-D3 1
-F3 1
-A1 1
-A2 1
-D4 1
-F4 1
-D5 1
-F5 1
-D6 1
-F6 1
-D7 1
-F7 1
-8F 1
-9F 1
-D8 1
-F8 1
-D9 1
-F9 1
-DA 1
-FA 1
-DB 1
-FB 1
-DC 1
-FC 1
-DD 1
-FD 1
-DE 1
-DF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-82 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8B 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9B 1
-A0 1
-A4 1
-A6 1
-A7 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B5 1
-B6 1
-B7 1
-B9 1
-BB 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1251;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci) ENGINE=NDB CHARACTER SET cp1251 COLLATE cp1251_ukrainian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1251_ukrainian_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-60 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-C0 1
-E0 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-A5 1
-B4 1
-C4 1
-E4 1
-C5 1
-E5 1
-AA 1
-BA 1
-A8 1
-B8 1
-C6 1
-E6 1
-C7 1
-E7 1
-C8 1
-E8 1
-B2 1
-B3 1
-AF 1
-BF 1
-C9 1
-E9 1
-CA 1
-EA 1
-CB 1
-EB 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-CF 1
-EF 1
-D0 1
-F0 1
-D1 1
-F1 1
-D2 1
-F2 1
-D3 1
-F3 1
-D4 1
-F4 1
-D5 1
-F5 1
-D6 1
-F6 1
-D7 1
-F7 1
-D8 1
-F8 1
-D9 1
-F9 1
-DA 1
-FA 1
-DB 1
-FB 1
-DC 1
-FC 1
-DD 1
-FD 1
-DE 1
-DF 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A6 1
-A7 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B5 1
-B6 1
-B7 1
-B9 1
-BB 1
-BC 1
-BD 1
-BE 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1256;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1256 COLLATE cp1256_bin) ENGINE=NDB CHARACTER SET cp1256 COLLATE cp1256_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1256_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1256;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1256 COLLATE cp1256_general_ci) ENGINE=NDB CHARACTER SET cp1256 COLLATE cp1256_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1256_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-E0 1
-E2 1
-42 1
-62 1
-43 1
-63 1
-E7 1
-44 1
-64 1
-45 1
-65 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-83 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-F4 1
-8C 1
-9C 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-F9 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-81 1
-CB 1
-CC 1
-8D 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-8E 1
-D3 1
-D4 1
-D5 1
-D6 1
-D8 1
-CA 1
-D9 1
-DA 1
-DB 1
-DD 1
-DE 1
-DF 1
-90 1
-E1 1
-E3 1
-E4 1
-E5 1
-E6 1
-EC 1
-ED 1
-DC 1
-F0 1
-F1 1
-F2 1
-F3 1
-F5 1
-F6 1
-F8 1
-FA 1
-A1 1
-BA 1
-BF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-82 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8F 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9D 1
-9E 1
-9F 1
-A0 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BB 1
-BC 1
-BD 1
-BE 1
-C0 1
-D7 1
-F7 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1257;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1257 COLLATE cp1257_bin) ENGINE=NDB CHARACTER SET cp1257 COLLATE cp1257_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1257_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1257;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1257 COLLATE cp1257_general_ci) ENGINE=NDB CHARACTER SET cp1257 COLLATE cp1257_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1257_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-AF 1
-BF 1
-C0 1
-C2 1
-C4 1
-C5 1
-E0 1
-E2 1
-E4 1
-E5 1
-42 1
-62 1
-43 1
-63 1
-C3 1
-C8 1
-E3 1
-E8 1
-44 1
-64 1
-45 1
-65 1
-C6 1
-C7 1
-C9 1
-CB 1
-E6 1
-E7 1
-E9 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-CC 1
-EC 1
-48 1
-68 1
-49 1
-69 1
-C1 1
-CE 1
-E1 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-CD 1
-ED 1
-4C 1
-6C 1
-CF 1
-D9 1
-EF 1
-F9 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-D2 1
-F1 1
-F2 1
-4F 1
-6F 1
-A8 1
-B8 1
-D3 1
-D4 1
-D5 1
-D6 1
-F3 1
-F4 1
-F5 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-AA 1
-BA 1
-53 1
-73 1
-D0 1
-DA 1
-DF 1
-F0 1
-FA 1
-54 1
-74 1
-55 1
-75 1
-D8 1
-DB 1
-DC 1
-F8 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-CA 1
-DD 1
-DE 1
-EA 1
-FD 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-D7 1
-F7 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A9 1
-AB 1
-AC 1
-AD 1
-AE 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B9 1
-BB 1
-BC 1
-BD 1
-BE 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp1257;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp1257 COLLATE cp1257_lithuanian_ci) ENGINE=NDB CHARACTER SET cp1257 COLLATE cp1257_lithuanian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp1257_lithuanian_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-42 1
-62 1
-43 1
-63 1
-C8 1
-E8 1
-44 1
-64 1
-45 1
-65 1
-C6 1
-E6 1
-CB 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-59 1
-79 1
-C1 1
-E1 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-D0 1
-F0 1
-54 1
-74 1
-55 1
-75 1
-DB 1
-FB 1
-D8 1
-F8 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-5A 1
-7A 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C2 1
-C3 1
-C4 1
-C5 1
-C7 1
-C9 1
-CA 1
-CC 1
-CD 1
-CE 1
-CF 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D9 1
-DA 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E2 1
-E3 1
-E4 1
-E5 1
-E7 1
-E9 1
-EA 1
-EC 1
-ED 1
-EE 1
-EF 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F9 1
-FA 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp850;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp850 COLLATE cp850_bin) ENGINE=NDB CHARACTER SET cp850 COLLATE cp850_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp850_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp850;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp850 COLLATE cp850_general_ci) ENGINE=NDB CHARACTER SET cp850 COLLATE cp850_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp850_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-85 1
-B7 1
-A0 1
-B5 1
-83 1
-B6 1
-C6 1
-C7 1
-84 1
-8E 1
-86 1
-8F 1
-91 1
-92 1
-42 1
-62 1
-43 1
-63 1
-80 1
-87 1
-44 1
-64 1
-D0 1
-D1 1
-45 1
-65 1
-8A 1
-D4 1
-82 1
-90 1
-88 1
-D2 1
-89 1
-D3 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-8D 1
-DE 1
-A1 1
-D6 1
-8C 1
-D7 1
-8B 1
-D8 1
-D5 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-A4 1
-A5 1
-4F 1
-6F 1
-95 1
-E3 1
-A2 1
-E0 1
-93 1
-E2 1
-E4 1
-E5 1
-94 1
-99 1
-9B 1
-9D 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-E1 1
-54 1
-74 1
-55 1
-75 1
-97 1
-EB 1
-A3 1
-E9 1
-96 1
-EA 1
-81 1
-9A 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-EC 1
-ED 1
-98 1
-5A 1
-7A 1
-E7 1
-E8 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-F7 1
-9E 1
-9F 1
-F6 1
-F2 1
-C4 1
-B3 1
-DA 1
-BF 1
-C0 1
-D9 1
-C3 1
-B4 1
-C2 1
-C1 1
-C5 1
-CD 1
-AD 1
-BA 1
-C9 1
-BB 1
-C8 1
-BC 1
-CC 1
-B9 1
-CB 1
-CA 1
-CE 1
-DF 1
-DC 1
-DB 1
-B0 1
-B1 1
-B2 1
-BD 1
-9C 1
-CF 1
-BE 1
-DD 1
-F5 1
-F9 1
-B8 1
-A6 1
-AE 1
-AA 1
-F0 1
-A9 1
-EE 1
-F8 1
-F1 1
-FD 1
-FC 1
-EF 1
-E6 1
-F4 1
-FA 1
-FB 1
-A7 1
-AF 1
-AC 1
-AB 1
-F3 1
-A8 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp852;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp852 COLLATE cp852_bin) ENGINE=NDB CHARACTER SET cp852 COLLATE cp852_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp852_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp852;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp852 COLLATE cp852_general_ci) ENGINE=NDB CHARACTER SET cp852 COLLATE cp852_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp852_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-83 1
-84 1
-8E 1
-A0 1
-A4 1
-A5 1
-B5 1
-B6 1
-C6 1
-C7 1
-42 1
-62 1
-43 1
-63 1
-80 1
-86 1
-87 1
-8F 1
-9F 1
-AC 1
-44 1
-64 1
-D0 1
-D1 1
-D2 1
-D4 1
-45 1
-65 1
-82 1
-89 1
-90 1
-A8 1
-A9 1
-B7 1
-D3 1
-D8 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-8C 1
-A1 1
-D6 1
-D7 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-88 1
-91 1
-92 1
-95 1
-96 1
-9D 1
-4D 1
-6D 1
-4E 1
-6E 1
-D5 1
-E3 1
-E4 1
-E5 1
-4F 1
-6F 1
-8A 1
-8B 1
-93 1
-94 1
-99 1
-A2 1
-E0 1
-E2 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-E8 1
-EA 1
-FC 1
-FD 1
-53 1
-73 1
-97 1
-98 1
-AD 1
-B8 1
-E6 1
-E7 1
-E1 1
-54 1
-74 1
-9B 1
-9C 1
-DD 1
-EE 1
-55 1
-75 1
-81 1
-85 1
-9A 1
-A3 1
-DE 1
-E9 1
-EB 1
-FB 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-EC 1
-ED 1
-5A 1
-7A 1
-8D 1
-A6 1
-A7 1
-AB 1
-BD 1
-BE 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-9E 1
-AA 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B9 1
-BA 1
-BB 1
-BC 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D9 1
-DA 1
-DB 1
-DC 1
-DF 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp866;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp866 COLLATE cp866_bin) ENGINE=NDB CHARACTER SET cp866 COLLATE cp866_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp866_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp866;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp866 COLLATE cp866_general_ci) ENGINE=NDB CHARACTER SET cp866 COLLATE cp866_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp866_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-80 1
-A0 1
-81 1
-A1 1
-82 1
-A2 1
-83 1
-A3 1
-84 1
-A4 1
-85 1
-A5 1
-F0 1
-F1 1
-F2 1
-F3 1
-86 1
-A6 1
-87 1
-A7 1
-88 1
-A8 1
-F4 1
-F5 1
-89 1
-A9 1
-8A 1
-AA 1
-8B 1
-AB 1
-8C 1
-AC 1
-8D 1
-AD 1
-8E 1
-AE 1
-8F 1
-AF 1
-90 1
-E0 1
-91 1
-E1 1
-92 1
-E2 1
-93 1
-E3 1
-F6 1
-F7 1
-94 1
-E4 1
-95 1
-E5 1
-96 1
-E6 1
-97 1
-E7 1
-98 1
-E8 1
-99 1
-E9 1
-9A 1
-EA 1
-9B 1
-EB 1
-9C 1
-EC 1
-9D 1
-ED 1
-9E 1
-EE 1
-9F 1
-EF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-B0 1
-B1 1
-B2 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp932;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp932 COLLATE cp932_bin) ENGINE=NDB CHARACTER SET cp932 COLLATE cp932_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp932_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES cp932;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET cp932 COLLATE cp932_japanese_ci) ENGINE=NDB CHARACTER SET cp932 COLLATE cp932_japanese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # cp932_japanese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES dec8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET dec8 COLLATE dec8_bin) ENGINE=NDB CHARACTER SET dec8 COLLATE dec8_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # dec8_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES dec8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET dec8 COLLATE dec8_swedish_ci) ENGINE=NDB CHARACTER SET dec8 COLLATE dec8_swedish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # dec8_swedish_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-E0 1
-E1 1
-E2 1
-E3 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DC 1
-DD 1
-FC 1
-FD 1
-5A 1
-7A 1
-5B 1
-C5 1
-E5 1
-5C 1
-C4 1
-C6 1
-E4 1
-E6 1
-5D 1
-D6 1
-F6 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-D7 1
-D8 1
-F8 1
-DE 1
-DF 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES eucjpms;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET eucjpms COLLATE eucjpms_bin) ENGINE=NDB CHARACTER SET eucjpms COLLATE eucjpms_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # eucjpms_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES eucjpms;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET eucjpms COLLATE eucjpms_japanese_ci) ENGINE=NDB CHARACTER SET eucjpms COLLATE eucjpms_japanese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # eucjpms_japanese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES euckr;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET euckr COLLATE euckr_bin) ENGINE=NDB CHARACTER SET euckr COLLATE euckr_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # euckr_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES euckr;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET euckr COLLATE euckr_korean_ci) ENGINE=NDB CHARACTER SET euckr COLLATE euckr_korean_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # euckr_korean_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES gb2312;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gb2312 COLLATE gb2312_bin) ENGINE=NDB CHARACTER SET gb2312 COLLATE gb2312_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # gb2312_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES gb2312;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci) ENGINE=NDB CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # gb2312_chinese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-7E 1
-5A 1
-7A 1
-5D 1
-5B 1
-5C 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES gbk;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gbk COLLATE gbk_bin) ENGINE=NDB CHARACTER SET gbk COLLATE gbk_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # gbk_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES gbk;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET gbk COLLATE gbk_chinese_ci) ENGINE=NDB CHARACTER SET gbk COLLATE gbk_chinese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # gbk_chinese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-7E 1
-5A 1
-7A 1
-5D 1
-5B 1
-5C 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES geostd8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET geostd8 COLLATE geostd8_bin) ENGINE=NDB CHARACTER SET geostd8 COLLATE geostd8_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # geostd8_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES geostd8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET geostd8 COLLATE geostd8_general_ci) ENGINE=NDB CHARACTER SET geostd8 COLLATE geostd8_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # geostd8_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-60 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES greek;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET greek COLLATE greek_bin) ENGINE=NDB CHARACTER SET greek COLLATE greek_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # greek_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES greek;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET greek COLLATE greek_general_ci) ENGINE=NDB CHARACTER SET greek COLLATE greek_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # greek_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B7 1
-BB 1
-BD 1
-B6 1
-C1 1
-DC 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-C4 1
-E4 1
-B8 1
-C5 1
-DD 1
-E5 1
-C6 1
-E6 1
-B9 1
-C7 1
-DE 1
-E7 1
-C8 1
-E8 1
-BA 1
-C0 1
-C9 1
-DA 1
-DF 1
-E9 1
-FA 1
-CA 1
-EA 1
-CB 1
-EB 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-BC 1
-CF 1
-EF 1
-FC 1
-D0 1
-F0 1
-D1 1
-F1 1
-D2 1
-D3 1
-F2 1
-F3 1
-D4 1
-F4 1
-BE 1
-D5 1
-DB 1
-E0 1
-F5 1
-FB 1
-FD 1
-D6 1
-F6 1
-D7 1
-F7 1
-D8 1
-F8 1
-BF 1
-D9 1
-F9 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES hebrew;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hebrew COLLATE hebrew_bin) ENGINE=NDB CHARACTER SET hebrew COLLATE hebrew_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # hebrew_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES hebrew;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hebrew COLLATE hebrew_general_ci) ENGINE=NDB CHARACTER SET hebrew COLLATE hebrew_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # hebrew_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-D7 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES hp8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hp8 COLLATE hp8_bin) ENGINE=NDB CHARACTER SET hp8 COLLATE hp8_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # hp8_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES hp8;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET hp8 COLLATE hp8_english_ci) ENGINE=NDB CHARACTER SET hp8 COLLATE hp8_english_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # hp8_english_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5D 1
-5B 1
-5C 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES keybcs2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET keybcs2 COLLATE keybcs2_bin) ENGINE=NDB CHARACTER SET keybcs2 COLLATE keybcs2_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # keybcs2_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES keybcs2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET keybcs2 COLLATE keybcs2_general_ci) ENGINE=NDB CHARACTER SET keybcs2 COLLATE keybcs2_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # keybcs2_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-84 1
-8E 1
-8F 1
-A0 1
-42 1
-62 1
-43 1
-63 1
-80 1
-87 1
-44 1
-64 1
-83 1
-85 1
-45 1
-65 1
-82 1
-88 1
-89 1
-90 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-8B 1
-A1 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-8A 1
-8C 1
-8D 1
-9C 1
-4D 1
-6D 1
-4E 1
-6E 1
-A4 1
-A5 1
-4F 1
-6F 1
-93 1
-94 1
-95 1
-99 1
-A2 1
-A7 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-9E 1
-A9 1
-AA 1
-AB 1
-53 1
-73 1
-9B 1
-A8 1
-E1 1
-54 1
-74 1
-86 1
-9F 1
-55 1
-75 1
-81 1
-96 1
-97 1
-9A 1
-A3 1
-A6 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-98 1
-9D 1
-5A 1
-7A 1
-91 1
-92 1
-E0 1
-EB 1
-EE 1
-E2 1
-EA 1
-E8 1
-ED 1
-E3 1
-E4 1
-E5 1
-E7 1
-E9 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E6 1
-EC 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES koi8r;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8r COLLATE koi8r_bin) ENGINE=NDB CHARACTER SET koi8r COLLATE koi8r_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # koi8r_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES koi8r;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8r COLLATE koi8r_general_ci) ENGINE=NDB CHARACTER SET koi8r COLLATE koi8r_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # koi8r_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C1 1
-E1 1
-C2 1
-E2 1
-D7 1
-F7 1
-C7 1
-E7 1
-C4 1
-E4 1
-C5 1
-E5 1
-A3 1
-B3 1
-D6 1
-F6 1
-DA 1
-FA 1
-C9 1
-E9 1
-CA 1
-EA 1
-CB 1
-EB 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-CF 1
-EF 1
-D0 1
-F0 1
-D2 1
-F2 1
-D3 1
-F3 1
-D4 1
-F4 1
-D5 1
-F5 1
-C6 1
-E6 1
-C8 1
-E8 1
-C3 1
-E3 1
-DE 1
-DB 1
-FB 1
-DD 1
-FD 1
-DF 1
-D9 1
-F9 1
-D8 1
-F8 1
-DC 1
-FC 1
-C0 1
-E0 1
-D1 1
-F1 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES koi8u;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8u COLLATE koi8u_bin) ENGINE=NDB CHARACTER SET koi8u COLLATE koi8u_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # koi8u_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES koi8u;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET koi8u COLLATE koi8u_general_ci) ENGINE=NDB CHARACTER SET koi8u COLLATE koi8u_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # koi8u_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-60 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-C1 1
-E1 1
-C2 1
-E2 1
-D7 1
-F7 1
-C7 1
-E7 1
-AD 1
-BD 1
-C4 1
-E4 1
-C5 1
-E5 1
-A4 1
-B4 1
-A3 1
-B3 1
-D6 1
-F6 1
-DA 1
-FA 1
-C9 1
-E9 1
-A6 1
-B6 1
-A7 1
-B7 1
-CA 1
-EA 1
-CB 1
-EB 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-CF 1
-EF 1
-D0 1
-F0 1
-D2 1
-F2 1
-D3 1
-F3 1
-D4 1
-F4 1
-D5 1
-F5 1
-C6 1
-E6 1
-C8 1
-E8 1
-C3 1
-E3 1
-DE 1
-DB 1
-FB 1
-DD 1
-FD 1
-DF 1
-D9 1
-F9 1
-D8 1
-F8 1
-DC 1
-FC 1
-C0 1
-E0 1
-D1 1
-F1 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A5 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B5 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BE 1
-BF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_bin) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_danish_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_danish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_danish_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-E0 1
-E1 1
-E2 1
-E3 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DC 1
-DD 1
-FC 1
-FD 1
-5A 1
-7A 1
-5B 1
-C4 1
-C6 1
-E4 1
-E6 1
-5C 1
-D6 1
-D8 1
-F6 1
-F8 1
-5D 1
-C5 1
-E5 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-D7 1
-DE 1
-DF 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_general_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-E0 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-C4 1
-E4 1
-C5 1
-E5 1
-C6 1
-E6 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-E8 1
-C9 1
-E9 1
-CA 1
-EA 1
-CB 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-CF 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-F2 1
-D3 1
-F3 1
-D4 1
-F4 1
-D5 1
-F5 1
-D6 1
-F6 1
-D8 1
-F8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-DF 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-F9 1
-DA 1
-FA 1
-DB 1
-FB 1
-DC 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-DE 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-D7 1
-F7 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_general_cs) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_general_cs;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_general_cs # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-E0 1
-C1 1
-E1 1
-C2 1
-E2 1
-C3 1
-E3 1
-C4 1
-E4 1
-C5 1
-E5 1
-C6 1
-E6 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-E8 1
-C9 1
-E9 1
-CA 1
-EA 1
-CB 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-EC 1
-CD 1
-ED 1
-CE 1
-EE 1
-CF 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-F2 1
-D3 1
-F3 1
-D4 1
-F4 1
-D5 1
-F5 1
-D6 1
-F6 1
-D8 1
-F8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-DF 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-F9 1
-DA 1
-FA 1
-DB 1
-FB 1
-DC 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-DE 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-D7 1
-F7 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_german1_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_german1_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_german1_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D8 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-DF 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-D0 1
-F0 1
-D7 1
-DE 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_german2_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_german2_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_german2_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E5 1
-C4 1
-E4 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-D6 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-DF 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-DC 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-5B 1
-5C 1
-C6 1
-E6 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-D7 1
-D8 1
-F8 1
-DE 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_spanish_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_spanish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_spanish_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D8 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-DF 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-DE 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-D7 1
-F7 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin1;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin1 COLLATE latin1_swedish_ci) ENGINE=NDB CHARACTER SET latin1 COLLATE latin1_swedish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin1_swedish_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-E0 1
-E1 1
-E2 1
-E3 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DC 1
-DD 1
-FC 1
-FD 1
-5A 1
-7A 1
-5B 1
-C5 1
-E5 1
-5C 1
-C4 1
-C6 1
-E4 1
-E6 1
-5D 1
-D6 1
-F6 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-D7 1
-D8 1
-F8 1
-DE 1
-DF 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_bin) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin2_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_croatian_ci) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_croatian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin2_croatian_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-A1 1
-B1 1
-C1 1
-C2 1
-C3 1
-C4 1
-E1 1
-E2 1
-E3 1
-E4 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-C8 1
-E8 1
-C6 1
-E6 1
-44 1
-64 1
-CF 1
-EF 1
-D0 1
-F0 1
-45 1
-65 1
-C9 1
-CA 1
-CB 1
-CC 1
-E9 1
-EA 1
-EB 1
-EC 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CD 1
-CE 1
-ED 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-A3 1
-A5 1
-B3 1
-B5 1
-C5 1
-E5 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-D2 1
-F1 1
-F2 1
-4F 1
-6F 1
-D3 1
-D4 1
-D5 1
-D6 1
-F3 1
-F4 1
-F5 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C0 1
-D8 1
-E0 1
-F8 1
-53 1
-73 1
-A6 1
-AA 1
-B6 1
-BA 1
-DF 1
-A9 1
-B9 1
-54 1
-74 1
-AB 1
-BB 1
-DE 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-AC 1
-AF 1
-BC 1
-BF 1
-AE 1
-BE 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A2 1
-A4 1
-A7 1
-A8 1
-AD 1
-B0 1
-B2 1
-B4 1
-B7 1
-B8 1
-BD 1
-D7 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_czech_cs) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_czech_cs;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin2_czech_cs # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-2E 1
-2C 1
-3B 1
-3F 1
-21 1
-3A 1
-22 1
-60 1
-27 1
-2F 1
-7C 1
-5C 1
-28 1
-29 1
-5B 1
-5D 1
-3C 1
-3E 1
-7B 1
-7D 1
-40 1
-26 1
-25 1
-23 1
-5E 1
-5F 1
-7E 1
-3D 1
-2B 1
-2A 1
-2D 1
-D7 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-24 1
-7F 1
-A0 1
-A2 1
-A4 1
-A7 1
-A8 1
-AD 1
-B0 1
-B2 1
-B4 1
-B7 1
-B8 1
-BD 1
-DF 1
-F7 1
-61 1
-41 1
-E1 1
-C1 1
-E2 1
-C2 1
-E4 1
-C4 1
-E3 1
-C3 1
-B1 1
-A1 1
-62 1
-42 1
-63 1
-43 1
-E8 1
-C8 1
-E6 1
-C6 1
-E7 1
-C7 1
-64 1
-44 1
-EF 1
-CF 1
-F0 1
-D0 1
-65 1
-45 1
-E9 1
-C9 1
-EC 1
-CC 1
-EB 1
-CB 1
-EA 1
-CA 1
-66 1
-46 1
-67 1
-47 1
-68 1
-48 1
-69 1
-49 1
-ED 1
-CD 1
-EE 1
-CE 1
-6A 1
-4A 1
-6B 1
-4B 1
-6C 1
-4C 1
-E5 1
-C5 1
-B5 1
-A5 1
-B3 1
-A3 1
-6D 1
-4D 1
-6E 1
-4E 1
-F2 1
-D2 1
-F1 1
-D1 1
-6F 1
-4F 1
-F3 1
-D3 1
-F4 1
-D4 1
-F6 1
-D6 1
-F5 1
-D5 1
-70 1
-50 1
-71 1
-51 1
-72 1
-52 1
-E0 1
-C0 1
-F8 1
-D8 1
-73 1
-53 1
-B9 1
-A9 1
-B6 1
-A6 1
-BA 1
-AA 1
-74 1
-54 1
-BB 1
-AB 1
-DE 1
-75 1
-55 1
-FA 1
-DA 1
-F9 1
-D9 1
-FC 1
-DC 1
-FB 1
-DB 1
-76 1
-56 1
-77 1
-57 1
-78 1
-58 1
-79 1
-59 1
-FD 1
-DD 1
-7A 1
-5A 1
-BE 1
-AE 1
-BC 1
-AC 1
-BF 1
-AF 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_general_ci) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin2_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-A1 1
-B1 1
-C1 1
-C2 1
-C3 1
-C4 1
-E1 1
-E2 1
-E3 1
-E4 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-C6 1
-E6 1
-C8 1
-E8 1
-44 1
-64 1
-CF 1
-EF 1
-45 1
-65 1
-C9 1
-CB 1
-CC 1
-E9 1
-EB 1
-EC 1
-CA 1
-EA 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-CD 1
-CE 1
-ED 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-A5 1
-B5 1
-C5 1
-E5 1
-A3 1
-B3 1
-4D 1
-6D 1
-4E 1
-6E 1
-D2 1
-F2 1
-D1 1
-F1 1
-4F 1
-6F 1
-D4 1
-D5 1
-D6 1
-F4 1
-F5 1
-F6 1
-D3 1
-F3 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C0 1
-D8 1
-E0 1
-F8 1
-53 1
-73 1
-AA 1
-BA 1
-A6 1
-B6 1
-A9 1
-B9 1
-54 1
-74 1
-AB 1
-BB 1
-DE 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-AC 1
-BC 1
-AF 1
-BF 1
-AE 1
-BE 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A2 1
-A4 1
-A7 1
-A8 1
-AD 1
-B0 1
-B2 1
-B4 1
-B7 1
-B8 1
-BD 1
-D0 1
-D7 1
-DF 1
-F0 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin2;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin2 COLLATE latin2_hungarian_ci) ENGINE=NDB CHARACTER SET latin2 COLLATE latin2_hungarian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin2_hungarian_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-7F 1
-80 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8E 1
-91 1
-92 1
-9B 1
-9C 1
-9D 1
-9E 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-8F 1
-A0 1
-B5 1
-C1 1
-E1 1
-B1 1
-C2 1
-E2 1
-C3 1
-E3 1
-C4 1
-E4 1
-42 1
-62 1
-43 1
-63 1
-C6 1
-E6 1
-C8 1
-E8 1
-C7 1
-E7 1
-44 1
-64 1
-CF 1
-EF 1
-45 1
-65 1
-82 1
-90 1
-C9 1
-E9 1
-CC 1
-EC 1
-CA 1
-EA 1
-CB 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-8C 1
-8D 1
-A1 1
-CD 1
-ED 1
-CE 1
-EE 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-B3 1
-A4 1
-C5 1
-E5 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-D2 1
-F2 1
-4F 1
-6F 1
-95 1
-A2 1
-D3 1
-E0 1
-F3 1
-D4 1
-F4 1
-8A 1
-8B 1
-93 1
-94 1
-99 1
-A7 1
-D5 1
-D6 1
-F5 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C0 1
-D8 1
-F8 1
-53 1
-73 1
-A5 1
-B6 1
-A9 1
-B9 1
-AA 1
-BA 1
-54 1
-74 1
-AB 1
-BB 1
-DE 1
-55 1
-75 1
-97 1
-A3 1
-DA 1
-FA 1
-D9 1
-F9 1
-81 1
-96 1
-98 1
-9A 1
-DB 1
-DC 1
-EB 1
-FB 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-5A 1
-7A 1
-AC 1
-BC 1
-AE 1
-BE 1
-AF 1
-BF 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-9F 1
-A6 1
-A8 1
-AD 1
-B0 1
-B2 1
-B4 1
-B7 1
-B8 1
-BD 1
-D0 1
-D7 1
-DF 1
-F0 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin5;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin5 COLLATE latin5_bin) ENGINE=NDB CHARACTER SET latin5 COLLATE latin5_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin5_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin5;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin5 COLLATE latin5_turkish_ci) ENGINE=NDB CHARACTER SET latin5 COLLATE latin5_turkish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin5_turkish_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-44 1
-64 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-46 1
-66 1
-47 1
-67 1
-D0 1
-F0 1
-48 1
-68 1
-49 1
-FD 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-DD 1
-EC 1
-ED 1
-EE 1
-EF 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-D8 1
-F2 1
-F3 1
-F4 1
-F5 1
-F8 1
-D6 1
-F6 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-DF 1
-DE 1
-54 1
-74 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-DC 1
-FC 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-D7 1
-F7 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin7;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_bin) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin7_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin7;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_estonian_cs) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_estonian_cs;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin7_estonian_cs # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-80 1
-7F 1
-81 1
-83 1
-88 1
-8A 1
-8C 1
-90 1
-98 1
-9A 1
-9C 1
-9F 1
-27 1
-2D 1
-AD 1
-96 1
-97 1
-A0 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-28 1
-29 1
-2A 1
-2C 1
-2E 1
-2F 1
-3A 1
-3B 1
-3F 1
-40 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-A6 1
-8D 1
-9D 1
-B4 1
-8F 1
-8E 1
-9E 1
-91 1
-92 1
-82 1
-93 1
-94 1
-84 1
-8B 1
-9B 1
-2B 1
-3C 1
-3D 1
-3E 1
-B1 1
-AB 1
-BB 1
-D7 1
-F7 1
-A2 1
-A3 1
-A4 1
-A7 1
-A9 1
-AC 1
-AE 1
-B0 1
-B5 1
-B6 1
-B7 1
-86 1
-87 1
-95 1
-85 1
-89 1
-30 1
-BC 1
-BD 1
-BE 1
-31 1
-B9 1
-32 1
-B2 1
-33 1
-B3 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-41 1
-61 1
-C2 1
-E2 1
-C5 1
-E5 1
-C0 1
-E0 1
-AF 1
-BF 1
-42 1
-62 1
-43 1
-63 1
-C3 1
-E3 1
-C8 1
-E8 1
-44 1
-64 1
-45 1
-65 1
-C9 1
-E9 1
-CB 1
-EB 1
-C7 1
-E7 1
-C6 1
-E6 1
-46 1
-66 1
-47 1
-67 1
-CC 1
-EC 1
-48 1
-68 1
-49 1
-69 1
-CE 1
-EE 1
-C1 1
-E1 1
-4A 1
-6A 1
-4B 1
-6B 1
-CD 1
-ED 1
-4C 1
-6C 1
-CF 1
-EF 1
-D9 1
-F9 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-D2 1
-F2 1
-4F 1
-6F 1
-D3 1
-F3 1
-D4 1
-F4 1
-A8 1
-B8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-AA 1
-BA 1
-53 1
-73 1
-DA 1
-FA 1
-DF 1
-D0 1
-F0 1
-5A 1
-7A 1
-CA 1
-EA 1
-DD 1
-FD 1
-DE 1
-54 1
-74 1
-99 1
-55 1
-75 1
-DB 1
-FB 1
-D8 1
-F8 1
-56 1
-76 1
-57 1
-77 1
-D5 1
-F5 1
-C4 1
-E4 1
-D6 1
-F6 1
-DC 1
-FC 1
-58 1
-78 1
-59 1
-79 1
-A1 1
-A5 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin7;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_general_ci) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin7_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-7F 1
-81 1
-83 1
-88 1
-8A 1
-8C 1
-90 1
-98 1
-9A 1
-9C 1
-9F 1
-27 1
-2D 1
-A8 1
-AD 1
-96 1
-97 1
-A0 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-28 1
-29 1
-2A 1
-2C 1
-2E 1
-2F 1
-3A 1
-3B 1
-3F 1
-40 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-A6 1
-8D 1
-9D 1
-B4 1
-8F 1
-8E 1
-9E 1
-91 1
-92 1
-82 1
-93 1
-94 1
-84 1
-8B 1
-9B 1
-2B 1
-3C 1
-3D 1
-3E 1
-B1 1
-AB 1
-BB 1
-D7 1
-F7 1
-A2 1
-A3 1
-A4 1
-A7 1
-A9 1
-AC 1
-AE 1
-B0 1
-B5 1
-B6 1
-B7 1
-86 1
-87 1
-95 1
-85 1
-89 1
-80 1
-30 1
-BC 1
-BD 1
-BE 1
-31 1
-B9 1
-32 1
-B2 1
-33 1
-B3 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-41 1
-61 1
-C4 1
-E4 1
-C2 1
-E2 1
-C5 1
-E5 1
-C0 1
-E0 1
-AF 1
-BF 1
-42 1
-62 1
-43 1
-63 1
-C3 1
-E3 1
-C8 1
-E8 1
-44 1
-64 1
-45 1
-65 1
-C9 1
-E9 1
-CB 1
-EB 1
-C7 1
-E7 1
-C6 1
-E6 1
-46 1
-66 1
-47 1
-67 1
-CC 1
-EC 1
-48 1
-68 1
-49 1
-69 1
-CE 1
-EE 1
-C1 1
-E1 1
-4A 1
-6A 1
-4B 1
-6B 1
-CD 1
-ED 1
-4C 1
-6C 1
-D9 1
-F9 1
-CF 1
-EF 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-D2 1
-F2 1
-4F 1
-6F 1
-D3 1
-F3 1
-D6 1
-F6 1
-D4 1
-F4 1
-D5 1
-F5 1
-B8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-AA 1
-BA 1
-53 1
-73 1
-DA 1
-FA 1
-DF 1
-D0 1
-F0 1
-74 1
-54 1
-99 1
-55 1
-75 1
-DC 1
-FC 1
-DB 1
-FB 1
-D8 1
-F8 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-CA 1
-EA 1
-DD 1
-FD 1
-DE 1
-A1 1
-A5 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES latin7;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET latin7 COLLATE latin7_general_cs) ENGINE=NDB CHARACTER SET latin7 COLLATE latin7_general_cs;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # latin7_general_cs # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-7F 1
-81 1
-83 1
-88 1
-8A 1
-8C 1
-90 1
-98 1
-9A 1
-9C 1
-9F 1
-27 1
-2D 1
-AD 1
-96 1
-97 1
-A0 1
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-28 1
-29 1
-2A 1
-2C 1
-2E 1
-2F 1
-3A 1
-3B 1
-3F 1
-40 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-A6 1
-8D 1
-9D 1
-B4 1
-8F 1
-8E 1
-9E 1
-91 1
-92 1
-82 1
-93 1
-94 1
-84 1
-8B 1
-9B 1
-2B 1
-3C 1
-3D 1
-3E 1
-B1 1
-AB 1
-BB 1
-D7 1
-F7 1
-A2 1
-A3 1
-A4 1
-A7 1
-A9 1
-AC 1
-AE 1
-B0 1
-B5 1
-B6 1
-B7 1
-86 1
-87 1
-95 1
-85 1
-89 1
-80 1
-30 1
-BC 1
-BD 1
-BE 1
-31 1
-B9 1
-32 1
-B2 1
-33 1
-B3 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-41 1
-61 1
-C4 1
-E4 1
-C2 1
-E2 1
-C5 1
-E5 1
-C0 1
-E0 1
-AF 1
-BF 1
-42 1
-62 1
-43 1
-63 1
-C3 1
-E3 1
-C8 1
-E8 1
-44 1
-64 1
-45 1
-65 1
-C9 1
-E9 1
-CB 1
-EB 1
-C7 1
-E7 1
-C6 1
-E6 1
-46 1
-66 1
-47 1
-67 1
-CC 1
-EC 1
-48 1
-68 1
-49 1
-69 1
-CE 1
-EE 1
-C1 1
-E1 1
-4A 1
-6A 1
-4B 1
-6B 1
-CD 1
-ED 1
-4C 1
-6C 1
-D9 1
-F9 1
-CF 1
-EF 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-D2 1
-F2 1
-4F 1
-6F 1
-D3 1
-F3 1
-D6 1
-F6 1
-D4 1
-F4 1
-D5 1
-F5 1
-B8 1
-A8 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-AA 1
-BA 1
-53 1
-73 1
-DA 1
-FA 1
-DF 1
-D0 1
-F0 1
-54 1
-74 1
-99 1
-55 1
-75 1
-DC 1
-FC 1
-DB 1
-FB 1
-D8 1
-F8 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-CA 1
-EA 1
-DD 1
-FD 1
-DE 1
-A1 1
-A5 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES macce;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macce COLLATE macce_bin) ENGINE=NDB CHARACTER SET macce COLLATE macce_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # macce_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES macce;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macce COLLATE macce_general_ci) ENGINE=NDB CHARACTER SET macce COLLATE macce_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # macce_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-80 1
-81 1
-82 1
-84 1
-87 1
-88 1
-8A 1
-E7 1
-42 1
-62 1
-43 1
-63 1
-89 1
-8B 1
-8C 1
-8D 1
-44 1
-64 1
-91 1
-93 1
-45 1
-65 1
-83 1
-8E 1
-94 1
-95 1
-96 1
-98 1
-9D 1
-9E 1
-A2 1
-AB 1
-46 1
-66 1
-47 1
-67 1
-AE 1
-48 1
-68 1
-49 1
-69 1
-92 1
-AF 1
-B0 1
-B1 1
-B4 1
-EA 1
-4A 1
-6A 1
-4B 1
-6B 1
-B5 1
-FA 1
-4C 1
-6C 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-FC 1
-4D 1
-4E 1
-6D 1
-6E 1
-BF 1
-C0 1
-C1 1
-C4 1
-C5 1
-CB 1
-4F 1
-6F 1
-85 1
-97 1
-99 1
-9A 1
-9B 1
-CC 1
-CD 1
-CE 1
-CF 1
-D8 1
-EE 1
-EF 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-D9 1
-DA 1
-DB 1
-DE 1
-DF 1
-E0 1
-53 1
-73 1
-A7 1
-E1 1
-E4 1
-E5 1
-E6 1
-54 1
-74 1
-E8 1
-E9 1
-55 1
-75 1
-86 1
-9C 1
-9F 1
-ED 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-F8 1
-F9 1
-5A 1
-7A 1
-8F 1
-90 1
-EB 1
-EC 1
-FB 1
-FD 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-A0 1
-A1 1
-A3 1
-A4 1
-A5 1
-A6 1
-A8 1
-A9 1
-AA 1
-AC 1
-AD 1
-B2 1
-B3 1
-B6 1
-B7 1
-C2 1
-C3 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-DC 1
-DD 1
-E2 1
-E3 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES macroman;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macroman COLLATE macroman_bin) ENGINE=NDB CHARACTER SET macroman COLLATE macroman_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # macroman_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES macroman;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET macroman COLLATE macroman_general_ci) ENGINE=NDB CHARACTER SET macroman COLLATE macroman_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # macroman_general_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-80 1
-81 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-CB 1
-CC 1
-E5 1
-E7 1
-AE 1
-BE 1
-42 1
-62 1
-43 1
-63 1
-82 1
-8D 1
-44 1
-64 1
-45 1
-65 1
-83 1
-8E 1
-8F 1
-90 1
-91 1
-E6 1
-E8 1
-E9 1
-46 1
-66 1
-C4 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-92 1
-93 1
-94 1
-95 1
-EA 1
-EB 1
-EC 1
-ED 1
-F5 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-84 1
-96 1
-4F 1
-6F 1
-85 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-AF 1
-BF 1
-CD 1
-EE 1
-EF 1
-F1 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-A7 1
-54 1
-74 1
-55 1
-75 1
-86 1
-9C 1
-9D 1
-9E 1
-9F 1
-F2 1
-F3 1
-F4 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-D8 1
-D9 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-C0 1
-C1 1
-C2 1
-C3 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-F0 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES sjis;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET sjis COLLATE sjis_bin) ENGINE=NDB CHARACTER SET sjis COLLATE sjis_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # sjis_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES sjis;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET sjis COLLATE sjis_japanese_ci) ENGINE=NDB CHARACTER SET sjis COLLATE sjis_japanese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # sjis_japanese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES swe7;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET swe7 COLLATE swe7_bin) ENGINE=NDB CHARACTER SET swe7 COLLATE swe7_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # swe7_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES swe7;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET swe7 COLLATE swe7_swedish_ci) ENGINE=NDB CHARACTER SET swe7 COLLATE swe7_swedish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # swe7_swedish_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-40 1
-45 1
-60 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-5E 1
-79 1
-7E 1
-5A 1
-7A 1
-5D 1
-7D 1
-5B 1
-7B 1
-5C 1
-7C 1
-5F 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES tis620;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET tis620 COLLATE tis620_bin) ENGINE=NDB CHARACTER SET tis620 COLLATE tis620_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # tis620_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES tis620;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET tis620 COLLATE tis620_thai_ci) ENGINE=NDB CHARACTER SET tis620 COLLATE tis620_thai_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # tis620_thai_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-EC 1
-F9 1
-E7 1
-FA 1
-E8 1
-FB 1
-E9 1
-FC 1
-EA 1
-FD 1
-EB 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES ujis;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ujis COLLATE ujis_bin) ENGINE=NDB CHARACTER SET ujis COLLATE ujis_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # ujis_bin # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-SET NAMES ujis;
-CREATE TABLE test.t1 (a VARCHAR(3) CHARACTER SET ujis COLLATE ujis_japanese_ci) ENGINE=NDB CHARACTER SET ujis COLLATE ujis_japanese_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # ujis_japanese_ci # # #
-SELECT HEX(ASCII(a)) AS a_ascii, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ascii a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-42 1
-62 1
-43 1
-63 1
-44 1
-64 1
-45 1
-65 1
-46 1
-66 1
-47 1
-67 1
-48 1
-68 1
-49 1
-69 1
-4A 1
-6A 1
-4B 1
-6B 1
-4C 1
-6C 1
-4D 1
-6D 1
-4E 1
-6E 1
-4F 1
-6F 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-53 1
-73 1
-54 1
-74 1
-55 1
-75 1
-56 1
-76 1
-57 1
-77 1
-58 1
-78 1
-59 1
-79 1
-5A 1
-7A 1
-5B 1
-5C 1
-5D 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_bin;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B5 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-C6 1
-C7 1
-C8 1
-C9 1
-CA 1
-CB 1
-CC 1
-CD 1
-CE 1
-CF 1
-D0 1
-D1 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-D7 1
-D8 1
-D9 1
-DA 1
-DB 1
-DC 1
-DD 1
-DE 1
-DF 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-E6 1
-E7 1
-E8 1
-E9 1
-EA 1
-EB 1
-EC 1
-ED 1
-EE 1
-EF 1
-F0 1
-F1 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-F7 1
-F8 1
-F9 1
-FA 1
-FB 1
-FC 1
-FD 1
-FE 1
-FF 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-10E 1
-10F 1
-110 1
-111 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-124 1
-125 1
-126 1
-127 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-131 1
-132 1
-133 1
-134 1
-135 1
-136 1
-137 1
-138 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-13F 1
-140 1
-141 1
-142 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-149 1
-14A 1
-14B 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-152 1
-153 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-162 1
-163 1
-164 1
-165 1
-166 1
-167 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-174 1
-175 1
-176 1
-177 1
-178 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-17F 1
-180 1
-181 1
-182 1
-183 1
-184 1
-185 1
-186 1
-187 1
-188 1
-189 1
-18A 1
-18B 1
-18C 1
-18D 1
-18E 1
-18F 1
-190 1
-191 1
-192 1
-193 1
-194 1
-195 1
-196 1
-197 1
-198 1
-199 1
-19A 1
-19B 1
-19C 1
-19D 1
-19E 1
-19F 1
-1A0 1
-1A1 1
-1A2 1
-1A3 1
-1A4 1
-1A5 1
-1A6 1
-1A7 1
-1A8 1
-1A9 1
-1AA 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-1AF 1
-1B0 1
-1B1 1
-1B2 1
-1B3 1
-1B4 1
-1B5 1
-1B6 1
-1B7 1
-1B8 1
-1B9 1
-1BA 1
-1BB 1
-1BC 1
-1BD 1
-1BE 1
-1BF 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-1C4 1
-1C5 1
-1C6 1
-1C7 1
-1C8 1
-1C9 1
-1CA 1
-1CB 1
-1CC 1
-1CD 1
-1CE 1
-1CF 1
-1D0 1
-1D1 1
-1D2 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-1DD 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1E2 1
-1E3 1
-1E4 1
-1E5 1
-1E6 1
-1E7 1
-1E8 1
-1E9 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-1EE 1
-1EF 1
-1F0 1
-1F1 1
-1F2 1
-1F3 1
-1F4 1
-1F5 1
-1F6 1
-1F7 1
-1F8 1
-1F9 1
-1FA 1
-1FB 1
-1FC 1
-1FD 1
-1FE 1
-1FF 1
-200 1
-201 1
-202 1
-203 1
-204 1
-205 1
-206 1
-207 1
-208 1
-209 1
-20A 1
-20B 1
-20C 1
-20D 1
-20E 1
-20F 1
-210 1
-211 1
-212 1
-213 1
-214 1
-215 1
-216 1
-217 1
-218 1
-219 1
-21A 1
-21B 1
-21C 1
-21D 1
-21E 1
-21F 1
-220 1
-221 1
-222 1
-223 1
-224 1
-225 1
-226 1
-227 1
-228 1
-229 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-232 1
-233 1
-234 1
-235 1
-236 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-250 1
-251 1
-252 1
-253 1
-254 1
-255 1
-256 1
-257 1
-258 1
-259 1
-25A 1
-25B 1
-25C 1
-25D 1
-25E 1
-25F 1
-260 1
-261 1
-262 1
-263 1
-264 1
-265 1
-266 1
-267 1
-268 1
-269 1
-26A 1
-26B 1
-26C 1
-26D 1
-26E 1
-26F 1
-270 1
-271 1
-272 1
-273 1
-274 1
-275 1
-276 1
-277 1
-278 1
-279 1
-27A 1
-27B 1
-27C 1
-27D 1
-27E 1
-27F 1
-280 1
-281 1
-282 1
-283 1
-284 1
-285 1
-286 1
-287 1
-288 1
-289 1
-28A 1
-28B 1
-28C 1
-28D 1
-28E 1
-28F 1
-290 1
-291 1
-292 1
-293 1
-294 1
-295 1
-296 1
-297 1
-298 1
-299 1
-29A 1
-29B 1
-29C 1
-29D 1
-29E 1
-29F 1
-2A0 1
-2A1 1
-2A2 1
-2A3 1
-2A4 1
-2A5 1
-2A6 1
-2A7 1
-2A8 1
-2A9 1
-2AA 1
-2AB 1
-2AC 1
-2AD 1
-2AE 1
-2AF 1
-2B0 1
-2B1 1
-2B2 1
-2B3 1
-2B4 1
-2B5 1
-2B6 1
-2B7 1
-2B8 1
-2B9 1
-2BA 1
-2BB 1
-2BC 1
-2BD 1
-2BE 1
-2BF 1
-2C0 1
-2C1 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D0 1
-2D1 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2D8 1
-2D9 1
-2DA 1
-2DB 1
-2DC 1
-2DD 1
-2DE 1
-2DF 1
-2E0 1
-2E1 1
-2E2 1
-2E3 1
-2E4 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EE 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-363 1
-364 1
-365 1
-366 1
-367 1
-368 1
-369 1
-36A 1
-36B 1
-36C 1
-36D 1
-36E 1
-36F 1
-370 1
-371 1
-372 1
-373 1
-374 1
-375 1
-376 1
-377 1
-378 1
-379 1
-37A 1
-37B 1
-37C 1
-37D 1
-37E 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-384 1
-385 1
-386 1
-387 1
-388 1
-389 1
-38A 1
-38B 1
-38C 1
-38D 1
-38E 1
-38F 1
-390 1
-391 1
-392 1
-393 1
-394 1
-395 1
-396 1
-397 1
-398 1
-399 1
-39A 1
-39B 1
-39C 1
-39D 1
-39E 1
-39F 1
-3A0 1
-3A1 1
-3A2 1
-3A3 1
-3A4 1
-3A5 1
-3A6 1
-3A7 1
-3A8 1
-3A9 1
-3AA 1
-3AB 1
-3AC 1
-3AD 1
-3AE 1
-3AF 1
-3B0 1
-3B1 1
-3B2 1
-3B3 1
-3B4 1
-3B5 1
-3B6 1
-3B7 1
-3B8 1
-3B9 1
-3BA 1
-3BB 1
-3BC 1
-3BD 1
-3BE 1
-3BF 1
-3C0 1
-3C1 1
-3C2 1
-3C3 1
-3C4 1
-3C5 1
-3C6 1
-3C7 1
-3C8 1
-3C9 1
-3CA 1
-3CB 1
-3CC 1
-3CD 1
-3CE 1
-3CF 1
-3D0 1
-3D1 1
-3D2 1
-3D3 1
-3D4 1
-3D5 1
-3D6 1
-3D7 1
-3D8 1
-3D9 1
-3DA 1
-3DB 1
-3DC 1
-3DD 1
-3DE 1
-3DF 1
-3E0 1
-3E1 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-3F0 1
-3F1 1
-3F2 1
-3F3 1
-3F4 1
-3F5 1
-3F6 1
-3F7 1
-3F8 1
-3F9 1
-3FA 1
-3FB 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-400 1
-401 1
-402 1
-403 1
-404 1
-405 1
-406 1
-407 1
-408 1
-409 1
-40A 1
-40B 1
-40C 1
-40D 1
-40E 1
-40F 1
-410 1
-411 1
-412 1
-413 1
-414 1
-415 1
-416 1
-417 1
-418 1
-419 1
-41A 1
-41B 1
-41C 1
-41D 1
-41E 1
-41F 1
-420 1
-421 1
-422 1
-423 1
-424 1
-425 1
-426 1
-427 1
-428 1
-429 1
-42A 1
-42B 1
-42C 1
-42D 1
-42E 1
-42F 1
-430 1
-431 1
-432 1
-433 1
-434 1
-435 1
-436 1
-437 1
-438 1
-439 1
-43A 1
-43B 1
-43C 1
-43D 1
-43E 1
-43F 1
-440 1
-441 1
-442 1
-443 1
-444 1
-445 1
-446 1
-447 1
-448 1
-449 1
-44A 1
-44B 1
-44C 1
-44D 1
-44E 1
-44F 1
-450 1
-451 1
-452 1
-453 1
-454 1
-455 1
-456 1
-457 1
-458 1
-459 1
-45A 1
-45B 1
-45C 1
-45D 1
-45E 1
-45F 1
-460 1
-461 1
-462 1
-463 1
-464 1
-465 1
-466 1
-467 1
-468 1
-469 1
-46A 1
-46B 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-478 1
-479 1
-47A 1
-47B 1
-47C 1
-47D 1
-47E 1
-47F 1
-480 1
-481 1
-482 1
-483 1
-484 1
-485 1
-486 1
-487 1
-488 1
-489 1
-48A 1
-48B 1
-48C 1
-48D 1
-48E 1
-48F 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-496 1
-497 1
-498 1
-499 1
-49A 1
-49B 1
-49C 1
-49D 1
-49E 1
-49F 1
-4A0 1
-4A1 1
-4A2 1
-4A3 1
-4A4 1
-4A5 1
-4A6 1
-4A7 1
-4A8 1
-4A9 1
-4AA 1
-4AB 1
-4AC 1
-4AD 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-4B2 1
-4B3 1
-4B4 1
-4B5 1
-4B6 1
-4B7 1
-4B8 1
-4B9 1
-4BA 1
-4BB 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-4C0 1
-4C1 1
-4C2 1
-4C3 1
-4C4 1
-4C5 1
-4C6 1
-4C7 1
-4C8 1
-4C9 1
-4CA 1
-4CB 1
-4CC 1
-4CD 1
-4CE 1
-4CF 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D4 1
-4D5 1
-4D6 1
-4D7 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4DC 1
-4DD 1
-4DE 1
-4DF 1
-4E0 1
-4E1 1
-4E2 1
-4E3 1
-4E4 1
-4E5 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-4EC 1
-4ED 1
-4EE 1
-4EF 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4F4 1
-4F5 1
-4F6 1
-4F7 1
-4F8 1
-4F9 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-500 1
-501 1
-502 1
-503 1
-504 1
-505 1
-506 1
-507 1
-508 1
-509 1
-50A 1
-50B 1
-50C 1
-50D 1
-50E 1
-50F 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-531 1
-532 1
-533 1
-534 1
-535 1
-536 1
-537 1
-538 1
-539 1
-53A 1
-53B 1
-53C 1
-53D 1
-53E 1
-53F 1
-540 1
-541 1
-542 1
-543 1
-544 1
-545 1
-546 1
-547 1
-548 1
-549 1
-54A 1
-54B 1
-54C 1
-54D 1
-54E 1
-54F 1
-550 1
-551 1
-552 1
-553 1
-554 1
-555 1
-556 1
-557 1
-558 1
-559 1
-55A 1
-55B 1
-55C 1
-55D 1
-55E 1
-55F 1
-560 1
-561 1
-562 1
-563 1
-564 1
-565 1
-566 1
-567 1
-568 1
-569 1
-56A 1
-56B 1
-56C 1
-56D 1
-56E 1
-56F 1
-570 1
-571 1
-572 1
-573 1
-574 1
-575 1
-576 1
-577 1
-578 1
-579 1
-57A 1
-57B 1
-57C 1
-57D 1
-57E 1
-57F 1
-580 1
-581 1
-582 1
-583 1
-584 1
-585 1
-586 1
-587 1
-588 1
-589 1
-58A 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A2 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BA 1
-5BB 1
-5BC 1
-5BD 1
-5BE 1
-5BF 1
-5C0 1
-5C1 1
-5C2 1
-5C3 1
-5C4 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F0 1
-5F1 1
-5F2 1
-5F3 1
-5F4 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-600 1
-601 1
-602 1
-603 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-60C 1
-60D 1
-60E 1
-60F 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61B 1
-61C 1
-61D 1
-61E 1
-61F 1
-620 1
-621 1
-622 1
-623 1
-624 1
-625 1
-626 1
-627 1
-628 1
-629 1
-62A 1
-62B 1
-62C 1
-62D 1
-62E 1
-62F 1
-630 1
-631 1
-632 1
-633 1
-634 1
-635 1
-636 1
-637 1
-638 1
-639 1
-63A 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-640 1
-641 1
-642 1
-643 1
-644 1
-645 1
-646 1
-647 1
-648 1
-649 1
-64A 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-660 1
-661 1
-662 1
-663 1
-664 1
-665 1
-666 1
-667 1
-668 1
-669 1
-66A 1
-66B 1
-66C 1
-66D 1
-66E 1
-66F 1
-670 1
-671 1
-672 1
-673 1
-674 1
-675 1
-676 1
-677 1
-678 1
-679 1
-67A 1
-67B 1
-67C 1
-67D 1
-67E 1
-67F 1
-680 1
-681 1
-682 1
-683 1
-684 1
-685 1
-686 1
-687 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-69A 1
-69B 1
-69C 1
-69D 1
-69E 1
-69F 1
-6A0 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-6A7 1
-6A8 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-6B9 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6BE 1
-6BF 1
-6C0 1
-6C1 1
-6C2 1
-6C3 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CC 1
-6CD 1
-6CE 1
-6CF 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-6D4 1
-6D5 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E5 1
-6E6 1
-6E7 1
-6E8 1
-6E9 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-6EE 1
-6EF 1
-6F0 1
-6F1 1
-6F2 1
-6F3 1
-6F4 1
-6F5 1
-6F6 1
-6F7 1
-6F8 1
-6F9 1
-6FA 1
-6FB 1
-6FC 1
-6FD 1
-6FE 1
-6FF 1
-700 1
-701 1
-702 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-709 1
-70A 1
-70B 1
-70C 1
-70D 1
-70E 1
-70F 1
-710 1
-711 1
-712 1
-713 1
-714 1
-715 1
-716 1
-717 1
-718 1
-719 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-72D 1
-72E 1
-72F 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-74B 1
-74C 1
-74D 1
-74E 1
-74F 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-780 1
-781 1
-782 1
-783 1
-784 1
-785 1
-786 1
-787 1
-788 1
-789 1
-78A 1
-78B 1
-78C 1
-78D 1
-78E 1
-78F 1
-790 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-798 1
-799 1
-79A 1
-79B 1
-79C 1
-79D 1
-79E 1
-79F 1
-7A0 1
-7A1 1
-7A2 1
-7A3 1
-7A4 1
-7A5 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-7B1 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-368 1
-10C 1
-10D 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-158 1
-159 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-160 1
-161 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-18D 1
-17D 1
-17E 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-E0 1
-E1 1
-E2 1
-E3 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-14C 1
-14D 1
-14E 1
-14F 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DC 1
-DD 1
-FC 1
-FD 1
-FF 1
-170 1
-171 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-C4 1
-C6 1
-E4 1
-E6 1
-D6 1
-D8 1
-F6 1
-F8 1
-150 1
-151 1
-C5 1
-E5 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_estonian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-F2 1
-F3 1
-F4 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-160 1
-161 1
-5A 1
-7A 1
-17D 1
-17E 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-D5 1
-F5 1
-C4 1
-E4 1
-D6 1
-F6 1
-DC 1
-FC 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-179 1
-17A 1
-17B 1
-17C 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_general_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-42 1
-62 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-44 1
-64 1
-10E 1
-10F 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-46 1
-66 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-131 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-4D 1
-6D 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-4F 1
-6F 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-56 1
-76 1
-57 1
-77 1
-174 1
-175 1
-58 1
-78 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-5B 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-85 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-A1 1
-A2 1
-A3 1
-A4 1
-A5 1
-A6 1
-A7 1
-A8 1
-A9 1
-AA 1
-AB 1
-AC 1
-AD 1
-AE 1
-AF 1
-B0 1
-B1 1
-B2 1
-B3 1
-B4 1
-B6 1
-B7 1
-B8 1
-B9 1
-BA 1
-BB 1
-BC 1
-BD 1
-BE 1
-BF 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-D0 1
-F0 1
-D7 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-DE 1
-FE 1
-DF 1
-F7 1
-110 1
-111 1
-126 1
-127 1
-132 1
-133 1
-138 1
-13F 1
-140 1
-141 1
-142 1
-149 1
-14A 1
-14B 1
-152 1
-153 1
-166 1
-167 1
-180 1
-181 1
-253 1
-182 1
-183 1
-184 1
-185 1
-186 1
-254 1
-187 1
-188 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-18D 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-191 1
-192 1
-193 1
-260 1
-194 1
-263 1
-196 1
-269 1
-197 1
-268 1
-198 1
-199 1
-19A 1
-19B 1
-19C 1
-26F 1
-19D 1
-272 1
-19E 1
-19F 1
-275 1
-1A2 1
-1A3 1
-1A4 1
-1A5 1
-1A6 1
-280 1
-1A7 1
-1A8 1
-1A9 1
-283 1
-1AA 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-1B1 1
-28A 1
-1B2 1
-28B 1
-1B3 1
-1B4 1
-1B5 1
-1B6 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-1BB 1
-1BC 1
-1BD 1
-1BE 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-1C4 1
-1C5 1
-1C6 1
-1C7 1
-1C8 1
-1C9 1
-1CA 1
-1CB 1
-1CC 1
-1E4 1
-1E5 1
-1F1 1
-1F2 1
-1F3 1
-195 1
-1F6 1
-1BF 1
-1F7 1
-21C 1
-21D 1
-220 1
-221 1
-222 1
-223 1
-224 1
-225 1
-234 1
-235 1
-236 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-250 1
-251 1
-252 1
-255 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-25F 1
-261 1
-262 1
-264 1
-265 1
-266 1
-267 1
-26A 1
-26B 1
-26C 1
-26D 1
-26E 1
-270 1
-271 1
-273 1
-274 1
-276 1
-277 1
-278 1
-279 1
-27A 1
-27B 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-282 1
-284 1
-285 1
-286 1
-287 1
-289 1
-28C 1
-28D 1
-28E 1
-28F 1
-290 1
-291 1
-293 1
-294 1
-295 1
-296 1
-297 1
-298 1
-299 1
-29A 1
-29B 1
-29C 1
-29D 1
-29E 1
-29F 1
-2A0 1
-2A1 1
-2A2 1
-2A3 1
-2A4 1
-2A5 1
-2A6 1
-2A7 1
-2A8 1
-2A9 1
-2AA 1
-2AB 1
-2AC 1
-2AD 1
-2AE 1
-2AF 1
-2B0 1
-2B1 1
-2B2 1
-2B3 1
-2B4 1
-2B5 1
-2B6 1
-2B7 1
-2B8 1
-2B9 1
-2BA 1
-2BB 1
-2BC 1
-2BD 1
-2BE 1
-2BF 1
-2C0 1
-2C1 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D0 1
-2D1 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2D8 1
-2D9 1
-2DA 1
-2DB 1
-2DC 1
-2DD 1
-2DE 1
-2DF 1
-2E0 1
-2E1 1
-2E2 1
-2E3 1
-2E4 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EE 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-363 1
-364 1
-365 1
-366 1
-367 1
-368 1
-369 1
-36A 1
-36B 1
-36C 1
-36D 1
-36E 1
-36F 1
-370 1
-371 1
-372 1
-373 1
-374 1
-375 1
-376 1
-377 1
-378 1
-379 1
-37A 1
-37B 1
-37C 1
-37D 1
-37E 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-384 1
-385 1
-387 1
-38B 1
-38D 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-345 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-39A 1
-3BA 1
-3F0 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3A1 1
-3C1 1
-3F1 1
-3A2 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3CF 1
-3D2 1
-3D3 1
-3D4 1
-3D7 1
-3D8 1
-3D9 1
-3DA 1
-3DB 1
-3DC 1
-3DD 1
-3DE 1
-3DF 1
-3E0 1
-3E1 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-3F3 1
-3F4 1
-3F5 1
-3F6 1
-3F7 1
-3F8 1
-3F9 1
-3FA 1
-3FB 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-402 1
-452 1
-404 1
-454 1
-405 1
-455 1
-406 1
-407 1
-456 1
-457 1
-408 1
-458 1
-409 1
-459 1
-40A 1
-45A 1
-40B 1
-45B 1
-40F 1
-45F 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-411 1
-431 1
-412 1
-432 1
-403 1
-413 1
-433 1
-453 1
-414 1
-434 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-417 1
-437 1
-4DE 1
-4DF 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-4E4 1
-4E5 1
-419 1
-439 1
-40C 1
-41A 1
-43A 1
-45C 1
-41B 1
-43B 1
-41C 1
-43C 1
-41D 1
-43D 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-41F 1
-43F 1
-420 1
-440 1
-421 1
-441 1
-422 1
-442 1
-40E 1
-423 1
-443 1
-45E 1
-4EE 1
-4EF 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-424 1
-444 1
-425 1
-445 1
-426 1
-446 1
-427 1
-447 1
-4F4 1
-4F5 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-460 1
-461 1
-462 1
-463 1
-464 1
-465 1
-466 1
-467 1
-468 1
-469 1
-46A 1
-46B 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-478 1
-479 1
-47A 1
-47B 1
-47C 1
-47D 1
-47E 1
-47F 1
-480 1
-481 1
-482 1
-483 1
-484 1
-485 1
-486 1
-487 1
-488 1
-489 1
-48A 1
-48B 1
-48C 1
-48D 1
-48E 1
-48F 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-496 1
-497 1
-498 1
-499 1
-49A 1
-49B 1
-49C 1
-49D 1
-49E 1
-49F 1
-4A0 1
-4A1 1
-4A2 1
-4A3 1
-4A4 1
-4A5 1
-4A6 1
-4A7 1
-4A8 1
-4A9 1
-4AA 1
-4AB 1
-4AC 1
-4AD 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-4B2 1
-4B3 1
-4B4 1
-4B5 1
-4B6 1
-4B7 1
-4B8 1
-4B9 1
-4BA 1
-4BB 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-4C0 1
-4C3 1
-4C4 1
-4C5 1
-4C6 1
-4C7 1
-4C8 1
-4C9 1
-4CA 1
-4CB 1
-4CC 1
-4CD 1
-4CE 1
-4CF 1
-4D4 1
-4D5 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4E0 1
-4E1 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-500 1
-501 1
-502 1
-503 1
-504 1
-505 1
-506 1
-507 1
-508 1
-509 1
-50A 1
-50B 1
-50C 1
-50D 1
-50E 1
-50F 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-557 1
-558 1
-559 1
-55A 1
-55B 1
-55C 1
-55D 1
-55E 1
-55F 1
-560 1
-587 1
-588 1
-589 1
-58A 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A2 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BA 1
-5BB 1
-5BC 1
-5BD 1
-5BE 1
-5BF 1
-5C0 1
-5C1 1
-5C2 1
-5C3 1
-5C4 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F0 1
-5F1 1
-5F2 1
-5F3 1
-5F4 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-600 1
-601 1
-602 1
-603 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-60C 1
-60D 1
-60E 1
-60F 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61B 1
-61C 1
-61D 1
-61E 1
-61F 1
-620 1
-621 1
-622 1
-623 1
-624 1
-625 1
-626 1
-627 1
-628 1
-629 1
-62A 1
-62B 1
-62C 1
-62D 1
-62E 1
-62F 1
-630 1
-631 1
-632 1
-633 1
-634 1
-635 1
-636 1
-637 1
-638 1
-639 1
-63A 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-640 1
-641 1
-642 1
-643 1
-644 1
-645 1
-646 1
-647 1
-648 1
-649 1
-64A 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-660 1
-661 1
-662 1
-663 1
-664 1
-665 1
-666 1
-667 1
-668 1
-669 1
-66A 1
-66B 1
-66C 1
-66D 1
-66E 1
-66F 1
-670 1
-671 1
-672 1
-673 1
-674 1
-675 1
-676 1
-677 1
-678 1
-679 1
-67A 1
-67B 1
-67C 1
-67D 1
-67E 1
-67F 1
-680 1
-681 1
-682 1
-683 1
-684 1
-685 1
-686 1
-687 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-69A 1
-69B 1
-69C 1
-69D 1
-69E 1
-69F 1
-6A0 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-6A7 1
-6A8 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-6B9 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6BE 1
-6BF 1
-6C0 1
-6C1 1
-6C2 1
-6C3 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CC 1
-6CD 1
-6CE 1
-6CF 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-6D4 1
-6D5 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E5 1
-6E6 1
-6E7 1
-6E8 1
-6E9 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-6EE 1
-6EF 1
-6F0 1
-6F1 1
-6F2 1
-6F3 1
-6F4 1
-6F5 1
-6F6 1
-6F7 1
-6F8 1
-6F9 1
-6FA 1
-6FB 1
-6FC 1
-6FD 1
-6FE 1
-6FF 1
-700 1
-701 1
-702 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-709 1
-70A 1
-70B 1
-70C 1
-70D 1
-70E 1
-70F 1
-710 1
-711 1
-712 1
-713 1
-714 1
-715 1
-716 1
-717 1
-718 1
-719 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-72D 1
-72E 1
-72F 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-74B 1
-74C 1
-74D 1
-74E 1
-74F 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-780 1
-781 1
-782 1
-783 1
-784 1
-785 1
-786 1
-787 1
-788 1
-789 1
-78A 1
-78B 1
-78C 1
-78D 1
-78E 1
-78F 1
-790 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-798 1
-799 1
-79A 1
-79B 1
-79C 1
-79D 1
-79E 1
-79F 1
-7A0 1
-7A1 1
-7A2 1
-7A3 1
-7A4 1
-7A5 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-7B1 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_hungarian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-14C 1
-14D 1
-14E 1
-14F 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-D6 1
-F6 1
-150 1
-151 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-DC 1
-FC 1
-170 1
-171 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_icelandic_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C2 1
-C3 1
-E0 1
-E2 1
-E3 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C1 1
-E1 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-D0 1
-F0 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-45 1
-65 1
-C8 1
-CA 1
-CB 1
-E8 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-C9 1
-E9 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CE 1
-CF 1
-EC 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-CD 1
-ED 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D4 1
-D5 1
-F2 1
-F4 1
-F5 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-D3 1
-F3 1
-276 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DB 1
-DC 1
-F9 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-DA 1
-FA 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-DD 1
-FD 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-DE 1
-FE 1
-C4 1
-C6 1
-E4 1
-E6 1
-D6 1
-D8 1
-F6 1
-F8 1
-C5 1
-E5 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_latvian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-368 1
-10C 1
-10D 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-122 1
-123 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-59 1
-79 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-1E8 1
-1E9 1
-136 1
-137 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-13B 1
-13C 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-145 1
-146 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-156 1
-157 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-160 1
-161 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-18D 1
-17D 1
-17E 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_lithuanian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-368 1
-10C 1
-10D 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-59 1
-69 1
-79 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-160 1
-161 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-18D 1
-17D 1
-17E 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_persian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-653 1
-654 1
-655 1
-670 1
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-651 1
-652 1
-656 1
-657 1
-658 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-64E 1
-26 1
-650 1
-23 1
-64F 1
-25 1
-66A 1
-64B 1
-64D 1
-64C 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-622 1
-627 1
-671 1
-621 1
-623 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-625 1
-624 1
-626 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-674 1
-6FD 1
-672 1
-673 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-689 1
-68A 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A9 1
-643 1
-6A8 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6D5 1
-648 1
-6E5 1
-676 1
-647 1
-6C4 1
-629 1
-6C5 1
-6C0 1
-6C6 1
-6C7 1
-6CC 1
-677 1
-649 1
-6C8 1
-64A 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-6E6 1
-678 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_polish_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-104 1
-105 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-106 1
-107 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-118 1
-119 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-141 1
-142 1
-29F 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-143 1
-144 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D4 1
-D5 1
-D6 1
-F2 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-D3 1
-F3 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-15A 1
-15B 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-17D 1
-17E 1
-18D 1
-179 1
-17A 1
-17B 1
-17C 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_roman_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-4A 1
-69 1
-6A 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-55 1
-56 1
-75 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_romanian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-102 1
-103 1
-C2 1
-E2 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CF 1
-EC 1
-ED 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-CE 1
-EE 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-160 1
-161 1
-17F 1
-2E2 1
-DF 1
-15E 1
-15F 1
-218 1
-219 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-164 1
-165 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-162 1
-163 1
-21A 1
-21B 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovak_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C4 1
-E4 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-368 1
-10C 1
-10D 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D5 1
-D6 1
-F2 1
-F3 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-D4 1
-F4 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-160 1
-161 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-18D 1
-17D 1
-17E 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_slovenian_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-368 1
-10C 1
-10D 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-160 1
-161 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-18D 1
-17D 1
-17E 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish2_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-D1 1
-F1 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_spanish_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-D1 1
-F1 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_swedish_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-E0 1
-E1 1
-E2 1
-E3 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DC 1
-DD 1
-FC 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-C5 1
-E5 1
-C4 1
-C6 1
-E4 1
-E6 1
-D6 1
-D8 1
-F6 1
-F8 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_turkish_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-C7 1
-E7 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-11E 1
-11F 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-49 1
-131 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-F2 1
-F3 1
-F4 1
-F5 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-D6 1
-F6 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-15E 1
-15F 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-F9 1
-FA 1
-FB 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-DC 1
-FC 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-SET NAMES utf8;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8) ENGINE=NDB CHARACTER SET utf8;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-ALTER TABLE test.t1 CHANGE a a CHAR(4) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-85 1
-7F 1
-80 1
-81 1
-82 1
-83 1
-84 1
-86 1
-87 1
-88 1
-89 1
-8A 1
-8B 1
-8C 1
-8D 1
-8E 1
-8F 1
-90 1
-91 1
-92 1
-93 1
-94 1
-95 1
-96 1
-97 1
-98 1
-99 1
-9A 1
-9B 1
-9C 1
-9D 1
-9E 1
-9F 1
-A0 1
-300 1
-301 1
-302 1
-303 1
-304 1
-305 1
-306 1
-307 1
-308 1
-309 1
-30A 1
-30B 1
-30C 1
-30D 1
-30E 1
-30F 1
-310 1
-311 1
-312 1
-313 1
-314 1
-315 1
-316 1
-317 1
-318 1
-319 1
-31A 1
-31B 1
-31C 1
-31D 1
-31E 1
-31F 1
-320 1
-321 1
-322 1
-323 1
-324 1
-325 1
-326 1
-327 1
-328 1
-329 1
-32A 1
-32B 1
-32C 1
-32D 1
-32E 1
-32F 1
-330 1
-331 1
-332 1
-333 1
-334 1
-335 1
-336 1
-337 1
-338 1
-339 1
-33A 1
-33B 1
-33C 1
-33D 1
-33E 1
-33F 1
-340 1
-341 1
-342 1
-343 1
-344 1
-345 1
-346 1
-347 1
-348 1
-349 1
-34A 1
-34B 1
-34C 1
-34D 1
-34E 1
-34F 1
-350 1
-351 1
-352 1
-353 1
-354 1
-355 1
-356 1
-357 1
-35D 1
-35E 1
-35F 1
-360 1
-361 1
-362 1
-483 1
-484 1
-485 1
-486 1
-488 1
-489 1
-591 1
-592 1
-593 1
-594 1
-595 1
-596 1
-597 1
-598 1
-599 1
-59A 1
-59B 1
-59C 1
-59D 1
-59E 1
-59F 1
-5A0 1
-5A1 1
-5A3 1
-5A4 1
-5A5 1
-5A6 1
-5A7 1
-5A8 1
-5A9 1
-5AA 1
-5AB 1
-5AC 1
-5AD 1
-5AE 1
-5AF 1
-5B0 1
-5B1 1
-5B2 1
-5B3 1
-5B4 1
-5B5 1
-5B6 1
-5B7 1
-5B8 1
-5B9 1
-5BB 1
-5BC 1
-5BD 1
-5BF 1
-5C1 1
-5C2 1
-5C4 1
-600 1
-601 1
-602 1
-603 1
-610 1
-611 1
-612 1
-613 1
-614 1
-615 1
-64B 1
-64C 1
-64D 1
-64E 1
-64F 1
-650 1
-651 1
-652 1
-653 1
-654 1
-655 1
-656 1
-657 1
-658 1
-670 1
-6D6 1
-6D7 1
-6D8 1
-6D9 1
-6DA 1
-6DB 1
-6DC 1
-6DD 1
-6DE 1
-6DF 1
-6E0 1
-6E1 1
-6E2 1
-6E3 1
-6E4 1
-6E7 1
-6E8 1
-6EA 1
-6EB 1
-6EC 1
-6ED 1
-70F 1
-711 1
-730 1
-731 1
-732 1
-733 1
-734 1
-735 1
-736 1
-737 1
-738 1
-739 1
-73A 1
-73B 1
-73C 1
-73D 1
-73E 1
-73F 1
-740 1
-741 1
-742 1
-743 1
-744 1
-745 1
-746 1
-747 1
-748 1
-749 1
-74A 1
-640 1
-60 1
-B4 1
-384 1
-2DC 1
-5E 1
-AF 1
-2D8 1
-2D9 1
-A8 1
-385 1
-2DA 1
-2DD 1
-B8 1
-2DB 1
-5F 1
-AD 1
-2D 1
-58A 1
-2C 1
-55D 1
-60C 1
-60D 1
-66B 1
-66C 1
-3B 1
-37E 1
-61B 1
-3A 1
-589 1
-703 1
-704 1
-705 1
-706 1
-707 1
-708 1
-21 1
-A1 1
-55C 1
-3F 1
-BF 1
-55E 1
-61F 1
-709 1
-2E 1
-6D4 1
-701 1
-702 1
-B7 1
-387 1
-700 1
-27 1
-22 1
-AB 1
-BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-A7 1
-B6 1
-A9 1
-AE 1
-40 1
-2A 1
-66D 1
-2F 1
-26 1
-23 1
-25 1
-66A 1
-55A 1
-55B 1
-55F 1
-5BE 1
-5C0 1
-5C3 1
-5F3 1
-5F4 1
-70A 1
-70B 1
-70C 1
-70D 1
-2B9 1
-374 1
-375 1
-2BA 1
-2C2 1
-2C3 1
-2C4 1
-2C5 1
-2C6 1
-2C7 1
-2C8 1
-2C9 1
-2CA 1
-2CB 1
-2CC 1
-2CD 1
-2CE 1
-2CF 1
-2D2 1
-2D3 1
-2D4 1
-2D5 1
-2D6 1
-2D7 1
-2DE 1
-2DF 1
-2E5 1
-2E6 1
-2E7 1
-2E8 1
-2E9 1
-2EA 1
-2EB 1
-2EC 1
-2ED 1
-2EF 1
-2F0 1
-2F1 1
-2F2 1
-2F3 1
-2F4 1
-2F5 1
-2F6 1
-2F7 1
-2F8 1
-2F9 1
-2FA 1
-2FB 1
-2FC 1
-2FD 1
-2FE 1
-2FF 1
-B0 1
-482 1
-60E 1
-60F 1
-6E9 1
-3F6 1
-2B 1
-B1 1
-F7 1
-D7 1
-3C 1
-3D 1
-3E 1
-AC 1
-7C 1
-A6 1
-7E 1
-2D0 1
-2D1 1
-A4 1
-A2 1
-24 1
-A3 1
-A5 1
-30 1
-660 1
-6F0 1
-31 1
-B9 1
-661 1
-6F1 1
-BD 1
-BC 1
-32 1
-B2 1
-662 1
-6F2 1
-33 1
-B3 1
-663 1
-6F3 1
-BE 1
-34 1
-664 1
-6F4 1
-35 1
-665 1
-6F5 1
-36 1
-666 1
-6F6 1
-37 1
-667 1
-6F7 1
-38 1
-668 1
-6F8 1
-39 1
-669 1
-6F9 1
-41 1
-61 1
-AA 1
-C0 1
-C1 1
-C2 1
-C3 1
-C4 1
-C5 1
-E0 1
-E1 1
-E2 1
-E3 1
-E4 1
-E5 1
-100 1
-101 1
-102 1
-103 1
-104 1
-105 1
-1CD 1
-1CE 1
-1DE 1
-1DF 1
-1E0 1
-1E1 1
-1FA 1
-1FB 1
-200 1
-201 1
-202 1
-203 1
-226 1
-227 1
-363 1
-C6 1
-E6 1
-1E2 1
-1E3 1
-1FC 1
-1FD 1
-250 1
-251 1
-252 1
-42 1
-62 1
-299 1
-180 1
-181 1
-253 1
-182 1
-183 1
-43 1
-63 1
-C7 1
-E7 1
-106 1
-107 1
-108 1
-109 1
-10A 1
-10B 1
-10C 1
-10D 1
-368 1
-187 1
-188 1
-255 1
-44 1
-64 1
-10E 1
-10F 1
-369 1
-1C4 1
-1C5 1
-1C6 1
-1F1 1
-1F2 1
-1F3 1
-2A3 1
-2A5 1
-2A4 1
-110 1
-111 1
-189 1
-256 1
-18A 1
-257 1
-18B 1
-18C 1
-221 1
-D0 1
-F0 1
-45 1
-65 1
-C8 1
-C9 1
-CA 1
-CB 1
-E8 1
-E9 1
-EA 1
-EB 1
-112 1
-113 1
-114 1
-115 1
-116 1
-117 1
-118 1
-119 1
-11A 1
-11B 1
-204 1
-205 1
-206 1
-207 1
-228 1
-229 1
-364 1
-18E 1
-1DD 1
-18F 1
-259 1
-190 1
-25B 1
-258 1
-25A 1
-25C 1
-25D 1
-25E 1
-29A 1
-264 1
-46 1
-66 1
-2A9 1
-191 1
-192 1
-47 1
-67 1
-11C 1
-11D 1
-11E 1
-11F 1
-120 1
-121 1
-122 1
-123 1
-1E6 1
-1E7 1
-1F4 1
-1F5 1
-261 1
-262 1
-1E4 1
-1E5 1
-193 1
-260 1
-29B 1
-194 1
-263 1
-2E0 1
-1A2 1
-1A3 1
-48 1
-68 1
-124 1
-125 1
-21E 1
-21F 1
-2B0 1
-36A 1
-29C 1
-195 1
-1F6 1
-126 1
-127 1
-266 1
-2B1 1
-267 1
-2BB 1
-2BD 1
-49 1
-69 1
-CC 1
-CD 1
-CE 1
-CF 1
-EC 1
-ED 1
-EE 1
-EF 1
-128 1
-129 1
-12A 1
-12B 1
-12C 1
-12D 1
-12E 1
-12F 1
-130 1
-1CF 1
-1D0 1
-208 1
-209 1
-20A 1
-20B 1
-365 1
-132 1
-133 1
-131 1
-26A 1
-197 1
-268 1
-196 1
-269 1
-4A 1
-6A 1
-134 1
-135 1
-1F0 1
-2B2 1
-29D 1
-25F 1
-284 1
-4B 1
-6B 1
-136 1
-137 1
-1E8 1
-1E9 1
-198 1
-199 1
-29E 1
-4C 1
-6C 1
-139 1
-13A 1
-13B 1
-13C 1
-13D 1
-13E 1
-2E1 1
-13F 1
-140 1
-1C7 1
-1C8 1
-1C9 1
-2AA 1
-2AB 1
-29F 1
-141 1
-142 1
-19A 1
-26B 1
-26C 1
-26D 1
-234 1
-26E 1
-19B 1
-28E 1
-4D 1
-6D 1
-36B 1
-271 1
-4E 1
-6E 1
-D1 1
-F1 1
-143 1
-144 1
-145 1
-146 1
-147 1
-148 1
-1F8 1
-1F9 1
-1CA 1
-1CB 1
-1CC 1
-274 1
-19D 1
-272 1
-19E 1
-220 1
-273 1
-235 1
-14A 1
-14B 1
-4F 1
-6F 1
-BA 1
-D2 1
-D3 1
-D4 1
-D5 1
-D6 1
-F2 1
-F3 1
-F4 1
-F5 1
-F6 1
-14C 1
-14D 1
-14E 1
-14F 1
-150 1
-151 1
-1A0 1
-1A1 1
-1D1 1
-1D2 1
-1EA 1
-1EB 1
-1EC 1
-1ED 1
-20C 1
-20D 1
-20E 1
-20F 1
-22A 1
-22B 1
-22C 1
-22D 1
-22E 1
-22F 1
-230 1
-231 1
-366 1
-152 1
-153 1
-276 1
-D8 1
-F8 1
-1FE 1
-1FF 1
-186 1
-254 1
-19F 1
-275 1
-277 1
-222 1
-223 1
-50 1
-70 1
-1A4 1
-1A5 1
-278 1
-51 1
-71 1
-2A0 1
-138 1
-52 1
-72 1
-154 1
-155 1
-156 1
-157 1
-158 1
-159 1
-210 1
-211 1
-212 1
-213 1
-2B3 1
-36C 1
-1A6 1
-280 1
-279 1
-2B4 1
-27A 1
-27B 1
-2B5 1
-27C 1
-27D 1
-27E 1
-27F 1
-281 1
-2B6 1
-53 1
-73 1
-15A 1
-15B 1
-15C 1
-15D 1
-15E 1
-15F 1
-160 1
-161 1
-17F 1
-218 1
-219 1
-2E2 1
-DF 1
-282 1
-1A9 1
-283 1
-1AA 1
-285 1
-286 1
-54 1
-74 1
-162 1
-163 1
-164 1
-165 1
-21A 1
-21B 1
-36D 1
-2A8 1
-1BE 1
-2A6 1
-2A7 1
-166 1
-167 1
-1AB 1
-1AC 1
-1AD 1
-1AE 1
-288 1
-236 1
-287 1
-55 1
-75 1
-D9 1
-DA 1
-DB 1
-DC 1
-F9 1
-FA 1
-FB 1
-FC 1
-168 1
-169 1
-16A 1
-16B 1
-16C 1
-16D 1
-16E 1
-16F 1
-170 1
-171 1
-172 1
-173 1
-1AF 1
-1B0 1
-1D3 1
-1D4 1
-1D5 1
-1D6 1
-1D7 1
-1D8 1
-1D9 1
-1DA 1
-1DB 1
-1DC 1
-214 1
-215 1
-216 1
-217 1
-367 1
-289 1
-265 1
-2AE 1
-2AF 1
-19C 1
-26F 1
-270 1
-1B1 1
-28A 1
-56 1
-76 1
-36E 1
-1B2 1
-28B 1
-28C 1
-57 1
-77 1
-174 1
-175 1
-2B7 1
-28D 1
-58 1
-78 1
-2E3 1
-36F 1
-59 1
-79 1
-DD 1
-FD 1
-FF 1
-176 1
-177 1
-178 1
-232 1
-233 1
-2B8 1
-28F 1
-1B3 1
-1B4 1
-5A 1
-7A 1
-179 1
-17A 1
-17B 1
-17C 1
-17D 1
-17E 1
-18D 1
-1B5 1
-1B6 1
-224 1
-225 1
-290 1
-291 1
-1B7 1
-1EE 1
-1EF 1
-292 1
-1B8 1
-1B9 1
-1BA 1
-293 1
-21C 1
-21D 1
-DE 1
-FE 1
-1BF 1
-1F7 1
-1BB 1
-1A7 1
-1A8 1
-1BC 1
-1BD 1
-184 1
-185 1
-294 1
-2C0 1
-2BC 1
-149 1
-2EE 1
-2BE 1
-295 1
-2E4 1
-2BF 1
-2C1 1
-2A1 1
-2A2 1
-296 1
-1C0 1
-1C1 1
-1C2 1
-1C3 1
-297 1
-298 1
-2AC 1
-2AD 1
-386 1
-391 1
-3AC 1
-3B1 1
-392 1
-3B2 1
-3D0 1
-393 1
-3B3 1
-394 1
-3B4 1
-388 1
-395 1
-3AD 1
-3B5 1
-3F5 1
-3DC 1
-3DD 1
-3DA 1
-3DB 1
-396 1
-3B6 1
-389 1
-397 1
-3AE 1
-3B7 1
-398 1
-3B8 1
-3D1 1
-3F4 1
-37A 1
-38A 1
-390 1
-399 1
-3AA 1
-3AF 1
-3B9 1
-3CA 1
-3F3 1
-39A 1
-3BA 1
-3F0 1
-3D7 1
-39B 1
-3BB 1
-B5 1
-39C 1
-3BC 1
-39D 1
-3BD 1
-39E 1
-3BE 1
-38C 1
-39F 1
-3BF 1
-3CC 1
-3A0 1
-3C0 1
-3D6 1
-3DE 1
-3DF 1
-3D8 1
-3D9 1
-3A1 1
-3C1 1
-3F1 1
-3A3 1
-3C2 1
-3C3 1
-3F2 1
-3F9 1
-3A4 1
-3C4 1
-38E 1
-3A5 1
-3AB 1
-3B0 1
-3C5 1
-3CB 1
-3CD 1
-3D2 1
-3D3 1
-3D4 1
-3A6 1
-3C6 1
-3D5 1
-3A7 1
-3C7 1
-3A8 1
-3C8 1
-38F 1
-3A9 1
-3C9 1
-3CE 1
-3E0 1
-3E1 1
-3F7 1
-3F8 1
-3FA 1
-3FB 1
-3E2 1
-3E3 1
-3E4 1
-3E5 1
-3E6 1
-3E7 1
-3E8 1
-3E9 1
-3EA 1
-3EB 1
-3EC 1
-3ED 1
-3EE 1
-3EF 1
-410 1
-430 1
-4D0 1
-4D1 1
-4D2 1
-4D3 1
-4D8 1
-4D9 1
-4DA 1
-4DB 1
-4D4 1
-4D5 1
-411 1
-431 1
-412 1
-432 1
-413 1
-433 1
-490 1
-491 1
-492 1
-493 1
-494 1
-495 1
-414 1
-434 1
-500 1
-501 1
-402 1
-452 1
-502 1
-503 1
-403 1
-453 1
-498 1
-499 1
-400 1
-401 1
-415 1
-435 1
-450 1
-451 1
-4D6 1
-4D7 1
-404 1
-454 1
-416 1
-436 1
-4C1 1
-4C2 1
-4DC 1
-4DD 1
-496 1
-497 1
-417 1
-437 1
-504 1
-505 1
-4DE 1
-4DF 1
-405 1
-455 1
-4E0 1
-4E1 1
-506 1
-507 1
-40D 1
-418 1
-438 1
-45D 1
-4E2 1
-4E3 1
-48A 1
-48B 1
-4E4 1
-4E5 1
-406 1
-456 1
-407 1
-457 1
-419 1
-439 1
-408 1
-458 1
-41A 1
-43A 1
-49A 1
-49B 1
-4C3 1
-4C4 1
-4A0 1
-4A1 1
-49E 1
-49F 1
-49C 1
-49D 1
-41B 1
-43B 1
-4C5 1
-4C6 1
-409 1
-459 1
-508 1
-509 1
-41C 1
-43C 1
-4CD 1
-4CE 1
-41D 1
-43D 1
-4C9 1
-4CA 1
-4A2 1
-4A3 1
-4C7 1
-4C8 1
-4A4 1
-4A5 1
-40A 1
-45A 1
-50A 1
-50B 1
-41E 1
-43E 1
-4E6 1
-4E7 1
-4E8 1
-4E9 1
-4EA 1
-4EB 1
-41F 1
-43F 1
-4A6 1
-4A7 1
-480 1
-481 1
-420 1
-440 1
-48E 1
-48F 1
-421 1
-441 1
-50C 1
-50D 1
-4AA 1
-4AB 1
-422 1
-442 1
-50E 1
-50F 1
-4AC 1
-4AD 1
-40B 1
-45B 1
-40C 1
-45C 1
-423 1
-443 1
-4EE 1
-4EF 1
-40E 1
-45E 1
-4F0 1
-4F1 1
-4F2 1
-4F3 1
-4AE 1
-4AF 1
-4B0 1
-4B1 1
-478 1
-479 1
-424 1
-444 1
-425 1
-445 1
-4B2 1
-4B3 1
-4BA 1
-4BB 1
-460 1
-461 1
-47E 1
-47F 1
-47C 1
-47D 1
-47A 1
-47B 1
-426 1
-446 1
-4B4 1
-4B5 1
-427 1
-447 1
-4F4 1
-4F5 1
-4B6 1
-4B7 1
-4CB 1
-4CC 1
-4B8 1
-4B9 1
-4BC 1
-4BD 1
-4BE 1
-4BF 1
-40F 1
-45F 1
-428 1
-448 1
-429 1
-449 1
-42A 1
-44A 1
-42B 1
-44B 1
-4F8 1
-4F9 1
-42C 1
-44C 1
-48C 1
-48D 1
-462 1
-463 1
-42D 1
-44D 1
-4EC 1
-4ED 1
-42E 1
-44E 1
-42F 1
-44F 1
-464 1
-465 1
-466 1
-467 1
-46A 1
-46B 1
-468 1
-469 1
-46C 1
-46D 1
-46E 1
-46F 1
-470 1
-471 1
-472 1
-473 1
-474 1
-475 1
-476 1
-477 1
-4A8 1
-4A9 1
-4C0 1
-531 1
-561 1
-532 1
-562 1
-533 1
-563 1
-534 1
-564 1
-535 1
-565 1
-587 1
-536 1
-566 1
-537 1
-567 1
-538 1
-568 1
-539 1
-569 1
-53A 1
-56A 1
-53B 1
-56B 1
-53C 1
-56C 1
-53D 1
-56D 1
-53E 1
-56E 1
-53F 1
-56F 1
-540 1
-570 1
-541 1
-571 1
-542 1
-572 1
-543 1
-573 1
-544 1
-574 1
-545 1
-575 1
-546 1
-576 1
-547 1
-577 1
-548 1
-578 1
-549 1
-579 1
-54A 1
-57A 1
-54B 1
-57B 1
-54C 1
-57C 1
-54D 1
-57D 1
-54E 1
-57E 1
-54F 1
-57F 1
-550 1
-580 1
-551 1
-581 1
-552 1
-582 1
-553 1
-583 1
-554 1
-584 1
-555 1
-585 1
-556 1
-586 1
-559 1
-5D0 1
-5D1 1
-5D2 1
-5D3 1
-5D4 1
-5D5 1
-5F0 1
-5F1 1
-5D6 1
-5D7 1
-5D8 1
-5D9 1
-5F2 1
-5DA 1
-5DB 1
-5DC 1
-5DD 1
-5DE 1
-5DF 1
-5E0 1
-5E1 1
-5E2 1
-5E3 1
-5E4 1
-5E5 1
-5E6 1
-5E7 1
-5E8 1
-5E9 1
-5EA 1
-621 1
-674 1
-6FD 1
-622 1
-623 1
-672 1
-671 1
-624 1
-625 1
-673 1
-626 1
-627 1
-675 1
-66E 1
-628 1
-67B 1
-67E 1
-680 1
-629 1
-62A 1
-62B 1
-679 1
-67A 1
-67C 1
-67D 1
-67F 1
-62C 1
-683 1
-684 1
-686 1
-6BF 1
-687 1
-62D 1
-62E 1
-681 1
-682 1
-685 1
-62F 1
-630 1
-688 1
-689 1
-68A 1
-68B 1
-68C 1
-68D 1
-68E 1
-68F 1
-690 1
-6EE 1
-631 1
-632 1
-691 1
-692 1
-693 1
-694 1
-695 1
-696 1
-697 1
-698 1
-699 1
-6EF 1
-633 1
-634 1
-69A 1
-69B 1
-69C 1
-6FA 1
-635 1
-636 1
-69D 1
-69E 1
-6FB 1
-637 1
-638 1
-69F 1
-639 1
-63A 1
-6A0 1
-6FC 1
-641 1
-6A1 1
-6A2 1
-6A3 1
-6A4 1
-6A5 1
-6A6 1
-66F 1
-642 1
-6A7 1
-6A8 1
-643 1
-6A9 1
-6AA 1
-6AB 1
-6AC 1
-6AD 1
-6AE 1
-6AF 1
-6B0 1
-6B1 1
-6B2 1
-6B3 1
-6B4 1
-644 1
-6B5 1
-6B6 1
-6B7 1
-6B8 1
-645 1
-6FE 1
-646 1
-6BA 1
-6BB 1
-6BC 1
-6BD 1
-6B9 1
-647 1
-6BE 1
-6C1 1
-6C2 1
-6C3 1
-6FF 1
-6C0 1
-6D5 1
-648 1
-6E5 1
-676 1
-6C4 1
-6C5 1
-6C6 1
-6C7 1
-677 1
-6C8 1
-6C9 1
-6CA 1
-6CB 1
-6CF 1
-649 1
-64A 1
-6E6 1
-678 1
-6CC 1
-6CD 1
-6CE 1
-6D0 1
-6D1 1
-6D2 1
-6D3 1
-710 1
-712 1
-72D 1
-713 1
-714 1
-72E 1
-716 1
-715 1
-72F 1
-717 1
-718 1
-719 1
-74D 1
-71A 1
-71B 1
-71C 1
-71D 1
-71E 1
-71F 1
-74E 1
-720 1
-721 1
-722 1
-723 1
-724 1
-725 1
-726 1
-727 1
-74F 1
-728 1
-729 1
-72A 1
-72B 1
-72C 1
-780 1
-799 1
-79A 1
-781 1
-782 1
-783 1
-79C 1
-784 1
-785 1
-786 1
-787 1
-7A2 1
-7A3 1
-788 1
-7A5 1
-789 1
-78A 1
-78B 1
-79B 1
-78C 1
-798 1
-7A0 1
-7A1 1
-78D 1
-78E 1
-7A4 1
-78F 1
-790 1
-79D 1
-79E 1
-79F 1
-791 1
-792 1
-793 1
-794 1
-795 1
-796 1
-797 1
-7B1 1
-7A6 1
-7A7 1
-7A8 1
-7A9 1
-7AA 1
-7AB 1
-7AC 1
-7AD 1
-7AE 1
-7AF 1
-7B0 1
-4E00 1
-4E01 1
-4E02 1
-4E03 1
-4E04 1
-4E05 1
-4E06 1
-4E07 1
-4E08 1
-4E09 1
-4E0A 1
-4E0B 1
-4E0C 1
-4E0D 1
-4E0E 1
-4E0F 1
-4E10 1
-4E11 1
-4E12 1
-4E13 1
-4E14 1
-4E15 1
-4E16 1
-4E17 1
-4E18 1
-4E19 1
-4E1A 1
-4E1B 1
-4E1C 1
-4E1D 1
-4E1E 1
-4E1F 1
-4E20 1
-4E21 1
-4E22 1
-4E23 1
-4E24 1
-4E25 1
-4E26 1
-4E27 1
-4E28 1
-4E29 1
-4E2A 1
-4E2B 1
-4E2C 1
-4E2D 1
-4E2E 1
-4E2F 1
-4E30 1
-4E31 1
-4E32 1
-4E33 1
-4E34 1
-4E35 1
-4E36 1
-4E37 1
-4E38 1
-4E39 1
-4E3A 1
-4E3B 1
-4E3C 1
-4E3D 1
-4E3E 1
-4E3F 1
-4E40 1
-4E41 1
-4E42 1
-4E43 1
-4E44 1
-4E45 1
-4E46 1
-4E47 1
-4E48 1
-4E49 1
-4E4A 1
-4E4B 1
-4E4C 1
-4E4D 1
-4E4E 1
-4E4F 1
-4E50 1
-4E51 1
-4E52 1
-4E53 1
-4E54 1
-4E55 1
-4E56 1
-4E57 1
-4E58 1
-4E59 1
-4E5A 1
-4E5B 1
-4E5C 1
-4E5D 1
-4E5E 1
-4E5F 1
-4E60 1
-4E61 1
-4E62 1
-4E63 1
-4E64 1
-4E65 1
-4E66 1
-4E67 1
-4E68 1
-4E69 1
-4E6A 1
-4E6B 1
-4E6C 1
-4E6D 1
-4E6E 1
-4E6F 1
-4E70 1
-4E71 1
-4E72 1
-4E73 1
-4E74 1
-4E75 1
-4E76 1
-4E77 1
-4E78 1
-4E79 1
-4E7A 1
-4E7B 1
-4E7C 1
-4E7D 1
-4E7E 1
-4E7F 1
-4E80 1
-4E81 1
-4E82 1
-4E83 1
-4E84 1
-4E85 1
-4E86 1
-4E87 1
-4E88 1
-4E89 1
-4E8A 1
-4E8B 1
-4E8C 1
-4E8D 1
-4E8E 1
-4E8F 1
-4E90 1
-4E91 1
-4E92 1
-4E93 1
-4E94 1
-4E95 1
-4E96 1
-4E97 1
-4E98 1
-4E99 1
-4E9A 1
-4E9B 1
-4E9C 1
-4E9D 1
-4E9E 1
-4E9F 1
-4EA0 1
-4EA1 1
-4EA2 1
-4EA3 1
-4EA4 1
-4EA5 1
-4EA6 1
-4EA7 1
-4EA8 1
-4EA9 1
-4EAA 1
-4EAB 1
-4EAC 1
-4EAD 1
-4EAE 1
-4EAF 1
-4EB0 1
-4EB1 1
-4EB2 1
-4EB3 1
-4EB4 1
-4EB5 1
-4EB6 1
-4EB7 1
-4EB8 1
-4EB9 1
-4EBA 1
-4EBB 1
-4EBC 1
-4EBD 1
-4EBE 1
-4EBF 1
-4EC0 1
-4EC1 1
-4EC2 1
-4EC3 1
-4EC4 1
-4EC5 1
-4EC6 1
-4EC7 1
-4EC8 1
-4EC9 1
-4ECA 1
-4ECB 1
-4ECC 1
-4ECD 1
-4ECE 1
-4ECF 1
-4ED0 1
-4ED1 1
-4ED2 1
-4ED3 1
-4ED4 1
-4ED5 1
-4ED6 1
-4ED7 1
-4ED8 1
-4ED9 1
-4EDA 1
-4EDB 1
-4EDC 1
-4EDD 1
-4EDE 1
-4EDF 1
-4EE0 1
-4EE1 1
-4EE2 1
-4EE3 1
-4EE4 1
-4EE5 1
-4EE6 1
-4EE7 1
-4EE8 1
-4EE9 1
-4EEA 1
-4EEB 1
-4EEC 1
-4EED 1
-4EEE 1
-4EEF 1
-4EF0 1
-4EF1 1
-4EF2 1
-4EF3 1
-4EF4 1
-4EF5 1
-4EF6 1
-4EF7 1
-4EF8 1
-4EF9 1
-4EFA 1
-4EFB 1
-4EFC 1
-4EFD 1
-4EFE 1
-4EFF 1
-4F00 1
-4F01 1
-4F02 1
-4F03 1
-4F04 1
-4F05 1
-4F06 1
-4F07 1
-4F08 1
-4F09 1
-4F0A 1
-4F0B 1
-4F0C 1
-4F0D 1
-4F0E 1
-4F0F 1
-4F10 1
-4F11 1
-4F12 1
-4F13 1
-4F14 1
-4F15 1
-4F16 1
-4F17 1
-4F18 1
-4F19 1
-4F1A 1
-4F1B 1
-4F1C 1
-4F1D 1
-4F1E 1
-4F1F 1
-4F20 1
-4F21 1
-4F22 1
-4F23 1
-4F24 1
-4F25 1
-4F26 1
-4F27 1
-4F28 1
-4F29 1
-4F2A 1
-4F2B 1
-4F2C 1
-4F2D 1
-4F2E 1
-4F2F 1
-4F30 1
-4F31 1
-4F32 1
-4F33 1
-4F34 1
-4F35 1
-4F36 1
-4F37 1
-4F38 1
-4F39 1
-4F3A 1
-4F3B 1
-4F3C 1
-4F3D 1
-4F3E 1
-4F3F 1
-4F40 1
-4F41 1
-4F42 1
-4F43 1
-4F44 1
-4F45 1
-4F46 1
-4F47 1
-4F48 1
-4F49 1
-4F4A 1
-4F4B 1
-4F4C 1
-4F4D 1
-4F4E 1
-4F4F 1
-4F50 1
-4F51 1
-4F52 1
-4F53 1
-4F54 1
-4F55 1
-4F56 1
-4F57 1
-4F58 1
-4F59 1
-4F5A 1
-4F5B 1
-4F5C 1
-4F5D 1
-4F5E 1
-4F5F 1
-4F60 1
-4F61 1
-4F62 1
-4F63 1
-4F64 1
-4F65 1
-4F66 1
-4F67 1
-4F68 1
-4F69 1
-4F6A 1
-4F6B 1
-4F6C 1
-4F6D 1
-4F6E 1
-4F6F 1
-4F70 1
-4F71 1
-4F72 1
-4F73 1
-4F74 1
-4F75 1
-4F76 1
-4F77 1
-4F78 1
-4F79 1
-4F7A 1
-4F7B 1
-4F7C 1
-4F7D 1
-4F7E 1
-4F7F 1
-4F80 1
-4F81 1
-4F82 1
-4F83 1
-4F84 1
-4F85 1
-4F86 1
-4F87 1
-4F88 1
-4F89 1
-4F8A 1
-4F8B 1
-4F8C 1
-4F8D 1
-4F8E 1
-4F8F 1
-4F90 1
-4F91 1
-4F92 1
-4F93 1
-4F94 1
-4F95 1
-4F96 1
-4F97 1
-4F98 1
-4F99 1
-4F9A 1
-4F9B 1
-4F9C 1
-4F9D 1
-4F9E 1
-4F9F 1
-4FA0 1
-4FA1 1
-4FA2 1
-4FA3 1
-4FA4 1
-4FA5 1
-4FA6 1
-4FA7 1
-4FA8 1
-4FA9 1
-4FAA 1
-4FAB 1
-4FAC 1
-4FAD 1
-4FAE 1
-4FAF 1
-4FB0 1
-4FB1 1
-4FB2 1
-4FB3 1
-4FB4 1
-4FB5 1
-4FB6 1
-4FB7 1
-4FB8 1
-4FB9 1
-4FBA 1
-4FBB 1
-4FBC 1
-4FBD 1
-4FBE 1
-4FBF 1
-4FC0 1
-4FC1 1
-4FC2 1
-4FC3 1
-4FC4 1
-4FC5 1
-4FC6 1
-4FC7 1
-4FC8 1
-4FC9 1
-4FCA 1
-4FCB 1
-4FCC 1
-4FCD 1
-4FCE 1
-4FCF 1
-4FD0 1
-4FD1 1
-4FD2 1
-4FD3 1
-4FD4 1
-4FD5 1
-4FD6 1
-4FD7 1
-4FD8 1
-4FD9 1
-4FDA 1
-4FDB 1
-4FDC 1
-4FDD 1
-4FDE 1
-4FDF 1
-4FE0 1
-4FE1 1
-4FE2 1
-4FE3 1
-4FE4 1
-4FE5 1
-4FE6 1
-4FE7 1
-4FE8 1
-4FE9 1
-4FEA 1
-4FEB 1
-4FEC 1
-4FED 1
-4FEE 1
-4FEF 1
-4FF0 1
-4FF1 1
-4FF2 1
-4FF3 1
-4FF4 1
-4FF5 1
-4FF6 1
-4FF7 1
-4FF8 1
-4FF9 1
-4FFA 1
-4FFB 1
-4FFC 1
-4FFD 1
-4FFE 1
-4FFF 1
-237 1
-238 1
-239 1
-23A 1
-23B 1
-23C 1
-23D 1
-23E 1
-23F 1
-240 1
-241 1
-242 1
-243 1
-244 1
-245 1
-246 1
-247 1
-248 1
-249 1
-24A 1
-24B 1
-24C 1
-24D 1
-24E 1
-24F 1
-358 1
-359 1
-35A 1
-35B 1
-35C 1
-370 1
-371 1
-372 1
-373 1
-376 1
-377 1
-378 1
-379 1
-37B 1
-37C 1
-37D 1
-37F 1
-380 1
-381 1
-382 1
-383 1
-38B 1
-38D 1
-3A2 1
-3CF 1
-3FC 1
-3FD 1
-3FE 1
-3FF 1
-487 1
-4CF 1
-4F6 1
-4F7 1
-4FA 1
-4FB 1
-4FC 1
-4FD 1
-4FE 1
-4FF 1
-510 1
-511 1
-512 1
-513 1
-514 1
-515 1
-516 1
-517 1
-518 1
-519 1
-51A 1
-51B 1
-51C 1
-51D 1
-51E 1
-51F 1
-520 1
-521 1
-522 1
-523 1
-524 1
-525 1
-526 1
-527 1
-528 1
-529 1
-52A 1
-52B 1
-52C 1
-52D 1
-52E 1
-52F 1
-530 1
-557 1
-558 1
-560 1
-588 1
-58B 1
-58C 1
-58D 1
-58E 1
-58F 1
-590 1
-5A2 1
-5BA 1
-5C5 1
-5C6 1
-5C7 1
-5C8 1
-5C9 1
-5CA 1
-5CB 1
-5CC 1
-5CD 1
-5CE 1
-5CF 1
-5EB 1
-5EC 1
-5ED 1
-5EE 1
-5EF 1
-5F5 1
-5F6 1
-5F7 1
-5F8 1
-5F9 1
-5FA 1
-5FB 1
-5FC 1
-5FD 1
-5FE 1
-5FF 1
-604 1
-605 1
-606 1
-607 1
-608 1
-609 1
-60A 1
-60B 1
-616 1
-617 1
-618 1
-619 1
-61A 1
-61C 1
-61D 1
-61E 1
-620 1
-63B 1
-63C 1
-63D 1
-63E 1
-63F 1
-659 1
-65A 1
-65B 1
-65C 1
-65D 1
-65E 1
-65F 1
-70E 1
-74B 1
-74C 1
-750 1
-751 1
-752 1
-753 1
-754 1
-755 1
-756 1
-757 1
-758 1
-759 1
-75A 1
-75B 1
-75C 1
-75D 1
-75E 1
-75F 1
-760 1
-761 1
-762 1
-763 1
-764 1
-765 1
-766 1
-767 1
-768 1
-769 1
-76A 1
-76B 1
-76C 1
-76D 1
-76E 1
-76F 1
-770 1
-771 1
-772 1
-773 1
-774 1
-775 1
-776 1
-777 1
-778 1
-779 1
-77A 1
-77B 1
-77C 1
-77D 1
-77E 1
-77F 1
-7B2 1
-7B3 1
-7B4 1
-7B5 1
-7B6 1
-7B7 1
-7B8 1
-7B9 1
-7BA 1
-7BB 1
-7BC 1
-7BD 1
-7BE 1
-7BF 1
-7C0 1
-7C1 1
-7C2 1
-7C3 1
-7C4 1
-7C5 1
-7C6 1
-7C7 1
-7C8 1
-7C9 1
-7CA 1
-7CB 1
-7CC 1
-7CD 1
-7CE 1
-7CF 1
-7D0 1
-7D1 1
-7D2 1
-7D3 1
-7D4 1
-7D5 1
-7D6 1
-7D7 1
-7D8 1
-7D9 1
-7DA 1
-7DB 1
-7DC 1
-7DD 1
-7DE 1
-7DF 1
-7E0 1
-7E1 1
-7E2 1
-7E3 1
-7E4 1
-7E5 1
-7E6 1
-7E7 1
-7E8 1
-7E9 1
-7EA 1
-7EB 1
-7EC 1
-7ED 1
-7EE 1
-7EF 1
-7F0 1
-7F1 1
-7F2 1
-7F3 1
-7F4 1
-7F5 1
-7F6 1
-7F7 1
-7F8 1
-7F9 1
-7FA 1
-7FB 1
-7FC 1
-7FD 1
-7FE 1
-7FF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_bin) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_bin;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_bin # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-42 1
-43 1
-44 1
-45 1
-46 1
-47 1
-48 1
-49 1
-4A 1
-4B 1
-4C 1
-4D 1
-4E 1
-4F 1
-50 1
-51 1
-52 1
-53 1
-54 1
-55 1
-56 1
-57 1
-58 1
-59 1
-5A 1
-5B 1
-5E 1
-5F 1
-60 1
-61 1
-62 1
-63 1
-64 1
-65 1
-66 1
-67 1
-68 1
-69 1
-6A 1
-6B 1
-6C 1
-6D 1
-6E 1
-6F 1
-70 1
-71 1
-72 1
-73 1
-74 1
-75 1
-76 1
-77 1
-78 1
-79 1
-7A 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C285 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-C2A1 1
-C2A2 1
-C2A3 1
-C2A4 1
-C2A5 1
-C2A6 1
-C2A7 1
-C2A8 1
-C2A9 1
-C2AA 1
-C2AB 1
-C2AC 1
-C2AD 1
-C2AE 1
-C2AF 1
-C2B0 1
-C2B1 1
-C2B2 1
-C2B3 1
-C2B4 1
-C2B5 1
-C2B6 1
-C2B7 1
-C2B8 1
-C2B9 1
-C2BA 1
-C2BB 1
-C2BC 1
-C2BD 1
-C2BE 1
-C2BF 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C386 1
-C387 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C390 1
-C391 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C397 1
-C398 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C39D 1
-C39E 1
-C39F 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C3A6 1
-C3A7 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C3B0 1
-C3B1 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C3B7 1
-C3B8 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C3BD 1
-C3BE 1
-C3BF 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-C48E 1
-C48F 1
-C490 1
-C491 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C4A4 1
-C4A5 1
-C4A6 1
-C4A7 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C4B1 1
-C4B2 1
-C4B3 1
-C4B4 1
-C4B5 1
-C4B6 1
-C4B7 1
-C4B8 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-C4BF 1
-C580 1
-C581 1
-C582 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C589 1
-C58A 1
-C58B 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C592 1
-C593 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C5A6 1
-C5A7 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C5B4 1
-C5B5 1
-C5B6 1
-C5B7 1
-C5B8 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C5BF 1
-C680 1
-C681 1
-C682 1
-C683 1
-C684 1
-C685 1
-C686 1
-C687 1
-C688 1
-C689 1
-C68A 1
-C68B 1
-C68C 1
-C68D 1
-C68E 1
-C68F 1
-C690 1
-C691 1
-C692 1
-C693 1
-C694 1
-C695 1
-C696 1
-C697 1
-C698 1
-C699 1
-C69A 1
-C69B 1
-C69C 1
-C69D 1
-C69E 1
-C69F 1
-C6A0 1
-C6A1 1
-C6A2 1
-C6A3 1
-C6A4 1
-C6A5 1
-C6A6 1
-C6A7 1
-C6A8 1
-C6A9 1
-C6AA 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-C6AF 1
-C6B0 1
-C6B1 1
-C6B2 1
-C6B3 1
-C6B4 1
-C6B5 1
-C6B6 1
-C6B7 1
-C6B8 1
-C6B9 1
-C6BA 1
-C6BB 1
-C6BC 1
-C6BD 1
-C6BE 1
-C6BF 1
-C780 1
-C781 1
-C782 1
-C783 1
-C784 1
-C785 1
-C786 1
-C787 1
-C788 1
-C789 1
-C78A 1
-C78B 1
-C78C 1
-C78D 1
-C78E 1
-C78F 1
-C790 1
-C791 1
-C792 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C79D 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7A2 1
-C7A3 1
-C7A4 1
-C7A5 1
-C7A6 1
-C7A7 1
-C7A8 1
-C7A9 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C7AE 1
-C7AF 1
-C7B0 1
-C7B1 1
-C7B2 1
-C7B3 1
-C7B4 1
-C7B5 1
-C7B6 1
-C7B7 1
-C7B8 1
-C7B9 1
-C7BA 1
-C7BB 1
-C7BC 1
-C7BD 1
-C7BE 1
-C7BF 1
-C880 1
-C881 1
-C882 1
-C883 1
-C884 1
-C885 1
-C886 1
-C887 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C890 1
-C891 1
-C892 1
-C893 1
-C894 1
-C895 1
-C896 1
-C897 1
-C898 1
-C899 1
-C89A 1
-C89B 1
-C89C 1
-C89D 1
-C89E 1
-C89F 1
-C8A0 1
-C8A1 1
-C8A2 1
-C8A3 1
-C8A4 1
-C8A5 1
-C8A6 1
-C8A7 1
-C8A8 1
-C8A9 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-C8B2 1
-C8B3 1
-C8B4 1
-C8B5 1
-C8B6 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-C990 1
-C991 1
-C992 1
-C993 1
-C994 1
-C995 1
-C996 1
-C997 1
-C998 1
-C999 1
-C99A 1
-C99B 1
-C99C 1
-C99D 1
-C99E 1
-C99F 1
-C9A0 1
-C9A1 1
-C9A2 1
-C9A3 1
-C9A4 1
-C9A5 1
-C9A6 1
-C9A7 1
-C9A8 1
-C9A9 1
-C9AA 1
-C9AB 1
-C9AC 1
-C9AD 1
-C9AE 1
-C9AF 1
-C9B0 1
-C9B1 1
-C9B2 1
-C9B3 1
-C9B4 1
-C9B5 1
-C9B6 1
-C9B7 1
-C9B8 1
-C9B9 1
-C9BA 1
-C9BB 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA80 1
-CA81 1
-CA82 1
-CA83 1
-CA84 1
-CA85 1
-CA86 1
-CA87 1
-CA88 1
-CA89 1
-CA8A 1
-CA8B 1
-CA8C 1
-CA8D 1
-CA8E 1
-CA8F 1
-CA90 1
-CA91 1
-CA92 1
-CA93 1
-CA94 1
-CA95 1
-CA96 1
-CA97 1
-CA98 1
-CA99 1
-CA9A 1
-CA9B 1
-CA9C 1
-CA9D 1
-CA9E 1
-CA9F 1
-CAA0 1
-CAA1 1
-CAA2 1
-CAA3 1
-CAA4 1
-CAA5 1
-CAA6 1
-CAA7 1
-CAA8 1
-CAA9 1
-CAAA 1
-CAAB 1
-CAAC 1
-CAAD 1
-CAAE 1
-CAAF 1
-CAB0 1
-CAB1 1
-CAB2 1
-CAB3 1
-CAB4 1
-CAB5 1
-CAB6 1
-CAB7 1
-CAB8 1
-CAB9 1
-CABA 1
-CABB 1
-CABC 1
-CABD 1
-CABE 1
-CABF 1
-CB80 1
-CB81 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB90 1
-CB91 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB98 1
-CB99 1
-CB9A 1
-CB9B 1
-CB9C 1
-CB9D 1
-CB9E 1
-CB9F 1
-CBA0 1
-CBA1 1
-CBA2 1
-CBA3 1
-CBA4 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAE 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-CDA3 1
-CDA4 1
-CDA5 1
-CDA6 1
-CDA7 1
-CDA8 1
-CDA9 1
-CDAA 1
-CDAB 1
-CDAC 1
-CDAD 1
-CDAE 1
-CDAF 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB4 1
-CDB5 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBA 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBE 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE84 1
-CE85 1
-CE86 1
-CE87 1
-CE88 1
-CE89 1
-CE8A 1
-CE8B 1
-CE8C 1
-CE8D 1
-CE8E 1
-CE8F 1
-CE90 1
-CE91 1
-CE92 1
-CE93 1
-CE94 1
-CE95 1
-CE96 1
-CE97 1
-CE98 1
-CE99 1
-CE9A 1
-CE9B 1
-CE9C 1
-CE9D 1
-CE9E 1
-CE9F 1
-CEA0 1
-CEA1 1
-CEA2 1
-CEA3 1
-CEA4 1
-CEA5 1
-CEA6 1
-CEA7 1
-CEA8 1
-CEA9 1
-CEAA 1
-CEAB 1
-CEAC 1
-CEAD 1
-CEAE 1
-CEAF 1
-CEB0 1
-CEB1 1
-CEB2 1
-CEB3 1
-CEB4 1
-CEB5 1
-CEB6 1
-CEB7 1
-CEB8 1
-CEB9 1
-CEBA 1
-CEBB 1
-CEBC 1
-CEBD 1
-CEBE 1
-CEBF 1
-CF80 1
-CF81 1
-CF82 1
-CF83 1
-CF84 1
-CF85 1
-CF86 1
-CF87 1
-CF88 1
-CF89 1
-CF8A 1
-CF8B 1
-CF8C 1
-CF8D 1
-CF8E 1
-CF8F 1
-CF90 1
-CF91 1
-CF92 1
-CF93 1
-CF94 1
-CF95 1
-CF96 1
-CF97 1
-CF98 1
-CF99 1
-CF9A 1
-CF9B 1
-CF9C 1
-CF9D 1
-CF9E 1
-CF9F 1
-CFA0 1
-CFA1 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-CFB0 1
-CFB1 1
-CFB2 1
-CFB3 1
-CFB4 1
-CFB5 1
-CFB6 1
-CFB7 1
-CFB8 1
-CFB9 1
-CFBA 1
-CFBB 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D080 1
-D081 1
-D082 1
-D083 1
-D084 1
-D085 1
-D086 1
-D087 1
-D088 1
-D089 1
-D08A 1
-D08B 1
-D08C 1
-D08D 1
-D08E 1
-D08F 1
-D090 1
-D091 1
-D092 1
-D093 1
-D094 1
-D095 1
-D096 1
-D097 1
-D098 1
-D099 1
-D09A 1
-D09B 1
-D09C 1
-D09D 1
-D09E 1
-D09F 1
-D0A0 1
-D0A1 1
-D0A2 1
-D0A3 1
-D0A4 1
-D0A5 1
-D0A6 1
-D0A7 1
-D0A8 1
-D0A9 1
-D0AA 1
-D0AB 1
-D0AC 1
-D0AD 1
-D0AE 1
-D0AF 1
-D0B0 1
-D0B1 1
-D0B2 1
-D0B3 1
-D0B4 1
-D0B5 1
-D0B6 1
-D0B7 1
-D0B8 1
-D0B9 1
-D0BA 1
-D0BB 1
-D0BC 1
-D0BD 1
-D0BE 1
-D0BF 1
-D180 1
-D181 1
-D182 1
-D183 1
-D184 1
-D185 1
-D186 1
-D187 1
-D188 1
-D189 1
-D18A 1
-D18B 1
-D18C 1
-D18D 1
-D18E 1
-D18F 1
-D190 1
-D191 1
-D192 1
-D193 1
-D194 1
-D195 1
-D196 1
-D197 1
-D198 1
-D199 1
-D19A 1
-D19B 1
-D19C 1
-D19D 1
-D19E 1
-D19F 1
-D1A0 1
-D1A1 1
-D1A2 1
-D1A3 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1A8 1
-D1A9 1
-D1AA 1
-D1AB 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D1B8 1
-D1B9 1
-D1BA 1
-D1BB 1
-D1BC 1
-D1BD 1
-D1BE 1
-D1BF 1
-D280 1
-D281 1
-D282 1
-D283 1
-D284 1
-D285 1
-D286 1
-D287 1
-D288 1
-D289 1
-D28A 1
-D28B 1
-D28C 1
-D28D 1
-D28E 1
-D28F 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D296 1
-D297 1
-D298 1
-D299 1
-D29A 1
-D29B 1
-D29C 1
-D29D 1
-D29E 1
-D29F 1
-D2A0 1
-D2A1 1
-D2A2 1
-D2A3 1
-D2A4 1
-D2A5 1
-D2A6 1
-D2A7 1
-D2A8 1
-D2A9 1
-D2AA 1
-D2AB 1
-D2AC 1
-D2AD 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D2B2 1
-D2B3 1
-D2B4 1
-D2B5 1
-D2B6 1
-D2B7 1
-D2B8 1
-D2B9 1
-D2BA 1
-D2BB 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D380 1
-D381 1
-D382 1
-D383 1
-D384 1
-D385 1
-D386 1
-D387 1
-D388 1
-D389 1
-D38A 1
-D38B 1
-D38C 1
-D38D 1
-D38E 1
-D38F 1
-D390 1
-D391 1
-D392 1
-D393 1
-D394 1
-D395 1
-D396 1
-D397 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D39C 1
-D39D 1
-D39E 1
-D39F 1
-D3A0 1
-D3A1 1
-D3A2 1
-D3A3 1
-D3A4 1
-D3A5 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D3AC 1
-D3AD 1
-D3AE 1
-D3AF 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D3B4 1
-D3B5 1
-D3B6 1
-D3B7 1
-D3B8 1
-D3B9 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D480 1
-D481 1
-D482 1
-D483 1
-D484 1
-D485 1
-D486 1
-D487 1
-D488 1
-D489 1
-D48A 1
-D48B 1
-D48C 1
-D48D 1
-D48E 1
-D48F 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D4B1 1
-D4B2 1
-D4B3 1
-D4B4 1
-D4B5 1
-D4B6 1
-D4B7 1
-D4B8 1
-D4B9 1
-D4BA 1
-D4BB 1
-D4BC 1
-D4BD 1
-D4BE 1
-D4BF 1
-D580 1
-D581 1
-D582 1
-D583 1
-D584 1
-D585 1
-D586 1
-D587 1
-D588 1
-D589 1
-D58A 1
-D58B 1
-D58C 1
-D58D 1
-D58E 1
-D58F 1
-D590 1
-D591 1
-D592 1
-D593 1
-D594 1
-D595 1
-D596 1
-D597 1
-D598 1
-D599 1
-D59A 1
-D59B 1
-D59C 1
-D59D 1
-D59E 1
-D59F 1
-D5A0 1
-D5A1 1
-D5A2 1
-D5A3 1
-D5A4 1
-D5A5 1
-D5A6 1
-D5A7 1
-D5A8 1
-D5A9 1
-D5AA 1
-D5AB 1
-D5AC 1
-D5AD 1
-D5AE 1
-D5AF 1
-D5B0 1
-D5B1 1
-D5B2 1
-D5B3 1
-D5B4 1
-D5B5 1
-D5B6 1
-D5B7 1
-D5B8 1
-D5B9 1
-D5BA 1
-D5BB 1
-D5BC 1
-D5BD 1
-D5BE 1
-D5BF 1
-D680 1
-D681 1
-D682 1
-D683 1
-D684 1
-D685 1
-D686 1
-D687 1
-D688 1
-D689 1
-D68A 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A2 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BA 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BE 1
-D6BF 1
-D780 1
-D781 1
-D782 1
-D783 1
-D784 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D796 1
-D797 1
-D798 1
-D799 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B0 1
-D7B1 1
-D7B2 1
-D7B3 1
-D7B4 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D880 1
-D881 1
-D882 1
-D883 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D88C 1
-D88D 1
-D88E 1
-D88F 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89B 1
-D89C 1
-D89D 1
-D89E 1
-D89F 1
-D8A0 1
-D8A1 1
-D8A2 1
-D8A3 1
-D8A4 1
-D8A5 1
-D8A6 1
-D8A7 1
-D8A8 1
-D8A9 1
-D8AA 1
-D8AB 1
-D8AC 1
-D8AD 1
-D8AE 1
-D8AF 1
-D8B0 1
-D8B1 1
-D8B2 1
-D8B3 1
-D8B4 1
-D8B5 1
-D8B6 1
-D8B7 1
-D8B8 1
-D8B9 1
-D8BA 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D980 1
-D981 1
-D982 1
-D983 1
-D984 1
-D985 1
-D986 1
-D987 1
-D988 1
-D989 1
-D98A 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-D9A0 1
-D9A1 1
-D9A2 1
-D9A3 1
-D9A4 1
-D9A5 1
-D9A6 1
-D9A7 1
-D9A8 1
-D9A9 1
-D9AA 1
-D9AB 1
-D9AC 1
-D9AD 1
-D9AE 1
-D9AF 1
-D9B0 1
-D9B1 1
-D9B2 1
-D9B3 1
-D9B4 1
-D9B5 1
-D9B6 1
-D9B7 1
-D9B8 1
-D9B9 1
-D9BA 1
-D9BB 1
-D9BC 1
-D9BD 1
-D9BE 1
-D9BF 1
-DA80 1
-DA81 1
-DA82 1
-DA83 1
-DA84 1
-DA85 1
-DA86 1
-DA87 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DA9A 1
-DA9B 1
-DA9C 1
-DA9D 1
-DA9E 1
-DA9F 1
-DAA0 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-DAA7 1
-DAA8 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-DAB9 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DABE 1
-DABF 1
-DB80 1
-DB81 1
-DB82 1
-DB83 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB8F 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DB94 1
-DB95 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA5 1
-DBA6 1
-DBA7 1
-DBA8 1
-DBA9 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DBAE 1
-DBAF 1
-DBB0 1
-DBB1 1
-DBB2 1
-DBB3 1
-DBB4 1
-DBB5 1
-DBB6 1
-DBB7 1
-DBB8 1
-DBB9 1
-DBBA 1
-DBBB 1
-DBBC 1
-DBBD 1
-DBBE 1
-DBBF 1
-DC80 1
-DC81 1
-DC82 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-DC89 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-DC8E 1
-DC8F 1
-DC90 1
-DC91 1
-DC92 1
-DC93 1
-DC94 1
-DC95 1
-DC96 1
-DC97 1
-DC98 1
-DC99 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DCAD 1
-DCAE 1
-DCAF 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-DD8B 1
-DD8C 1
-DD8D 1
-DD8E 1
-DD8F 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DE80 1
-DE81 1
-DE82 1
-DE83 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DE88 1
-DE89 1
-DE8A 1
-DE8B 1
-DE8C 1
-DE8D 1
-DE8E 1
-DE8F 1
-DE90 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DE98 1
-DE99 1
-DE9A 1
-DE9B 1
-DE9C 1
-DE9D 1
-DE9E 1
-DE9F 1
-DEA0 1
-DEA1 1
-DEA2 1
-DEA3 1
-DEA4 1
-DEA5 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-DEB1 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_czech_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_czech_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_czech_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-CDA8 1
-C48C 1
-C48D 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C598 1
-C599 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C5A0 1
-C5A1 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C68D 1
-C5BD 1
-C5BE 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_danish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_danish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_danish_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C3B9 1
-C3BA 1
-C3BB 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39C 1
-C39D 1
-C3BC 1
-C3BD 1
-C3BF 1
-C5B0 1
-C5B1 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C384 1
-C386 1
-C3A4 1
-C3A6 1
-C396 1
-C398 1
-C3B6 1
-C3B8 1
-C590 1
-C591 1
-C385 1
-C3A5 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_estonian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_estonian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_estonian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C3B2 1
-C3B3 1
-C3B4 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C5A0 1
-C5A1 1
-5A 1
-7A 1
-C5BD 1
-C5BE 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C3B9 1
-C3BA 1
-C3BB 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-C395 1
-C3B5 1
-C384 1
-C3A4 1
-C396 1
-C3B6 1
-C39C 1
-C3BC 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_general_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_general_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_general_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-21 1
-22 1
-23 1
-24 1
-25 1
-26 1
-27 1
-28 1
-29 1
-2A 1
-2B 1
-2C 1
-2D 1
-2E 1
-2F 1
-30 1
-31 1
-32 1
-33 1
-34 1
-35 1
-36 1
-37 1
-38 1
-39 1
-3A 1
-3B 1
-3C 1
-3D 1
-3E 1
-3F 1
-40 1
-41 1
-61 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-42 1
-62 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-44 1
-64 1
-C48E 1
-C48F 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-46 1
-66 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C4B1 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-4D 1
-6D 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-4F 1
-6F 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-50 1
-70 1
-51 1
-71 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-56 1
-76 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-58 1
-78 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-5B 1
-5E 1
-5F 1
-60 1
-7B 1
-7C 1
-7D 1
-7E 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C285 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-C2A1 1
-C2A2 1
-C2A3 1
-C2A4 1
-C2A5 1
-C2A6 1
-C2A7 1
-C2A8 1
-C2A9 1
-C2AA 1
-C2AB 1
-C2AC 1
-C2AD 1
-C2AE 1
-C2AF 1
-C2B0 1
-C2B1 1
-C2B2 1
-C2B3 1
-C2B4 1
-C2B6 1
-C2B7 1
-C2B8 1
-C2B9 1
-C2BA 1
-C2BB 1
-C2BC 1
-C2BD 1
-C2BE 1
-C2BF 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C390 1
-C3B0 1
-C397 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C39E 1
-C3BE 1
-C39F 1
-C3B7 1
-C490 1
-C491 1
-C4A6 1
-C4A7 1
-C4B2 1
-C4B3 1
-C4B8 1
-C4BF 1
-C580 1
-C581 1
-C582 1
-C589 1
-C58A 1
-C58B 1
-C592 1
-C593 1
-C5A6 1
-C5A7 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-C684 1
-C685 1
-C686 1
-C994 1
-C687 1
-C688 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C68D 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C691 1
-C692 1
-C693 1
-C9A0 1
-C694 1
-C9A3 1
-C696 1
-C9A9 1
-C697 1
-C9A8 1
-C698 1
-C699 1
-C69A 1
-C69B 1
-C69C 1
-C9AF 1
-C69D 1
-C9B2 1
-C69E 1
-C69F 1
-C9B5 1
-C6A2 1
-C6A3 1
-C6A4 1
-C6A5 1
-C6A6 1
-CA80 1
-C6A7 1
-C6A8 1
-C6A9 1
-CA83 1
-C6AA 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C6B1 1
-CA8A 1
-C6B2 1
-CA8B 1
-C6B3 1
-C6B4 1
-C6B5 1
-C6B6 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-C6BB 1
-C6BC 1
-C6BD 1
-C6BE 1
-C780 1
-C781 1
-C782 1
-C783 1
-C784 1
-C785 1
-C786 1
-C787 1
-C788 1
-C789 1
-C78A 1
-C78B 1
-C78C 1
-C7A4 1
-C7A5 1
-C7B1 1
-C7B2 1
-C7B3 1
-C695 1
-C7B6 1
-C6BF 1
-C7B7 1
-C89C 1
-C89D 1
-C8A0 1
-C8A1 1
-C8A2 1
-C8A3 1
-C8A4 1
-C8A5 1
-C8B4 1
-C8B5 1
-C8B6 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-C990 1
-C991 1
-C992 1
-C995 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-C99F 1
-C9A1 1
-C9A2 1
-C9A4 1
-C9A5 1
-C9A6 1
-C9A7 1
-C9AA 1
-C9AB 1
-C9AC 1
-C9AD 1
-C9AE 1
-C9B0 1
-C9B1 1
-C9B3 1
-C9B4 1
-C9B6 1
-C9B7 1
-C9B8 1
-C9B9 1
-C9BA 1
-C9BB 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CA82 1
-CA84 1
-CA85 1
-CA86 1
-CA87 1
-CA89 1
-CA8C 1
-CA8D 1
-CA8E 1
-CA8F 1
-CA90 1
-CA91 1
-CA93 1
-CA94 1
-CA95 1
-CA96 1
-CA97 1
-CA98 1
-CA99 1
-CA9A 1
-CA9B 1
-CA9C 1
-CA9D 1
-CA9E 1
-CA9F 1
-CAA0 1
-CAA1 1
-CAA2 1
-CAA3 1
-CAA4 1
-CAA5 1
-CAA6 1
-CAA7 1
-CAA8 1
-CAA9 1
-CAAA 1
-CAAB 1
-CAAC 1
-CAAD 1
-CAAE 1
-CAAF 1
-CAB0 1
-CAB1 1
-CAB2 1
-CAB3 1
-CAB4 1
-CAB5 1
-CAB6 1
-CAB7 1
-CAB8 1
-CAB9 1
-CABA 1
-CABB 1
-CABC 1
-CABD 1
-CABE 1
-CABF 1
-CB80 1
-CB81 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB90 1
-CB91 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB98 1
-CB99 1
-CB9A 1
-CB9B 1
-CB9C 1
-CB9D 1
-CB9E 1
-CB9F 1
-CBA0 1
-CBA1 1
-CBA2 1
-CBA3 1
-CBA4 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAE 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-CDA3 1
-CDA4 1
-CDA5 1
-CDA6 1
-CDA7 1
-CDA8 1
-CDA9 1
-CDAA 1
-CDAB 1
-CDAC 1
-CDAD 1
-CDAE 1
-CDAF 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB4 1
-CDB5 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBA 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBE 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE84 1
-CE85 1
-CE87 1
-CE8B 1
-CE8D 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CD85 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CE9A 1
-CEBA 1
-CFB0 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA2 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CF8F 1
-CF92 1
-CF93 1
-CF94 1
-CF97 1
-CF98 1
-CF99 1
-CF9A 1
-CF9B 1
-CF9C 1
-CF9D 1
-CF9E 1
-CF9F 1
-CFA0 1
-CFA1 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-CFB3 1
-CFB4 1
-CFB5 1
-CFB6 1
-CFB7 1
-CFB8 1
-CFB9 1
-CFBA 1
-CFBB 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D082 1
-D192 1
-D084 1
-D194 1
-D085 1
-D195 1
-D086 1
-D087 1
-D196 1
-D197 1
-D088 1
-D198 1
-D089 1
-D199 1
-D08A 1
-D19A 1
-D08B 1
-D19B 1
-D08F 1
-D19F 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D083 1
-D093 1
-D0B3 1
-D193 1
-D094 1
-D0B4 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D097 1
-D0B7 1
-D39E 1
-D39F 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D3A4 1
-D3A5 1
-D099 1
-D0B9 1
-D08C 1
-D09A 1
-D0BA 1
-D19C 1
-D09B 1
-D0BB 1
-D09C 1
-D0BC 1
-D09D 1
-D0BD 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D09F 1
-D0BF 1
-D0A0 1
-D180 1
-D0A1 1
-D181 1
-D0A2 1
-D182 1
-D08E 1
-D0A3 1
-D183 1
-D19E 1
-D3AE 1
-D3AF 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D0A6 1
-D186 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A0 1
-D1A1 1
-D1A2 1
-D1A3 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1A8 1
-D1A9 1
-D1AA 1
-D1AB 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D1B8 1
-D1B9 1
-D1BA 1
-D1BB 1
-D1BC 1
-D1BD 1
-D1BE 1
-D1BF 1
-D280 1
-D281 1
-D282 1
-D283 1
-D284 1
-D285 1
-D286 1
-D287 1
-D288 1
-D289 1
-D28A 1
-D28B 1
-D28C 1
-D28D 1
-D28E 1
-D28F 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D296 1
-D297 1
-D298 1
-D299 1
-D29A 1
-D29B 1
-D29C 1
-D29D 1
-D29E 1
-D29F 1
-D2A0 1
-D2A1 1
-D2A2 1
-D2A3 1
-D2A4 1
-D2A5 1
-D2A6 1
-D2A7 1
-D2A8 1
-D2A9 1
-D2AA 1
-D2AB 1
-D2AC 1
-D2AD 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D2B2 1
-D2B3 1
-D2B4 1
-D2B5 1
-D2B6 1
-D2B7 1
-D2B8 1
-D2B9 1
-D2BA 1
-D2BB 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D380 1
-D383 1
-D384 1
-D385 1
-D386 1
-D387 1
-D388 1
-D389 1
-D38A 1
-D38B 1
-D38C 1
-D38D 1
-D38E 1
-D38F 1
-D394 1
-D395 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D3A0 1
-D3A1 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D480 1
-D481 1
-D482 1
-D483 1
-D484 1
-D485 1
-D486 1
-D487 1
-D488 1
-D489 1
-D48A 1
-D48B 1
-D48C 1
-D48D 1
-D48E 1
-D48F 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D597 1
-D598 1
-D599 1
-D59A 1
-D59B 1
-D59C 1
-D59D 1
-D59E 1
-D59F 1
-D5A0 1
-D687 1
-D688 1
-D689 1
-D68A 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A2 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BA 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BE 1
-D6BF 1
-D780 1
-D781 1
-D782 1
-D783 1
-D784 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D796 1
-D797 1
-D798 1
-D799 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B0 1
-D7B1 1
-D7B2 1
-D7B3 1
-D7B4 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D880 1
-D881 1
-D882 1
-D883 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D88C 1
-D88D 1
-D88E 1
-D88F 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89B 1
-D89C 1
-D89D 1
-D89E 1
-D89F 1
-D8A0 1
-D8A1 1
-D8A2 1
-D8A3 1
-D8A4 1
-D8A5 1
-D8A6 1
-D8A7 1
-D8A8 1
-D8A9 1
-D8AA 1
-D8AB 1
-D8AC 1
-D8AD 1
-D8AE 1
-D8AF 1
-D8B0 1
-D8B1 1
-D8B2 1
-D8B3 1
-D8B4 1
-D8B5 1
-D8B6 1
-D8B7 1
-D8B8 1
-D8B9 1
-D8BA 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D980 1
-D981 1
-D982 1
-D983 1
-D984 1
-D985 1
-D986 1
-D987 1
-D988 1
-D989 1
-D98A 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-D9A0 1
-D9A1 1
-D9A2 1
-D9A3 1
-D9A4 1
-D9A5 1
-D9A6 1
-D9A7 1
-D9A8 1
-D9A9 1
-D9AA 1
-D9AB 1
-D9AC 1
-D9AD 1
-D9AE 1
-D9AF 1
-D9B0 1
-D9B1 1
-D9B2 1
-D9B3 1
-D9B4 1
-D9B5 1
-D9B6 1
-D9B7 1
-D9B8 1
-D9B9 1
-D9BA 1
-D9BB 1
-D9BC 1
-D9BD 1
-D9BE 1
-D9BF 1
-DA80 1
-DA81 1
-DA82 1
-DA83 1
-DA84 1
-DA85 1
-DA86 1
-DA87 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DA9A 1
-DA9B 1
-DA9C 1
-DA9D 1
-DA9E 1
-DA9F 1
-DAA0 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-DAA7 1
-DAA8 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-DAB9 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DABE 1
-DABF 1
-DB80 1
-DB81 1
-DB82 1
-DB83 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB8F 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DB94 1
-DB95 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA5 1
-DBA6 1
-DBA7 1
-DBA8 1
-DBA9 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DBAE 1
-DBAF 1
-DBB0 1
-DBB1 1
-DBB2 1
-DBB3 1
-DBB4 1
-DBB5 1
-DBB6 1
-DBB7 1
-DBB8 1
-DBB9 1
-DBBA 1
-DBBB 1
-DBBC 1
-DBBD 1
-DBBE 1
-DBBF 1
-DC80 1
-DC81 1
-DC82 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-DC89 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-DC8E 1
-DC8F 1
-DC90 1
-DC91 1
-DC92 1
-DC93 1
-DC94 1
-DC95 1
-DC96 1
-DC97 1
-DC98 1
-DC99 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DCAD 1
-DCAE 1
-DCAF 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-DD8B 1
-DD8C 1
-DD8D 1
-DD8E 1
-DD8F 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DE80 1
-DE81 1
-DE82 1
-DE83 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DE88 1
-DE89 1
-DE8A 1
-DE8B 1
-DE8C 1
-DE8D 1
-DE8E 1
-DE8F 1
-DE90 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DE98 1
-DE99 1
-DE9A 1
-DE9B 1
-DE9C 1
-DE9D 1
-DE9E 1
-DE9F 1
-DEA0 1
-DEA1 1
-DEA2 1
-DEA3 1
-DEA4 1
-DEA5 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-DEB1 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_hungarian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_hungarian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C396 1
-C3B6 1
-C590 1
-C591 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C3B9 1
-C3BA 1
-C3BB 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-C39C 1
-C3BC 1
-C5B0 1
-C5B1 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_icelandic_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_icelandic_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_icelandic_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C382 1
-C383 1
-C3A0 1
-C3A2 1
-C3A3 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C381 1
-C3A1 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C390 1
-C3B0 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-45 1
-65 1
-C388 1
-C38A 1
-C38B 1
-C3A8 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C389 1
-C3A9 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38E 1
-C38F 1
-C3AC 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C38D 1
-C3AD 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C394 1
-C395 1
-C3B2 1
-C3B4 1
-C3B5 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C393 1
-C3B3 1
-C9B6 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39B 1
-C39C 1
-C3B9 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-C39A 1
-C3BA 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-C39D 1
-C3BD 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C39E 1
-C3BE 1
-C384 1
-C386 1
-C3A4 1
-C3A6 1
-C396 1
-C398 1
-C3B6 1
-C3B8 1
-C385 1
-C3A5 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_latvian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_latvian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_latvian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-CDA8 1
-C48C 1
-C48D 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C4A2 1
-C4A3 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-59 1
-79 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C7A8 1
-C7A9 1
-C4B6 1
-C4B7 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-C4BB 1
-C4BC 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C585 1
-C586 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C596 1
-C597 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C5A0 1
-C5A1 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C68D 1
-C5BD 1
-C5BE 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_lithuanian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_lithuanian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_lithuanian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-CDA8 1
-C48C 1
-C48D 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-59 1
-69 1
-79 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C5A0 1
-C5A1 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C68D 1
-C5BD 1
-C5BE 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_persian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_persian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_persian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-D993 1
-D994 1
-D995 1
-D9B0 1
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D991 1
-D992 1
-D996 1
-D997 1
-D998 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-D98E 1
-26 1
-D990 1
-23 1
-D98F 1
-25 1
-D9AA 1
-D98B 1
-D98D 1
-D98C 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-D8A2 1
-D8A7 1
-D9B1 1
-D8A1 1
-D8A3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-D8A5 1
-D8A4 1
-D8A6 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D9B4 1
-DBBD 1
-D9B2 1
-D9B3 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-DA89 1
-DA8A 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA9 1
-D983 1
-DAA8 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-D987 1
-DB84 1
-D8A9 1
-DB85 1
-DB80 1
-DB86 1
-DB87 1
-DB8C 1
-D9B7 1
-D989 1
-DB88 1
-D98A 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-DBA6 1
-D9B8 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_polish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_polish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_polish_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C484 1
-C485 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C486 1
-C487 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C498 1
-C499 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-C581 1
-C582 1
-CA9F 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C583 1
-C584 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C393 1
-C3B3 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C59A 1
-C59B 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5BD 1
-C5BE 1
-C68D 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_roman_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_roman_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_roman_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-4A 1
-69 1
-6A 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-55 1
-56 1
-75 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_romanian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_romanian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_romanian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C482 1
-C483 1
-C382 1
-C3A2 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C38E 1
-C3AE 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C5A0 1
-C5A1 1
-C5BF 1
-CBA2 1
-C39F 1
-C59E 1
-C59F 1
-C898 1
-C899 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A4 1
-C5A5 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A2 1
-C5A3 1
-C89A 1
-C89B 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovak_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_slovak_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_slovak_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C384 1
-C3A4 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-CDA8 1
-C48C 1
-C48D 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C394 1
-C3B4 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C5A0 1
-C5A1 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C68D 1
-C5BD 1
-C5BE 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_slovenian_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_slovenian_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-CDA8 1
-C48C 1
-C48D 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C5A0 1
-C5A1 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C68D 1
-C5BD 1
-C5BE 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish2_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_spanish2_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_spanish2_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C391 1
-C3B1 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_spanish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_spanish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_spanish_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C391 1
-C3B1 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_swedish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_swedish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_swedish_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C3B9 1
-C3BA 1
-C3BB 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39C 1
-C39D 1
-C3BC 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C385 1
-C3A5 1
-C384 1
-C386 1
-C3A4 1
-C3A6 1
-C396 1
-C398 1
-C3B6 1
-C3B8 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_turkish_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_turkish_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_turkish_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C387 1
-C3A7 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C49E 1
-C49F 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-49 1
-C4B1 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C396 1
-C3B6 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-C59E 1
-C59F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C3B9 1
-C3BA 1
-C3BB 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-C39C 1
-C3BC 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t1;
-DROP DATABASE test;
-CREATE DATABASE test CHARACTER SET utf8;
-USE test;
-CREATE TABLE test.t1 (a CHAR(4) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=NDB CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-SHOW TABLE STATUS LIKE 't1';
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster # # # # # # # # # # # # utf8_unicode_ci # # #
-LOAD DATA INFILE
-'MYSQL_TEST_DIR/suite/funcs_2/data/charset_utf8.txt' INTO TABLE test.t1;
-DELETE FROM test.t1 WHERE CHAR_LENGTH(a) <> 1;
-SELECT HEX(ORD(a)) AS a_ord, CHAR_LENGTH(a) AS a_len FROM test.t1 ORDER BY a, ORD(a);
-a_ord a_len
-C285 1
-7F 1
-C280 1
-C281 1
-C282 1
-C283 1
-C284 1
-C286 1
-C287 1
-C288 1
-C289 1
-C28A 1
-C28B 1
-C28C 1
-C28D 1
-C28E 1
-C28F 1
-C290 1
-C291 1
-C292 1
-C293 1
-C294 1
-C295 1
-C296 1
-C297 1
-C298 1
-C299 1
-C29A 1
-C29B 1
-C29C 1
-C29D 1
-C29E 1
-C29F 1
-C2A0 1
-CC80 1
-CC81 1
-CC82 1
-CC83 1
-CC84 1
-CC85 1
-CC86 1
-CC87 1
-CC88 1
-CC89 1
-CC8A 1
-CC8B 1
-CC8C 1
-CC8D 1
-CC8E 1
-CC8F 1
-CC90 1
-CC91 1
-CC92 1
-CC93 1
-CC94 1
-CC95 1
-CC96 1
-CC97 1
-CC98 1
-CC99 1
-CC9A 1
-CC9B 1
-CC9C 1
-CC9D 1
-CC9E 1
-CC9F 1
-CCA0 1
-CCA1 1
-CCA2 1
-CCA3 1
-CCA4 1
-CCA5 1
-CCA6 1
-CCA7 1
-CCA8 1
-CCA9 1
-CCAA 1
-CCAB 1
-CCAC 1
-CCAD 1
-CCAE 1
-CCAF 1
-CCB0 1
-CCB1 1
-CCB2 1
-CCB3 1
-CCB4 1
-CCB5 1
-CCB6 1
-CCB7 1
-CCB8 1
-CCB9 1
-CCBA 1
-CCBB 1
-CCBC 1
-CCBD 1
-CCBE 1
-CCBF 1
-CD80 1
-CD81 1
-CD82 1
-CD83 1
-CD84 1
-CD85 1
-CD86 1
-CD87 1
-CD88 1
-CD89 1
-CD8A 1
-CD8B 1
-CD8C 1
-CD8D 1
-CD8E 1
-CD8F 1
-CD90 1
-CD91 1
-CD92 1
-CD93 1
-CD94 1
-CD95 1
-CD96 1
-CD97 1
-CD9D 1
-CD9E 1
-CD9F 1
-CDA0 1
-CDA1 1
-CDA2 1
-D283 1
-D284 1
-D285 1
-D286 1
-D288 1
-D289 1
-D691 1
-D692 1
-D693 1
-D694 1
-D695 1
-D696 1
-D697 1
-D698 1
-D699 1
-D69A 1
-D69B 1
-D69C 1
-D69D 1
-D69E 1
-D69F 1
-D6A0 1
-D6A1 1
-D6A3 1
-D6A4 1
-D6A5 1
-D6A6 1
-D6A7 1
-D6A8 1
-D6A9 1
-D6AA 1
-D6AB 1
-D6AC 1
-D6AD 1
-D6AE 1
-D6AF 1
-D6B0 1
-D6B1 1
-D6B2 1
-D6B3 1
-D6B4 1
-D6B5 1
-D6B6 1
-D6B7 1
-D6B8 1
-D6B9 1
-D6BB 1
-D6BC 1
-D6BD 1
-D6BF 1
-D781 1
-D782 1
-D784 1
-D880 1
-D881 1
-D882 1
-D883 1
-D890 1
-D891 1
-D892 1
-D893 1
-D894 1
-D895 1
-D98B 1
-D98C 1
-D98D 1
-D98E 1
-D98F 1
-D990 1
-D991 1
-D992 1
-D993 1
-D994 1
-D995 1
-D996 1
-D997 1
-D998 1
-D9B0 1
-DB96 1
-DB97 1
-DB98 1
-DB99 1
-DB9A 1
-DB9B 1
-DB9C 1
-DB9D 1
-DB9E 1
-DB9F 1
-DBA0 1
-DBA1 1
-DBA2 1
-DBA3 1
-DBA4 1
-DBA7 1
-DBA8 1
-DBAA 1
-DBAB 1
-DBAC 1
-DBAD 1
-DC8F 1
-DC91 1
-DCB0 1
-DCB1 1
-DCB2 1
-DCB3 1
-DCB4 1
-DCB5 1
-DCB6 1
-DCB7 1
-DCB8 1
-DCB9 1
-DCBA 1
-DCBB 1
-DCBC 1
-DCBD 1
-DCBE 1
-DCBF 1
-DD80 1
-DD81 1
-DD82 1
-DD83 1
-DD84 1
-DD85 1
-DD86 1
-DD87 1
-DD88 1
-DD89 1
-DD8A 1
-D980 1
-60 1
-C2B4 1
-CE84 1
-CB9C 1
-5E 1
-C2AF 1
-CB98 1
-CB99 1
-C2A8 1
-CE85 1
-CB9A 1
-CB9D 1
-C2B8 1
-CB9B 1
-5F 1
-C2AD 1
-2D 1
-D68A 1
-2C 1
-D59D 1
-D88C 1
-D88D 1
-D9AB 1
-D9AC 1
-3B 1
-CDBE 1
-D89B 1
-3A 1
-D689 1
-DC83 1
-DC84 1
-DC85 1
-DC86 1
-DC87 1
-DC88 1
-21 1
-C2A1 1
-D59C 1
-3F 1
-C2BF 1
-D59E 1
-D89F 1
-DC89 1
-2E 1
-DB94 1
-DC81 1
-DC82 1
-C2B7 1
-CE87 1
-DC80 1
-27 1
-22 1
-C2AB 1
-C2BB 1
-28 1
-29 1
-5B 1
-7B 1
-7D 1
-C2A7 1
-C2B6 1
-C2A9 1
-C2AE 1
-40 1
-2A 1
-D9AD 1
-2F 1
-26 1
-23 1
-25 1
-D9AA 1
-D59A 1
-D59B 1
-D59F 1
-D6BE 1
-D780 1
-D783 1
-D7B3 1
-D7B4 1
-DC8A 1
-DC8B 1
-DC8C 1
-DC8D 1
-CAB9 1
-CDB4 1
-CDB5 1
-CABA 1
-CB82 1
-CB83 1
-CB84 1
-CB85 1
-CB86 1
-CB87 1
-CB88 1
-CB89 1
-CB8A 1
-CB8B 1
-CB8C 1
-CB8D 1
-CB8E 1
-CB8F 1
-CB92 1
-CB93 1
-CB94 1
-CB95 1
-CB96 1
-CB97 1
-CB9E 1
-CB9F 1
-CBA5 1
-CBA6 1
-CBA7 1
-CBA8 1
-CBA9 1
-CBAA 1
-CBAB 1
-CBAC 1
-CBAD 1
-CBAF 1
-CBB0 1
-CBB1 1
-CBB2 1
-CBB3 1
-CBB4 1
-CBB5 1
-CBB6 1
-CBB7 1
-CBB8 1
-CBB9 1
-CBBA 1
-CBBB 1
-CBBC 1
-CBBD 1
-CBBE 1
-CBBF 1
-C2B0 1
-D282 1
-D88E 1
-D88F 1
-DBA9 1
-CFB6 1
-2B 1
-C2B1 1
-C3B7 1
-C397 1
-3C 1
-3D 1
-3E 1
-C2AC 1
-7C 1
-C2A6 1
-7E 1
-CB90 1
-CB91 1
-C2A4 1
-C2A2 1
-24 1
-C2A3 1
-C2A5 1
-30 1
-D9A0 1
-DBB0 1
-31 1
-C2B9 1
-D9A1 1
-DBB1 1
-C2BD 1
-C2BC 1
-32 1
-C2B2 1
-D9A2 1
-DBB2 1
-33 1
-C2B3 1
-D9A3 1
-DBB3 1
-C2BE 1
-34 1
-D9A4 1
-DBB4 1
-35 1
-D9A5 1
-DBB5 1
-36 1
-D9A6 1
-DBB6 1
-37 1
-D9A7 1
-DBB7 1
-38 1
-D9A8 1
-DBB8 1
-39 1
-D9A9 1
-DBB9 1
-41 1
-61 1
-C2AA 1
-C380 1
-C381 1
-C382 1
-C383 1
-C384 1
-C385 1
-C3A0 1
-C3A1 1
-C3A2 1
-C3A3 1
-C3A4 1
-C3A5 1
-C480 1
-C481 1
-C482 1
-C483 1
-C484 1
-C485 1
-C78D 1
-C78E 1
-C79E 1
-C79F 1
-C7A0 1
-C7A1 1
-C7BA 1
-C7BB 1
-C880 1
-C881 1
-C882 1
-C883 1
-C8A6 1
-C8A7 1
-CDA3 1
-C386 1
-C3A6 1
-C7A2 1
-C7A3 1
-C7BC 1
-C7BD 1
-C990 1
-C991 1
-C992 1
-42 1
-62 1
-CA99 1
-C680 1
-C681 1
-C993 1
-C682 1
-C683 1
-43 1
-63 1
-C387 1
-C3A7 1
-C486 1
-C487 1
-C488 1
-C489 1
-C48A 1
-C48B 1
-C48C 1
-C48D 1
-CDA8 1
-C687 1
-C688 1
-C995 1
-44 1
-64 1
-C48E 1
-C48F 1
-CDA9 1
-C784 1
-C785 1
-C786 1
-C7B1 1
-C7B2 1
-C7B3 1
-CAA3 1
-CAA5 1
-CAA4 1
-C490 1
-C491 1
-C689 1
-C996 1
-C68A 1
-C997 1
-C68B 1
-C68C 1
-C8A1 1
-C390 1
-C3B0 1
-45 1
-65 1
-C388 1
-C389 1
-C38A 1
-C38B 1
-C3A8 1
-C3A9 1
-C3AA 1
-C3AB 1
-C492 1
-C493 1
-C494 1
-C495 1
-C496 1
-C497 1
-C498 1
-C499 1
-C49A 1
-C49B 1
-C884 1
-C885 1
-C886 1
-C887 1
-C8A8 1
-C8A9 1
-CDA4 1
-C68E 1
-C79D 1
-C68F 1
-C999 1
-C690 1
-C99B 1
-C998 1
-C99A 1
-C99C 1
-C99D 1
-C99E 1
-CA9A 1
-C9A4 1
-46 1
-66 1
-CAA9 1
-C691 1
-C692 1
-47 1
-67 1
-C49C 1
-C49D 1
-C49E 1
-C49F 1
-C4A0 1
-C4A1 1
-C4A2 1
-C4A3 1
-C7A6 1
-C7A7 1
-C7B4 1
-C7B5 1
-C9A1 1
-C9A2 1
-C7A4 1
-C7A5 1
-C693 1
-C9A0 1
-CA9B 1
-C694 1
-C9A3 1
-CBA0 1
-C6A2 1
-C6A3 1
-48 1
-68 1
-C4A4 1
-C4A5 1
-C89E 1
-C89F 1
-CAB0 1
-CDAA 1
-CA9C 1
-C695 1
-C7B6 1
-C4A6 1
-C4A7 1
-C9A6 1
-CAB1 1
-C9A7 1
-CABB 1
-CABD 1
-49 1
-69 1
-C38C 1
-C38D 1
-C38E 1
-C38F 1
-C3AC 1
-C3AD 1
-C3AE 1
-C3AF 1
-C4A8 1
-C4A9 1
-C4AA 1
-C4AB 1
-C4AC 1
-C4AD 1
-C4AE 1
-C4AF 1
-C4B0 1
-C78F 1
-C790 1
-C888 1
-C889 1
-C88A 1
-C88B 1
-CDA5 1
-C4B2 1
-C4B3 1
-C4B1 1
-C9AA 1
-C697 1
-C9A8 1
-C696 1
-C9A9 1
-4A 1
-6A 1
-C4B4 1
-C4B5 1
-C7B0 1
-CAB2 1
-CA9D 1
-C99F 1
-CA84 1
-4B 1
-6B 1
-C4B6 1
-C4B7 1
-C7A8 1
-C7A9 1
-C698 1
-C699 1
-CA9E 1
-4C 1
-6C 1
-C4B9 1
-C4BA 1
-C4BB 1
-C4BC 1
-C4BD 1
-C4BE 1
-CBA1 1
-C4BF 1
-C580 1
-C787 1
-C788 1
-C789 1
-CAAA 1
-CAAB 1
-CA9F 1
-C581 1
-C582 1
-C69A 1
-C9AB 1
-C9AC 1
-C9AD 1
-C8B4 1
-C9AE 1
-C69B 1
-CA8E 1
-4D 1
-6D 1
-CDAB 1
-C9B1 1
-4E 1
-6E 1
-C391 1
-C3B1 1
-C583 1
-C584 1
-C585 1
-C586 1
-C587 1
-C588 1
-C7B8 1
-C7B9 1
-C78A 1
-C78B 1
-C78C 1
-C9B4 1
-C69D 1
-C9B2 1
-C69E 1
-C8A0 1
-C9B3 1
-C8B5 1
-C58A 1
-C58B 1
-4F 1
-6F 1
-C2BA 1
-C392 1
-C393 1
-C394 1
-C395 1
-C396 1
-C3B2 1
-C3B3 1
-C3B4 1
-C3B5 1
-C3B6 1
-C58C 1
-C58D 1
-C58E 1
-C58F 1
-C590 1
-C591 1
-C6A0 1
-C6A1 1
-C791 1
-C792 1
-C7AA 1
-C7AB 1
-C7AC 1
-C7AD 1
-C88C 1
-C88D 1
-C88E 1
-C88F 1
-C8AA 1
-C8AB 1
-C8AC 1
-C8AD 1
-C8AE 1
-C8AF 1
-C8B0 1
-C8B1 1
-CDA6 1
-C592 1
-C593 1
-C9B6 1
-C398 1
-C3B8 1
-C7BE 1
-C7BF 1
-C686 1
-C994 1
-C69F 1
-C9B5 1
-C9B7 1
-C8A2 1
-C8A3 1
-50 1
-70 1
-C6A4 1
-C6A5 1
-C9B8 1
-51 1
-71 1
-CAA0 1
-C4B8 1
-52 1
-72 1
-C594 1
-C595 1
-C596 1
-C597 1
-C598 1
-C599 1
-C890 1
-C891 1
-C892 1
-C893 1
-CAB3 1
-CDAC 1
-C6A6 1
-CA80 1
-C9B9 1
-CAB4 1
-C9BA 1
-C9BB 1
-CAB5 1
-C9BC 1
-C9BD 1
-C9BE 1
-C9BF 1
-CA81 1
-CAB6 1
-53 1
-73 1
-C59A 1
-C59B 1
-C59C 1
-C59D 1
-C59E 1
-C59F 1
-C5A0 1
-C5A1 1
-C5BF 1
-C898 1
-C899 1
-CBA2 1
-C39F 1
-CA82 1
-C6A9 1
-CA83 1
-C6AA 1
-CA85 1
-CA86 1
-54 1
-74 1
-C5A2 1
-C5A3 1
-C5A4 1
-C5A5 1
-C89A 1
-C89B 1
-CDAD 1
-CAA8 1
-C6BE 1
-CAA6 1
-CAA7 1
-C5A6 1
-C5A7 1
-C6AB 1
-C6AC 1
-C6AD 1
-C6AE 1
-CA88 1
-C8B6 1
-CA87 1
-55 1
-75 1
-C399 1
-C39A 1
-C39B 1
-C39C 1
-C3B9 1
-C3BA 1
-C3BB 1
-C3BC 1
-C5A8 1
-C5A9 1
-C5AA 1
-C5AB 1
-C5AC 1
-C5AD 1
-C5AE 1
-C5AF 1
-C5B0 1
-C5B1 1
-C5B2 1
-C5B3 1
-C6AF 1
-C6B0 1
-C793 1
-C794 1
-C795 1
-C796 1
-C797 1
-C798 1
-C799 1
-C79A 1
-C79B 1
-C79C 1
-C894 1
-C895 1
-C896 1
-C897 1
-CDA7 1
-CA89 1
-C9A5 1
-CAAE 1
-CAAF 1
-C69C 1
-C9AF 1
-C9B0 1
-C6B1 1
-CA8A 1
-56 1
-76 1
-CDAE 1
-C6B2 1
-CA8B 1
-CA8C 1
-57 1
-77 1
-C5B4 1
-C5B5 1
-CAB7 1
-CA8D 1
-58 1
-78 1
-CBA3 1
-CDAF 1
-59 1
-79 1
-C39D 1
-C3BD 1
-C3BF 1
-C5B6 1
-C5B7 1
-C5B8 1
-C8B2 1
-C8B3 1
-CAB8 1
-CA8F 1
-C6B3 1
-C6B4 1
-5A 1
-7A 1
-C5B9 1
-C5BA 1
-C5BB 1
-C5BC 1
-C5BD 1
-C5BE 1
-C68D 1
-C6B5 1
-C6B6 1
-C8A4 1
-C8A5 1
-CA90 1
-CA91 1
-C6B7 1
-C7AE 1
-C7AF 1
-CA92 1
-C6B8 1
-C6B9 1
-C6BA 1
-CA93 1
-C89C 1
-C89D 1
-C39E 1
-C3BE 1
-C6BF 1
-C7B7 1
-C6BB 1
-C6A7 1
-C6A8 1
-C6BC 1
-C6BD 1
-C684 1
-C685 1
-CA94 1
-CB80 1
-CABC 1
-C589 1
-CBAE 1
-CABE 1
-CA95 1
-CBA4 1
-CABF 1
-CB81 1
-CAA1 1
-CAA2 1
-CA96 1
-C780 1
-C781 1
-C782 1
-C783 1
-CA97 1
-CA98 1
-CAAC 1
-CAAD 1
-CE86 1
-CE91 1
-CEAC 1
-CEB1 1
-CE92 1
-CEB2 1
-CF90 1
-CE93 1
-CEB3 1
-CE94 1
-CEB4 1
-CE88 1
-CE95 1
-CEAD 1
-CEB5 1
-CFB5 1
-CF9C 1
-CF9D 1
-CF9A 1
-CF9B 1
-CE96 1
-CEB6 1
-CE89 1
-CE97 1
-CEAE 1
-CEB7 1
-CE98 1
-CEB8 1
-CF91 1
-CFB4 1
-CDBA 1
-CE8A 1
-CE90 1
-CE99 1
-CEAA 1
-CEAF 1
-CEB9 1
-CF8A 1
-CFB3 1
-CE9A 1
-CEBA 1
-CFB0 1
-CF97 1
-CE9B 1
-CEBB 1
-C2B5 1
-CE9C 1
-CEBC 1
-CE9D 1
-CEBD 1
-CE9E 1
-CEBE 1
-CE8C 1
-CE9F 1
-CEBF 1
-CF8C 1
-CEA0 1
-CF80 1
-CF96 1
-CF9E 1
-CF9F 1
-CF98 1
-CF99 1
-CEA1 1
-CF81 1
-CFB1 1
-CEA3 1
-CF82 1
-CF83 1
-CFB2 1
-CFB9 1
-CEA4 1
-CF84 1
-CE8E 1
-CEA5 1
-CEAB 1
-CEB0 1
-CF85 1
-CF8B 1
-CF8D 1
-CF92 1
-CF93 1
-CF94 1
-CEA6 1
-CF86 1
-CF95 1
-CEA7 1
-CF87 1
-CEA8 1
-CF88 1
-CE8F 1
-CEA9 1
-CF89 1
-CF8E 1
-CFA0 1
-CFA1 1
-CFB7 1
-CFB8 1
-CFBA 1
-CFBB 1
-CFA2 1
-CFA3 1
-CFA4 1
-CFA5 1
-CFA6 1
-CFA7 1
-CFA8 1
-CFA9 1
-CFAA 1
-CFAB 1
-CFAC 1
-CFAD 1
-CFAE 1
-CFAF 1
-D090 1
-D0B0 1
-D390 1
-D391 1
-D392 1
-D393 1
-D398 1
-D399 1
-D39A 1
-D39B 1
-D394 1
-D395 1
-D091 1
-D0B1 1
-D092 1
-D0B2 1
-D093 1
-D0B3 1
-D290 1
-D291 1
-D292 1
-D293 1
-D294 1
-D295 1
-D094 1
-D0B4 1
-D480 1
-D481 1
-D082 1
-D192 1
-D482 1
-D483 1
-D083 1
-D193 1
-D298 1
-D299 1
-D080 1
-D081 1
-D095 1
-D0B5 1
-D190 1
-D191 1
-D396 1
-D397 1
-D084 1
-D194 1
-D096 1
-D0B6 1
-D381 1
-D382 1
-D39C 1
-D39D 1
-D296 1
-D297 1
-D097 1
-D0B7 1
-D484 1
-D485 1
-D39E 1
-D39F 1
-D085 1
-D195 1
-D3A0 1
-D3A1 1
-D486 1
-D487 1
-D08D 1
-D098 1
-D0B8 1
-D19D 1
-D3A2 1
-D3A3 1
-D28A 1
-D28B 1
-D3A4 1
-D3A5 1
-D086 1
-D196 1
-D087 1
-D197 1
-D099 1
-D0B9 1
-D088 1
-D198 1
-D09A 1
-D0BA 1
-D29A 1
-D29B 1
-D383 1
-D384 1
-D2A0 1
-D2A1 1
-D29E 1
-D29F 1
-D29C 1
-D29D 1
-D09B 1
-D0BB 1
-D385 1
-D386 1
-D089 1
-D199 1
-D488 1
-D489 1
-D09C 1
-D0BC 1
-D38D 1
-D38E 1
-D09D 1
-D0BD 1
-D389 1
-D38A 1
-D2A2 1
-D2A3 1
-D387 1
-D388 1
-D2A4 1
-D2A5 1
-D08A 1
-D19A 1
-D48A 1
-D48B 1
-D09E 1
-D0BE 1
-D3A6 1
-D3A7 1
-D3A8 1
-D3A9 1
-D3AA 1
-D3AB 1
-D09F 1
-D0BF 1
-D2A6 1
-D2A7 1
-D280 1
-D281 1
-D0A0 1
-D180 1
-D28E 1
-D28F 1
-D0A1 1
-D181 1
-D48C 1
-D48D 1
-D2AA 1
-D2AB 1
-D0A2 1
-D182 1
-D48E 1
-D48F 1
-D2AC 1
-D2AD 1
-D08B 1
-D19B 1
-D08C 1
-D19C 1
-D0A3 1
-D183 1
-D3AE 1
-D3AF 1
-D08E 1
-D19E 1
-D3B0 1
-D3B1 1
-D3B2 1
-D3B3 1
-D2AE 1
-D2AF 1
-D2B0 1
-D2B1 1
-D1B8 1
-D1B9 1
-D0A4 1
-D184 1
-D0A5 1
-D185 1
-D2B2 1
-D2B3 1
-D2BA 1
-D2BB 1
-D1A0 1
-D1A1 1
-D1BE 1
-D1BF 1
-D1BC 1
-D1BD 1
-D1BA 1
-D1BB 1
-D0A6 1
-D186 1
-D2B4 1
-D2B5 1
-D0A7 1
-D187 1
-D3B4 1
-D3B5 1
-D2B6 1
-D2B7 1
-D38B 1
-D38C 1
-D2B8 1
-D2B9 1
-D2BC 1
-D2BD 1
-D2BE 1
-D2BF 1
-D08F 1
-D19F 1
-D0A8 1
-D188 1
-D0A9 1
-D189 1
-D0AA 1
-D18A 1
-D0AB 1
-D18B 1
-D3B8 1
-D3B9 1
-D0AC 1
-D18C 1
-D28C 1
-D28D 1
-D1A2 1
-D1A3 1
-D0AD 1
-D18D 1
-D3AC 1
-D3AD 1
-D0AE 1
-D18E 1
-D0AF 1
-D18F 1
-D1A4 1
-D1A5 1
-D1A6 1
-D1A7 1
-D1AA 1
-D1AB 1
-D1A8 1
-D1A9 1
-D1AC 1
-D1AD 1
-D1AE 1
-D1AF 1
-D1B0 1
-D1B1 1
-D1B2 1
-D1B3 1
-D1B4 1
-D1B5 1
-D1B6 1
-D1B7 1
-D2A8 1
-D2A9 1
-D380 1
-D4B1 1
-D5A1 1
-D4B2 1
-D5A2 1
-D4B3 1
-D5A3 1
-D4B4 1
-D5A4 1
-D4B5 1
-D5A5 1
-D687 1
-D4B6 1
-D5A6 1
-D4B7 1
-D5A7 1
-D4B8 1
-D5A8 1
-D4B9 1
-D5A9 1
-D4BA 1
-D5AA 1
-D4BB 1
-D5AB 1
-D4BC 1
-D5AC 1
-D4BD 1
-D5AD 1
-D4BE 1
-D5AE 1
-D4BF 1
-D5AF 1
-D580 1
-D5B0 1
-D581 1
-D5B1 1
-D582 1
-D5B2 1
-D583 1
-D5B3 1
-D584 1
-D5B4 1
-D585 1
-D5B5 1
-D586 1
-D5B6 1
-D587 1
-D5B7 1
-D588 1
-D5B8 1
-D589 1
-D5B9 1
-D58A 1
-D5BA 1
-D58B 1
-D5BB 1
-D58C 1
-D5BC 1
-D58D 1
-D5BD 1
-D58E 1
-D5BE 1
-D58F 1
-D5BF 1
-D590 1
-D680 1
-D591 1
-D681 1
-D592 1
-D682 1
-D593 1
-D683 1
-D594 1
-D684 1
-D595 1
-D685 1
-D596 1
-D686 1
-D599 1
-D790 1
-D791 1
-D792 1
-D793 1
-D794 1
-D795 1
-D7B0 1
-D7B1 1
-D796 1
-D797 1
-D798 1
-D799 1
-D7B2 1
-D79A 1
-D79B 1
-D79C 1
-D79D 1
-D79E 1
-D79F 1
-D7A0 1
-D7A1 1
-D7A2 1
-D7A3 1
-D7A4 1
-D7A5 1
-D7A6 1
-D7A7 1
-D7A8 1
-D7A9 1
-D7AA 1
-D8A1 1
-D9B4 1
-DBBD 1
-D8A2 1
-D8A3 1
-D9B2 1
-D9B1 1
-D8A4 1
-D8A5 1
-D9B3 1
-D8A6 1
-D8A7 1
-D9B5 1
-D9AE 1
-D8A8 1
-D9BB 1
-D9BE 1
-DA80 1
-D8A9 1
-D8AA 1
-D8AB 1
-D9B9 1
-D9BA 1
-D9BC 1
-D9BD 1
-D9BF 1
-D8AC 1
-DA83 1
-DA84 1
-DA86 1
-DABF 1
-DA87 1
-D8AD 1
-D8AE 1
-DA81 1
-DA82 1
-DA85 1
-D8AF 1
-D8B0 1
-DA88 1
-DA89 1
-DA8A 1
-DA8B 1
-DA8C 1
-DA8D 1
-DA8E 1
-DA8F 1
-DA90 1
-DBAE 1
-D8B1 1
-D8B2 1
-DA91 1
-DA92 1
-DA93 1
-DA94 1
-DA95 1
-DA96 1
-DA97 1
-DA98 1
-DA99 1
-DBAF 1
-D8B3 1
-D8B4 1
-DA9A 1
-DA9B 1
-DA9C 1
-DBBA 1
-D8B5 1
-D8B6 1
-DA9D 1
-DA9E 1
-DBBB 1
-D8B7 1
-D8B8 1
-DA9F 1
-D8B9 1
-D8BA 1
-DAA0 1
-DBBC 1
-D981 1
-DAA1 1
-DAA2 1
-DAA3 1
-DAA4 1
-DAA5 1
-DAA6 1
-D9AF 1
-D982 1
-DAA7 1
-DAA8 1
-D983 1
-DAA9 1
-DAAA 1
-DAAB 1
-DAAC 1
-DAAD 1
-DAAE 1
-DAAF 1
-DAB0 1
-DAB1 1
-DAB2 1
-DAB3 1
-DAB4 1
-D984 1
-DAB5 1
-DAB6 1
-DAB7 1
-DAB8 1
-D985 1
-DBBE 1
-D986 1
-DABA 1
-DABB 1
-DABC 1
-DABD 1
-DAB9 1
-D987 1
-DABE 1
-DB81 1
-DB82 1
-DB83 1
-DBBF 1
-DB80 1
-DB95 1
-D988 1
-DBA5 1
-D9B6 1
-DB84 1
-DB85 1
-DB86 1
-DB87 1
-D9B7 1
-DB88 1
-DB89 1
-DB8A 1
-DB8B 1
-DB8F 1
-D989 1
-D98A 1
-DBA6 1
-D9B8 1
-DB8C 1
-DB8D 1
-DB8E 1
-DB90 1
-DB91 1
-DB92 1
-DB93 1
-DC90 1
-DC92 1
-DCAD 1
-DC93 1
-DC94 1
-DCAE 1
-DC96 1
-DC95 1
-DCAF 1
-DC97 1
-DC98 1
-DC99 1
-DD8D 1
-DC9A 1
-DC9B 1
-DC9C 1
-DC9D 1
-DC9E 1
-DC9F 1
-DD8E 1
-DCA0 1
-DCA1 1
-DCA2 1
-DCA3 1
-DCA4 1
-DCA5 1
-DCA6 1
-DCA7 1
-DD8F 1
-DCA8 1
-DCA9 1
-DCAA 1
-DCAB 1
-DCAC 1
-DE80 1
-DE99 1
-DE9A 1
-DE81 1
-DE82 1
-DE83 1
-DE9C 1
-DE84 1
-DE85 1
-DE86 1
-DE87 1
-DEA2 1
-DEA3 1
-DE88 1
-DEA5 1
-DE89 1
-DE8A 1
-DE8B 1
-DE9B 1
-DE8C 1
-DE98 1
-DEA0 1
-DEA1 1
-DE8D 1
-DE8E 1
-DEA4 1
-DE8F 1
-DE90 1
-DE9D 1
-DE9E 1
-DE9F 1
-DE91 1
-DE92 1
-DE93 1
-DE94 1
-DE95 1
-DE96 1
-DE97 1
-DEB1 1
-DEA6 1
-DEA7 1
-DEA8 1
-DEA9 1
-DEAA 1
-DEAB 1
-DEAC 1
-DEAD 1
-DEAE 1
-DEAF 1
-DEB0 1
-E4B880 1
-E4B881 1
-E4B882 1
-E4B883 1
-E4B884 1
-E4B885 1
-E4B886 1
-E4B887 1
-E4B888 1
-E4B889 1
-E4B88A 1
-E4B88B 1
-E4B88C 1
-E4B88D 1
-E4B88E 1
-E4B88F 1
-E4B890 1
-E4B891 1
-E4B892 1
-E4B893 1
-E4B894 1
-E4B895 1
-E4B896 1
-E4B897 1
-E4B898 1
-E4B899 1
-E4B89A 1
-E4B89B 1
-E4B89C 1
-E4B89D 1
-E4B89E 1
-E4B89F 1
-E4B8A0 1
-E4B8A1 1
-E4B8A2 1
-E4B8A3 1
-E4B8A4 1
-E4B8A5 1
-E4B8A6 1
-E4B8A7 1
-E4B8A8 1
-E4B8A9 1
-E4B8AA 1
-E4B8AB 1
-E4B8AC 1
-E4B8AD 1
-E4B8AE 1
-E4B8AF 1
-E4B8B0 1
-E4B8B1 1
-E4B8B2 1
-E4B8B3 1
-E4B8B4 1
-E4B8B5 1
-E4B8B6 1
-E4B8B7 1
-E4B8B8 1
-E4B8B9 1
-E4B8BA 1
-E4B8BB 1
-E4B8BC 1
-E4B8BD 1
-E4B8BE 1
-E4B8BF 1
-E4B980 1
-E4B981 1
-E4B982 1
-E4B983 1
-E4B984 1
-E4B985 1
-E4B986 1
-E4B987 1
-E4B988 1
-E4B989 1
-E4B98A 1
-E4B98B 1
-E4B98C 1
-E4B98D 1
-E4B98E 1
-E4B98F 1
-E4B990 1
-E4B991 1
-E4B992 1
-E4B993 1
-E4B994 1
-E4B995 1
-E4B996 1
-E4B997 1
-E4B998 1
-E4B999 1
-E4B99A 1
-E4B99B 1
-E4B99C 1
-E4B99D 1
-E4B99E 1
-E4B99F 1
-E4B9A0 1
-E4B9A1 1
-E4B9A2 1
-E4B9A3 1
-E4B9A4 1
-E4B9A5 1
-E4B9A6 1
-E4B9A7 1
-E4B9A8 1
-E4B9A9 1
-E4B9AA 1
-E4B9AB 1
-E4B9AC 1
-E4B9AD 1
-E4B9AE 1
-E4B9AF 1
-E4B9B0 1
-E4B9B1 1
-E4B9B2 1
-E4B9B3 1
-E4B9B4 1
-E4B9B5 1
-E4B9B6 1
-E4B9B7 1
-E4B9B8 1
-E4B9B9 1
-E4B9BA 1
-E4B9BB 1
-E4B9BC 1
-E4B9BD 1
-E4B9BE 1
-E4B9BF 1
-E4BA80 1
-E4BA81 1
-E4BA82 1
-E4BA83 1
-E4BA84 1
-E4BA85 1
-E4BA86 1
-E4BA87 1
-E4BA88 1
-E4BA89 1
-E4BA8A 1
-E4BA8B 1
-E4BA8C 1
-E4BA8D 1
-E4BA8E 1
-E4BA8F 1
-E4BA90 1
-E4BA91 1
-E4BA92 1
-E4BA93 1
-E4BA94 1
-E4BA95 1
-E4BA96 1
-E4BA97 1
-E4BA98 1
-E4BA99 1
-E4BA9A 1
-E4BA9B 1
-E4BA9C 1
-E4BA9D 1
-E4BA9E 1
-E4BA9F 1
-E4BAA0 1
-E4BAA1 1
-E4BAA2 1
-E4BAA3 1
-E4BAA4 1
-E4BAA5 1
-E4BAA6 1
-E4BAA7 1
-E4BAA8 1
-E4BAA9 1
-E4BAAA 1
-E4BAAB 1
-E4BAAC 1
-E4BAAD 1
-E4BAAE 1
-E4BAAF 1
-E4BAB0 1
-E4BAB1 1
-E4BAB2 1
-E4BAB3 1
-E4BAB4 1
-E4BAB5 1
-E4BAB6 1
-E4BAB7 1
-E4BAB8 1
-E4BAB9 1
-E4BABA 1
-E4BABB 1
-E4BABC 1
-E4BABD 1
-E4BABE 1
-E4BABF 1
-E4BB80 1
-E4BB81 1
-E4BB82 1
-E4BB83 1
-E4BB84 1
-E4BB85 1
-E4BB86 1
-E4BB87 1
-E4BB88 1
-E4BB89 1
-E4BB8A 1
-E4BB8B 1
-E4BB8C 1
-E4BB8D 1
-E4BB8E 1
-E4BB8F 1
-E4BB90 1
-E4BB91 1
-E4BB92 1
-E4BB93 1
-E4BB94 1
-E4BB95 1
-E4BB96 1
-E4BB97 1
-E4BB98 1
-E4BB99 1
-E4BB9A 1
-E4BB9B 1
-E4BB9C 1
-E4BB9D 1
-E4BB9E 1
-E4BB9F 1
-E4BBA0 1
-E4BBA1 1
-E4BBA2 1
-E4BBA3 1
-E4BBA4 1
-E4BBA5 1
-E4BBA6 1
-E4BBA7 1
-E4BBA8 1
-E4BBA9 1
-E4BBAA 1
-E4BBAB 1
-E4BBAC 1
-E4BBAD 1
-E4BBAE 1
-E4BBAF 1
-E4BBB0 1
-E4BBB1 1
-E4BBB2 1
-E4BBB3 1
-E4BBB4 1
-E4BBB5 1
-E4BBB6 1
-E4BBB7 1
-E4BBB8 1
-E4BBB9 1
-E4BBBA 1
-E4BBBB 1
-E4BBBC 1
-E4BBBD 1
-E4BBBE 1
-E4BBBF 1
-E4BC80 1
-E4BC81 1
-E4BC82 1
-E4BC83 1
-E4BC84 1
-E4BC85 1
-E4BC86 1
-E4BC87 1
-E4BC88 1
-E4BC89 1
-E4BC8A 1
-E4BC8B 1
-E4BC8C 1
-E4BC8D 1
-E4BC8E 1
-E4BC8F 1
-E4BC90 1
-E4BC91 1
-E4BC92 1
-E4BC93 1
-E4BC94 1
-E4BC95 1
-E4BC96 1
-E4BC97 1
-E4BC98 1
-E4BC99 1
-E4BC9A 1
-E4BC9B 1
-E4BC9C 1
-E4BC9D 1
-E4BC9E 1
-E4BC9F 1
-E4BCA0 1
-E4BCA1 1
-E4BCA2 1
-E4BCA3 1
-E4BCA4 1
-E4BCA5 1
-E4BCA6 1
-E4BCA7 1
-E4BCA8 1
-E4BCA9 1
-E4BCAA 1
-E4BCAB 1
-E4BCAC 1
-E4BCAD 1
-E4BCAE 1
-E4BCAF 1
-E4BCB0 1
-E4BCB1 1
-E4BCB2 1
-E4BCB3 1
-E4BCB4 1
-E4BCB5 1
-E4BCB6 1
-E4BCB7 1
-E4BCB8 1
-E4BCB9 1
-E4BCBA 1
-E4BCBB 1
-E4BCBC 1
-E4BCBD 1
-E4BCBE 1
-E4BCBF 1
-E4BD80 1
-E4BD81 1
-E4BD82 1
-E4BD83 1
-E4BD84 1
-E4BD85 1
-E4BD86 1
-E4BD87 1
-E4BD88 1
-E4BD89 1
-E4BD8A 1
-E4BD8B 1
-E4BD8C 1
-E4BD8D 1
-E4BD8E 1
-E4BD8F 1
-E4BD90 1
-E4BD91 1
-E4BD92 1
-E4BD93 1
-E4BD94 1
-E4BD95 1
-E4BD96 1
-E4BD97 1
-E4BD98 1
-E4BD99 1
-E4BD9A 1
-E4BD9B 1
-E4BD9C 1
-E4BD9D 1
-E4BD9E 1
-E4BD9F 1
-E4BDA0 1
-E4BDA1 1
-E4BDA2 1
-E4BDA3 1
-E4BDA4 1
-E4BDA5 1
-E4BDA6 1
-E4BDA7 1
-E4BDA8 1
-E4BDA9 1
-E4BDAA 1
-E4BDAB 1
-E4BDAC 1
-E4BDAD 1
-E4BDAE 1
-E4BDAF 1
-E4BDB0 1
-E4BDB1 1
-E4BDB2 1
-E4BDB3 1
-E4BDB4 1
-E4BDB5 1
-E4BDB6 1
-E4BDB7 1
-E4BDB8 1
-E4BDB9 1
-E4BDBA 1
-E4BDBB 1
-E4BDBC 1
-E4BDBD 1
-E4BDBE 1
-E4BDBF 1
-E4BE80 1
-E4BE81 1
-E4BE82 1
-E4BE83 1
-E4BE84 1
-E4BE85 1
-E4BE86 1
-E4BE87 1
-E4BE88 1
-E4BE89 1
-E4BE8A 1
-E4BE8B 1
-E4BE8C 1
-E4BE8D 1
-E4BE8E 1
-E4BE8F 1
-E4BE90 1
-E4BE91 1
-E4BE92 1
-E4BE93 1
-E4BE94 1
-E4BE95 1
-E4BE96 1
-E4BE97 1
-E4BE98 1
-E4BE99 1
-E4BE9A 1
-E4BE9B 1
-E4BE9C 1
-E4BE9D 1
-E4BE9E 1
-E4BE9F 1
-E4BEA0 1
-E4BEA1 1
-E4BEA2 1
-E4BEA3 1
-E4BEA4 1
-E4BEA5 1
-E4BEA6 1
-E4BEA7 1
-E4BEA8 1
-E4BEA9 1
-E4BEAA 1
-E4BEAB 1
-E4BEAC 1
-E4BEAD 1
-E4BEAE 1
-E4BEAF 1
-E4BEB0 1
-E4BEB1 1
-E4BEB2 1
-E4BEB3 1
-E4BEB4 1
-E4BEB5 1
-E4BEB6 1
-E4BEB7 1
-E4BEB8 1
-E4BEB9 1
-E4BEBA 1
-E4BEBB 1
-E4BEBC 1
-E4BEBD 1
-E4BEBE 1
-E4BEBF 1
-E4BF80 1
-E4BF81 1
-E4BF82 1
-E4BF83 1
-E4BF84 1
-E4BF85 1
-E4BF86 1
-E4BF87 1
-E4BF88 1
-E4BF89 1
-E4BF8A 1
-E4BF8B 1
-E4BF8C 1
-E4BF8D 1
-E4BF8E 1
-E4BF8F 1
-E4BF90 1
-E4BF91 1
-E4BF92 1
-E4BF93 1
-E4BF94 1
-E4BF95 1
-E4BF96 1
-E4BF97 1
-E4BF98 1
-E4BF99 1
-E4BF9A 1
-E4BF9B 1
-E4BF9C 1
-E4BF9D 1
-E4BF9E 1
-E4BF9F 1
-E4BFA0 1
-E4BFA1 1
-E4BFA2 1
-E4BFA3 1
-E4BFA4 1
-E4BFA5 1
-E4BFA6 1
-E4BFA7 1
-E4BFA8 1
-E4BFA9 1
-E4BFAA 1
-E4BFAB 1
-E4BFAC 1
-E4BFAD 1
-E4BFAE 1
-E4BFAF 1
-E4BFB0 1
-E4BFB1 1
-E4BFB2 1
-E4BFB3 1
-E4BFB4 1
-E4BFB5 1
-E4BFB6 1
-E4BFB7 1
-E4BFB8 1
-E4BFB9 1
-E4BFBA 1
-E4BFBB 1
-E4BFBC 1
-E4BFBD 1
-E4BFBE 1
-E4BFBF 1
-C8B7 1
-C8B8 1
-C8B9 1
-C8BA 1
-C8BB 1
-C8BC 1
-C8BD 1
-C8BE 1
-C8BF 1
-C980 1
-C981 1
-C982 1
-C983 1
-C984 1
-C985 1
-C986 1
-C987 1
-C988 1
-C989 1
-C98A 1
-C98B 1
-C98C 1
-C98D 1
-C98E 1
-C98F 1
-CD98 1
-CD99 1
-CD9A 1
-CD9B 1
-CD9C 1
-CDB0 1
-CDB1 1
-CDB2 1
-CDB3 1
-CDB6 1
-CDB7 1
-CDB8 1
-CDB9 1
-CDBB 1
-CDBC 1
-CDBD 1
-CDBF 1
-CE80 1
-CE81 1
-CE82 1
-CE83 1
-CE8B 1
-CE8D 1
-CEA2 1
-CF8F 1
-CFBC 1
-CFBD 1
-CFBE 1
-CFBF 1
-D287 1
-D38F 1
-D3B6 1
-D3B7 1
-D3BA 1
-D3BB 1
-D3BC 1
-D3BD 1
-D3BE 1
-D3BF 1
-D490 1
-D491 1
-D492 1
-D493 1
-D494 1
-D495 1
-D496 1
-D497 1
-D498 1
-D499 1
-D49A 1
-D49B 1
-D49C 1
-D49D 1
-D49E 1
-D49F 1
-D4A0 1
-D4A1 1
-D4A2 1
-D4A3 1
-D4A4 1
-D4A5 1
-D4A6 1
-D4A7 1
-D4A8 1
-D4A9 1
-D4AA 1
-D4AB 1
-D4AC 1
-D4AD 1
-D4AE 1
-D4AF 1
-D4B0 1
-D597 1
-D598 1
-D5A0 1
-D688 1
-D68B 1
-D68C 1
-D68D 1
-D68E 1
-D68F 1
-D690 1
-D6A2 1
-D6BA 1
-D785 1
-D786 1
-D787 1
-D788 1
-D789 1
-D78A 1
-D78B 1
-D78C 1
-D78D 1
-D78E 1
-D78F 1
-D7AB 1
-D7AC 1
-D7AD 1
-D7AE 1
-D7AF 1
-D7B5 1
-D7B6 1
-D7B7 1
-D7B8 1
-D7B9 1
-D7BA 1
-D7BB 1
-D7BC 1
-D7BD 1
-D7BE 1
-D7BF 1
-D884 1
-D885 1
-D886 1
-D887 1
-D888 1
-D889 1
-D88A 1
-D88B 1
-D896 1
-D897 1
-D898 1
-D899 1
-D89A 1
-D89C 1
-D89D 1
-D89E 1
-D8A0 1
-D8BB 1
-D8BC 1
-D8BD 1
-D8BE 1
-D8BF 1
-D999 1
-D99A 1
-D99B 1
-D99C 1
-D99D 1
-D99E 1
-D99F 1
-DC8E 1
-DD8B 1
-DD8C 1
-DD90 1
-DD91 1
-DD92 1
-DD93 1
-DD94 1
-DD95 1
-DD96 1
-DD97 1
-DD98 1
-DD99 1
-DD9A 1
-DD9B 1
-DD9C 1
-DD9D 1
-DD9E 1
-DD9F 1
-DDA0 1
-DDA1 1
-DDA2 1
-DDA3 1
-DDA4 1
-DDA5 1
-DDA6 1
-DDA7 1
-DDA8 1
-DDA9 1
-DDAA 1
-DDAB 1
-DDAC 1
-DDAD 1
-DDAE 1
-DDAF 1
-DDB0 1
-DDB1 1
-DDB2 1
-DDB3 1
-DDB4 1
-DDB5 1
-DDB6 1
-DDB7 1
-DDB8 1
-DDB9 1
-DDBA 1
-DDBB 1
-DDBC 1
-DDBD 1
-DDBE 1
-DDBF 1
-DEB2 1
-DEB3 1
-DEB4 1
-DEB5 1
-DEB6 1
-DEB7 1
-DEB8 1
-DEB9 1
-DEBA 1
-DEBB 1
-DEBC 1
-DEBD 1
-DEBE 1
-DEBF 1
-DF80 1
-DF81 1
-DF82 1
-DF83 1
-DF84 1
-DF85 1
-DF86 1
-DF87 1
-DF88 1
-DF89 1
-DF8A 1
-DF8B 1
-DF8C 1
-DF8D 1
-DF8E 1
-DF8F 1
-DF90 1
-DF91 1
-DF92 1
-DF93 1
-DF94 1
-DF95 1
-DF96 1
-DF97 1
-DF98 1
-DF99 1
-DF9A 1
-DF9B 1
-DF9C 1
-DF9D 1
-DF9E 1
-DF9F 1
-DFA0 1
-DFA1 1
-DFA2 1
-DFA3 1
-DFA4 1
-DFA5 1
-DFA6 1
-DFA7 1
-DFA8 1
-DFA9 1
-DFAA 1
-DFAB 1
-DFAC 1
-DFAD 1
-DFAE 1
-DFAF 1
-DFB0 1
-DFB1 1
-DFB2 1
-DFB3 1
-DFB4 1
-DFB5 1
-DFB6 1
-DFB7 1
-DFB8 1
-DFB9 1
-DFBA 1
-DFBB 1
-DFBC 1
-DFBD 1
-DFBE 1
-DFBF 1
-DROP TABLE IF EXISTS test.t1;
diff --git a/mysql-test/suite/funcs_2/t/disabled.def b/mysql-test/suite/funcs_2/t/disabled.def
index 8ca94961dd2..8b137891791 100644
--- a/mysql-test/suite/funcs_2/t/disabled.def
+++ b/mysql-test/suite/funcs_2/t/disabled.def
@@ -1,4 +1 @@
-# Should maybe be enabled, but ndb is not part of the ordinary build.
-# Bernt M. Johnsen 2010-05-10
-ndb_charset : Bug#20447 Problem with prefix keys with contractions and expansions
diff --git a/mysql-test/suite/funcs_2/t/ndb_charset.test b/mysql-test/suite/funcs_2/t/ndb_charset.test
deleted file mode 100644
index 68665cc1ae5..00000000000
--- a/mysql-test/suite/funcs_2/t/ndb_charset.test
+++ /dev/null
@@ -1,14 +0,0 @@
-################################################################################
-# Author: Serge Kozlov #
-# Date: 09/21/2005 #
-# Purpose: Testing the charsets for NDB engine #
-# #
-# Checking of other prerequisites is in charset_master.test #
-################################################################################
-
---source include/have_ndb.inc
---source include/not_embedded.inc
-
-let $engine_type= NDB;
---source suite/funcs_2/charset/charset_master.test
-
diff --git a/mysql-test/suite/ibmdb2i/include/have_i54.inc b/mysql-test/suite/ibmdb2i/include/have_i54.inc
deleted file mode 100644
index 7054e196153..00000000000
--- a/mysql-test/suite/ibmdb2i/include/have_i54.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-# Check for IBM i 6.1 or later
---disable_query_log
-system uname -rv > $MYSQLTEST_VARDIR/tmp/version;
---disable_warnings
-drop table if exists uname_vr;
---enable_warnings
-create temporary table uname_vr (r int, v int);
---disable_warnings
-eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/version" into table uname_vr fields terminated by ' ';
---enable_warnings
-let $ok = `select count(*) from uname_vr where v = 5 and r = 4`;
-drop table uname_vr;
-remove_file $MYSQLTEST_VARDIR/tmp/version;
---enable_query_log
-if (!$ok)
-{
- skip "Need IBM i 5.4 or later";
-}
-
-
diff --git a/mysql-test/suite/ibmdb2i/include/have_i61.inc b/mysql-test/suite/ibmdb2i/include/have_i61.inc
deleted file mode 100644
index 84b9a17c1d8..00000000000
--- a/mysql-test/suite/ibmdb2i/include/have_i61.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-# Check for IBM i 6.1 or later
---disable_query_log
-system uname -rv > $MYSQLTEST_VARDIR/tmp/version;
---disable_warnings
-drop table if exists uname_vr;
---enable_warnings
-create temporary table uname_vr (r int, v int);
---disable_warnings
-eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/version" into table uname_vr fields terminated by ' ';
---enable_warnings
-let $ok = `select count(*) from uname_vr where v > 5`;
-drop table uname_vr;
-remove_file $MYSQLTEST_VARDIR/tmp/version;
---enable_query_log
-if (!$ok)
-{
- skip "Need IBM i 6.1 or later";
-}
-
-
diff --git a/mysql-test/suite/ibmdb2i/include/have_ibmdb2i.inc b/mysql-test/suite/ibmdb2i/include/have_ibmdb2i.inc
deleted file mode 100644
index f3ef0b4f1ac..00000000000
--- a/mysql-test/suite/ibmdb2i/include/have_ibmdb2i.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-if (!`SELECT count(*) FROM information_schema.engines WHERE
- (support = 'YES' OR support = 'DEFAULT') AND
- engine = 'ibmdb2i'`)
-{
- skip Need ibmdb2i engine;
-}
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44020.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44020.result
deleted file mode 100644
index ddf92db6bca..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44020.result
+++ /dev/null
@@ -1,11 +0,0 @@
-create schema `A12345_@$#`;
-create table `A12345_@$#`.t1 (i int) engine=ibmdb2i;
-show create table `A12345_@$#`.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `i` int(11) DEFAULT NULL
-) ENGINE=IBMDB2I DEFAULT CHARSET=latin1
-select * from `A12345_@$#`.t1;
-i
-drop table `A12345_@$#`.t1;
-drop schema `A12345_@$#`;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44025.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44025.result
deleted file mode 100644
index 10a3070fcc4..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44025.result
+++ /dev/null
@@ -1,4 +0,0 @@
-create table t1 (c char(10) collate utf8_swedish_ci, index(c)) engine=ibmdb2i;
-drop table t1;
-create table t1 (c char(10) collate ucs2_swedish_ci, index(c)) engine=ibmdb2i;
-drop table t1;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result
deleted file mode 100644
index 8276b401073..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result
+++ /dev/null
@@ -1,4 +0,0 @@
-create table t1 (c char(1) character set armscii8) engine=ibmdb2i;
-ERROR HY000: Can't create table 'test.t1' (errno: 2504)
-create table t1 (c char(1) character set eucjpms ) engine=ibmdb2i;
-ERROR HY000: Can't create table 'test.t1' (errno: 2504)
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result
deleted file mode 100644
index 311e800e1b0..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result
+++ /dev/null
@@ -1,18 +0,0 @@
-create table ABC (i int) engine=ibmdb2i;
-drop table ABC;
-create table `1234567890ABC` (i int) engine=ibmdb2i;
-drop table `1234567890ABC`;
-create table `!@#$%` (i int) engine=ibmdb2i;
-drop table `!@#$%`;
-create table `ABCD#########` (i int) engine=ibmdb2i;
-drop table `ABCD#########`;
-create table `_` (i int) engine=ibmdb2i;
-drop table `_`;
-create table `abc##def` (i int) engine=ibmdb2i;
-drop table `abc##def`;
-set names utf8;
-create table Ä° (s1 int) engine=ibmdb2i;
-drop table Ä°;
-create table Ä°Ä° (s1 int) engine=ibmdb2i;
-drop table Ä°Ä°;
-set names latin1;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45196.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45196.result
deleted file mode 100644
index 916e1d93ee5..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45196.result
+++ /dev/null
@@ -1,33 +0,0 @@
-drop table if exists t1;
-create table t1 (c char(10), index(c)) collate ucs2_czech_ci engine=ibmdb2i;
-insert into t1 values ("ch"),("h"),("i");
-select * from t1 order by c;
-c
-h
-ch
-i
-drop table t1;
-create table t1 (c char(10), index(c)) collate utf8_czech_ci engine=ibmdb2i;
-insert into t1 values ("ch"),("h"),("i");
-select * from t1 order by c;
-c
-h
-ch
-i
-drop table t1;
-create table t1 (c char(10), index(c)) collate ucs2_danish_ci engine=ibmdb2i;
-insert into t1 values("abc"),("abcd"),("aaaa");
-select c from t1 order by c;
-c
-abc
-abcd
-aaaa
-drop table t1;
-create table t1 (c char(10), index(c)) collate utf8_danish_ci engine=ibmdb2i;
-insert into t1 values("abc"),("abcd"),("aaaa");
-select c from t1 order by c;
-c
-abc
-abcd
-aaaa
-drop table t1;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45793.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45793.result
deleted file mode 100644
index 2392b746877..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45793.result
+++ /dev/null
@@ -1,7 +0,0 @@
-drop table if exists t1;
-create table t1 (c char(10), index(c)) charset macce engine=ibmdb2i;
-insert into t1 values ("test");
-select * from t1 order by c;
-c
-test
-drop table t1;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45983.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45983.result
deleted file mode 100644
index b9f4dcfc656..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_45983.result
+++ /dev/null
@@ -1,20 +0,0 @@
-set ibmdb2i_create_index_option=1;
-drop schema if exists test1;
-create schema test1;
-use test1;
-CREATE TABLE t1 (f int primary key, index(f)) engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (f char(10) collate utf8_bin primary key, index(f)) engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, index(f)) engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, i int, index i(i,f)) engine=ibmdb2i;
-drop table t1;
-create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
-select * from fd;
-SQSSEQ
-*HEX
-*HEX
-*HEX
-*HEX
-drop table fd;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_49329.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_49329.result
deleted file mode 100644
index d5bfc2579fd..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_49329.result
+++ /dev/null
@@ -1,9 +0,0 @@
-create table ABC (i int) engine=ibmdb2i;
-insert into ABC values(1);
-create table abc (i int) engine=ibmdb2i;
-insert into abc values (2);
-select * from ABC;
-i
-1
-drop table ABC;
-drop table abc;
diff --git a/mysql-test/suite/ibmdb2i/r/ibmdb2i_collations.result b/mysql-test/suite/ibmdb2i/r/ibmdb2i_collations.result
deleted file mode 100644
index 4f7d71cab2d..00000000000
--- a/mysql-test/suite/ibmdb2i/r/ibmdb2i_collations.result
+++ /dev/null
@@ -1,1204 +0,0 @@
-drop table if exists t1, ffd, fd;
-CREATE TABLE t1 (armscii8_bin integer, c char(10), v varchar(20), index(c), index(v)) collate armscii8_bin engine=ibmdb2i;
-CREATE TABLE t1 (armscii8_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate armscii8_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (ascii_bin integer, c char(10), v varchar(20), index(c), index(v)) collate ascii_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (ascii_bin char(10) primary key) collate ascii_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ascii_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ascii_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (ascii_general_ci char(10) primary key) collate ascii_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (big5_bin integer, c char(10), v varchar(20), index(c), index(v)) collate big5_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (big5_bin char(10) primary key) collate big5_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (big5_chinese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate big5_chinese_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (big5_chinese_ci char(10) primary key) collate big5_chinese_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1250_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp1250_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1250_bin char(10) primary key) collate cp1250_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1250_croatian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1250_croatian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1250_croatian_ci char(10) primary key) collate cp1250_croatian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1250_czech_cs integer, c char(10), v varchar(20), index(c), index(v)) collate cp1250_czech_cs engine=ibmdb2i;
-CREATE TABLE t1 (cp1250_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1250_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1250_general_ci char(10) primary key) collate cp1250_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1250_polish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1250_polish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1250_polish_ci char(10) primary key) collate cp1250_polish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1251_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp1251_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1251_bin char(10) primary key) collate cp1251_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1251_bulgarian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1251_bulgarian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1251_bulgarian_ci char(10) primary key) collate cp1251_bulgarian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1251_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1251_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1251_general_ci char(10) primary key) collate cp1251_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1251_general_cs integer, c char(10), v varchar(20), index(c), index(v)) collate cp1251_general_cs engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1251_general_cs char(10) primary key) collate cp1251_general_cs engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1251_ukrainian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1251_ukrainian_ci engine=ibmdb2i;
-CREATE TABLE t1 (cp1256_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp1256_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1256_bin char(10) primary key) collate cp1256_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1256_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1256_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp1256_general_ci char(10) primary key) collate cp1256_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp1257_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp1257_bin engine=ibmdb2i;
-CREATE TABLE t1 (cp1257_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1257_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (cp1257_lithuanian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp1257_lithuanian_ci engine=ibmdb2i;
-CREATE TABLE t1 (cp850_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp850_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp850_bin char(10) primary key) collate cp850_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp850_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp850_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp850_general_ci char(10) primary key) collate cp850_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp852_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp852_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp852_bin char(10) primary key) collate cp852_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp852_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp852_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (cp852_general_ci char(10) primary key) collate cp852_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp866_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp866_bin engine=ibmdb2i;
-CREATE TABLE t1 (cp866_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp866_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (cp932_bin integer, c char(10), v varchar(20), index(c), index(v)) collate cp932_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (cp932_bin char(10) primary key) collate cp932_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (cp932_japanese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate cp932_japanese_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (cp932_japanese_ci char(10) primary key) collate cp932_japanese_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (dec8_bin integer, c char(10), v varchar(20), index(c), index(v)) collate dec8_bin engine=ibmdb2i;
-CREATE TABLE t1 (dec8_swedish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate dec8_swedish_ci engine=ibmdb2i;
-CREATE TABLE t1 (eucjpms_bin integer, c char(10), v varchar(20), index(c), index(v)) collate eucjpms_bin engine=ibmdb2i;
-CREATE TABLE t1 (eucjpms_japanese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate eucjpms_japanese_ci engine=ibmdb2i;
-CREATE TABLE t1 (euckr_bin integer, c char(10), v varchar(20), index(c), index(v)) collate euckr_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (euckr_bin char(10) primary key) collate euckr_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (euckr_korean_ci integer, c char(10), v varchar(20), index(c), index(v)) collate euckr_korean_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (euckr_korean_ci char(10) primary key) collate euckr_korean_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (gb2312_bin integer, c char(10), v varchar(20), index(c), index(v)) collate gb2312_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (gb2312_bin char(10) primary key) collate gb2312_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (gb2312_chinese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate gb2312_chinese_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (gb2312_chinese_ci char(10) primary key) collate gb2312_chinese_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (gbk_bin integer, c char(10), v varchar(20), index(c), index(v)) collate gbk_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (gbk_bin char(10) primary key) collate gbk_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (gbk_chinese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate gbk_chinese_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (gbk_chinese_ci char(10) primary key) collate gbk_chinese_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (geostd8_bin integer, c char(10), v varchar(20), index(c), index(v)) collate geostd8_bin engine=ibmdb2i;
-CREATE TABLE t1 (geostd8_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate geostd8_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (greek_bin integer, c char(10), v varchar(20), index(c), index(v)) collate greek_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (greek_bin char(10) primary key) collate greek_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (greek_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate greek_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (greek_general_ci char(10) primary key) collate greek_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (hebrew_bin integer, c char(10), v varchar(20), index(c), index(v)) collate hebrew_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (hebrew_bin char(10) primary key) collate hebrew_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (hebrew_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate hebrew_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (hebrew_general_ci char(10) primary key) collate hebrew_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (hp8_bin integer, c char(10), v varchar(20), index(c), index(v)) collate hp8_bin engine=ibmdb2i;
-CREATE TABLE t1 (hp8_english_ci integer, c char(10), v varchar(20), index(c), index(v)) collate hp8_english_ci engine=ibmdb2i;
-CREATE TABLE t1 (keybcs2_bin integer, c char(10), v varchar(20), index(c), index(v)) collate keybcs2_bin engine=ibmdb2i;
-CREATE TABLE t1 (keybcs2_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate keybcs2_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (koi8r_bin integer, c char(10), v varchar(20), index(c), index(v)) collate koi8r_bin engine=ibmdb2i;
-CREATE TABLE t1 (koi8r_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate koi8r_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (koi8u_bin integer, c char(10), v varchar(20), index(c), index(v)) collate koi8u_bin engine=ibmdb2i;
-CREATE TABLE t1 (koi8u_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate koi8u_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (latin1_bin integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_bin char(10) primary key) collate latin1_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin1_danish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_danish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_danish_ci char(10) primary key) collate latin1_danish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin1_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_general_ci char(10) primary key) collate latin1_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin1_general_cs integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_general_cs engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_general_cs char(10) primary key) collate latin1_general_cs engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin1_german1_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_german1_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_german1_ci char(10) primary key) collate latin1_german1_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin1_german2_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_german2_ci engine=ibmdb2i;
-CREATE TABLE t1 (latin1_spanish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_spanish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_spanish_ci char(10) primary key) collate latin1_spanish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin1_swedish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin1_swedish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin1_swedish_ci char(10) primary key) collate latin1_swedish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin2_bin integer, c char(10), v varchar(20), index(c), index(v)) collate latin2_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin2_bin char(10) primary key) collate latin2_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin2_croatian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin2_croatian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin2_croatian_ci char(10) primary key) collate latin2_croatian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin2_czech_cs integer, c char(10), v varchar(20), index(c), index(v)) collate latin2_czech_cs engine=ibmdb2i;
-CREATE TABLE t1 (latin2_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin2_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin2_general_ci char(10) primary key) collate latin2_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin2_hungarian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin2_hungarian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin2_hungarian_ci char(10) primary key) collate latin2_hungarian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin5_bin integer, c char(10), v varchar(20), index(c), index(v)) collate latin5_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin5_bin char(10) primary key) collate latin5_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin5_turkish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin5_turkish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (latin5_turkish_ci char(10) primary key) collate latin5_turkish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (latin7_bin integer, c char(10), v varchar(20), index(c), index(v)) collate latin7_bin engine=ibmdb2i;
-CREATE TABLE t1 (latin7_estonian_cs integer, c char(10), v varchar(20), index(c), index(v)) collate latin7_estonian_cs engine=ibmdb2i;
-CREATE TABLE t1 (latin7_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate latin7_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (latin7_general_cs integer, c char(10), v varchar(20), index(c), index(v)) collate latin7_general_cs engine=ibmdb2i;
-CREATE TABLE t1 (macce_bin integer, c char(10), v varchar(20), index(c), index(v)) collate macce_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (macce_bin char(10) primary key) collate macce_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (macce_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate macce_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (macce_general_ci char(10) primary key) collate macce_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (macroman_bin integer, c char(10), v varchar(20), index(c), index(v)) collate macroman_bin engine=ibmdb2i;
-CREATE TABLE t1 (macroman_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate macroman_general_ci engine=ibmdb2i;
-CREATE TABLE t1 (sjis_bin integer, c char(10), v varchar(20), index(c), index(v)) collate sjis_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (sjis_bin char(10) primary key) collate sjis_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (sjis_japanese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate sjis_japanese_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (sjis_japanese_ci char(10) primary key) collate sjis_japanese_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (swe7_bin integer, c char(10), v varchar(20), index(c), index(v)) collate swe7_bin engine=ibmdb2i;
-CREATE TABLE t1 (swe7_swedish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate swe7_swedish_ci engine=ibmdb2i;
-CREATE TABLE t1 (tis620_bin integer, c char(10), v varchar(20), index(c), index(v)) collate tis620_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (tis620_bin char(10) primary key) collate tis620_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (tis620_thai_ci integer, c char(10), v varchar(20), index(c), index(v)) collate tis620_thai_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 11 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 23 NULL 6 Using where
-drop table t1;
-create table t1 (tis620_thai_ci char(10) primary key) collate tis620_thai_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_bin integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_bin char(10) primary key) collate ucs2_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_czech_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_czech_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_czech_ci char(10) primary key) collate ucs2_czech_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_danish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_danish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_danish_ci char(10) primary key) collate ucs2_danish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_esperanto_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_esperanto_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_esperanto_ci char(10) primary key) collate ucs2_esperanto_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_estonian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_estonian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_estonian_ci char(10) primary key) collate ucs2_estonian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_general_ci char(10) primary key) collate ucs2_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_hungarian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_hungarian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_hungarian_ci char(10) primary key) collate ucs2_hungarian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_icelandic_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_icelandic_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_icelandic_ci char(10) primary key) collate ucs2_icelandic_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_latvian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_latvian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_latvian_ci char(10) primary key) collate ucs2_latvian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_lithuanian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_lithuanian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_lithuanian_ci char(10) primary key) collate ucs2_lithuanian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_persian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_persian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_persian_ci char(10) primary key) collate ucs2_persian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_polish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_polish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_polish_ci char(10) primary key) collate ucs2_polish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_romanian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_romanian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_romanian_ci char(10) primary key) collate ucs2_romanian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_roman_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_roman_ci engine=ibmdb2i;
-CREATE TABLE t1 (ucs2_slovak_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_slovak_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_slovak_ci char(10) primary key) collate ucs2_slovak_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_slovenian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_slovenian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_slovenian_ci char(10) primary key) collate ucs2_slovenian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_spanish2_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_spanish2_ci engine=ibmdb2i;
-CREATE TABLE t1 (ucs2_spanish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_spanish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_spanish_ci char(10) primary key) collate ucs2_spanish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_swedish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_swedish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_swedish_ci char(10) primary key) collate ucs2_swedish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_turkish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_turkish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_turkish_ci char(10) primary key) collate ucs2_turkish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ucs2_unicode_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ucs2_unicode_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 21 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 43 NULL 6 Using where
-drop table t1;
-create table t1 (ucs2_unicode_ci char(10) primary key) collate ucs2_unicode_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ujis_bin integer, c char(10), v varchar(20), index(c), index(v)) collate ujis_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (ujis_bin char(10) primary key) collate ujis_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (ujis_japanese_ci integer, c char(10), v varchar(20), index(c), index(v)) collate ujis_japanese_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (ujis_japanese_ci char(10) primary key) collate ujis_japanese_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_bin integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_bin engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_bin char(10) primary key) collate utf8_bin engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_czech_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_czech_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_czech_ci char(10) primary key) collate utf8_czech_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_danish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_danish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_danish_ci char(10) primary key) collate utf8_danish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_esperanto_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_esperanto_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_esperanto_ci char(10) primary key) collate utf8_esperanto_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_estonian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_estonian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_estonian_ci char(10) primary key) collate utf8_estonian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_general_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_general_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_general_ci char(10) primary key) collate utf8_general_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_hungarian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_hungarian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_hungarian_ci char(10) primary key) collate utf8_hungarian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_icelandic_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_icelandic_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_icelandic_ci char(10) primary key) collate utf8_icelandic_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_latvian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_latvian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_latvian_ci char(10) primary key) collate utf8_latvian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_lithuanian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_lithuanian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_lithuanian_ci char(10) primary key) collate utf8_lithuanian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_persian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_persian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_persian_ci char(10) primary key) collate utf8_persian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_polish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_polish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_polish_ci char(10) primary key) collate utf8_polish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_romanian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_romanian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_romanian_ci char(10) primary key) collate utf8_romanian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_roman_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_roman_ci engine=ibmdb2i;
-CREATE TABLE t1 (utf8_slovak_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_slovak_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_slovak_ci char(10) primary key) collate utf8_slovak_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_slovenian_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_slovenian_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_slovenian_ci char(10) primary key) collate utf8_slovenian_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_spanish2_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_spanish2_ci engine=ibmdb2i;
-CREATE TABLE t1 (utf8_spanish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_spanish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_spanish_ci char(10) primary key) collate utf8_spanish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_swedish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_swedish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_swedish_ci char(10) primary key) collate utf8_swedish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_turkish_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_turkish_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_turkish_ci char(10) primary key) collate utf8_turkish_ci engine=ibmdb2i;
-drop table t1;
-CREATE TABLE t1 (utf8_unicode_ci integer, c char(10), v varchar(20), index(c), index(v)) collate utf8_unicode_ci engine=ibmdb2i;
-insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
-insert into t1 select * from t1;
-explain select c,v from t1 force index(c) where c like "ab%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 31 NULL 6 Using where
-explain select c,v from t1 force index(v) where v like "de%";
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range v v 63 NULL 6 Using where
-drop table t1;
-create table t1 (utf8_unicode_ci char(10) primary key) collate utf8_unicode_ci engine=ibmdb2i;
-drop table t1;
-create table ffd (WHCHD1 CHAR(20), WHCSID decimal(5,0)) engine=ibmdb2i;
-create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
-create temporary table intermed (row integer key auto_increment, cs char(30), ccsid integer);
-insert into intermed (cs, ccsid) select * from ffd;
-create temporary table intermed2 (row integer key auto_increment, srtseq char(10));
-insert into intermed2 (srtseq) select * from fd;
-select ccsid, cs, srtseq from intermed inner join intermed2 on intermed.row = intermed2.row;
-ccsid cs srtseq
-500 "ascii_bin" QBLA101F4U
-500 "ascii_general_ci" QALA101F4S
-1200 "big5_bin" QBCHT04B0U
-1200 "big5_chinese_ci" QACHT04B0S
-1153 "cp1250_bin" QELA20481U
-1153 "cp1250_croatian_ci" QALA20481S
-1153 "cp1250_general_ci" QCLA20481S
-1153 "cp1250_polish_ci" QDLA20481S
-1025 "cp1251_bin" QCCYR0401U
-1025 "cp1251_bulgarian_ci QACYR0401S
-1025 "cp1251_general_ci" QBCYR0401S
-1025 "cp1251_general_cs" QBCYR0401U
-420 "cp1256_bin" QBARA01A4U
-420 "cp1256_general_ci" QAARA01A4S
-500 "cp850_bin" QDLA101F4U
-500 "cp850_general_ci" QCLA101F4S
-870 "cp852_bin" QBLA20366U
-870 "cp852_general_ci" QALA20366S
-1200 "cp932_bin" QBJPN04B0U
-1200 "cp932_japanese_ci" QAJPN04B0S
-1200 "euckr_bin" QBKOR04B0U
-1200 "euckr_korean_ci" QAKOR04B0S
-1200 "gb2312_bin" QBCHS04B0U
-1200 "gb2312_chinese_ci" QACHS04B0S
-1200 "gbk_bin" QDCHS04B0U
-1200 "gbk_chinese_ci" QCCHS04B0S
-875 "greek_bin" QBELL036BU
-875 "greek_general_ci" QAELL036BS
-424 "hebrew_bin" QBHEB01A8U
-424 "hebrew_general_ci" QAHEB01A8S
-1148 "latin1_bin" QFLA1047CU
-1148 "latin1_danish_ci" QALA1047CS
-1148 "latin1_general_ci" QBLA1047CS
-1148 "latin1_general_cs" QBLA1047CU
-1148 "latin1_german1_ci" QCLA1047CS
-1148 "latin1_spanish_ci" QDLA1047CS
-1148 "latin1_swedish_ci" QELA1047CS
-870 "latin2_bin" QGLA20366U
-870 "latin2_croatian_ci" QCLA20366S
-870 "latin2_general_ci" QELA20366S
-870 "latin2_hungarian_ci QFLA20366S
-1026 "latin5_bin" QBTRK0402U
-1026 "latin5_turkish_ci" QATRK0402S
-870 "macce_bin" QILA20366U
-870 "macce_general_ci" QHLA20366S
-1200 "sjis_bin" QDJPN04B0U
-1200 "sjis_japanese_ci" QCJPN04B0S
-838 "tis620_bin" QBTHA0346U
-838 "tis620_thai_ci" QATHA0346S
-13488 "ucs2_bin" *HEX
-13488 "ucs2_czech_ci" I34ACS_CZ
-13488 "ucs2_danish_ci" I34ADA_DK
-13488 "ucs2_esperanto_ci" I34AEO
-13488 "ucs2_estonian_ci" I34AET
-13488 "ucs2_general_ci" QAUCS04B0S
-13488 "ucs2_hungarian_ci" I34AHU
-13488 "ucs2_icelandic_ci" I34AIS
-13488 "ucs2_latvian_ci" I34ALV
-13488 "ucs2_lithuanian_ci" I34ALT
-13488 "ucs2_persian_ci" I34AFA
-13488 "ucs2_polish_ci" I34APL
-13488 "ucs2_romanian_ci" I34ARO
-13488 "ucs2_slovak_ci" I34ASK
-13488 "ucs2_slovenian_ci" I34ASL
-13488 "ucs2_spanish_ci" I34AES
-13488 "ucs2_swedish_ci" I34ASW
-13488 "ucs2_turkish_ci" I34ATR
-13488 "ucs2_unicode_ci" I34AEN
-1200 "ujis_bin" QFJPN04B0U
-1200 "ujis_japanese_ci" QEJPN04B0S
-1208 "utf8_bin" *HEX
-1208 "utf8_czech_ci" I34ACS_CZ
-1208 "utf8_danish_ci" I34ADA_DK
-1208 "utf8_esperanto_ci" I34AEO
-1208 "utf8_estonian_ci" I34AET
-1200 "utf8_general_ci" QAUCS04B0S
-1208 "utf8_hungarian_ci" I34AHU
-1208 "utf8_icelandic_ci" I34AIS
-1208 "utf8_latvian_ci" I34ALV
-1208 "utf8_lithuanian_ci" I34ALT
-1208 "utf8_persian_ci" I34AFA
-1208 "utf8_polish_ci" I34APL
-1208 "utf8_romanian_ci" I34ARO
-1208 "utf8_slovak_ci" I34ASK
-1208 "utf8_slovenian_ci" I34ASL
-1208 "utf8_spanish_ci" I34AES
-1208 "utf8_swedish_ci" I34ASW
-1208 "utf8_turkish_ci" I34ATR
-1208 "utf8_unicode_ci" I34AEN
-drop table ffd, fd;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44020.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44020.test
deleted file mode 100644
index 09a7c75cfc0..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44020.test
+++ /dev/null
@@ -1,9 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-source include/have_case_sensitive_file_system.inc;
-
-create schema `A12345_@$#`;
-create table `A12345_@$#`.t1 (i int) engine=ibmdb2i;
-show create table `A12345_@$#`.t1;
-select * from `A12345_@$#`.t1;
-drop table `A12345_@$#`.t1;
-drop schema `A12345_@$#`;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44025.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44025.test
deleted file mode 100644
index 9b033a2298f..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44025.test
+++ /dev/null
@@ -1,9 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-source suite/ibmdb2i/include/have_i61.inc;
-
-
-create table t1 (c char(10) collate utf8_swedish_ci, index(c)) engine=ibmdb2i;
-drop table t1;
-
-create table t1 (c char(10) collate ucs2_swedish_ci, index(c)) engine=ibmdb2i;
-drop table t1;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test
deleted file mode 100644
index ea29b5abcd4..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test
+++ /dev/null
@@ -1,8 +0,0 @@
---source suite/ibmdb2i/include/have_ibmdb2i.inc
---source suite/ibmdb2i/include/have_i54.inc
-
---error 1005
-create table t1 (c char(1) character set armscii8) engine=ibmdb2i;
-
---error 1005
-create table t1 (c char(1) character set eucjpms ) engine=ibmdb2i;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test
deleted file mode 100644
index da69b5d9148..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test
+++ /dev/null
@@ -1,28 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-
-# Test RCDFMT generation for a variety of kinds of table names
-create table ABC (i int) engine=ibmdb2i;
-drop table ABC;
-
-create table `1234567890ABC` (i int) engine=ibmdb2i;
-drop table `1234567890ABC`;
-
-create table `!@#$%` (i int) engine=ibmdb2i;
-drop table `!@#$%`;
-
-create table `ABCD#########` (i int) engine=ibmdb2i;
-drop table `ABCD#########`;
-
-create table `_` (i int) engine=ibmdb2i;
-drop table `_`;
-
-create table `abc##def` (i int) engine=ibmdb2i;
-drop table `abc##def`;
-
-set names utf8;
-create table Ä° (s1 int) engine=ibmdb2i;
-drop table Ä°;
-
-create table Ä°Ä° (s1 int) engine=ibmdb2i;
-drop table Ä°Ä°;
-set names latin1;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45196.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45196.test
deleted file mode 100644
index 17b1d658975..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45196.test
+++ /dev/null
@@ -1,26 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-source suite/ibmdb2i/include/have_i61.inc;
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-create table t1 (c char(10), index(c)) collate ucs2_czech_ci engine=ibmdb2i;
-insert into t1 values ("ch"),("h"),("i");
-select * from t1 order by c;
-drop table t1;
-
-create table t1 (c char(10), index(c)) collate utf8_czech_ci engine=ibmdb2i;
-insert into t1 values ("ch"),("h"),("i");
-select * from t1 order by c;
-drop table t1;
-
-create table t1 (c char(10), index(c)) collate ucs2_danish_ci engine=ibmdb2i;
-insert into t1 values("abc"),("abcd"),("aaaa");
-select c from t1 order by c;
-drop table t1;
-
-create table t1 (c char(10), index(c)) collate utf8_danish_ci engine=ibmdb2i;
-insert into t1 values("abc"),("abcd"),("aaaa");
-select c from t1 order by c;
-drop table t1;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45793.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45793.test
deleted file mode 100644
index 93fb78ff421..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45793.test
+++ /dev/null
@@ -1,11 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-source suite/ibmdb2i/include/have_i61.inc;
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-create table t1 (c char(10), index(c)) charset macce engine=ibmdb2i;
-insert into t1 values ("test");
-select * from t1 order by c;
-drop table t1;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45983.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45983.test
deleted file mode 100644
index 695d8e90ada..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_45983.test
+++ /dev/null
@@ -1,47 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-
-# Confirm that ibmdb2i_create_index_option causes additional *HEX sorted indexes to be created for all non-binary keys.
-
-set ibmdb2i_create_index_option=1;
---disable_warnings
-drop schema if exists test1;
-create schema test1;
-use test1;
---enable_warnings
-
---disable_abort_on_error
---error 0,255
-exec system "DLTF QGPL/FDOUT" > /dev/null;
---enable_abort_on_error
-
-#No additional index because no string fields in key
-CREATE TABLE t1 (f int primary key, index(f)) engine=ibmdb2i;
---error 255
-exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
---error 255
-exec system "DSPFD FILE(\"test1\"/\"f___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
-drop table t1;
-
-#No additional index because binary sorting
-CREATE TABLE t1 (f char(10) collate utf8_bin primary key, index(f)) engine=ibmdb2i;
---error 255
-exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
---error 255
-exec system "DSPFD FILE(\"test1\"/\"f___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
-drop table t1;
-
-CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, index(f)) engine=ibmdb2i;
-exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
-exec system "DSPFD FILE(\"test1\"/\"f___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
-drop table t1;
-
-CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, i int, index i(i,f)) engine=ibmdb2i;
-exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
-exec system "DSPFD FILE(\"test1\"/\"i___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
-drop table t1;
-
-
-create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
-system system "CPYF FROMFILE(QGPL/FDOUT) TOFILE(\"test1\"/\"fd\") mbropt(*replace) fmtopt(*drop *map)" > /dev/null;
-select * from fd;
-drop table fd;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_49329.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_49329.test
deleted file mode 100644
index 615df284d8f..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_49329.test
+++ /dev/null
@@ -1,10 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-source include/have_case_sensitive_file_system.inc;
-
-create table ABC (i int) engine=ibmdb2i;
-insert into ABC values(1);
-create table abc (i int) engine=ibmdb2i;
-insert into abc values (2);
-select * from ABC;
-drop table ABC;
-drop table abc;
diff --git a/mysql-test/suite/ibmdb2i/t/ibmdb2i_collations.test b/mysql-test/suite/ibmdb2i/t/ibmdb2i_collations.test
deleted file mode 100644
index 899f330d360..00000000000
--- a/mysql-test/suite/ibmdb2i/t/ibmdb2i_collations.test
+++ /dev/null
@@ -1,44 +0,0 @@
-source suite/ibmdb2i/include/have_ibmdb2i.inc;
-source suite/ibmdb2i/include/have_i61.inc;
---disable_warnings
-drop table if exists t1, ffd, fd;
---enable_warnings
-
---disable_abort_on_error
---error 0,255
-exec system "DLTF QGPL/FFDOUT" > /dev/null;
---error 0,255
-exec system "DLTF QGPL/FDOUT" > /dev/null;
---enable_abort_on_error
-let $count= query_get_value(select count(*) from information_schema.COLLATIONS where COLLATION_NAME <> "binary", count(*),1);
-
-while ($count)
-{
- let $collation = query_get_value(select COLLATION_NAME from information_schema.COLLATIONS where COLLATION_NAME <> "binary" order by COLLATION_NAME desc, COLLATION_NAME, $count);
- error 0,1005,2504,2028;
- eval CREATE TABLE t1 ($collation integer, c char(10), v varchar(20), index(c), index(v)) collate $collation engine=ibmdb2i;
- if (!$mysql_errno)
- {
- insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
- insert into t1 select * from t1;
- explain select c,v from t1 force index(c) where c like "ab%";
- explain select c,v from t1 force index(v) where v like "de%";
- drop table t1;
- eval create table t1 ($collation char(10) primary key) collate $collation engine=ibmdb2i;
- system system "DSPFFD FILE(\"test\"/\"t1\") OUTPUT(*OUTFILE) OUTFILE(QGPL/FFDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
- system system "DSPFD FILE(\"test\"/\"t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
- drop table t1;
- }
- dec $count;
-}
-
-create table ffd (WHCHD1 CHAR(20), WHCSID decimal(5,0)) engine=ibmdb2i;
-system system "CPYF FROMFILE(QGPL/FFDOUT) TOFILE(\"test\"/\"ffd\") mbropt(*replace) fmtopt(*drop *map)" > /dev/null;
-create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
-system system "CPYF FROMFILE(QGPL/FDOUT) TOFILE(\"test\"/\"fd\") mbropt(*replace) fmtopt(*drop *map)" > /dev/null;
-create temporary table intermed (row integer key auto_increment, cs char(30), ccsid integer);
-insert into intermed (cs, ccsid) select * from ffd;
-create temporary table intermed2 (row integer key auto_increment, srtseq char(10));
-insert into intermed2 (srtseq) select * from fd;
-select ccsid, cs, srtseq from intermed inner join intermed2 on intermed.row = intermed2.row;
-drop table ffd, fd;
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc-18274.result b/mysql-test/suite/innodb/r/innodb-autoinc-18274.result
new file mode 100644
index 00000000000..22afc65a649
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-autoinc-18274.result
@@ -0,0 +1,26 @@
+drop table if exists t1;
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
+CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (null);
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
+DELETE FROM t1;
+OPTIMIZE TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
+test.t1 optimize status OK
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `c1` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`c1`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES(null);
+SELECT * FROM t1;
+c1
+2
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc-56228.result b/mysql-test/suite/innodb/r/innodb-autoinc-56228.result
new file mode 100644
index 00000000000..492130d1f08
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-autoinc-56228.result
@@ -0,0 +1,30 @@
+DROP TABLE IF EXISTS t1_56228;
+Warnings:
+Note 1051 Unknown table 't1_56228'
+DROP TABLE IF EXISTS t2_56228;
+Warnings:
+Note 1051 Unknown table 't2_56228'
+DROP FUNCTION IF EXISTS bug56228;
+Warnings:
+Note 1305 FUNCTION test.bug56228 does not exist
+CREATE TEMPORARY TABLE t1_56228(
+c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2_56228(
+c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+CREATE FUNCTION bug56228() RETURNS INT DETERMINISTIC
+BEGIN
+INSERT INTO t1_56228 VALUES(NULL);
+INSERT INTO t2_56228 VALUES(NULL);
+INSERT INTO t1_56228 VALUES(NULL);
+INSERT INTO t2_56228 VALUES(NULL);
+DROP TEMPORARY TABLE t1_56228;
+RETURN 42;
+END //
+SELECT bug56228();
+bug56228()
+42
+DROP FUNCTION bug56228;
+DROP TEMPORARY TABLE t2_56228;
+DROP TEMPORARY TABLE IF EXISTS t1_56228;
+Warnings:
+Note 1051 Unknown table 't1_56228'
diff --git a/mysql-test/suite/innodb/r/innodb-autoinc.result b/mysql-test/suite/innodb/r/innodb-autoinc.result
index 350c7ebd541..0c8d16f27fb 100644
--- a/mysql-test/suite/innodb/r/innodb-autoinc.result
+++ b/mysql-test/suite/innodb/r/innodb-autoinc.result
@@ -471,17 +471,12 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 2
auto_increment_offset 10
-INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
+INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
+ERROR HY000: Failed to read auto-increment value from storage engine
SELECT * FROM t1;
c1
1
18446744073709551603
-18446744073709551604
-18446744073709551606
-18446744073709551608
-18446744073709551610
-18446744073709551612
-18446744073709551614
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
@@ -504,13 +499,12 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 5
auto_increment_offset 7
-INSERT INTO t1 VALUES (NULL),(NULL);
+INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
+ERROR HY000: Failed to read auto-increment value from storage engine
SELECT * FROM t1;
c1
1
18446744073709551603
-18446744073709551607
-18446744073709551612
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
@@ -572,12 +566,12 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 65535
auto_increment_offset 65535
-INSERT INTO t1 VALUES (NULL);
+INSERT INTO t1 VALUES (NULL),(NULL);
+ERROR 22003: Out of range value for column 't1' at row 167
SELECT * FROM t1;
c1
1
18446744073709551610
-18446744073709551615
DROP TABLE t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
SET @@INSERT_ID=1;
diff --git a/mysql-test/suite/innodb/r/innodb-create-options.result b/mysql-test/suite/innodb/r/innodb-create-options.result
new file mode 100644
index 00000000000..aec9d731ce6
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-create-options.result
@@ -0,0 +1,854 @@
+SET storage_engine=InnoDB;
+SET GLOBAL innodb_file_format=`Barracuda`;
+SET GLOBAL innodb_file_per_table=ON;
+SET SESSION innodb_strict_mode = ON;
+# Test 1) StrictMode=ON, CREATE and ALTER with each ROW_FORMAT & KEY_BLOCK_SIZE=0
+# KEY_BLOCK_SIZE=0 means 'no KEY_BLOCK_SIZE is specified'
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 't1'
+# 'FIXED' is sent to InnoDB since it is used by MyISAM.
+# But it is an invalid mode in InnoDB
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact
+# Test 2) StrictMode=ON, CREATE with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
+# KEY_BLOCK_SIZE is incompatible with COMPACT, REDUNDANT, & DYNAMIC
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=16
+# Test 3) StrictMode=ON, ALTER with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: invalid ROW_FORMAT specifier.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1
+# Test 4) StrictMode=ON, CREATE with ROW_FORMAT=COMPACT, ALTER with a valid non-zero KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED
+ALTER TABLE t1 KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=16
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=1
+# Test 5) StrictMode=ON, CREATE with a valid KEY_BLOCK_SIZE
+# ALTER with each ROW_FORMAT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=2;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL,
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=2
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+# Test 6) StrictMode=ON, CREATE with an invalid KEY_BLOCK_SIZE.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=9;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 9. Valid values are [1, 2, 4, 8, 16]
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+# Test 7) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
+# and a valid non-zero KEY_BLOCK_SIZE are rejected with Antelope
+# and that they can be set to default values during strict mode.
+SET GLOBAL innodb_file_format=Antelope;
+DROP TABLE IF EXISTS t1;
+Warnings:
+Note 1051 Unknown table 't1'
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=4;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
+SHOW WARNINGS;
+Level Code Message
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+SET GLOBAL innodb_file_format=Barracuda;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+SET GLOBAL innodb_file_format=Antelope;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+Level Code Message
+SET GLOBAL innodb_file_format=Barracuda;
+# Test 8) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
+# and a valid non-zero KEY_BLOCK_SIZE are rejected with
+# innodb_file_per_table=OFF and that they can be set to default
+# values during strict mode.
+SET GLOBAL innodb_file_per_table=OFF;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+ERROR HY000: Can't create table 'test.t1' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Error 1005 Can't create table 'test.t1' (errno: 1478)
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
+SHOW WARNINGS;
+Level Code Message
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT
+ALTER TABLE t1 ROW_FORMAT=DEFAULT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact
+SET GLOBAL innodb_file_per_table=ON;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+SET GLOBAL innodb_file_per_table=OFF;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
+Error 1005 Can't create table '#sql-temporary' (errno: 1478)
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+Level Code Message
+SET GLOBAL innodb_file_per_table=ON;
+##################################################
+SET SESSION innodb_strict_mode = OFF;
+# Test 9) StrictMode=OFF, CREATE and ALTER with each ROW_FORMAT & KEY_BLOCK_SIZE=0
+# KEY_BLOCK_SIZE=0 means 'no KEY_BLOCK_SIZE is specified'
+# 'FIXED' is sent to InnoDB since it is used by MyISAM.
+# It is an invalid mode in InnoDB, use COMPACT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
+Warnings:
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=FIXED
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
+Warnings:
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=FIXED
+# Test 10) StrictMode=OFF, CREATE with each ROW_FORMAT & a valid KEY_BLOCK_SIZE
+# KEY_BLOCK_SIZE is ignored with COMPACT, REDUNDANT, & DYNAMIC
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT KEY_BLOCK_SIZE=1
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT KEY_BLOCK_SIZE=2
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC KEY_BLOCK_SIZE=4
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=8
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=16
+# Test 11) StrictMode=OFF, ALTER with each ROW_FORMAT & a valid KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1 unless ROW_FORMAT=COMPRESSED.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=FIXED KEY_BLOCK_SIZE=1
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT KEY_BLOCK_SIZE=2
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=4 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC KEY_BLOCK_SIZE=4
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=8 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT KEY_BLOCK_SIZE=8
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1
+# Test 12) StrictMode=OFF, CREATE with ROW_FORMAT=COMPACT, ALTER with a valid KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT KEY_BLOCK_SIZE=2
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT KEY_BLOCK_SIZE=2
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC KEY_BLOCK_SIZE=2
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=4
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed KEY_BLOCK_SIZE=8
+# Test 13) StrictMode=OFF, CREATE with a valid KEY_BLOCK_SIZE
+# ALTER with each ROW_FORMAT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+Level Code Message
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+Level Code Message
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `i` int(11) DEFAULT NULL,
+ `f1` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Redundant row_format=REDUNDANT KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=16
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPACT
+# Test 14) StrictMode=OFF, CREATE with an invalid KEY_BLOCK_SIZE, it defaults to 8
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=15;
+Warnings:
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=15.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=15.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact KEY_BLOCK_SIZE=15
+# Test 15) StrictMode=OFF, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and a
+valid KEY_BLOCK_SIZE are remembered but not used when ROW_FORMAT
+is reverted to Antelope and then used again when ROW_FORMAT=Barracuda.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1
+SET GLOBAL innodb_file_format=Antelope;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+Warnings:
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=1.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPRESSED KEY_BLOCK_SIZE=1
+SET GLOBAL innodb_file_format=Barracuda;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=1
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+SET GLOBAL innodb_file_format=Antelope;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=DYNAMIC
+SET GLOBAL innodb_file_format=Barracuda;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+# Test 16) StrictMode=OFF, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and a
+valid KEY_BLOCK_SIZE are remembered but not used when innodb_file_per_table=OFF
+and then used again when innodb_file_per_table=ON.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
+SET GLOBAL innodb_file_per_table=OFF;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+Warnings:
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
+Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=2.
+Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=COMPRESSED KEY_BLOCK_SIZE=2
+SET GLOBAL innodb_file_per_table=ON;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compressed row_format=COMPRESSED KEY_BLOCK_SIZE=2
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+SET GLOBAL innodb_file_per_table=OFF;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+Warnings:
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SHOW WARNINGS;
+Level Code Message
+Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Warning 1478 InnoDB: assuming ROW_FORMAT=COMPACT.
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Compact row_format=DYNAMIC
+SET GLOBAL innodb_file_per_table=ON;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+Level Code Message
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+TABLE_NAME ROW_FORMAT CREATE_OPTIONS
+t1 Dynamic row_format=DYNAMIC
+# Cleanup
+DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/innodb/r/innodb-index.result b/mysql-test/suite/innodb/r/innodb-index.result
index 1aeca2c226a..7d7062c9161 100644
--- a/mysql-test/suite/innodb/r/innodb-index.result
+++ b/mysql-test/suite/innodb/r/innodb-index.result
@@ -842,31 +842,31 @@ create table t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob,
q blob,r blob,s blob,t blob,u blob)
engine=innodb row_format=dynamic;
-create index t1a on t1 (a(1));
-create index t1b on t1 (b(1));
-create index t1c on t1 (c(1));
-create index t1d on t1 (d(1));
-create index t1e on t1 (e(1));
-create index t1f on t1 (f(1));
-create index t1g on t1 (g(1));
-create index t1h on t1 (h(1));
-create index t1i on t1 (i(1));
-create index t1j on t1 (j(1));
-create index t1k on t1 (k(1));
-create index t1l on t1 (l(1));
-create index t1m on t1 (m(1));
-create index t1n on t1 (n(1));
-create index t1o on t1 (o(1));
-create index t1p on t1 (p(1));
-create index t1q on t1 (q(1));
-create index t1r on t1 (r(1));
-create index t1s on t1 (s(1));
-create index t1t on t1 (t(1));
-create index t1u on t1 (u(1));
+create index t1a on t1 (a(767));
+create index t1b on t1 (b(767));
+create index t1c on t1 (c(767));
+create index t1d on t1 (d(767));
+create index t1e on t1 (e(767));
+create index t1f on t1 (f(767));
+create index t1g on t1 (g(767));
+create index t1h on t1 (h(767));
+create index t1i on t1 (i(767));
+create index t1j on t1 (j(767));
+create index t1k on t1 (k(767));
+create index t1l on t1 (l(767));
+create index t1m on t1 (m(767));
+create index t1n on t1 (n(767));
+create index t1o on t1 (o(767));
+create index t1p on t1 (p(767));
+create index t1q on t1 (q(767));
+create index t1r on t1 (r(767));
+create index t1s on t1 (s(767));
+create index t1t on t1 (t(767));
+create index t1u on t1 (u(767));
ERROR HY000: Too big row
-create index t1ut on t1 (u(1), t(1));
+create index t1ut on t1 (u(767), t(767));
ERROR HY000: Too big row
-create index t1st on t1 (s(1), t(1));
+create index t1st on t1 (s(767), t(767));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -891,36 +891,36 @@ t1 CREATE TABLE `t1` (
`s` blob,
`t` blob,
`u` blob,
- KEY `t1a` (`a`(1)),
- KEY `t1b` (`b`(1)),
- KEY `t1c` (`c`(1)),
- KEY `t1d` (`d`(1)),
- KEY `t1e` (`e`(1)),
- KEY `t1f` (`f`(1)),
- KEY `t1g` (`g`(1)),
- KEY `t1h` (`h`(1)),
- KEY `t1i` (`i`(1)),
- KEY `t1j` (`j`(1)),
- KEY `t1k` (`k`(1)),
- KEY `t1l` (`l`(1)),
- KEY `t1m` (`m`(1)),
- KEY `t1n` (`n`(1)),
- KEY `t1o` (`o`(1)),
- KEY `t1p` (`p`(1)),
- KEY `t1q` (`q`(1)),
- KEY `t1r` (`r`(1)),
- KEY `t1s` (`s`(1)),
- KEY `t1t` (`t`(1)),
- KEY `t1st` (`s`(1),`t`(1))
+ KEY `t1a` (`a`(767)),
+ KEY `t1b` (`b`(767)),
+ KEY `t1c` (`c`(767)),
+ KEY `t1d` (`d`(767)),
+ KEY `t1e` (`e`(767)),
+ KEY `t1f` (`f`(767)),
+ KEY `t1g` (`g`(767)),
+ KEY `t1h` (`h`(767)),
+ KEY `t1i` (`i`(767)),
+ KEY `t1j` (`j`(767)),
+ KEY `t1k` (`k`(767)),
+ KEY `t1l` (`l`(767)),
+ KEY `t1m` (`m`(767)),
+ KEY `t1n` (`n`(767)),
+ KEY `t1o` (`o`(767)),
+ KEY `t1p` (`p`(767)),
+ KEY `t1q` (`q`(767)),
+ KEY `t1r` (`r`(767)),
+ KEY `t1s` (`s`(767)),
+ KEY `t1t` (`t`(767)),
+ KEY `t1st` (`s`(767),`t`(767))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
-create index t1u on t1 (u(1));
+create index t1u on t1 (u(767));
ERROR HY000: Too big row
alter table t1 row_format=compact;
-create index t1u on t1 (u(1));
+create index t1u on t1 (u(767));
drop table t1;
-set global innodb_file_per_table=1;
-set global innodb_file_format=Barracuda;
-set global innodb_file_format_max=Barracuda;
+set global innodb_file_per_table=0;
+set global innodb_file_format=Antelope;
+set global innodb_file_format_max=Antelope;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
CREATE TABLE t1(
diff --git a/mysql-test/suite/innodb/r/innodb-system-table-view.result b/mysql-test/suite/innodb/r/innodb-system-table-view.result
deleted file mode 100644
index ffa57ee32ce..00000000000
--- a/mysql-test/suite/innodb/r/innodb-system-table-view.result
+++ /dev/null
@@ -1,110 +0,0 @@
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
-TABLE_ID NAME FLAG N_COLS SPACE
-11 SYS_FOREIGN 0 7 0
-12 SYS_FOREIGN_COLS 0 7 0
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES;
-INDEX_ID NAME TABLE_ID TYPE N_FIELDS PAGE_NO SPACE
-11 ID_IND 11 3 1 302 0
-12 FOR_IND 11 0 1 303 0
-13 REF_IND 11 0 1 304 0
-14 ID_IND 12 3 2 305 0
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS;
-TABLE_ID NAME POS MTYPE PRTYPE LEN
-11 ID 0 1 524292 0
-11 FOR_NAME 1 1 524292 0
-11 REF_NAME 2 1 524292 0
-11 N_COLS 3 6 0 4
-12 ID 0 1 524292 0
-12 POS 1 6 0 4
-12 FOR_COL_NAME 2 1 524292 0
-12 REF_COL_NAME 3 1 524292 0
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS;
-INDEX_ID NAME POS
-11 ID 0
-12 FOR_NAME 0
-13 REF_NAME 0
-14 ID 0
-14 POS 1
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
-ID FOR_NAME REF_NAME N_COLS TYPE
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
-ID FOR_COL_NAME REF_COL_NAME POS
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS;
-TABLE_ID NAME STATS_INITIALIZED NUM_ROWS CLUST_INDEX_SIZE OTHER_INDEX_SIZE MODIFIED_COUNTER AUTOINC MYSQL_HANDLES_OPENED
-11 SYS_FOREIGN Uninitialized 0 0 0 0 0 0
-12 SYS_FOREIGN_COLS Uninitialized 0 0 0 0 0 0
-CREATE TABLE parent (id INT NOT NULL,
-PRIMARY KEY (id)) ENGINE=INNODB;
-CREATE TABLE child (id INT, parent_id INT,
-INDEX par_ind (parent_id),
-CONSTRAINT constraint_test
-FOREIGN KEY (parent_id) REFERENCES parent(id)
-ON DELETE CASCADE) ENGINE=INNODB;
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
-ID FOR_NAME REF_NAME N_COLS TYPE
-test/constraint_test test/child test/parent 1 1
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
-ID FOR_COL_NAME REF_COL_NAME POS
-test/constraint_test parent_id id 0
-INSERT INTO parent VALUES(1);
-SELECT name, num_rows, mysql_handles_opened
-FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
-WHERE name LIKE "%parent";
-name num_rows mysql_handles_opened
-test/parent 1 1
-SELECT NAME, FLAG, N_COLS, SPACE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
-NAME FLAG N_COLS SPACE
-SYS_FOREIGN 0 7 0
-SYS_FOREIGN_COLS 0 7 0
-test/child 1 5 0
-test/parent 1 4 0
-SELECT name, n_fields
-from INFORMATION_SCHEMA.INNODB_SYS_INDEXES
-WHERE table_id In (SELECT table_id from
-INFORMATION_SCHEMA.INNODB_SYS_TABLES
-WHERE name LIKE "%parent%");
-name n_fields
-PRIMARY 1
-SELECT name, n_fields
-from INFORMATION_SCHEMA.INNODB_SYS_INDEXES
-WHERE table_id In (SELECT table_id from
-INFORMATION_SCHEMA.INNODB_SYS_TABLES
-WHERE name LIKE "%child%");
-name n_fields
-GEN_CLUST_INDEX 0
-par_ind 1
-SELECT name, pos, mtype, len
-from INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
-WHERE table_id In (SELECT table_id from
-INFORMATION_SCHEMA.INNODB_SYS_TABLES
-WHERE name LIKE "%child%");
-name pos mtype len
-id 0 6 4
-parent_id 1 6 4
-DROP TABLE child;
-DROP TABLE parent;
-CREATE TABLE parent (id INT NOT NULL, newid INT NOT NULL,
-PRIMARY KEY (id, newid)) ENGINE=INNODB;
-CREATE TABLE child (id INT, parent_id INT,
-INDEX par_ind (parent_id),
-CONSTRAINT constraint_test
-FOREIGN KEY (id, parent_id) REFERENCES parent(id, newid)
-ON DELETE CASCADE) ENGINE=INNODB;
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
-ID FOR_NAME REF_NAME N_COLS TYPE
-test/constraint_test test/child test/parent 2 1
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
-ID FOR_COL_NAME REF_COL_NAME POS
-test/constraint_test id id 0
-test/constraint_test parent_id newid 1
-INSERT INTO parent VALUES(1, 9);
-SELECT * FROM parent WHERE id IN (SELECT id FROM parent);
-id newid
-1 9
-SELECT name, num_rows, mysql_handles_opened
-FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
-WHERE name LIKE "%parent";
-name num_rows mysql_handles_opened
-test/parent 1 2
-DROP TABLE child;
-DROP TABLE parent;
diff --git a/mysql-test/suite/innodb/r/innodb-timeout.result b/mysql-test/suite/innodb/r/innodb-timeout.result
index be9a688cd72..bb71ba5cb3d 100644
--- a/mysql-test/suite/innodb/r/innodb-timeout.result
+++ b/mysql-test/suite/innodb/r/innodb-timeout.result
@@ -13,13 +13,14 @@ set global innodb_lock_wait_timeout=347;
select @@innodb_lock_wait_timeout;
@@innodb_lock_wait_timeout
42
-set innodb_lock_wait_timeout=1;
+set innodb_lock_wait_timeout=10;
select @@innodb_lock_wait_timeout;
@@innodb_lock_wait_timeout
-1
+10
select @@innodb_lock_wait_timeout;
@@innodb_lock_wait_timeout
347
+SET @connection_b_id = <connection_b_id>;
create table t1(a int primary key)engine=innodb;
begin;
insert into t1 values(1),(2),(3);
@@ -31,8 +32,9 @@ a
3
begin;
insert into t1 values(4);
+set innodb_lock_wait_timeout=3;
select * from t1 for update;
commit;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
drop table t1;
-set global innodb_lock_wait_timeout=50;
+set global innodb_lock_wait_timeout=<initial_timeout>;
diff --git a/mysql-test/suite/innodb/r/innodb-truncate.result b/mysql-test/suite/innodb/r/innodb-truncate.result
new file mode 100644
index 00000000000..f63e9272850
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb-truncate.result
@@ -0,0 +1,68 @@
+#
+# TRUNCATE TABLE
+#
+# Truncating is disallowed for parent tables unless such table
+# participates in self-referencing foreign keys only.
+#
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t2 (fk INT NOT NULL, FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+TRUNCATE TABLE t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fk`) REFERENCES `test`.`t1` (`pk`))
+# Truncation of child should succeed.
+TRUNCATE TABLE t2;
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE t1 (pk INT PRIMARY KEY, fk INT,
+FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+# Truncation of self-referencing table should succeed.
+TRUNCATE TABLE t1;
+DROP TABLE t1;
+#
+# Also, truncating such tables is allowed if foreign key
+# checks are disabled.
+#
+SET @old_foreign_key_checks = @@SESSION.foreign_key_checks;
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t2 (fk INT NOT NULL, FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+CREATE TABLE t3 (pk INT PRIMARY KEY, fk INT,
+FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+SET @@SESSION.foreign_key_checks = 0;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+SET @@SESSION.foreign_key_checks = 1;
+TRUNCATE TABLE t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fk`) REFERENCES `test`.`t1` (`pk`))
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+LOCK TABLES t1 WRITE;
+SET @@SESSION.foreign_key_checks = 0;
+TRUNCATE TABLE t1;
+SET @@SESSION.foreign_key_checks = 1;
+TRUNCATE TABLE t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`fk`) REFERENCES `test`.`t1` (`pk`))
+UNLOCK TABLES;
+DROP TABLE t3,t2,t1;
+SET @@SESSION.foreign_key_checks = @old_foreign_key_checks;
+#
+# Test that TRUNCATE resets auto-increment.
+#
+CREATE TABLE t1 (a INT PRIMARY KEY NOT NULL AUTO_INCREMENT);
+INSERT INTO t1 VALUES (NULL), (NULL);
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't1';
+AUTO_INCREMENT
+3
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+TRUNCATE TABLE t1;
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't1';
+AUTO_INCREMENT
+1
+INSERT INTO t1 VALUES (NULL), (NULL);
+SELECT * FROM t1 ORDER BY a;
+a
+1
+2
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb-zip.result b/mysql-test/suite/innodb/r/innodb-zip.result
index da2be2bb07d..a63ddff15ce 100644
--- a/mysql-test/suite/innodb/r/innodb-zip.result
+++ b/mysql-test/suite/innodb/r/innodb-zip.result
@@ -84,8 +84,6 @@ test t8 Compact
test t9 Compact
drop table t0,t00,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14;
alter table t1 key_block_size=0;
-Warnings:
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=0.
alter table t1 row_format=dynamic;
SELECT table_schema, table_name, row_format
FROM information_schema.tables WHERE engine='innodb';
@@ -191,16 +189,9 @@ set global innodb_file_per_table = on;
set global innodb_file_format = `1`;
set innodb_strict_mode = off;
create table t1 (id int primary key) engine = innodb key_block_size = 0;
-Warnings:
-Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=0.
drop table t1;
set innodb_strict_mode = on;
create table t1 (id int primary key) engine = innodb key_block_size = 0;
-ERROR HY000: Can't create table 'test.t1' (errno: 1478)
-show warnings;
-Level Code Message
-Warning 1478 InnoDB: invalid KEY_BLOCK_SIZE = 0. Valid values are [1, 2, 4, 8, 16]
-Error 1005 Can't create table 'test.t1' (errno: 1478)
create table t2 (id int primary key) engine = innodb key_block_size = 9;
ERROR HY000: Can't create table 'test.t2' (errno: 1478)
show warnings;
@@ -219,6 +210,7 @@ create table t11(id int primary key) engine = innodb row_format = redundant;
SELECT table_schema, table_name, row_format
FROM information_schema.tables WHERE engine='innodb';
table_schema table_name row_format
+test t1 Compact
test t10 Compact
test t11 Redundant
test t3 Compressed
@@ -228,7 +220,7 @@ test t6 Compressed
test t7 Compressed
test t8 Compressed
test t9 Dynamic
-drop table t3, t4, t5, t6, t7, t8, t9, t10, t11;
+drop table t1, t3, t4, t5, t6, t7, t8, t9, t10, t11;
create table t1 (id int primary key) engine = innodb
key_block_size = 8 row_format = compressed;
create table t2 (id int primary key) engine = innodb
@@ -254,16 +246,12 @@ Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
Error 1005 Can't create table 'test.t4' (errno: 1478)
create table t5 (id int primary key) engine = innodb
key_block_size = 8 row_format = default;
-ERROR HY000: Can't create table 'test.t5' (errno: 1478)
-show warnings;
-Level Code Message
-Warning 1478 InnoDB: cannot specify ROW_FORMAT = COMPACT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table 'test.t5' (errno: 1478)
SELECT table_schema, table_name, row_format
FROM information_schema.tables WHERE engine='innodb';
table_schema table_name row_format
test t1 Compressed
-drop table t1;
+test t5 Compressed
+drop table t1, t5;
create table t1 (id int primary key) engine = innodb
key_block_size = 9 row_format = redundant;
ERROR HY000: Can't create table 'test.t1' (errno: 1478)
@@ -394,8 +382,8 @@ table_schema table_name row_format
test t8 Compact
test t9 Redundant
drop table t8, t9;
-set global innodb_file_per_table=1;
-set global innodb_file_format=Barracuda;
+set global innodb_file_per_table=0;
+set global innodb_file_format=Antelope;
set global innodb_file_per_table=on;
set global innodb_file_format=`Barracuda`;
set global innodb_file_format_max=`Antelope`;
diff --git a/mysql-test/suite/innodb/r/innodb.result b/mysql-test/suite/innodb/r/innodb.result
index fd7cf87d138..651ad391db0 100644
--- a/mysql-test/suite/innodb/r/innodb.result
+++ b/mysql-test/suite/innodb/r/innodb.result
@@ -2,6 +2,9 @@ set optimizer_switch='index_condition_pushdown=off';
set @@optimizer_use_mrr=disable;
drop table if exists t1,t2,t3,t4;
drop database if exists mysqltest;
+CREATE TABLE bug58912 (a BLOB, b TEXT, PRIMARY KEY(a(1))) ENGINE=InnoDB;
+INSERT INTO bug58912 VALUES(REPEAT('a',8000),REPEAT('b',8000));
+UPDATE bug58912 SET a=REPEAT('a',7999);
create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=innodb;
insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');
select id, code, name from t1 order by id;
@@ -1672,10 +1675,10 @@ variable_value - @innodb_rows_deleted_orig
71
SELECT variable_value - @innodb_rows_inserted_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_inserted';
variable_value - @innodb_rows_inserted_orig
-1065
+1066
SELECT variable_value - @innodb_rows_updated_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_rows_updated';
variable_value - @innodb_rows_updated_orig
-865
+866
SELECT variable_value - @innodb_row_lock_waits_orig FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_row_lock_waits';
variable_value - @innodb_row_lock_waits_orig
0
@@ -2426,10 +2429,6 @@ drop table t1,t2;
CREATE TABLE t1 (
id INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)
) ENGINE=InnoDB;
-CREATE TABLE t2 (
-id INTEGER NOT NULL,
-FOREIGN KEY (id) REFERENCES t1 (id)
-) ENGINE=InnoDB;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
id
@@ -2445,7 +2444,7 @@ INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
id
1
-DROP TABLE t2, t1;
+DROP TABLE t1;
CREATE TABLE t1
(
id INT PRIMARY KEY
@@ -2623,13 +2622,15 @@ ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fail
update t4 set a=2;
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
truncate t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t1` (`a`))
truncate t3;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t3` (`a`))
truncate t2;
truncate t4;
truncate t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t1` (`a`))
truncate t3;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `test`.`t3` (`a`))
drop table t4,t3,t2,t1;
create table t1 (a varchar(255) character set utf8,
b varchar(255) character set utf8,
@@ -3177,3 +3178,4 @@ Variable_name Value
Handler_update 1
Variable_name Value
Handler_delete 1
+DROP TABLE bug58912;
diff --git a/mysql-test/suite/innodb/r/innodb_bug30423.result b/mysql-test/suite/innodb/r/innodb_bug30423.result
new file mode 100644
index 00000000000..d7b72b1ec2a
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug30423.result
@@ -0,0 +1,95 @@
+set global innodb_stats_method = default;
+select @@innodb_stats_method;
+@@innodb_stats_method
+nulls_equal
+select count(*) from bug30243_3 where org_id is not NULL;
+count(*)
+20
+select count(*) from bug30243_3 where org_id is NULL;
+count(*)
+16384
+select count(*) from bug30243_2 where org_id is not NULL;
+count(*)
+224
+select count(*) from bug30243_2 where org_id is NULL;
+count(*)
+65536
+select @@innodb_stats_method;
+@@innodb_stats_method
+nulls_equal
+analyze table bug30243_1;
+Table Op Msg_type Msg_text
+test.bug30243_1 analyze status OK
+analyze table bug30243_2;
+Table Op Msg_type Msg_text
+test.bug30243_2 analyze status OK
+analyze table bug30243_3;
+Table Op Msg_type Msg_text
+test.bug30243_3 analyze status OK
+set global innodb_stats_method = "NULL";
+ERROR 42000: Variable 'innodb_stats_method' can't be set to the value of 'NULL'
+set global innodb_stats_method = "nulls_ignored";
+select @@innodb_stats_method;
+@@innodb_stats_method
+nulls_ignored
+analyze table bug30243_1;
+Table Op Msg_type Msg_text
+test.bug30243_1 analyze status OK
+analyze table bug30243_2;
+Table Op Msg_type Msg_text
+test.bug30243_2 analyze status OK
+analyze table bug30243_3;
+Table Op Msg_type Msg_text
+test.bug30243_3 analyze status OK
+explain SELECT COUNT(*), 0
+FROM bug30243_1 orgs
+LEFT JOIN bug30243_3 sa_opportunities
+ON orgs.org_id=sa_opportunities.org_id
+LEFT JOIN bug30243_2 contacts
+ON orgs.org_id=contacts.org_id ;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE orgs index NULL org_id 4 NULL 128 Using index
+1 SIMPLE sa_opportunities ref org_id org_id 5 test.orgs.org_id 1 Using index
+1 SIMPLE contacts ref contacts$org_id contacts$org_id 5 test.orgs.org_id 1 Using index
+select @@innodb_stats_method;
+@@innodb_stats_method
+nulls_ignored
+set global innodb_stats_method = "nulls_unequal";
+select @@innodb_stats_method;
+@@innodb_stats_method
+nulls_unequal
+analyze table bug30243_1;
+Table Op Msg_type Msg_text
+test.bug30243_1 analyze status OK
+analyze table bug30243_2;
+Table Op Msg_type Msg_text
+test.bug30243_2 analyze status OK
+analyze table bug30243_3;
+Table Op Msg_type Msg_text
+test.bug30243_3 analyze status OK
+explain SELECT COUNT(*), 0
+FROM bug30243_1 orgs
+LEFT JOIN bug30243_3 sa_opportunities
+ON orgs.org_id=sa_opportunities.org_id
+LEFT JOIN bug30243_2 contacts
+ON orgs.org_id=contacts.org_id;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE orgs index NULL org_id 4 NULL 128 Using index
+1 SIMPLE sa_opportunities ref org_id org_id 5 test.orgs.org_id 1 Using index
+1 SIMPLE contacts ref contacts$org_id contacts$org_id 5 test.orgs.org_id 1 Using index
+SELECT COUNT(*) FROM table_bug30423 WHERE org_id IS NULL;
+COUNT(*)
+1024
+set global innodb_stats_method = "nulls_unequal";
+analyze table table_bug30423;
+Table Op Msg_type Msg_text
+test.table_bug30423 analyze status OK
+set global innodb_stats_method = "nulls_ignored";
+analyze table table_bug30423;
+Table Op Msg_type Msg_text
+test.table_bug30423 analyze status OK
+set global innodb_stats_method = nulls_equal;
+drop table bug30243_2;
+drop table bug30243_1;
+drop table bug30243_3;
+drop table table_bug30423;
diff --git a/mysql-test/suite/innodb/r/innodb_bug52745.result b/mysql-test/suite/innodb/r/innodb_bug52745.result
index 16dd356997e..d746fb427b5 100644
--- a/mysql-test/suite/innodb/r/innodb_bug52745.result
+++ b/mysql-test/suite/innodb/r/innodb_bug52745.result
@@ -125,6 +125,6 @@ Warning 1264 Out of range value for column 'col78' at row 1
Warning 1265 Data truncated for column 'col79' at row 1
Warning 1264 Out of range value for column 'col84' at row 1
DROP TABLE bug52745;
-SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_format=Antelope;
SET GLOBAL innodb_file_format_max=Antelope;
-SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_per_table=0;
diff --git a/mysql-test/suite/innodb/r/innodb_bug53046.result b/mysql-test/suite/innodb/r/innodb_bug53046.result
new file mode 100644
index 00000000000..69be6c4e0a7
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug53046.result
@@ -0,0 +1,27 @@
+CREATE TABLE bug53046_1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE bug53046_2 (c2 INT PRIMARY KEY,
+FOREIGN KEY (c2) REFERENCES bug53046_1(c1)
+ON UPDATE CASCADE ON DELETE CASCADE) ENGINE=INNODB;
+INSERT INTO bug53046_1 VALUES (1);
+INSERT INTO bug53046_1 SELECT c1+(SELECT MAX(c1) FROM bug53046_1)
+FROM bug53046_1;
+INSERT INTO bug53046_1 SELECT c1+(SELECT MAX(c1) FROM bug53046_1)
+FROM bug53046_1;
+INSERT INTO bug53046_1 SELECT c1+(SELECT MAX(c1) FROM bug53046_1)
+FROM bug53046_1;
+INSERT INTO bug53046_1 SELECT c1+(SELECT MAX(c1) FROM bug53046_1)
+FROM bug53046_1;
+INSERT INTO bug53046_1 SELECT c1+(SELECT MAX(c1) FROM bug53046_1)
+FROM bug53046_1;
+INSERT INTO bug53046_2 VALUES (1), (2);
+ANALYZE TABLE bug53046_1;
+Table Op Msg_type Msg_text
+test.bug53046_1 analyze status OK
+SHOW TABLE STATUS LIKE 'bug53046_1';
+UPDATE bug53046_1 SET c1 = c1 - 1;
+DELETE FROM bug53046_1;
+INSERT INTO bug53046_1 VALUES (1);
+INSERT INTO bug53046_2 VALUES (1);
+TRUNCATE TABLE bug53046_2;
+DROP TABLE bug53046_2;
+DROP TABLE bug53046_1;
diff --git a/mysql-test/suite/innodb/r/innodb_bug53591.result b/mysql-test/suite/innodb/r/innodb_bug53591.result
index 8573fb60718..d3f8dfeafc2 100644
--- a/mysql-test/suite/innodb/r/innodb_bug53591.result
+++ b/mysql-test/suite/innodb/r/innodb_bug53591.result
@@ -11,6 +11,6 @@ Error 139 Too big row
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
Error 1030 Got error 139 from storage engine
DROP TABLE bug53591;
-SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_format=Antelope;
SET GLOBAL innodb_file_format_max=Antelope;
-SET GLOBAL innodb_file_per_table=1;
+SET GLOBAL innodb_file_per_table=0;
diff --git a/mysql-test/suite/innodb/r/innodb_bug53756.result b/mysql-test/suite/innodb/r/innodb_bug53756.result
new file mode 100644
index 00000000000..37453be8201
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug53756.result
@@ -0,0 +1,118 @@
+DROP TABLE IF EXISTS bug_53756 ;
+CREATE TABLE bug_53756 (pk INT, c1 INT) ENGINE=InnoDB;
+ALTER TABLE bug_53756 ADD PRIMARY KEY (pk);
+INSERT INTO bug_53756 VALUES(1, 11), (2, 22), (3, 33), (4, 44);
+
+# Select a less restrictive isolation level.
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+COMMIT;
+
+# Start a transaction in the default connection for isolation.
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+SELECT * FROM bug_53756;
+pk c1
+1 11
+2 22
+3 33
+4 44
+
+# connection con1 deletes row 1
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+DELETE FROM bug_53756 WHERE pk=1;
+
+# connection con2 deletes row 2
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+DELETE FROM bug_53756 WHERE pk=2;
+
+# connection con3 updates row 3
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+UPDATE bug_53756 SET c1=77 WHERE pk=3;
+
+# connection con4 updates row 4
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+UPDATE bug_53756 SET c1=88 WHERE pk=4;
+
+# connection con5 inserts row 5
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+INSERT INTO bug_53756 VALUES(5, 55);
+
+# connection con6 inserts row 6
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+INSERT INTO bug_53756 VALUES(6, 66);
+
+# connection con1 commits.
+COMMIT;
+
+# connection con3 commits.
+COMMIT;
+
+# connection con4 rolls back.
+ROLLBACK;
+
+# connection con6 rolls back.
+ROLLBACK;
+
+# The connections 2 and 5 stay open.
+
+# connection default selects resulting data.
+# Delete of row 1 was committed.
+# Update of row 3 was committed.
+# Due to isolation level read committed, these should be included.
+# All other changes should not be included.
+SELECT * FROM bug_53756;
+pk c1
+2 22
+3 77
+4 44
+
+# connection default
+#
+# Crash server.
+START TRANSACTION;
+INSERT INTO bug_53756 VALUES (666,666);
+SET SESSION debug="+d,crash_commit_before";
+COMMIT;
+ERROR HY000: Lost connection to MySQL server during query
+
+#
+# disconnect con1, con2, con3, con4, con5, con6.
+#
+# Restart server.
+
+#
+# Select recovered data.
+# Delete of row 1 was committed.
+# Update of row 3 was committed.
+# These should be included.
+# All other changes should not be included.
+# Delete of row 2 and insert of row 5 should be rolled back
+SELECT * FROM bug_53756;
+pk c1
+2 22
+3 77
+4 44
+
+# Clean up.
+DROP TABLE bug_53756;
diff --git a/mysql-test/suite/innodb/r/innodb_bug54679.result b/mysql-test/suite/innodb/r/innodb_bug54679.result
deleted file mode 100644
index 9763c5c0dd3..00000000000
--- a/mysql-test/suite/innodb/r/innodb_bug54679.result
+++ /dev/null
@@ -1,88 +0,0 @@
-SET GLOBAL innodb_file_format='Barracuda';
-SET GLOBAL innodb_file_per_table=ON;
-SET innodb_strict_mode=ON;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-bug54679 Compressed row_format=COMPRESSED
-ALTER TABLE bug54679 ADD COLUMN b INT;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-bug54679 Compressed row_format=COMPRESSED
-DROP TABLE bug54679;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-bug54679 Compact
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=1;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-bug54679 Compressed key_block_size=1
-ALTER TABLE bug54679 ROW_FORMAT=REDUNDANT;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: cannot specify ROW_FORMAT = REDUNDANT with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-DROP TABLE bug54679;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-bug54679 Redundant row_format=REDUNDANT
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=2;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-TABLE_NAME ROW_FORMAT CREATE_OPTIONS
-bug54679 Compressed row_format=REDUNDANT key_block_size=2
-SET GLOBAL innodb_file_format=Antelope;
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=4;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-ALTER TABLE bug54679 ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Warning 1478 InnoDB: cannot specify ROW_FORMAT = DYNAMIC with KEY_BLOCK_SIZE.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-DROP TABLE bug54679;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table 'test.bug54679' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope.
-Error 1005 Can't create table 'test.bug54679' (errno: 1478)
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB;
-SET GLOBAL innodb_file_format=Barracuda;
-SET GLOBAL innodb_file_per_table=OFF;
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=4;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-ALTER TABLE bug54679 ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table '#sql-temporary' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Error 1005 Can't create table '#sql-temporary' (errno: 1478)
-DROP TABLE bug54679;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-ERROR HY000: Can't create table 'test.bug54679' (errno: 1478)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
-Error 1005 Can't create table 'test.bug54679' (errno: 1478)
-SET GLOBAL innodb_file_per_table=ON;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-DROP TABLE bug54679;
diff --git a/mysql-test/suite/innodb/r/innodb_bug56143.result b/mysql-test/suite/innodb/r/innodb_bug56143.result
new file mode 100644
index 00000000000..1efec7e8887
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug56143.result
@@ -0,0 +1,556 @@
+SHOW CREATE TABLE bug56143_2;
+Table Create Table
+bug56143_2 CREATE TABLE `bug56143_2` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa10` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa100` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa101` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa102` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa103` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa104` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa105` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa106` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa107` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa108` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa109` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa11` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa110` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa111` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa112` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa113` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa114` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa115` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa116` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa117` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa118` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa119` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa12` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa120` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa121` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa122` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa123` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa124` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa125` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa126` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa127` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa128` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa129` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa13` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa130` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa131` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa132` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa133` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa134` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa135` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa136` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa137` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa138` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa139` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa14` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa140` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa141` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa142` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa143` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa144` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa145` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa146` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa147` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa148` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa149` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa15` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa150` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa151` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa152` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa153` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa154` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa155` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa156` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa157` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa158` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa159` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa160` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa161` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa163` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa164` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa165` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa166` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa167` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa169` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa17` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa170` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa171` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa172` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa173` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa174` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa175` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa176` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa177` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa178` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa179` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa18` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa180` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa181` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa182` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa183` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa184` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa185` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa186` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa187` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa188` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa189` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa19` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa190` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa191` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa192` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa193` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa194` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa195` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa196` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa197` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa198` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa199` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa20` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa200` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa201` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa202` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa203` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa204` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa205` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa206` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa207` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa208` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa209` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa21` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa210` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa211` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa212` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa213` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa214` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa215` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa216` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa217` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa218` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa219` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa22` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa220` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa221` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa222` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa223` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa224` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa225` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa226` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa227` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa228` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa229` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa23` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa230` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa231` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa232` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa233` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa234` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa235` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa236` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa237` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa238` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa239` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa24` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa240` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa241` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa242` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa243` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa244` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa245` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa246` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa247` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa248` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa249` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa25` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa250` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa251` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa252` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa253` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa254` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa255` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa256` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa257` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa258` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa259` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa260` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa261` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa262` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa263` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa264` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa265` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa266` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa267` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa268` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa269` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa27` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa270` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa271` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa272` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa273` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa274` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa275` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa276` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa277` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa278` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa279` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa28` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa280` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa281` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa282` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa283` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa284` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa285` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa286` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa287` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa288` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa289` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa29` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa290` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa291` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa292` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa293` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa294` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa295` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa296` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa297` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa298` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa299` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa30` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa300` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa301` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa302` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa303` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa304` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa305` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa306` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa307` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa308` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa309` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa31` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa310` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa311` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa312` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa313` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa314` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa315` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa316` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa317` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa318` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa319` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa32` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa320` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa321` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa322` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa323` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa324` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa325` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa326` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa327` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa328` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa329` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa33` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa330` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa331` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa332` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa333` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa334` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa335` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa336` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa337` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa338` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa339` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa34` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa340` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa341` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa342` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa343` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa344` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa345` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa346` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa347` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa348` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa349` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa35` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa350` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa351` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa352` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa353` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa354` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa355` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa356` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa357` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa358` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa359` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa36` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa360` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa361` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa362` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa363` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa364` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa365` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa366` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa367` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa368` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa369` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa37` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa370` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa371` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa372` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa373` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa374` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa375` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa376` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa377` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa378` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa379` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa38` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa380` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa381` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa382` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa383` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa384` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa385` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa386` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa387` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa388` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa389` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa39` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa390` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa391` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa392` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa393` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa394` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa395` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa396` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa397` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa398` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa399` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa40` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa400` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa401` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa402` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa403` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa404` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa405` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa406` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa407` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa408` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa409` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa41` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa410` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa411` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa412` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa413` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa414` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa415` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa416` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa417` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa418` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa419` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa42` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa420` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa421` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa422` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa423` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa424` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa425` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa426` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa427` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa428` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa429` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa43` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa430` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa431` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa432` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa433` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa434` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa435` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa436` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa437` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa438` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa439` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa44` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa440` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa441` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa442` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa443` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa444` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa445` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa446` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa447` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa448` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa449` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa45` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa450` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa451` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa452` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa453` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa454` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa455` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa456` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa457` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa458` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa459` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa46` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa460` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa461` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa462` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa463` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa464` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa465` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa466` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa467` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa468` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa469` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa47` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa470` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa471` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa472` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa473` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa474` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa475` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa476` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa477` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa478` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa479` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa48` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa480` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa481` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa482` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa483` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa484` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa485` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa486` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa487` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa488` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa489` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa49` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa490` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa491` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa492` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa493` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa494` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa495` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa496` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa497` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa498` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa499` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa50` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa500` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa501` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa502` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa503` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa504` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa505` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa506` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa507` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa508` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa509` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa51` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa510` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa511` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa512` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa513` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa514` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa515` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa516` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa517` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa518` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa519` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa52` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa520` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa521` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa522` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa523` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa524` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa525` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa526` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa527` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa528` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa529` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa53` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa530` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa531` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa532` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa533` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa534` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa535` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa536` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa537` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa538` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa539` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa54` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa540` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa541` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa542` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa543` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa544` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa545` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa546` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa547` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa548` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa549` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa55` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa550` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa56` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa57` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa58` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa59` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa60` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa61` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa62` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa64` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa65` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa66` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa67` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa68` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa69` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa7` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa70` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa71` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa72` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa73` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa74` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa75` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa76` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa77` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa78` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa79` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa80` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa81` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa83` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa85` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa86` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa87` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa88` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa89` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa90` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa91` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa92` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa93` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa94` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa95` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa96` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa97` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa98` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa99` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
diff --git a/mysql-test/suite/innodb/r/innodb_bug56680.result b/mysql-test/suite/innodb/r/innodb_bug56680.result
new file mode 100644
index 00000000000..5e798b69167
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug56680.result
@@ -0,0 +1,109 @@
+SET GLOBAL tx_isolation='REPEATABLE-READ';
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_per_table=on;
+CREATE TABLE bug56680(
+a INT AUTO_INCREMENT PRIMARY KEY,
+b CHAR(1),
+c INT,
+INDEX(b))
+ENGINE=InnoDB;
+INSERT INTO bug56680 VALUES(0,'x',1);
+BEGIN;
+SELECT b FROM bug56680;
+b
+x
+BEGIN;
+UPDATE bug56680 SET b='X';
+SELECT b FROM bug56680;
+b
+x
+SELECT * FROM bug56680;
+a b c
+1 x 1
+ROLLBACK;
+SELECT b FROM bug56680;
+b
+x
+SET GLOBAL tx_isolation='READ-UNCOMMITTED';
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+BEGIN;
+SELECT b FROM bug56680 LIMIT 2;
+b
+x
+x
+BEGIN;
+DELETE FROM bug56680 WHERE a=1;
+INSERT INTO bug56680 VALUES(1,'X',1);
+SELECT b FROM bug56680 LIMIT 3;
+b
+X
+x
+x
+SELECT b FROM bug56680 LIMIT 2;
+b
+x
+x
+CHECK TABLE bug56680;
+Table Op Msg_type Msg_text
+test.bug56680 check status OK
+ROLLBACK;
+SELECT b FROM bug56680 LIMIT 2;
+b
+x
+x
+CHECK TABLE bug56680;
+Table Op Msg_type Msg_text
+test.bug56680 check status OK
+SELECT b FROM bug56680 LIMIT 2;
+b
+x
+x
+CREATE TABLE bug56680_2(
+a INT AUTO_INCREMENT PRIMARY KEY,
+b VARCHAR(2) CHARSET latin1 COLLATE latin1_german2_ci,
+c INT,
+INDEX(b))
+ENGINE=InnoDB;
+INSERT INTO bug56680_2 SELECT 0,_latin1 0xdf,c FROM bug56680;
+BEGIN;
+SELECT HEX(b) FROM bug56680_2 LIMIT 2;
+HEX(b)
+DF
+DF
+DELETE FROM bug56680_2 WHERE a=1;
+INSERT INTO bug56680_2 VALUES(1,'SS',1);
+SELECT HEX(b) FROM bug56680_2 LIMIT 3;
+HEX(b)
+5353
+DF
+DF
+CHECK TABLE bug56680_2;
+Table Op Msg_type Msg_text
+test.bug56680_2 check status OK
+ALTER TABLE bug56680_2 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SELECT HEX(b) FROM bug56680_2 LIMIT 2;
+HEX(b)
+5353
+DF
+DELETE FROM bug56680_2 WHERE a=1;
+INSERT INTO bug56680_2 VALUES(1,_latin1 0xdf,1);
+SELECT HEX(b) FROM bug56680_2 LIMIT 3;
+HEX(b)
+DF
+DF
+DF
+CHECK TABLE bug56680_2;
+Table Op Msg_type Msg_text
+test.bug56680_2 check status OK
+DROP TABLE bug56680_2;
+DROP TABLE bug56680;
diff --git a/mysql-test/suite/innodb/r/innodb_bug56716.result b/mysql-test/suite/innodb/r/innodb_bug56716.result
deleted file mode 100644
index 50d83e8d87a..00000000000
--- a/mysql-test/suite/innodb/r/innodb_bug56716.result
+++ /dev/null
@@ -1,4 +0,0 @@
-CREATE TABLE bug56716 (a INT PRIMARY KEY,b INT,c INT,INDEX(b)) ENGINE=InnoDB;
-SELECT * FROM bug56716 WHERE b<=42 ORDER BY b DESC FOR UPDATE;
-a b c
-DROP TABLE bug56716;
diff --git a/mysql-test/suite/innodb/r/innodb_bug56947.result b/mysql-test/suite/innodb/r/innodb_bug56947.result
new file mode 100644
index 00000000000..b279069d834
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug56947.result
@@ -0,0 +1,8 @@
+SET @old_innodb_file_per_table=@@innodb_file_per_table;
+SET GLOBAL innodb_file_per_table=0;
+create table bug56947(a int not null) engine = innodb;
+CREATE TABLE `bug56947#1`(a int) ENGINE=InnoDB;
+alter table bug56947 add unique index (a);
+ERROR HY000: Table 'test.bug56947#1' already exists
+drop table `bug56947#1`;
+drop table bug56947;
diff --git a/mysql-test/suite/innodb/r/innodb_bug57252.result b/mysql-test/suite/innodb/r/innodb_bug57252.result
new file mode 100644
index 00000000000..efa50c742e0
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug57252.result
@@ -0,0 +1,6 @@
+cardinality
+10
+Table Op Msg_type Msg_text
+test.bug57252 analyze status OK
+cardinality
+10
diff --git a/mysql-test/suite/innodb/r/innodb_bug57904.result b/mysql-test/suite/innodb/r/innodb_bug57904.result
new file mode 100644
index 00000000000..d265adc385f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug57904.result
@@ -0,0 +1,41 @@
+CREATE TABLE product (category INT NOT NULL, id INT NOT NULL,
+price DECIMAL, PRIMARY KEY(category, id)) ENGINE=INNODB;
+CREATE TABLE customer (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
+CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT,
+product_category INT NOT NULL,
+product_id INT NOT NULL,
+customer_id INT NOT NULL,
+PRIMARY KEY(no),
+INDEX (product_category, product_id),
+FOREIGN KEY (product_category, product_id)
+REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT,
+INDEX (customer_id),
+FOREIGN KEY (customer_id)
+REFERENCES customer(id)
+) ENGINE=INNODB;
+SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+CONSTRAINT_CATALOG def
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME product_order_ibfk_1
+UNIQUE_CONSTRAINT_CATALOG def
+UNIQUE_CONSTRAINT_SCHEMA test
+UNIQUE_CONSTRAINT_NAME PRIMARY
+MATCH_OPTION NONE
+UPDATE_RULE CASCADE
+DELETE_RULE RESTRICT
+TABLE_NAME product_order
+REFERENCED_TABLE_NAME product
+CONSTRAINT_CATALOG def
+CONSTRAINT_SCHEMA test
+CONSTRAINT_NAME product_order_ibfk_2
+UNIQUE_CONSTRAINT_CATALOG def
+UNIQUE_CONSTRAINT_SCHEMA test
+UNIQUE_CONSTRAINT_NAME PRIMARY
+MATCH_OPTION NONE
+UPDATE_RULE RESTRICT
+DELETE_RULE RESTRICT
+TABLE_NAME product_order
+REFERENCED_TABLE_NAME customer
+DROP TABLE product_order;
+DROP TABLE product;
+DROP TABLE customer;
diff --git a/mysql-test/suite/innodb/r/innodb_bug59307.result b/mysql-test/suite/innodb/r/innodb_bug59307.result
new file mode 100644
index 00000000000..0d726e83708
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug59307.result
@@ -0,0 +1,28 @@
+CREATE TABLE t1 (
+t1_int INT,
+t1_time TIME
+) ENGINE=innodb;
+CREATE TABLE t2 (
+t2_int int PRIMARY KEY,
+t2_int2 INT
+) ENGINE=INNODB;
+INSERT INTO t2 VALUES ();
+Warnings:
+Warning 1364 Field 't2_int' doesn't have a default value
+INSERT INTO t1 VALUES ();
+SELECT *
+FROM t1 AS t1a
+WHERE NOT EXISTS
+(SELECT *
+FROM t1 AS t1b
+WHERE t1b.t1_int NOT IN
+(SELECT t2.t2_int
+FROM t2
+WHERE t1b.t1_time LIKE t1b.t1_int
+OR t1b.t1_time <> t2.t2_int2
+AND 6=7
+)
+)
+;
+t1_int t1_time
+DROP TABLE t1,t2;
diff --git a/mysql-test/suite/innodb/r/innodb_bug59410.result b/mysql-test/suite/innodb/r/innodb_bug59410.result
new file mode 100644
index 00000000000..494d601ba4f
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug59410.result
@@ -0,0 +1,17 @@
+create table `bug59410_1`(`a` int)engine=innodb;
+insert into `bug59410_1` values (1),(2),(3);
+select 1 from `bug59410_1` where `a` <> any (
+select 1 from `bug59410_1` where `a` <> 1 for update)
+for update;
+1
+1
+1
+drop table bug59410_1;
+create table bug59410_2(`a` char(1),`b` int)engine=innodb;
+insert into bug59410_2 values('0',0);
+set transaction isolation level read uncommitted;
+start transaction;
+set @a=(select b from bug59410_2 where
+(select 1 from bug59410_2 where a group by @a=b)
+group by @a:=b);
+drop table bug59410_2;
diff --git a/mysql-test/suite/innodb/r/innodb_bug59641.result b/mysql-test/suite/innodb/r/innodb_bug59641.result
new file mode 100644
index 00000000000..361172aa82b
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug59641.result
@@ -0,0 +1,57 @@
+CREATE TABLE t(a INT PRIMARY KEY, b INT)ENGINE=InnoDB;
+INSERT INTO t VALUES(2,2),(4,4),(8,8),(16,16),(32,32);
+COMMIT;
+XA START '123';
+INSERT INTO t VALUES(1,1);
+XA END '123';
+XA PREPARE '123';
+XA START '456';
+INSERT INTO t VALUES(3,47),(5,67);
+UPDATE t SET b=2*b WHERE a BETWEEN 5 AND 8;
+XA END '456';
+XA PREPARE '456';
+XA START '789';
+UPDATE t SET b=4*a WHERE a=32;
+XA END '789';
+XA PREPARE '789';
+call mtr.add_suppression("Found 3 prepared XA transactions");
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+a b
+1 1
+2 2
+3 47
+4 4
+5 134
+8 16
+16 16
+32 128
+COMMIT;
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+a b
+1 1
+2 2
+3 47
+4 4
+5 134
+8 16
+16 16
+32 128
+COMMIT;
+XA RECOVER;
+formatID gtrid_length bqual_length data
+1 3 0 789
+1 3 0 456
+1 3 0 123
+XA ROLLBACK '123';
+XA ROLLBACK '456';
+XA COMMIT '789';
+SELECT * FROM t;
+a b
+2 2
+4 4
+8 8
+16 16
+32 128
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/r/innodb_bug60049.result b/mysql-test/suite/innodb/r/innodb_bug60049.result
new file mode 100644
index 00000000000..bec0e05a897
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug60049.result
@@ -0,0 +1,8 @@
+CREATE TABLE t(a INT)ENGINE=InnoDB;
+RENAME TABLE t TO u;
+DROP TABLE u;
+SELECT @@innodb_fast_shutdown;
+@@innodb_fast_shutdown
+0
+Last record of ID_IND root page (9):
+1808000018050074000000000000000c5359535f464f524549474e5f434f4c53
diff --git a/mysql-test/suite/innodb/r/innodb_bug60196.result b/mysql-test/suite/innodb/r/innodb_bug60196.result
new file mode 100755
index 00000000000..411950b49dd
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_bug60196.result
@@ -0,0 +1,117 @@
+CREATE TABLE Bug_60196_FK1 (Primary_Key INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE Bug_60196_FK2 (Primary_Key INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE Bug_60196 (
+FK1_Key INT NOT NULL,
+FK2_Key INT NOT NULL,
+PRIMARY KEY (FK2_Key, FK1_Key),
+KEY FK1_Key (FK1_Key),
+KEY FK2_Key (FK2_Key),
+CONSTRAINT FK_FK1 FOREIGN KEY (FK1_Key)
+REFERENCES Bug_60196_FK1 (Primary_Key)
+ON DELETE CASCADE
+ON UPDATE CASCADE,
+CONSTRAINT FK_FK2 FOREIGN KEY (FK2_Key)
+REFERENCES Bug_60196_FK2 (Primary_Key)
+ON DELETE CASCADE
+ON UPDATE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO Bug_60196_FK1 VALUES (1), (2), (3), (4), (5);
+INSERT INTO Bug_60196_FK2 VALUES (1), (2), (3), (4), (5);
+INSERT INTO Bug_60196 VALUES (1, 1);
+INSERT INTO Bug_60196 VALUES (1, 2);
+INSERT INTO Bug_60196 VALUES (1, 3);
+INSERT INTO Bug_60196 VALUES (1, 99);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`bug_60196`, CONSTRAINT `FK_FK2` FOREIGN KEY (`FK2_Key`) REFERENCES `Bug_60196_FK2` (`Primary_Key`) ON DELETE CASCADE ON UPDATE CASCADE)
+INSERT INTO Bug_60196 VALUES (99, 1);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`bug_60196`, CONSTRAINT `FK_FK1` FOREIGN KEY (`FK1_Key`) REFERENCES `Bug_60196_FK1` (`Primary_Key`) ON DELETE CASCADE ON UPDATE CASCADE)
+SELECT * FROM bug_60196_FK1;
+Primary_Key
+1
+2
+3
+4
+5
+SELECT * FROM bug_60196_FK2;
+Primary_Key
+1
+2
+3
+4
+5
+SELECT * FROM bug_60196;
+FK1_Key FK2_Key
+1 1
+1 2
+1 3
+# Stop server
+# Restart server.
+#
+# Try to insert more to the example table with foreign keys.
+# Bug60196 causes the foreign key file not to be found after
+# the resstart above.
+#
+SELECT * FROM Bug_60196;
+FK1_Key FK2_Key
+1 1
+1 2
+1 3
+INSERT INTO Bug_60196 VALUES (2, 1);
+INSERT INTO Bug_60196 VALUES (2, 2);
+INSERT INTO Bug_60196 VALUES (2, 3);
+SELECT * FROM Bug_60196;
+FK1_Key FK2_Key
+1 1
+1 2
+1 3
+2 1
+2 2
+2 3
+
+# Clean up.
+DROP TABLE Bug_60196;
+DROP TABLE Bug_60196_FK1;
+DROP TABLE Bug_60196_FK2;
+CREATE TABLE Bug_60309_FK (
+ID INT PRIMARY KEY,
+ID2 INT,
+KEY K2(ID2)
+) ENGINE=InnoDB;
+CREATE TABLE Bug_60309 (
+ID INT PRIMARY KEY,
+FK_ID INT,
+KEY (FK_ID),
+CONSTRAINT FK FOREIGN KEY (FK_ID) REFERENCES Bug_60309_FK (ID)
+) ENGINE=InnoDB;
+INSERT INTO Bug_60309_FK (ID, ID2) VALUES (1, 1), (2, 2), (3, 3);
+INSERT INTO Bug_60309 VALUES (1, 1);
+INSERT INTO Bug_60309 VALUES (2, 99);
+ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`bug_60309`, CONSTRAINT `FK` FOREIGN KEY (`FK_ID`) REFERENCES `Bug_60309_FK` (`ID`))
+SELECT * FROM Bug_60309_FK;
+ID ID2
+1 1
+2 2
+3 3
+SELECT * FROM Bug_60309;
+ID FK_ID
+1 1
+# Stop server
+# Restart server.
+#
+# Try to insert more to the example table with foreign keys.
+# Bug60309 causes the foreign key file not to be found after
+# the resstart above.
+#
+SELECT * FROM Bug_60309;
+ID FK_ID
+1 1
+INSERT INTO Bug_60309 VALUES (2, 2);
+INSERT INTO Bug_60309 VALUES (3, 3);
+SELECT * FROM Bug_60309;
+ID FK_ID
+1 1
+2 2
+3 3
+
+# Clean up.
+DROP TABLE Bug_60309;
+DROP TABLE Bug_60309_FK;
diff --git a/mysql-test/suite/innodb/r/innodb_file_format.result b/mysql-test/suite/innodb/r/innodb_file_format.result
index 447e13f0d60..70cfc9e4f47 100644
--- a/mysql-test/suite/innodb/r/innodb_file_format.result
+++ b/mysql-test/suite/innodb/r/innodb_file_format.result
@@ -1,6 +1,6 @@
select @@innodb_file_format;
@@innodb_file_format
-Barracuda
+Antelope
select @@innodb_file_format_check;
@@innodb_file_format_check
1
@@ -17,14 +17,14 @@ Barracuda
set global innodb_file_format=default;
select @@innodb_file_format;
@@innodb_file_format
-Barracuda
+Antelope
set global innodb_file_format=on;
ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'ON'
set global innodb_file_format=off;
ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'off'
select @@innodb_file_format;
@@innodb_file_format
-Barracuda
+Antelope
set global innodb_file_format_max=antelope;
set global innodb_file_format_max=barracuda;
set global innodb_file_format_max=cheetah;
@@ -46,5 +46,5 @@ Antelope
set global innodb_file_format_max=antelope;
set global innodb_file_format_check=off;
ERROR HY000: Variable 'innodb_file_format_check' is a read only variable
-SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_format=Antelope;
SET GLOBAL innodb_file_format_max=Antelope;
diff --git a/mysql-test/suite/innodb/r/innodb_gis.result b/mysql-test/suite/innodb/r/innodb_gis.result
index 5712d08c9fa..9d015d91c0d 100644
--- a/mysql-test/suite/innodb/r/innodb_gis.result
+++ b/mysql-test/suite/innodb/r/innodb_gis.result
@@ -585,5 +585,17 @@ COUNT(*)
2
DROP TABLE t1, t2;
End of 5.0 tests
+#
+# Test for bug #58650 "Failing assertion: primary_key_no == -1 ||
+# primary_key_no == 0".
+#
+drop table if exists t1;
+# The minimal test case.
+create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a));
+drop table t1;
+# The original test case.
+create table t1 (a int not null, b linestring not null, unique key b (b(12)));
+create unique index a on t1(a);
+drop table t1;
create table t1 (g geometry not null, spatial gk(g)) engine=innodb;
ERROR HY000: The used table type doesn't support SPATIAL indexes
diff --git a/mysql-test/suite/innodb/r/innodb_index_large_prefix.result b/mysql-test/suite/innodb/r/innodb_index_large_prefix.result
new file mode 100644
index 00000000000..6e2d3527ee9
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_index_large_prefix.result
@@ -0,0 +1,185 @@
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+create table worklog5743(a TEXT not null, primary key (a(1000)))
+ROW_FORMAT=DYNAMIC, engine = innodb;
+insert into worklog5743 values(repeat("a", 20000));
+update worklog5743 set a = (repeat("b", 16000));
+create index idx on worklog5743(a(2000));
+begin;
+update worklog5743 set a = (repeat("x", 17000));
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+select a = repeat("x", 17000) from worklog5743;
+a = repeat("x", 17000)
+0
+select a = repeat("b", 16000) from worklog5743;
+a = repeat("b", 16000)
+1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+select a = repeat("x", 17000) from worklog5743;
+a = repeat("x", 17000)
+1
+rollback;
+drop table worklog5743;
+create table worklog5743(a1 int, a2 TEXT not null)
+ROW_FORMAT=DYNAMIC, engine = innodb;
+create index idx on worklog5743(a1, a2(2000));
+insert into worklog5743 values(9, repeat("a", 10000));
+begin;
+update worklog5743 set a1 = 1000;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+explain select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743 ref idx idx 5 const 1 Using where
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+9 1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+rollback;
+drop table worklog5743;
+create table worklog5743(a1 int, a2 TEXT not null)
+ROW_FORMAT=DYNAMIC, engine = innodb;
+create index idx on worklog5743(a1, a2(50));
+insert into worklog5743 values(9, repeat("a", 10000));
+begin;
+update worklog5743 set a1 = 1000;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+explain select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743 ref idx idx 5 const 1 Using where
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+9 1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+rollback;
+drop table worklog5743;
+create table worklog5743_2(a1 int, a2 TEXT not null)
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+create table worklog5743_4(a1 int, a2 TEXT not null)
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+create index idx1 on worklog5743_2(a1, a2(942));
+ERROR HY000: Too big row
+create index idx1 on worklog5743_2(a1, a2(940));
+create index idx1 on worklog5743_4(a1, a2(1966));
+ERROR HY000: Too big row
+create index idx1 on worklog5743_4(a1, a2(1964));
+insert into worklog5743_2 values(9, repeat("a", 10000));
+insert into worklog5743_4 values(9, repeat("a", 10000));
+begin;
+update worklog5743_2 set a1 = 1000;
+update worklog5743_4 set a1 = 1000;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+explain select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743_2 ref idx1 idx1 5 const 1 Using where
+select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+9 1
+select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+9 1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
+a1 a2 = repeat("a", 10000)
+rollback;
+drop table worklog5743_2;
+drop table worklog5743_4;
+create table worklog5743(a1 int, a2 varchar(3000))
+ROW_FORMAT=DYNAMIC, engine = innodb;
+create index idx on worklog5743(a1, a2);
+insert into worklog5743 values(9, repeat("a", 3000));
+begin;
+update worklog5743 set a1 = 1000;
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+explain select a1 from worklog5743 where a1 = 9;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE worklog5743 ref idx idx 5 const 1 Using where; Using index
+select a1 from worklog5743 where a1 = 9;
+a1
+9
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+select a1 from worklog5743 where a1 = 9;
+a1
+rollback;
+drop table worklog5743;
+create table worklog5743(a TEXT not null, primary key (a(1000)))
+engine = innodb;
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+create table worklog5743(a TEXT) engine = innodb;
+create index idx on worklog5743(a(1000));
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+create index idx on worklog5743(a(725));
+insert into worklog5743 values(repeat("a", 20000));
+begin;
+insert into worklog5743 values(repeat("b", 20000));
+update worklog5743 set a = (repeat("x", 25000));
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+select a = repeat("a", 20000) from worklog5743;
+a = repeat("a", 20000)
+1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+select a = repeat("x", 25000) from worklog5743;
+a = repeat("x", 25000)
+1
+1
+rollback;
+drop table worklog5743;
+create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC, engine = innodb;
+create index idx on worklog5743(a(3073));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+create index idx2 on worklog5743(a(3072));
+show create table worklog5743;
+Table Create Table
+worklog5743 CREATE TABLE `worklog5743` (
+ `a` text NOT NULL,
+ KEY `idx` (`a`(3072)),
+ KEY `idx2` (`a`(3072))
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+drop table worklog5743;
+create table worklog5743(a TEXT not null) engine = innodb;
+create index idx on worklog5743(a(768));
+ERROR HY000: Index column size too large. The maximum column size is 767 bytes.
+create index idx2 on worklog5743(a(767));
+drop table worklog5743;
+SET GLOBAL innodb_file_format=Antelope;
+SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_format_max=Antelope;
+SET GLOBAL innodb_large_prefix=0;
diff --git a/mysql-test/suite/innodb/r/innodb_multi_update.result b/mysql-test/suite/innodb/r/innodb_multi_update.result
index 7af9b030d1f..558fc3938a8 100644
--- a/mysql-test/suite/innodb/r/innodb_multi_update.result
+++ b/mysql-test/suite/innodb/r/innodb_multi_update.result
@@ -74,3 +74,11 @@ a b
4 14
5 15
drop table bug38999_1,bug38999_2;
+#
+# Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
+#
+CREATE TABLE t1(f1 INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+UPDATE (SELECT ((SELECT 1 FROM t1), 1) FROM t1 WHERE (SELECT 1 FROM t1)) x, (SELECT 1) AS d SET d.f1 = 1;
+ERROR 21000: Operand should contain 1 column(s)
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/r/innodb_mysql.result b/mysql-test/suite/innodb/r/innodb_mysql.result
index 2b4c25dab0d..5b1c0a8b611 100644
--- a/mysql-test/suite/innodb/r/innodb_mysql.result
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result
@@ -1944,7 +1944,7 @@ INSERT INTO t2 VALUES (3,2);
SET AUTOCOMMIT = 0;
START TRANSACTION;
TRUNCATE TABLE t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `test`.`t1` (`id`))
SELECT * FROM t1;
id
1
@@ -1956,7 +1956,7 @@ id
2
START TRANSACTION;
TRUNCATE TABLE t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `test`.`t1` (`id`))
SELECT * FROM t1;
id
1
@@ -1974,7 +1974,7 @@ id
2
COMMIT;
TRUNCATE TABLE t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `test`.`t1` (`id`))
SELECT * FROM t1;
id
1
@@ -1986,9 +1986,12 @@ id
1
2
TRUNCATE TABLE t1;
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `test`.`t1` (`id`))
ROLLBACK;
SELECT * FROM t1;
id
+1
+2
TRUNCATE TABLE t2;
DROP TABLE t2;
DROP TABLE t1;
@@ -2080,9 +2083,9 @@ i i
** error handling inside a row iteration.
**
DROP TRIGGER trg;
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t2;
-TRUNCATE TABLE t3;
+DELETE FROM t1;
+DELETE FROM t2;
+DELETE FROM t3;
INSERT INTO t1 VALUES (1),(2),(3),(4);
INSERT INTO t3 VALUES (1),(2),(3),(4);
INSERT INTO t4 VALUES (3,3),(4,4);
@@ -2108,9 +2111,9 @@ DROP TRIGGER trg;
**
** Induce an error midway through an AFTER-trigger
**
-TRUNCATE TABLE t4;
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t3;
+DELETE FROM t4;
+DELETE FROM t1;
+DELETE FROM t3;
INSERT INTO t1 VALUES (1),(2),(3),(4);
INSERT INTO t3 VALUES (1),(2),(3),(4);
CREATE TRIGGER trg AFTER DELETE ON t1 FOR EACH ROW
@@ -2653,6 +2656,60 @@ Extra Using index
DROP TABLE t1;
End of 5.1 tests
#
+#
+# Bug#55826: create table .. select crashes with when KILL_BAD_DATA
+# is returned
+#
+CREATE TABLE t1(a INT) ENGINE=innodb;
+INSERT INTO t1 VALUES (0);
+SET SQL_MODE='STRICT_ALL_TABLES';
+CREATE TABLE t2
+SELECT LEAST((SELECT '' FROM t1),NOW()) FROM `t1`;
+ERROR 22007: Incorrect datetime value: '' for column 'NOW()' at row 2
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
+#
+# Bug#56862 Execution of a query that uses index merge returns a wrong result
+#
+CREATE TABLE t1 (
+pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
+a int,
+b int,
+INDEX idx(a))
+ENGINE=INNODB;
+INSERT INTO t1(a,b) VALUES
+(11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
+(3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
+(6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
+(13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
+INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
+INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
+INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1 VALUES (1000000, 0, 0);
+SET SESSION sort_buffer_size = 1024*36;
+EXPLAIN
+SELECT COUNT(*) FROM
+(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
+WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
+2 DERIVED t1 index_merge PRIMARY,idx idx,PRIMARY 5,4 NULL 1536 Using sort_union(idx,PRIMARY); Using where
+SELECT COUNT(*) FROM
+(SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
+WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
+COUNT(*)
+1537
+SET SESSION sort_buffer_size = DEFAULT;
+DROP TABLE t1;
+#
# Bug#668644: HAVING + ORDER BY
#
CREATE TABLE t1 (
@@ -2710,6 +2767,23 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t2, t1;
#
+# Test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::
+# UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK".
+#
+DROP TABLE IF EXISTS t1;
+CREATE TEMPORARY TABLE t1 (c int) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1);
+LOCK TABLES t1 READ;
+# Even though temporary table was locked for READ we
+# still allow writes to it to be compatible with MyISAM.
+# This is possible since due to fact that temporary tables
+# are specific to connection and therefore locking for them
+# is irrelevant.
+UPDATE t1 SET c = 5;
+UNLOCK TABLES;
+DROP TEMPORARY TABLE t1;
+End of 5.1 tests
+#
# Bug#44613 SELECT statement inside FUNCTION takes a shared lock
#
DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result b/mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result
new file mode 100644
index 00000000000..73d75241a10
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result
@@ -0,0 +1,1354 @@
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+DROP TABLE IF EXISTS worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE FROM
+INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+COLUMN_NAME INDEX_NAME SUB_PART INDEX_TYPE
+col_1_varchar PRIMARY 3072 BTREE
+col_1_varchar prefix_idx 3072 BTREE
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (3072));
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE FROM
+INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+COLUMN_NAME INDEX_NAME SUB_PART INDEX_TYPE
+col_1_text PRIMARY 3072 BTREE
+col_1_text prefix_idx 3072 BTREE
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743;
+col_1_text = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_mediumtext MEDIUMTEXT , col_2_mediumtext MEDIUMTEXT ,
+PRIMARY KEY (col_1_mediumtext(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_mediumtext (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_mediumtext = REPEAT("a", 4000),col_2_mediumtext = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_mediumtext = REPEAT("a", 4000) col_2_mediumtext = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_mediumtext = REPEAT("c", 4000)
+WHERE col_1_mediumtext = REPEAT("a", 4000)
+AND col_2_mediumtext = REPEAT("o", 4000);
+SELECT col_1_mediumtext = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_mediumtext = REPEAT("c", 4000)
+AND col_2_mediumtext = REPEAT("o", 4000);
+col_1_mediumtext = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_mediumtext = REPEAT("b", 4000);
+SELECT col_1_mediumtext = REPEAT("c", 4000) FROM worklog5743;
+col_1_mediumtext = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_longtext LONGTEXT , col_2_longtext LONGTEXT ,
+PRIMARY KEY (col_1_longtext(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_longtext (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_longtext = REPEAT("a", 4000) , col_2_longtext = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_longtext = REPEAT("a", 4000) col_2_longtext = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_longtext = REPEAT("c", 4000)
+WHERE col_1_longtext = REPEAT("a", 4000)
+AND col_2_longtext = REPEAT("o", 4000);
+SELECT col_1_longtext = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_longtext = REPEAT("c", 4000)
+AND col_2_longtext = REPEAT("o", 4000);
+col_1_longtext = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_longtext = REPEAT("b", 4000);
+SELECT col_1_longtext = REPEAT("c", 4000) FROM worklog5743;
+col_1_longtext = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_blob (3072));
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE FROM
+INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+COLUMN_NAME INDEX_NAME SUB_PART INDEX_TYPE
+col_1_blob PRIMARY 3072 BTREE
+col_1_blob prefix_idx 3072 BTREE
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_blob = REPEAT("a", 4000) col_2_blob = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+col_1_blob = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743;
+col_1_blob = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_mediumblob MEDIUMBLOB , col_2_mediumblob MEDIUMBLOB ,
+PRIMARY KEY (col_1_mediumblob(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_mediumblob (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_mediumblob = REPEAT("a", 4000),col_2_mediumblob = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_mediumblob = REPEAT("a", 4000) col_2_mediumblob = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_mediumblob = REPEAT("c", 4000)
+WHERE col_1_mediumblob = REPEAT("a", 4000)
+AND col_2_mediumblob = REPEAT("o", 4000);
+SELECT col_1_mediumblob = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_mediumblob = REPEAT("c", 4000)
+AND col_2_mediumblob = REPEAT("o", 4000);
+col_1_mediumblob = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_mediumblob = REPEAT("b", 4000);
+SELECT col_1_mediumblob = REPEAT("c", 4000) FROM worklog5743;
+col_1_mediumblob = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_longblob LONGBLOB , col_2_longblob LONGBLOB ,
+PRIMARY KEY (col_1_longblob(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_longblob (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_longblob = REPEAT("a", 4000) , col_2_longblob = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_longblob = REPEAT("a", 4000) col_2_longblob = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_longblob = REPEAT("c", 4000)
+WHERE col_1_longblob = REPEAT("a", 4000)
+AND col_2_longblob = REPEAT("o", 4000);
+SELECT col_1_longblob = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_longblob = REPEAT("c", 4000)
+AND col_2_longblob = REPEAT("o", 4000);
+col_1_longblob = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_longblob = REPEAT("b", 4000);
+SELECT col_1_longblob = REPEAT("c", 4000) FROM worklog5743;
+col_1_longblob = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varbinary VARBINARY (4000) ,
+PRIMARY KEY (col_1_varbinary(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varbinary = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varbinary = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+col_1_varbinary = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (col_1_char CHAR (255) , col_2_char CHAR (255),
+col_3_char CHAR (255), col_4_char CHAR (255),col_5_char CHAR (255),
+col_6_char CHAR (255), col_7_char CHAR (255),col_8_char CHAR (255),
+col_9_char CHAR (255), col_10_char CHAR (255),col_11_char CHAR (255),
+col_12_char CHAR (255), col_13_char CHAR (255),col_14_char CHAR (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255)
+);
+CREATE INDEX prefix_idx ON worklog5743(col_1_char(250),col_2_char(250),
+col_3_char(250),col_4_char(250),col_5_char(250),col_6_char(250),
+col_7_char(250),col_8_char(250),col_9_char(250),col_10_char(250),
+col_11_char(250),col_12_char(250),col_13_char(72)
+);
+INSERT INTO worklog5743 VALUES(REPEAT("b", 255) , REPEAT("p", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255)
+);
+SELECT col_1_char = REPEAT("a", 255) , col_2_char = REPEAT("o", 255) FROM worklog5743;
+col_1_char = REPEAT("a", 255) col_2_char = REPEAT("o", 255)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_char = REPEAT("c", 255)
+WHERE col_1_char = REPEAT("a", 255) AND col_2_char = REPEAT("o", 255);
+SELECT col_1_char = REPEAT("c", 255) FROM worklog5743
+WHERE col_1_char = REPEAT("c", 255) AND col_2_char = REPEAT("o", 255);
+col_1_char = REPEAT("c", 255)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_char = REPEAT("b", 255);
+SELECT col_1_char = REPEAT("c", 255) FROM worklog5743;
+col_1_char = REPEAT("c", 255)
+1
+0
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (col_1_binary BINARY (255) , col_2_binary BINARY (255),
+col_3_binary BINARY(255),col_4_binary BINARY (255),col_5_binary BINARY (255),
+col_6_binary BINARY(255),col_7_binary BINARY (255),col_8_binary BINARY (255),
+col_9_binary BINARY(255),col_10_binary BINARY (255),col_11_binary BINARY (255),
+col_12_binary BINARY(255),col_13_binary BINARY (255),col_14_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255)
+);
+CREATE INDEX prefix_idx ON worklog5743(col_1_binary (250),col_2_binary (250),
+col_3_binary (250),col_4_binary (250),col_5_binary (250),
+col_6_binary (250),col_7_binary (250),col_8_binary (250),
+col_9_binary (250),col_10_binary (250),col_11_binary (250),
+col_12_binary (250),col_13_binary (72)
+);
+INSERT INTO worklog5743 VALUES(REPEAT("b", 255) , REPEAT("p", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255)
+);
+SELECT col_1_binary = REPEAT("a", 255) , col_2_binary = REPEAT("o", 255) FROM worklog5743;
+col_1_binary = REPEAT("a", 255) col_2_binary = REPEAT("o", 255)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_binary = REPEAT("c", 255)
+WHERE col_1_binary = REPEAT("a", 255)
+AND col_2_binary = REPEAT("o", 255);
+SELECT col_1_binary = REPEAT("c", 255) FROM worklog5743
+WHERE col_1_binary = REPEAT("c", 255)
+AND col_2_binary = REPEAT("o", 255);
+col_1_binary = REPEAT("c", 255)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_binary = REPEAT("b", 255);
+SELECT col_1_binary = REPEAT("c", 255) FROM worklog5743;
+col_1_binary = REPEAT("c", 255)
+1
+0
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743_key2 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743_key2;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key2 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key2
+WHERE col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key2 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key2;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key2;
+CREATE TABLE worklog5743_key4 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(1964))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743_key4;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key4 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743_key4
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key4 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key4;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key4;
+CREATE TABLE worklog5743_key8 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743_key8;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743_key8
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key8 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key8;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key8;
+CREATE TABLE worklog5743_key2 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743_key2;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key2 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("b", 3500) FROM worklog5743_key2
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key2 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key2;
+col_1_text = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key2;
+CREATE TABLE worklog5743_key4 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(1964))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743_key4;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key4 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("b", 3500) FROM worklog5743_key4
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key4 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key4;
+col_1_text = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key4;
+CREATE TABLE worklog5743_key8 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743_key8;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key8 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("b", 3500) FROM worklog5743_key8
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key8 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key8;
+col_1_text = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key8;
+CREATE TABLE worklog5743_key2 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743_key2;
+col_1_blob = REPEAT("a", 4000) col_2_blob = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key2 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("b", 3500) FROM worklog5743_key2
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+col_1_blob = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key2 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key2;
+col_1_blob = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key2;
+CREATE TABLE worklog5743_key4 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(1964))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743_key4;
+col_1_blob = REPEAT("a", 4000) col_2_blob = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key4 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("b", 3500) FROM worklog5743_key4
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+col_1_blob = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key4 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key4;
+col_1_blob = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key4;
+CREATE TABLE worklog5743_key8 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(3072))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743_key8;
+col_1_blob = REPEAT("a", 4000) col_2_blob = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743_key8 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("b", 3500) FROM worklog5743_key8
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+col_1_blob = REPEAT("b", 3500)
+0
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key8 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key8;
+col_1_blob = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743_key8;
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
+col_3_text TEXT (4000), col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+col_1_varbinary = REPEAT("c", 4000)
+1
+0
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
+col_3_text TEXT (4000), col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
+CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
+CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
+CREATE INDEX prefix_idx4 ON worklog5743(col_4_blob (3072));
+CREATE INDEX prefix_idx5 ON worklog5743(col_5_text (3072));
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+ROLLBACK;
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+COMMIT;
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+ROLLBACK;
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+col_1_varbinary = REPEAT("c", 4000)
+0
+0
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) CHARACTER SET 'utf8',
+col_2_text TEXT (4000) CHARACTER SET 'utf8',
+PRIMARY KEY (col_1_text(1024))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (1024));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000) FROM worklog5743;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743;
+col_1_text = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (col_1_varchar VARCHAR (4000) CHARACTER SET 'utf8',
+col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8' ,
+PRIMARY KEY (col_1_varchar(1024))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) ,
+col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8',
+col_3_text TEXT (4000) CHARACTER SET 'utf8',
+col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (500));
+CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (500));
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+ROLLBACK;
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+COMMIT;
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+ROLLBACK;
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+col_1_varbinary = REPEAT("c", 4000)
+0
+0
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) CHARACTER SET 'utf8',
+col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(1024))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("स", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (1024));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("स", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_text = REPEAT("स", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_text = REPEAT("क", 4000)
+WHERE col_1_text = REPEAT("स", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("क", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("क", 4000)
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("क", 4000) FROM worklog5743;
+col_1_text = REPEAT("क", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+"In connection 2"
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+0 1
+"In connection 1"
+select @@session.tx_isolation;
+@@session.tx_isolation
+REPEATABLE-READ
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("b", 200) col_2_text = REPEAT("o", 200)
+0 1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("b", 200) col_2_text = REPEAT("o", 200)
+0 1
+1 1
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+START TRANSACTION;
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+"In connection 2"
+COMMIT;
+"In connection 1"
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("b", 200) col_2_text = REPEAT("o", 200)
+0 1
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+COMMIT;
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+START TRANSACTION;
+"In connection 2"
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 200) , REPEAT("o", 200));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("a", 200);
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+0 1
+COMMIT;
+"In connection 1"
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+@@session.tx_isolation
+READ-UNCOMMITTED
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("b", 200) col_2_text = REPEAT("o", 200)
+1 1
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("b", 200) col_2_text = REPEAT("o", 200)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+COMMIT;
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+START TRANSACTION;
+"In connection 2"
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 200) , REPEAT("o", 200));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("a", 200);
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("a", 200) col_2_text = REPEAT("o", 200)
+0 1
+ROLLBACK;
+"In connection 1"
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+col_1_text = REPEAT("b", 200) col_2_text = REPEAT("o", 200)
+0 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+COMMIT;
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("c", 4000)
+1
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+col_1_varchar = REPEAT("c", 4000)
+0
+0
+1
+SELECT tbl1.col_1_varchar = tbl2.col_1_varchar
+FROM worklog5743 tbl1 , worklog5743 tbl2
+WHERE tbl1.col_1_varchar = tbl2.col_1_varchar ;
+tbl1.col_1_varchar = tbl2.col_1_varchar
+1
+1
+1
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar IN (SELECT tbl2.col_1_varchar FROM worklog5743 tbl2) ;
+tbl1.col_1_varchar = REPEAT("c", 4000)
+0
+0
+1
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar NOT IN (SELECT tbl2.col_1_varchar FROM worklog5743 tbl2) ;
+tbl1.col_1_varchar = REPEAT("c", 4000)
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1 WHERE
+col_1_varchar IN (SELECT tbl2.col_1_varchar FROM worklog5743 tbl2)
+AND col_1_varchar = REPEAT("c", 4000);
+tbl1.col_1_varchar = REPEAT("c", 4000)
+1
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar in (
+SELECT tbl2.col_1_varchar FROM worklog5743 tbl2
+WHERE tbl1.col_1_varchar != tbl2.col_1_varchar
+) ;
+tbl1.col_1_varchar = REPEAT("c", 4000)
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar in (
+SELECT tbl2.col_1_varchar FROM worklog5743 tbl2
+WHERE tbl1.col_1_varchar = tbl2.col_1_varchar
+) ;
+tbl1.col_1_varchar = REPEAT("c", 4000)
+0
+0
+1
+SELECT
+REVERSE(col_1_varchar) = REPEAT("c", 4000) ,
+REVERSE(REVERSE(col_1_varchar)) = REPEAT("c", 4000)
+FROM worklog5743;
+REVERSE(col_1_varchar) = REPEAT("c", 4000) REVERSE(REVERSE(col_1_varchar)) = REPEAT("c", 4000)
+0 0
+0 0
+1 1
+SELECT
+UPPER(col_1_varchar) = REPEAT("c", 4000) ,
+UPPER(col_1_varchar) = REPEAT("C", 4000) ,
+LOWER(UPPER(col_1_varchar)) = REPEAT("c", 4000)
+FROM worklog5743;
+UPPER(col_1_varchar) = REPEAT("c", 4000) UPPER(col_1_varchar) = REPEAT("C", 4000) LOWER(UPPER(col_1_varchar)) = REPEAT("c", 4000)
+0 0 0
+0 0 0
+1 1 1
+SELECT
+col_1_varchar = REPEAT("c", 4000)
+FROM worklog5743 WHERE col_1_varchar like '%c__%';
+col_1_varchar = REPEAT("c", 4000)
+1
+SELECT SUBSTRING(INSERT(col_1_varchar, 1, 4, 'kkkk'),1,10) FROM worklog5743 ;
+SUBSTRING(INSERT(col_1_varchar, 1, 4, 'kkkk'),1,10)
+kkkkaaaaaa
+kkkkbbbbbb
+kkkkcccccc
+SELECT CONCAT(SUBSTRING(col_1_varchar,-5,3),'append') FROM worklog5743 ;
+CONCAT(SUBSTRING(col_1_varchar,-5,3),'append')
+aaaappend
+bbbappend
+cccappend
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) ,
+col_2_varchar VARCHAR (4000) ,
+UNIQUE INDEX (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 1000),REPEAT("c", 1000)), REPEAT("o", 4000));
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
+INSERT INTO worklog5743 VALUES(NULL,NULL);
+INSERT INTO worklog5743 VALUES(NULL,NULL);
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE
+FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+COLUMN_NAME INDEX_NAME SUB_PART INDEX_TYPE
+col_1_varchar col_1_varchar 3072 BTREE
+SELECT col_1_varchar FROM worklog5743 WHERE col_1_varchar IS NULL;
+col_1_varchar
+NULL
+NULL
+SELECT col_1_varchar = concat(REPEAT("a", 2000),REPEAT("b", 2000))
+FROM worklog5743 WHERE col_1_varchar IS NOT NULL ORDER BY 1;
+col_1_varchar = concat(REPEAT("a", 2000),REPEAT("b", 2000))
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+DROP INDEX prefix_idx ON worklog5743;
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("c", 4000)
+1
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY `prefix_primary` (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("c", 4000)
+1
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY `prefix_primary` (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+DROP INDEX prefix_idx ON worklog5743;
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varchar = REPEAT("a", 4000) col_2_varchar = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+col_1_varchar = REPEAT("c", 4000)
+1
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+col_1_varchar = REPEAT("c", 4000)
+0
+1
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR(4000) , col_2_varchar VARCHAR(4000) ,
+PRIMARY KEY (col_1_varchar (3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("c", 3500) , REPEAT("o", 3500));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+" Switching to con1 connection For select "
+SELECT col_1_varchar = REPEAT("c", 3500) , col_2_varchar = REPEAT("o", 3500)
+FROM worklog5743;
+col_1_varchar = REPEAT("c", 3500) col_2_varchar = REPEAT("o", 3500)
+1 1
+" Switching to default connection For DMLs "
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 3500) , REPEAT("o", 3500));
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743
+WHERE col_2_varchar = REPEAT("o", 3500);
+col_1_varchar = REPEAT("b", 3500)
+0
+0
+COMMIT;
+" Switching to con1 connection For Dropping index and some DMLs "
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("k", 3500),REPEAT("p", 3500));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("b", 3500)
+WHERE col_1_varchar = REPEAT("a", 3500)
+AND col_2_varchar = REPEAT("o", 3500);
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743
+WHERE col_2_varchar = REPEAT("o", 3500);
+col_1_varchar = REPEAT("b", 3500)
+1
+0
+" Switching to default connection For DELETE "
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 3500);
+SELECT col_1_varchar = REPEAT("a", 3500) FROM worklog5743
+WHERE col_2_varchar = REPEAT("p", 3500);
+col_1_varchar = REPEAT("a", 3500)
+0
+" Switching to con1 connection to commit changes "
+COMMIT;
+" Switching to default connection to drop and end sub-test "
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varbinary VARBINARY (4000) ,
+PRIMARY KEY (col_1_varbinary(3072))) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varbinary = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000) col_2_varbinary = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+1
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("c", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+DROP INDEX prefix_idx ON worklog5743;
+SELECT col_1_varbinary = REPEAT("b", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("b", 4000)
+AND col_2_varbinary = REPEAT("p", 4000);
+col_1_varbinary = REPEAT("b", 4000)
+1
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (2000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000)
+1
+0
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("c", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+DROP INDEX prefix_idx ON worklog5743;
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (4000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) FROM worklog5743;
+col_1_varbinary = REPEAT("a", 4000)
+1
+0
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("c", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+col_1_varbinary = REPEAT("c", 4000)
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(500))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+1
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+DROP INDEX prefix_idx ON worklog5743;
+SELECT col_1_text = REPEAT("b", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("b", 4000) AND col_2_text = REPEAT("p", 4000);
+col_1_text = REPEAT("b", 4000)
+1
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (1000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+col_1_text = REPEAT("a", 4000)
+1
+0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+DROP INDEX prefix_idx ON worklog5743;
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (4000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+Warning 1071 Specified key was too long; max key length is 3072 bytes
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+col_1_text = REPEAT("a", 4000)
+1
+0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000) FROM worklog5743;
+col_1_text = REPEAT("a", 4000) col_2_text = REPEAT("o", 4000)
+1 1
+0 0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+1
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+SELECT col_1_text = REPEAT("b", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("b", 4000)
+AND col_2_text = REPEAT("p", 4000);
+col_1_text = REPEAT("b", 4000)
+1
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_text (700));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+col_1_text = REPEAT("a", 4000)
+1
+0
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_text (950));
+ERROR HY000: Too big row
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+col_1_text = REPEAT("a", 4000)
+0
+1
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+col_1_text = REPEAT("c", 4000)
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar (900));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar (3073));
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_BLOB BLOB (4000) , PRIMARY KEY (col_1_BLOB(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_BLOB (500));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_BLOB (3073));
+ERROR 42000: Specified key was too long; max key length is 3072 bytes
+DROP TABLE worklog5743;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 1000),REPEAT("c", 1000)),
+REPEAT("o", 4000));
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
+ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
+ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
+DROP TABLE worklog5743;
+set global innodb_large_prefix=0;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+ERROR 42000: Specified key was too long; max key length is 767 bytes
+set global innodb_large_prefix=0;
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(767))
+) engine = innodb;
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (1000));
+Warnings:
+Warning 1071 Specified key was too long; max key length is 767 bytes
+Warning 1071 Specified key was too long; max key length is 767 bytes
+DROP TABLE worklog5743;
+SET GLOBAL innodb_file_format=Antelope;
+SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_format_max=Antelope;
+SET GLOBAL innodb_large_prefix=0;
diff --git a/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result b/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result
new file mode 100644
index 00000000000..09756954b92
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result
@@ -0,0 +1,91 @@
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+DROP TABLE IF EXISTS worklog5743;
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 3500) , REPEAT("o", 3500));
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+"In connection 2"
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 3500) , REPEAT("o", 3500));
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+START TRANSACTION;
+"In connection default ....restarting the server"
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 3500) , REPEAT("o", 3500));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 3500);
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+"In connection default ....restarting the server"
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+"In connection 1"
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+START TRANSACTION;
+UPDATE worklog5743 SET col_1_text = REPEAT("b", 3500) WHERE col_1_text = REPEAT("a", 3500);
+SELECT col_1_text = REPEAT("b", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("b", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+"In connection default ....restarting the server"
+SELECT COUNT(*) FROM worklog5743;
+COUNT(*)
+1
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
+1 1
+DROP TABLE worklog5743;
+SET GLOBAL innodb_file_format=Antelope;
+SET GLOBAL innodb_file_per_table=0;
+SET GLOBAL innodb_file_format_max=Antelope;
+SET GLOBAL innodb_large_prefix=0;
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc-18274.test b/mysql-test/suite/innodb/t/innodb-autoinc-18274.test
new file mode 100644
index 00000000000..de9f3e3d18b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-autoinc-18274.test
@@ -0,0 +1,26 @@
+-- source include/have_innodb.inc
+# embedded server ignores 'delayed', so skip this
+-- source include/not_embedded.inc
+
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+#
+# Bug #18274 InnoDB auto_increment field reset on OPTIMIZE TABLE
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
+CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (null);
+SHOW CREATE TABLE t1;
+DELETE FROM t1;
+OPTIMIZE TABLE t1;
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES(null);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+#
+# restore environment to the state it was before this test execution
+#
+
+-- disable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc-56228-master.opt b/mysql-test/suite/innodb/t/innodb-autoinc-56228-master.opt
new file mode 100644
index 00000000000..0eed7aaadad
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-autoinc-56228-master.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=0
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc-56228.test b/mysql-test/suite/innodb/t/innodb-autoinc-56228.test
new file mode 100644
index 00000000000..626efcf9897
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-autoinc-56228.test
@@ -0,0 +1,33 @@
+-- source include/have_innodb.inc
+
+##
+# Bug #56228: dropping tables from within an active statement crashes server
+#
+DROP TABLE IF EXISTS t1_56228;
+DROP TABLE IF EXISTS t2_56228;
+DROP FUNCTION IF EXISTS bug56228;
+
+CREATE TEMPORARY TABLE t1_56228(
+ c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TEMPORARY TABLE t2_56228(
+ c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
+
+DELIMITER //;
+
+CREATE FUNCTION bug56228() RETURNS INT DETERMINISTIC
+BEGIN
+ INSERT INTO t1_56228 VALUES(NULL);
+ INSERT INTO t2_56228 VALUES(NULL);
+ INSERT INTO t1_56228 VALUES(NULL);
+ INSERT INTO t2_56228 VALUES(NULL);
+ DROP TEMPORARY TABLE t1_56228;
+ RETURN 42;
+END //
+
+DELIMITER ;//
+
+SELECT bug56228();
+
+DROP FUNCTION bug56228;
+DROP TEMPORARY TABLE t2_56228;
+DROP TEMPORARY TABLE IF EXISTS t1_56228;
diff --git a/mysql-test/suite/innodb/t/innodb-autoinc.test b/mysql-test/suite/innodb/t/innodb-autoinc.test
index 84c359a6bde..4ca761b45ce 100644
--- a/mysql-test/suite/innodb/t/innodb-autoinc.test
+++ b/mysql-test/suite/innodb/t/innodb-autoinc.test
@@ -292,21 +292,8 @@ INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
SHOW VARIABLES LIKE "%auto_inc%";
-# This should fail because of overflow but it doesn't, it seems to be
-# a MySQL server bug. It wraps around to 0 for the last value.
-# See MySQL Bug# 39828
-#
-# Instead of wrapping around, it asserts when MySQL is compiled --with-debug
-# (see sql/handler.cc:handler::update_auto_increment()). Don't test for
-# overflow until Bug #39828 is fixed.
-#
-# Since this asserts when compiled --with-debug, we can't properly test this
-# until Bug #39828 is fixed. For now, this test is meaningless.
-#if Bug #39828 is fixed
-#INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
-#else
-INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
-#endif
+--error ER_AUTOINC_READ_FAILED
+INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
SELECT * FROM t1;
DROP TABLE t1;
@@ -324,20 +311,8 @@ INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=5, @@SESSION.AUTO_INCREMENT_OFFSET=7;
SHOW VARIABLES LIKE "%auto_inc%";
-# This should fail because of overflow but it doesn't. It fails with
-# a duplicate entry message because of a MySQL server bug, it wraps
-# around. See MySQL Bug# 39828, once MySQL fix the bug we can replace
-# the ER_DUP_ENTRY, 1062 below with the appropriate error message
-#
-# Since this asserts when compiled --with-debug, we can't properly test this
-# until Bug #39828 is fixed. For now, this test is meaningless.
-#if Bug #39828 is fixed
-# Still need to fix this error code, error should mention overflow
-#-- error ER_DUP_ENTRY,1062
-#INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
-#else
-INSERT INTO t1 VALUES (NULL),(NULL);
-#endif
+--error ER_AUTOINC_READ_FAILED
+INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
SELECT * FROM t1;
DROP TABLE t1;
@@ -375,20 +350,8 @@ INSERT INTO t1 VALUES (18446744073709551610); #-- 2^64 - 2
SELECT * FROM t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1152921504606846976, @@SESSION.AUTO_INCREMENT_OFFSET=1152921504606846976;
SHOW VARIABLES LIKE "%auto_inc%";
-# This should fail because of overflow but it doesn't. It wraps around
-# and the autoinc values look bogus too.
-# See MySQL Bug# 39828, once MySQL fix the bug we can enable the error
-# code expected test.
-# -- error ER_AUTOINC_READ_FAILED,1467
-#
-# Since this asserts when compiled --with-debug, we can't properly test this
-# until Bug #39828 is fixed. For now, this test is meaningless.
-#if Bug #39828 is fixed
-#-- error ER_AUTOINC_READ_FAILED,1467
-#INSERT INTO t1 VALUES (NULL),(NULL);
-#else
-INSERT INTO t1 VALUES (NULL);
-#endif
+--error ER_WARN_DATA_OUT_OF_RANGE
+INSERT INTO t1 VALUES (NULL),(NULL);
SELECT * FROM t1;
DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb-create-options.test b/mysql-test/suite/innodb/t/innodb-create-options.test
new file mode 100644
index 00000000000..3daa5f09e71
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-create-options.test
@@ -0,0 +1,575 @@
+# Tests for various combinations of ROW_FORMAT and KEY_BLOCK_SIZE
+# Related bugs;
+# Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
+# Bug#56628: ALTER TABLE .. KEY_BLOCK_SIZE=0 produces untrue warning or unnecessary error
+# Bug#56632: ALTER TABLE implicitly changes ROW_FORMAT to COMPRESSED
+# Rules for interpreting CREATE_OPTIONS
+# 1) Create options on an ALTER are added to the options on the
+# previous CREATE or ALTER statements.
+# 2) KEY_BLOCK_SIZE=0 is considered a unspecified value.
+# If the current ROW_FORMAT has explicitly been set to COMPRESSED,
+# InnoDB will use a default value of 8. Otherwise KEY_BLOCK_SIZE
+# will not be used.
+# 3) ROW_FORMAT=DEFAULT allows InnoDB to choose its own default, COMPACT.
+# 4) ROW_FORMAT=DEFAULT and KEY_BLOCK_SIZE=0 can be used at any time to
+# unset or erase the values persisted in the MySQL dictionary and
+# by SHOW CTREATE TABLE.
+# 5) When incompatible values for ROW_FORMAT and KEY_BLOCK_SIZE are
+# both explicitly given, the ROW_FORMAT is always used in non-strict
+# mode.
+# 6) InnoDB will automatically convert a table to COMPRESSED only if a
+# valid non-zero KEY_BLOCK_SIZE has been given and ROW_FORMAT=DEFAULT
+# or has not been used on a previous CREATE TABLE or ALTER TABLE.
+# 7) InnoDB strict mode is designed to prevent incompatible create
+# options from being used together.
+# 8) The non-strict behavior is intended to permit you to import a
+# mysqldump file into a database that does not support compressed
+# tables, even if the source database contained compressed tables.
+# All invalid values and/or incompatible combinations of ROW_FORMAT
+# and KEY_BLOCK_SIZE are automatically corrected
+#
+# *** innodb_strict_mode=ON ***
+# 1) Valid ROW_FORMATs are COMPRESSED, COMPACT, DEFAULT, DYNAMIC
+# & REDUNDANT. All others are rejected.
+# 2) Valid KEY_BLOCK_SIZEs are 0,1,2,4,8,16. All others are rejected.
+# 3) KEY_BLOCK_SIZE=0 can be used to set it to 'unspecified'.
+# 4) KEY_BLOCK_SIZE=1,2,4,8 & 16 are incompatible with COMPACT, DYNAMIC &
+# REDUNDANT.
+# 5) KEY_BLOCK_SIZE=1,2,4,8 & 16 as well as ROW_FORMAT=COMPRESSED and
+# ROW_FORMAT=DYNAMIC are incompatible with innodb_file_format=Antelope
+# and innodb_file_per_table=OFF
+# 6) KEY_BLOCK_SIZE on an ALTER must occur with ROW_FORMAT=COMPRESSED
+# or ROW_FORMAT=DEFAULT if the ROW_FORMAT was previously specified
+# as COMPACT, DYNAMIC or REDUNDANT.
+# 7) KEY_BLOCK_SIZE on an ALTER can occur without a ROW_FORMAT if the
+# previous ROW_FORMAT was DEFAULT, COMPRESSED, or unspecified.
+#
+# *** innodb_strict_mode=OFF ***
+# 1. Ignore a bad KEY_BLOCK_SIZE, defaulting it to 8.
+# 2. Ignore a bad ROW_FORMAT, defaulting to COMPACT.
+# 3. Ignore a valid KEY_BLOCK_SIZE when an incompatible but valid
+# ROW_FORMAT is specified.
+# 4. If innodb_file_format=Antelope or innodb_file_per_table=OFF
+# it will ignore ROW_FORMAT=COMPRESSED or DYNAMIC and it will
+# ignore all non-zero KEY_BLOCK_SIZEs.
+#
+# See InnoDB documentation page "SQL Compression Syntax Warnings and Errors"
+
+-- source include/have_innodb.inc
+SET storage_engine=InnoDB;
+
+--disable_query_log
+# These values can change during the test
+LET $innodb_file_format_orig=`select @@innodb_file_format`;
+LET $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+LET $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+LET $innodb_strict_mode_orig=`select @@session.innodb_strict_mode`;
+--enable_query_log
+
+SET GLOBAL innodb_file_format=`Barracuda`;
+SET GLOBAL innodb_file_per_table=ON;
+
+# The first half of these tests are with strict mode ON.
+SET SESSION innodb_strict_mode = ON;
+
+--echo # Test 1) StrictMode=ON, CREATE and ALTER with each ROW_FORMAT & KEY_BLOCK_SIZE=0
+--echo # KEY_BLOCK_SIZE=0 means 'no KEY_BLOCK_SIZE is specified'
+DROP TABLE IF EXISTS t1;
+--echo # 'FIXED' is sent to InnoDB since it is used by MyISAM.
+--echo # But it is an invalid mode in InnoDB
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
+SHOW WARNINGS;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+
+
+--echo # Test 2) StrictMode=ON, CREATE with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
+--echo # KEY_BLOCK_SIZE is incompatible with COMPACT, REDUNDANT, & DYNAMIC
+DROP TABLE IF EXISTS t1;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+
+--echo # Test 3) StrictMode=ON, ALTER with each ROW_FORMAT & a valid non-zero KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+
+--echo # Test 4) StrictMode=ON, CREATE with ROW_FORMAT=COMPACT, ALTER with a valid non-zero KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 5) StrictMode=ON, CREATE with a valid KEY_BLOCK_SIZE
+--echo # ALTER with each ROW_FORMAT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=2;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW CREATE TABLE t1;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 6) StrictMode=ON, CREATE with an invalid KEY_BLOCK_SIZE.
+DROP TABLE IF EXISTS t1;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=9;
+SHOW WARNINGS;
+
+--echo # Test 7) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
+--echo # and a valid non-zero KEY_BLOCK_SIZE are rejected with Antelope
+--echo # and that they can be set to default values during strict mode.
+SET GLOBAL innodb_file_format=Antelope;
+DROP TABLE IF EXISTS t1;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 KEY_BLOCK_SIZE=8;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+SET GLOBAL innodb_file_format=Barracuda;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+SET GLOBAL innodb_file_format=Antelope;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ADD COLUMN f1 INT;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+SET GLOBAL innodb_file_format=Barracuda;
+
+--echo # Test 8) StrictMode=ON, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and
+--echo # and a valid non-zero KEY_BLOCK_SIZE are rejected with
+--echo # innodb_file_per_table=OFF and that they can be set to default
+--echo # values during strict mode.
+SET GLOBAL innodb_file_per_table=OFF;
+DROP TABLE IF EXISTS t1;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+--error ER_CANT_CREATE_TABLE
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT;
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 KEY_BLOCK_SIZE=1;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DEFAULT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_per_table=ON;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
+SET GLOBAL innodb_file_per_table=OFF;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+--error ER_CANT_CREATE_TABLE
+ALTER TABLE t1 ADD COLUMN f1 INT;
+--replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
+SHOW WARNINGS;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+SET GLOBAL innodb_file_per_table=ON;
+
+--echo ##################################################
+SET SESSION innodb_strict_mode = OFF;
+
+--echo # Test 9) StrictMode=OFF, CREATE and ALTER with each ROW_FORMAT & KEY_BLOCK_SIZE=0
+--echo # KEY_BLOCK_SIZE=0 means 'no KEY_BLOCK_SIZE is specified'
+--echo # 'FIXED' is sent to InnoDB since it is used by MyISAM.
+--echo # It is an invalid mode in InnoDB, use COMPACT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=FIXED;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 10) StrictMode=OFF, CREATE with each ROW_FORMAT & a valid KEY_BLOCK_SIZE
+--echo # KEY_BLOCK_SIZE is ignored with COMPACT, REDUNDANT, & DYNAMIC
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+
+--echo # Test 11) StrictMode=OFF, ALTER with each ROW_FORMAT & a valid KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=FIXED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=COMPACT KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT );
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+
+--echo # Test 12) StrictMode=OFF, CREATE with ROW_FORMAT=COMPACT, ALTER with a valid KEY_BLOCK_SIZE
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 KEY_BLOCK_SIZE=4;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPACT;
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=8;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 13) StrictMode=OFF, CREATE with a valid KEY_BLOCK_SIZE
+--echo # ALTER with each ROW_FORMAT
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=16;
+SHOW WARNINGS;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPRESSED;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=DEFAULT KEY_BLOCK_SIZE=0;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+ALTER TABLE t1 ROW_FORMAT=COMPACT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 14) StrictMode=OFF, CREATE with an invalid KEY_BLOCK_SIZE, it defaults to 8
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) KEY_BLOCK_SIZE=15;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 15) StrictMode=OFF, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and a
+--echo valid KEY_BLOCK_SIZE are remembered but not used when ROW_FORMAT
+--echo is reverted to Antelope and then used again when ROW_FORMAT=Barracuda.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_format=Antelope;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_format=Barracuda;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_format=Antelope;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_format=Barracuda;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+--echo # Test 16) StrictMode=OFF, Make sure ROW_FORMAT= COMPRESSED & DYNAMIC and a
+--echo valid KEY_BLOCK_SIZE are remembered but not used when innodb_file_per_table=OFF
+--echo and then used again when innodb_file_per_table=ON.
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_per_table=OFF;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_per_table=ON;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 ( i INT ) ROW_FORMAT=DYNAMIC;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_per_table=OFF;
+ALTER TABLE t1 ADD COLUMN f1 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+SET GLOBAL innodb_file_per_table=ON;
+ALTER TABLE t1 ADD COLUMN f2 INT;
+SHOW WARNINGS;
+SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_NAME = 't1';
+
+
+--echo # Cleanup
+DROP TABLE IF EXISTS t1;
+
+--disable_query_log
+EVAL SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+EVAL SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+EVAL SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
+EVAL SET SESSION innodb_strict_mode=$innodb_strict_mode_orig;
+--enable_query_log
+
diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test
index 26de072f08b..86189f1426d 100644
--- a/mysql-test/suite/innodb/t/innodb-index.test
+++ b/mysql-test/suite/innodb/t/innodb-index.test
@@ -368,36 +368,36 @@ create table t1(a blob,b blob,c blob,d blob,e blob,f blob,g blob,h blob,
i blob,j blob,k blob,l blob,m blob,n blob,o blob,p blob,
q blob,r blob,s blob,t blob,u blob)
engine=innodb row_format=dynamic;
-create index t1a on t1 (a(1));
-create index t1b on t1 (b(1));
-create index t1c on t1 (c(1));
-create index t1d on t1 (d(1));
-create index t1e on t1 (e(1));
-create index t1f on t1 (f(1));
-create index t1g on t1 (g(1));
-create index t1h on t1 (h(1));
-create index t1i on t1 (i(1));
-create index t1j on t1 (j(1));
-create index t1k on t1 (k(1));
-create index t1l on t1 (l(1));
-create index t1m on t1 (m(1));
-create index t1n on t1 (n(1));
-create index t1o on t1 (o(1));
-create index t1p on t1 (p(1));
-create index t1q on t1 (q(1));
-create index t1r on t1 (r(1));
-create index t1s on t1 (s(1));
-create index t1t on t1 (t(1));
+create index t1a on t1 (a(767));
+create index t1b on t1 (b(767));
+create index t1c on t1 (c(767));
+create index t1d on t1 (d(767));
+create index t1e on t1 (e(767));
+create index t1f on t1 (f(767));
+create index t1g on t1 (g(767));
+create index t1h on t1 (h(767));
+create index t1i on t1 (i(767));
+create index t1j on t1 (j(767));
+create index t1k on t1 (k(767));
+create index t1l on t1 (l(767));
+create index t1m on t1 (m(767));
+create index t1n on t1 (n(767));
+create index t1o on t1 (o(767));
+create index t1p on t1 (p(767));
+create index t1q on t1 (q(767));
+create index t1r on t1 (r(767));
+create index t1s on t1 (s(767));
+create index t1t on t1 (t(767));
--error 139
-create index t1u on t1 (u(1));
+create index t1u on t1 (u(767));
--error 139
-create index t1ut on t1 (u(1), t(1));
-create index t1st on t1 (s(1), t(1));
+create index t1ut on t1 (u(767), t(767));
+create index t1st on t1 (s(767), t(767));
show create table t1;
--error 139
-create index t1u on t1 (u(1));
+create index t1u on t1 (u(767));
alter table t1 row_format=compact;
-create index t1u on t1 (u(1));
+create index t1u on t1 (u(767));
drop table t1;
eval set global innodb_file_per_table=$per_table;
diff --git a/mysql-test/suite/innodb/t/innodb-system-table-view-master.opt b/mysql-test/suite/innodb/t/innodb-system-table-view-master.opt
deleted file mode 100644
index 303ec1be1d0..00000000000
--- a/mysql-test/suite/innodb/t/innodb-system-table-view-master.opt
+++ /dev/null
@@ -1,3 +0,0 @@
---default-storage-engine=MyISAM
---innodb-strict-mode=0
---innodb-file-per-table=0
diff --git a/mysql-test/suite/innodb/t/innodb-system-table-view.test b/mysql-test/suite/innodb/t/innodb-system-table-view.test
deleted file mode 100644
index 904087577c8..00000000000
--- a/mysql-test/suite/innodb/t/innodb-system-table-view.test
+++ /dev/null
@@ -1,93 +0,0 @@
-# This is the test for Information Schema System Table View
-# that displays the InnoDB system table content through
-# information schema tables.
-
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS;
-
-# Create a foreign key constraint, and verify the information
-# in INFORMATION_SCHEMA.INNODB_SYS_FOREIGN and
-# INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS
-CREATE TABLE parent (id INT NOT NULL,
- PRIMARY KEY (id)) ENGINE=INNODB;
-
-CREATE TABLE child (id INT, parent_id INT,
- INDEX par_ind (parent_id),
- CONSTRAINT constraint_test
- FOREIGN KEY (parent_id) REFERENCES parent(id)
- ON DELETE CASCADE) ENGINE=INNODB;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
-
-# Insert a row in the table "parent", and see whether that reflected in
-# INNODB_SYS_TABLESTATS
-INSERT INTO parent VALUES(1);
-
-SELECT name, num_rows, mysql_handles_opened
-FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
-WHERE name LIKE "%parent";
-
-SELECT NAME, FLAG, N_COLS, SPACE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
-
-SELECT name, n_fields
-from INFORMATION_SCHEMA.INNODB_SYS_INDEXES
-WHERE table_id In (SELECT table_id from
- INFORMATION_SCHEMA.INNODB_SYS_TABLES
- WHERE name LIKE "%parent%");
-
-SELECT name, n_fields
-from INFORMATION_SCHEMA.INNODB_SYS_INDEXES
-WHERE table_id In (SELECT table_id from
- INFORMATION_SCHEMA.INNODB_SYS_TABLES
- WHERE name LIKE "%child%");
-
-SELECT name, pos, mtype, len
-from INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
-WHERE table_id In (SELECT table_id from
- INFORMATION_SCHEMA.INNODB_SYS_TABLES
- WHERE name LIKE "%child%");
-
-DROP TABLE child;
-
-DROP TABLE parent;
-
-# Create table with 2 columns in the foreign key constraint
-CREATE TABLE parent (id INT NOT NULL, newid INT NOT NULL,
- PRIMARY KEY (id, newid)) ENGINE=INNODB;
-
-CREATE TABLE child (id INT, parent_id INT,
- INDEX par_ind (parent_id),
- CONSTRAINT constraint_test
- FOREIGN KEY (id, parent_id) REFERENCES parent(id, newid)
- ON DELETE CASCADE) ENGINE=INNODB;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
-
-SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
-
-INSERT INTO parent VALUES(1, 9);
-
-# Nested query will open the table handle twice
-SELECT * FROM parent WHERE id IN (SELECT id FROM parent);
-
-SELECT name, num_rows, mysql_handles_opened
-FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS
-WHERE name LIKE "%parent";
-
-DROP TABLE child;
-
-DROP TABLE parent;
diff --git a/mysql-test/suite/innodb/t/innodb-timeout.test b/mysql-test/suite/innodb/t/innodb-timeout.test
index fd839540667..07d03093b63 100644
--- a/mysql-test/suite/innodb/t/innodb-timeout.test
+++ b/mysql-test/suite/innodb/t/innodb-timeout.test
@@ -1,5 +1,5 @@
-let $timeout=`select @@innodb_lock_wait_timeout`;
+let $initial_timeout=`select @@innodb_lock_wait_timeout`;
set global innodb_lock_wait_timeout=42;
connect (a,localhost,root,,);
@@ -11,19 +11,24 @@ set innodb_lock_wait_timeout=1;
select @@innodb_lock_wait_timeout;
connection b;
+let $connection_b_id=`SELECT CONNECTION_ID()`;
select @@innodb_lock_wait_timeout;
set global innodb_lock_wait_timeout=347;
select @@innodb_lock_wait_timeout;
-set innodb_lock_wait_timeout=1;
+set innodb_lock_wait_timeout=10;
select @@innodb_lock_wait_timeout;
connect (c,localhost,root,,);
connection c;
+
select @@innodb_lock_wait_timeout;
-connection default;
+
disconnect c;
+--source include/wait_until_disconnected.inc
connection a;
+--replace_result $connection_b_id <connection_b_id>
+eval SET @connection_b_id = $connection_b_id;
create table t1(a int primary key)engine=innodb;
begin;
insert into t1 values(1),(2),(3);
@@ -32,7 +37,37 @@ connection b;
--send
select * from t1 for update;
+# Observation on information_schema.processlist (2010-12 mysql-5.5)
+# -----------------------------------------------------------------
+# As soon as the server started the execution of the
+# connection a: --send select ... for update
+# High parallel load could delay this up to two seconds.
+# and before either
+# - the innodb_lock_wait_timeout was exceeded
+# -> connection b reap gets ER_LOCK_WAIT_TIMEOUT
+# or
+# - connection a commits, the lock disappears and the statement
+# of connection b finishes
+# -> connection b reap gets success + result set
+# we see within information_schema.processlist for connection b a row
+# command state info
+# Query Sending data select * from t1 for update
+# The highest time value seen was @@innodb_lock_wait_timeout + 1.
+# Please note that there is unfortunately nothing which says
+# that we are just waiting for a lock.
+
connection a;
+# In order to ensure that the execution of
+# connection b: select * from t1 for update
+# has really started and is most probably waiting for the lock now we poll on
+# information_schema.processlist.
+# Also our current session innodb_lock_wait_timeout of 10 seconds should big
+# enough to prevent that connection b ends up with getting ER_LOCK_WAIT_TIMEOUT.
+#
+let $wait_timeout= 10;
+let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist
+WHERE id = @connection_b_id AND INFO = 'select * from t1 for update';
+--source include/wait_condition.inc
commit;
connection b;
@@ -43,21 +78,39 @@ begin;
insert into t1 values(4);
connection b;
+set innodb_lock_wait_timeout=3;
+# 3 seconds should be big enough that the wait routine of connection a will
+# hit the time span where our next statement is visible within the
+# information_schema.processlist.
--send
select * from t1 for update;
connection a;
-sleep 2;
+# Wait till the execution of the connection b statement was started.
+let $wait_timeout= 10;
+let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist
+WHERE id = @connection_b_id AND INFO = 'select * from t1 for update';
+--source include/wait_condition.inc
+# Wait till the execution of the connection b statement has ended.
+let $wait_timeout= 10;
+let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist
+WHERE id = @connection_b_id AND INFO IS NULL;
+--source include/wait_condition.inc
+# Give "commit" though this must be too late for the statement of connection b.
commit;
connection b;
--error ER_LOCK_WAIT_TIMEOUT
reap;
-drop table t1;
-connection default;
+disconnect b;
+--source include/wait_until_disconnected.inc
+connection a;
disconnect a;
-disconnect b;
+--source include/wait_until_disconnected.inc
-eval set global innodb_lock_wait_timeout=$timeout;
+connection default;
+drop table t1;
+--replace_result $initial_timeout <initial_timeout>
+eval set global innodb_lock_wait_timeout=$initial_timeout;
diff --git a/mysql-test/suite/innodb/t/innodb-truncate.test b/mysql-test/suite/innodb/t/innodb-truncate.test
new file mode 100644
index 00000000000..7629eb1a980
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb-truncate.test
@@ -0,0 +1,65 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # TRUNCATE TABLE
+--echo #
+--echo # Truncating is disallowed for parent tables unless such table
+--echo # participates in self-referencing foreign keys only.
+--echo #
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t2 (fk INT NOT NULL, FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+--error ER_TRUNCATE_ILLEGAL_FK
+TRUNCATE TABLE t1;
+--echo # Truncation of child should succeed.
+TRUNCATE TABLE t2;
+DROP TABLE t2;
+DROP TABLE t1;
+CREATE TABLE t1 (pk INT PRIMARY KEY, fk INT,
+ FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+--echo # Truncation of self-referencing table should succeed.
+TRUNCATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Also, truncating such tables is allowed if foreign key
+--echo # checks are disabled.
+--echo #
+
+SET @old_foreign_key_checks = @@SESSION.foreign_key_checks;
+CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE t2 (fk INT NOT NULL, FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+CREATE TABLE t3 (pk INT PRIMARY KEY, fk INT,
+ FOREIGN KEY (fk) REFERENCES t1 (pk)) ENGINE=INNODB;
+SET @@SESSION.foreign_key_checks = 0;
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+SET @@SESSION.foreign_key_checks = 1;
+--error ER_TRUNCATE_ILLEGAL_FK
+TRUNCATE TABLE t1;
+TRUNCATE TABLE t2;
+TRUNCATE TABLE t3;
+LOCK TABLES t1 WRITE;
+SET @@SESSION.foreign_key_checks = 0;
+TRUNCATE TABLE t1;
+SET @@SESSION.foreign_key_checks = 1;
+--error ER_TRUNCATE_ILLEGAL_FK
+TRUNCATE TABLE t1;
+UNLOCK TABLES;
+DROP TABLE t3,t2,t1;
+SET @@SESSION.foreign_key_checks = @old_foreign_key_checks;
+
+--echo #
+--echo # Test that TRUNCATE resets auto-increment.
+--echo #
+
+CREATE TABLE t1 (a INT PRIMARY KEY NOT NULL AUTO_INCREMENT);
+INSERT INTO t1 VALUES (NULL), (NULL);
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't1';
+SELECT * FROM t1 ORDER BY a;
+TRUNCATE TABLE t1;
+SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't1';
+INSERT INTO t1 VALUES (NULL), (NULL);
+SELECT * FROM t1 ORDER BY a;
+DROP TABLE t1;
+
diff --git a/mysql-test/suite/innodb/t/innodb-zip.test b/mysql-test/suite/innodb/t/innodb-zip.test
index 236579c83b8..e28b0862166 100644
--- a/mysql-test/suite/innodb/t/innodb-zip.test
+++ b/mysql-test/suite/innodb/t/innodb-zip.test
@@ -175,9 +175,7 @@ set innodb_strict_mode = on;
#Test different values of KEY_BLOCK_SIZE
---error ER_CANT_CREATE_TABLE
create table t1 (id int primary key) engine = innodb key_block_size = 0;
-show warnings;
--error ER_CANT_CREATE_TABLE
create table t2 (id int primary key) engine = innodb key_block_size = 9;
@@ -198,7 +196,7 @@ create table t11(id int primary key) engine = innodb row_format = redundant;
SELECT table_schema, table_name, row_format
FROM information_schema.tables WHERE engine='innodb';
-drop table t3, t4, t5, t6, t7, t8, t9, t10, t11;
+drop table t1, t3, t4, t5, t6, t7, t8, t9, t10, t11;
#test different values of ROW_FORMAT with KEY_BLOCK_SIZE
create table t1 (id int primary key) engine = innodb
@@ -219,14 +217,12 @@ create table t4 (id int primary key) engine = innodb
key_block_size = 8 row_format = dynamic;
show warnings;
---error ER_CANT_CREATE_TABLE
create table t5 (id int primary key) engine = innodb
key_block_size = 8 row_format = default;
-show warnings;
SELECT table_schema, table_name, row_format
FROM information_schema.tables WHERE engine='innodb';
-drop table t1;
+drop table t1, t5;
#test multiple errors
--error ER_CANT_CREATE_TABLE
diff --git a/mysql-test/suite/innodb/t/innodb.test b/mysql-test/suite/innodb/t/innodb.test
index d9cdedb13bf..1284f19b741 100644
--- a/mysql-test/suite/innodb/t/innodb.test
+++ b/mysql-test/suite/innodb/t/innodb.test
@@ -52,6 +52,15 @@ drop table if exists t1,t2,t3,t4;
drop database if exists mysqltest;
--enable_warnings
+# Bug#58912 InnoDB unnecessarily avoids update-in-place on column prefixes
+CREATE TABLE bug58912 (a BLOB, b TEXT, PRIMARY KEY(a(1))) ENGINE=InnoDB;
+INSERT INTO bug58912 VALUES(REPEAT('a',8000),REPEAT('b',8000));
+UPDATE bug58912 SET a=REPEAT('a',7999);
+# The above statements used to trigger a failure during purge when
+# Bug#55284 was fixed while Bug#58912 was not. Defer the DROP TABLE,
+# so that purge gets a chance to run (and a double free of the
+# off-page column can be detected, if one is to occur.)
+
#
# Small basic test with ignore
#
@@ -1474,11 +1483,6 @@ CREATE TABLE t1 (
id INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)
) ENGINE=InnoDB;
-CREATE TABLE t2 (
-id INTEGER NOT NULL,
-FOREIGN KEY (id) REFERENCES t1 (id)
-) ENGINE=InnoDB;
-
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
TRUNCATE t1;
@@ -1491,7 +1495,7 @@ DELETE FROM t1;
TRUNCATE t1;
INSERT INTO t1 (id) VALUES (NULL);
SELECT * FROM t1;
-DROP TABLE t2, t1;
+DROP TABLE t1;
# Test that foreign keys in temporary tables are not accepted (bug #12084)
CREATE TABLE t1
@@ -1726,13 +1730,15 @@ update t2 set a=2;
update t3 set a=2;
-- error 1452
update t4 set a=2;
--- error 1451
+-- error ER_TRUNCATE_ILLEGAL_FK
truncate t1;
--- error 1451
+-- error ER_TRUNCATE_ILLEGAL_FK
truncate t3;
truncate t2;
truncate t4;
+-- error ER_TRUNCATE_ILLEGAL_FK
truncate t1;
+-- error ER_TRUNCATE_ILLEGAL_FK
truncate t3;
drop table t4,t3,t2,t1;
@@ -2554,6 +2560,9 @@ SET GLOBAL innodb_thread_concurrency = @innodb_thread_concurrency_orig;
-- enable_query_log
+# Clean up after the Bug#55284/Bug#58912 test case.
+DROP TABLE bug58912;
+
#######################################################################
# #
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
diff --git a/mysql-test/suite/innodb/t/innodb_bug30423.test b/mysql-test/suite/innodb/t/innodb_bug30423.test
new file mode 100644
index 00000000000..f2a3ee8d099
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug30423.test
@@ -0,0 +1,211 @@
+# Test for Bug #30423, InnoDBs treatment of NULL in index stats causes
+# bad "rows examined" estimates.
+# Implemented InnoDB system variable "innodb_stats_method" with
+# "nulls_equal" (default), "nulls_unequal", and "nulls_ignored" options.
+
+-- source include/have_innodb.inc
+
+let $innodb_stats_method_orig = `select @@innodb_stats_method`;
+
+# default setting for innodb_stats_method is "nulls_equal"
+set global innodb_stats_method = default;
+
+select @@innodb_stats_method;
+
+# create three tables, bug30243_1, bug30243_2 and bug30243_3.
+# The test scenario is adopted from original bug #30423 report.
+# table bug30243_1 and bug30243_3 have many NULL values
+
+-- disable_result_log
+-- disable_query_log
+
+DROP TABLE IF EXISTS bug30243_1;
+CREATE TABLE bug30243_1 (
+ org_id int(11) NOT NULL default '0',
+ UNIQUE KEY (org_id)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+LOCK TABLES bug30243_1 WRITE;
+INSERT INTO bug30243_1 VALUES (11),(15),(16),(17),(19),(20),(21),(23),(24),
+(25),(26),(27),(28),(29),(30),(31),(32),(33),(34),(35),(37),(38),(40),(41),
+(42),(43),(44),(45),(46),(47),(48),(49),(50),(51),(52),(53),(54),(55),(56),
+(57),(58),(59),(60),(61),(62),(63),(64),(65),(66),(67),(68),(69),(70),(71),
+(72),(73),(74),(75),(76),(77),(78),(79),(80),(81),(82),(83),(84),(85),(86),
+(87),(88),(89),(90),(91),(92),(93),(94),(95),(96),(97),(98),(99),(100),(101),
+(102),(103),(104),(105),(106),(107),(108),(109),(110),(111),(112),(113),(114),
+(115),(116),(117),(118),(119),(120),(121),(122),(123),(124),(125),(126),(127),
+(128),(129),(130),(131),(132),(133),(134),(135),(136),(137),(138),(139),(140),
+(141),(142),(143),(144),(145);
+UNLOCK TABLES;
+
+DROP TABLE IF EXISTS bug30243_3;
+CREATE TABLE bug30243_3 (
+ org_id int(11) default NULL,
+ KEY (org_id)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+INSERT INTO bug30243_3 VALUES (NULL);
+
+begin;
+let $i=14;
+while ($i)
+{
+ INSERT INTO bug30243_3 SELECT NULL FROM bug30243_3;
+ dec $i;
+}
+
+INSERT INTO bug30243_3 VALUES (34),(34),(35),(56),(58),(62),(62),(64),(65),(66),(80),(135),(137),(138),(139),(140),(142),(143),(144),(145);
+commit;
+
+DROP TABLE IF EXISTS bug30243_2;
+CREATE TABLE bug30243_2 (
+ org_id int(11) default NULL,
+ KEY `contacts$org_id` (org_id)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+INSERT INTO bug30243_2 VALUES (NULL);
+
+begin;
+let $i=16;
+while ($i)
+{
+ INSERT INTO bug30243_2 SELECT NULL FROM bug30243_2;
+ dec $i;
+}
+
+INSERT INTO bug30243_2 VALUES (11),(15),(16),(17),(20),(21),(23),(24),(25),
+(26),(27),(28),(29),(30),(31),(32),(33),(34),(37),(38),(40),(41),(42),(43),
+(44),(45),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),
+(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),
+(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),
+(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),
+(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),
+(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(46),(48),
+(48),(50),(51),(52),(52),(53),(54),(55),(57),(60),(61),(62),(62),(62),(62),
+(62),(63),(64),(64),(65),(66),(66),(67),(68),(69),(70),(71),(72),(73),(74),
+(75),(76),(77),(78),(79),(80),(80),(81),(82),(83),(84),(85),(86),(87),(88),
+(89),(90),(91),(92),(93),(94),(95),(96),(97),(98),(99),(100),(101),(102),
+(103),(104),(105),(106),(107),(108),(109),(110),(111),(112),(113),(114),
+(115),(116),(117),(118),(119),(120),(121),(122),(123),(124),(125),(126),
+(127),(128),(129),(130),(131),(132),(133),(133),(135),(135),(135),(135),
+(136),(136),(138),(138),(139),(139),(139),(140),(141),(141),(142),(143),
+(143),(145),(145);
+commit;
+
+
+-- enable_result_log
+-- enable_query_log
+
+# check tables's value
+select count(*) from bug30243_3 where org_id is not NULL;
+select count(*) from bug30243_3 where org_id is NULL;
+
+select count(*) from bug30243_2 where org_id is not NULL;
+select count(*) from bug30243_2 where org_id is NULL;
+
+select @@innodb_stats_method;
+
+analyze table bug30243_1;
+analyze table bug30243_2;
+analyze table bug30243_3;
+
+# Following query plan shows that we over estimate the rows per
+# unique value (since there are many NULLs).
+# Skip this query log since the stats estimate could vary from runs
+-- disable_query_log
+-- disable_result_log
+explain SELECT COUNT(*), 0
+ FROM bug30243_1 orgs
+ LEFT JOIN bug30243_3 sa_opportunities
+ ON orgs.org_id=sa_opportunities.org_id
+ LEFT JOIN bug30243_2 contacts
+ ON orgs.org_id=contacts.org_id ;
+-- enable_query_log
+-- enable_result_log
+
+# following set operation will fail
+#--error ER_WRONG_VALUE_FOR_VAR
+--error 1231
+set global innodb_stats_method = "NULL";
+
+set global innodb_stats_method = "nulls_ignored";
+
+select @@innodb_stats_method;
+
+# Regenerate the stats with "nulls_ignored" option
+
+analyze table bug30243_1;
+analyze table bug30243_2;
+analyze table bug30243_3;
+
+# Following query plan shows that we get the correct rows per
+# unique value (should be approximately 1 row per value)
+explain SELECT COUNT(*), 0
+ FROM bug30243_1 orgs
+ LEFT JOIN bug30243_3 sa_opportunities
+ ON orgs.org_id=sa_opportunities.org_id
+ LEFT JOIN bug30243_2 contacts
+ ON orgs.org_id=contacts.org_id ;
+
+select @@innodb_stats_method;
+
+# Try the "nulls_unequal" option
+set global innodb_stats_method = "nulls_unequal";
+
+select @@innodb_stats_method;
+
+analyze table bug30243_1;
+analyze table bug30243_2;
+analyze table bug30243_3;
+
+# Following query plan shows that we get the correct rows per
+# unique value (~1)
+explain SELECT COUNT(*), 0
+ FROM bug30243_1 orgs
+ LEFT JOIN bug30243_3 sa_opportunities
+ ON orgs.org_id=sa_opportunities.org_id
+ LEFT JOIN bug30243_2 contacts
+ ON orgs.org_id=contacts.org_id;
+
+
+# Create a table with all NULL values, make sure the stats calculation
+# does not crash with table of all NULL values
+-- disable_query_log
+CREATE TABLE table_bug30423 (
+ org_id int(11) default NULL,
+ KEY(org_id)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+INSERT INTO `table_bug30423` VALUES (NULL);
+
+begin;
+let $i=10;
+while ($i)
+{
+ INSERT INTO table_bug30423 SELECT NULL FROM table_bug30423;
+ dec $i;
+}
+commit;
+
+-- enable_query_log
+
+SELECT COUNT(*) FROM table_bug30423 WHERE org_id IS NULL;
+
+# calculate the statistics for the table for "nulls_ignored" and
+# "nulls_unequal" option
+set global innodb_stats_method = "nulls_unequal";
+analyze table table_bug30423;
+
+set global innodb_stats_method = "nulls_ignored";
+analyze table table_bug30423;
+
+
+eval set global innodb_stats_method = $innodb_stats_method_orig;
+
+drop table bug30243_2;
+
+drop table bug30243_1;
+
+drop table bug30243_3;
+
+drop table table_bug30423;
diff --git a/mysql-test/suite/innodb/t/innodb_bug42419.test b/mysql-test/suite/innodb/t/innodb_bug42419.test
index b3d732662e1..43e9ada96db 100644
--- a/mysql-test/suite/innodb/t/innodb_bug42419.test
+++ b/mysql-test/suite/innodb/t/innodb_bug42419.test
@@ -6,7 +6,7 @@
--source include/not_embedded.inc
let $innodb_lock_wait_timeout= query_get_value(SHOW VARIABLES LIKE 'innodb_lock_wait_timeout%', Value, 1);
-if (`SELECT $innodb_lock_wait_timeout < 10`)
+if ($innodb_lock_wait_timeout < 10)
{
--echo # innodb_lock_wait_timeout must be >= 10 seconds
--echo # so that this test can work all time fine on an overloaded testing box
diff --git a/mysql-test/suite/innodb/t/innodb_bug53046.test b/mysql-test/suite/innodb/t/innodb_bug53046.test
new file mode 100644
index 00000000000..77f0a638728
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug53046.test
@@ -0,0 +1,48 @@
+#
+# http://bugs.mysql.com/53046
+# dict_update_statistics_low can still be run concurrently on same table
+#
+# This is a symbolic test, it would not fail if the bug is present.
+# Rather those SQL commands have been used during manual testing under
+# UNIV_DEBUG & UNIV_SYNC_DEBUG to test all changed codepaths for locking
+# correctness.
+#
+
+-- source include/have_innodb.inc
+
+CREATE TABLE bug53046_1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
+CREATE TABLE bug53046_2 (c2 INT PRIMARY KEY,
+ FOREIGN KEY (c2) REFERENCES bug53046_1(c1)
+ ON UPDATE CASCADE ON DELETE CASCADE) ENGINE=INNODB;
+
+INSERT INTO bug53046_1 VALUES (1);
+let $i = 5;
+while ($i) {
+ eval INSERT INTO bug53046_1 SELECT c1+(SELECT MAX(c1) FROM bug53046_1)
+ FROM bug53046_1;
+ dec $i;
+}
+
+INSERT INTO bug53046_2 VALUES (1), (2);
+
+# CREATE TABLE innodb_table_monitor (a int) ENGINE=INNODB;
+# wait more than 1 minute and observe the mysqld output
+# DROP TABLE innodb_table_monitor;
+
+ANALYZE TABLE bug53046_1;
+
+# this prints create time and other nondeterministic data
+-- disable_result_log
+SHOW TABLE STATUS LIKE 'bug53046_1';
+-- enable_result_log
+
+UPDATE bug53046_1 SET c1 = c1 - 1;
+
+DELETE FROM bug53046_1;
+
+INSERT INTO bug53046_1 VALUES (1);
+INSERT INTO bug53046_2 VALUES (1);
+TRUNCATE TABLE bug53046_2;
+
+DROP TABLE bug53046_2;
+DROP TABLE bug53046_1;
diff --git a/mysql-test/suite/innodb/t/innodb_bug53756-master.opt b/mysql-test/suite/innodb/t/innodb_bug53756-master.opt
new file mode 100644
index 00000000000..425fda95086
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug53756-master.opt
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file
diff --git a/mysql-test/suite/innodb/t/innodb_bug53756.test b/mysql-test/suite/innodb/t/innodb_bug53756.test
new file mode 100644
index 00000000000..ae23e9d41a3
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug53756.test
@@ -0,0 +1,187 @@
+# This is the test case for bug #53756. Alter table operation could
+# leave a deleted record for the temp table (later renamed to the altered
+# table) in the SYS_TABLES secondary index, we should ignore this row and
+# find the first non-deleted row for the specified table_id when load table
+# metadata in the function dict_load_table_on_id() during crash recovery.
+
+#
+# innobackup needs to connect to the server. Not supported in embedded.
+--source include/not_embedded.inc
+#
+# This test case needs to crash the server. Needs a debug server.
+--source include/have_debug.inc
+#
+# Don't test this under valgrind, memory leaks will occur.
+--source include/not_valgrind.inc
+#
+# This test case needs InnoDB.
+-- source include/have_innodb.inc
+
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+
+#
+# Precautionary clean up.
+#
+--disable_warnings
+DROP TABLE IF EXISTS bug_53756 ;
+--enable_warnings
+
+#
+# Create test data.
+#
+CREATE TABLE bug_53756 (pk INT, c1 INT) ENGINE=InnoDB;
+ALTER TABLE bug_53756 ADD PRIMARY KEY (pk);
+INSERT INTO bug_53756 VALUES(1, 11), (2, 22), (3, 33), (4, 44);
+
+--echo
+--echo # Select a less restrictive isolation level.
+# Don't use user variables. They won't survive server crash.
+--let $global_isolation= `SELECT @@global.tx_isolation`
+--let $session_isolation= `SELECT @@session.tx_isolation`
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+COMMIT;
+
+--echo
+--echo # Start a transaction in the default connection for isolation.
+START TRANSACTION;
+SELECT @@tx_isolation;
+SELECT * FROM bug_53756;
+
+--echo
+--echo # connection con1 deletes row 1
+--connect (con1,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+DELETE FROM bug_53756 WHERE pk=1;
+
+--echo
+--echo # connection con2 deletes row 2
+--connect (con2,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+DELETE FROM bug_53756 WHERE pk=2;
+
+--echo
+--echo # connection con3 updates row 3
+--connect (con3,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+UPDATE bug_53756 SET c1=77 WHERE pk=3;
+
+--echo
+--echo # connection con4 updates row 4
+--connect (con4,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+UPDATE bug_53756 SET c1=88 WHERE pk=4;
+
+--echo
+--echo # connection con5 inserts row 5
+--connect (con5,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+INSERT INTO bug_53756 VALUES(5, 55);
+
+--echo
+--echo # connection con6 inserts row 6
+--connect (con6,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+INSERT INTO bug_53756 VALUES(6, 66);
+
+--echo
+--echo # connection con1 commits.
+--connection con1
+COMMIT;
+
+--echo
+--echo # connection con3 commits.
+--connection con3
+COMMIT;
+
+--echo
+--echo # connection con4 rolls back.
+--connection con4
+ROLLBACK;
+
+--echo
+--echo # connection con6 rolls back.
+--connection con6
+ROLLBACK;
+
+--echo
+--echo # The connections 2 and 5 stay open.
+
+--echo
+--echo # connection default selects resulting data.
+--echo # Delete of row 1 was committed.
+--echo # Update of row 3 was committed.
+--echo # Due to isolation level read committed, these should be included.
+--echo # All other changes should not be included.
+--connection default
+SELECT * FROM bug_53756;
+
+--echo
+--echo # connection default
+--connection default
+--echo #
+--echo # Crash server.
+#
+# Write file to make mysql-test-run.pl expect the "crash", but don't start
+# it until it's told to
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+#
+START TRANSACTION;
+INSERT INTO bug_53756 VALUES (666,666);
+#
+# Request a crash on next execution of commit.
+SET SESSION debug="+d,crash_commit_before";
+#
+# Execute the statement that causes the crash.
+--error 2013
+COMMIT;
+--echo
+--echo #
+--echo # disconnect con1, con2, con3, con4, con5, con6.
+--disconnect con1
+--disconnect con2
+--disconnect con3
+--disconnect con4
+--disconnect con5
+--disconnect con6
+--echo #
+--echo # Restart server.
+#
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+#
+# Turn on reconnect
+--enable_reconnect
+#
+# Call script that will poll the server waiting for it to be back online again
+--source include/wait_until_connected_again.inc
+#
+# Turn off reconnect again
+--disable_reconnect
+--echo
+
+--echo #
+--echo # Select recovered data.
+--echo # Delete of row 1 was committed.
+--echo # Update of row 3 was committed.
+--echo # These should be included.
+--echo # All other changes should not be included.
+--echo # Delete of row 2 and insert of row 5 should be rolled back
+SELECT * FROM bug_53756;
+
+--echo
+--echo # Clean up.
+DROP TABLE bug_53756;
+
+--disable_query_log
+eval SET GLOBAL tx_isolation= '$global_isolation';
+eval SET SESSION tx_isolation= '$session_isolation';
+--enable_query_log
+
diff --git a/mysql-test/suite/innodb/t/innodb_bug54679.test b/mysql-test/suite/innodb/t/innodb_bug54679.test
deleted file mode 100644
index b279e1eaf9f..00000000000
--- a/mysql-test/suite/innodb/t/innodb_bug54679.test
+++ /dev/null
@@ -1,100 +0,0 @@
-# Test Bug #54679 alter table causes compressed row_format to revert to compact
-
-
-let $file_format=`select @@innodb_file_format`;
-let $file_format_max=`select @@innodb_file_format_max`;
-let $file_per_table=`select @@innodb_file_per_table`;
-SET GLOBAL innodb_file_format='Barracuda';
-SET GLOBAL innodb_file_per_table=ON;
-SET innodb_strict_mode=ON;
-
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-
-# The ROW_FORMAT of the table should be preserved when it is not specified
-# in ALTER TABLE.
-ALTER TABLE bug54679 ADD COLUMN b INT;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-
-DROP TABLE bug54679;
-
-# Check that the ROW_FORMAT conversion to/from COMPRESSED works.
-
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-
-# KEY_BLOCK_SIZE implies COMPRESSED.
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=1;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE bug54679 ROW_FORMAT=REDUNDANT;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
-DROP TABLE bug54679;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=2;
-SELECT TABLE_NAME,ROW_FORMAT,CREATE_OPTIONS FROM information_schema.tables
-WHERE TABLE_NAME='bug54679';
-
-# This prevents other than REDUNDANT or COMPACT ROW_FORMAT for new tables.
-SET GLOBAL innodb_file_format=Antelope;
-
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=4;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE bug54679 ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
-DROP TABLE bug54679;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB;
-
-SET GLOBAL innodb_file_format=Barracuda;
-# This will prevent ROW_FORMAT=COMPRESSED, because the system tablespace
-# cannot be compressed.
-SET GLOBAL innodb_file_per_table=OFF;
-
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE bug54679 KEY_BLOCK_SIZE=4;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-ALTER TABLE bug54679 ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
-DROP TABLE bug54679;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
---error ER_CANT_CREATE_TABLE
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
---replace_regex /'[^']*test\.#sql-[0-9a-f_]*'/'#sql-temporary'/
-SHOW WARNINGS;
-SET GLOBAL innodb_file_per_table=ON;
-CREATE TABLE bug54679 (a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
-DROP TABLE bug54679;
-
-# restore original values, quietly so the test does not fail if those
-# defaults are changed
--- disable_query_log
-EVAL SET GLOBAL innodb_file_format=$file_format;
-EVAL SET GLOBAL innodb_file_format_max=$file_format_max;
-EVAL SET GLOBAL innodb_file_per_table=$file_per_table;
--- enable_query_log
diff --git a/mysql-test/suite/innodb/t/innodb_bug56143.test b/mysql-test/suite/innodb/t/innodb_bug56143.test
new file mode 100644
index 00000000000..c21de09892c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug56143.test
@@ -0,0 +1,586 @@
+#
+# Bug#56143 too many foreign keys causes output of show create table to become invalid
+# http://bugs.mysql.com/56143
+#
+
+-- source include/have_innodb.inc
+
+-- disable_query_log
+-- disable_result_log
+
+if ($VALGRIND_TEST)
+{
+ call mtr.add_suppression("InnoDB: Warning: a long semaphore wait:");
+}
+
+SET foreign_key_checks=0;
+
+DROP TABLE IF EXISTS bug56143_1;
+DROP TABLE IF EXISTS bug56143_2;
+
+CREATE TABLE bug56143_1 (a INT, KEY(a)) ENGINE=INNODB;
+
+CREATE TABLE `bug56143_2` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`),
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa10` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa100` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa101` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa102` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa103` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa104` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa105` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa106` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa107` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa108` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa109` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa11` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa110` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa111` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa112` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa113` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa114` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa115` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa116` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa117` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa118` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa119` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa12` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa120` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa121` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa122` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa123` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa124` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa125` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa126` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa127` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa128` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa129` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa13` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa130` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa131` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa132` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa133` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa134` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa135` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa136` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa137` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa138` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa139` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa14` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa140` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa141` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa142` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa143` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa144` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa145` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa146` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa147` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa148` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa149` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa15` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa150` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa151` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa152` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa153` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa154` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa155` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa156` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa157` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa158` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa159` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa16` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa160` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa161` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa162` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa163` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa164` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa165` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa166` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa167` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa168` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa169` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa17` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa170` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa171` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa172` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa173` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa174` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa175` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa176` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa177` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa178` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa179` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa18` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa180` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa181` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa182` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa183` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa184` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa185` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa186` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa187` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa188` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa189` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa19` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa190` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa191` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa192` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa193` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa194` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa195` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa196` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa197` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa198` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa199` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa20` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa200` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa201` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa202` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa203` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa204` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa205` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa206` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa207` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa208` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa209` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa21` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa210` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa211` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa212` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa213` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa214` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa215` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa216` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa217` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa218` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa219` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa22` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa220` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa221` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa222` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa223` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa224` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa225` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa226` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa227` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa228` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa229` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa23` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa230` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa231` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa232` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa233` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa234` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa235` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa236` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa237` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa238` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa239` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa24` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa240` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa241` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa242` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa243` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa244` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa245` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa246` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa247` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa248` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa249` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa25` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa250` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa251` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa252` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa253` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa254` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa255` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa256` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa257` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa258` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa259` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa26` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa260` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa261` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa262` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa263` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa264` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa265` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa266` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa267` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa268` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa269` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa27` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa270` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa271` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa272` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa273` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa274` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa275` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa276` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa277` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa278` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa279` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa28` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa280` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa281` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa282` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa283` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa284` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa285` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa286` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa287` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa288` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa289` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa29` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa290` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa291` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa292` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa293` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa294` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa295` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa296` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa297` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa298` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa299` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa30` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa300` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa301` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa302` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa303` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa304` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa305` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa306` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa307` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa308` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa309` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa31` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa310` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa311` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa312` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa313` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa314` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa315` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa316` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa317` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa318` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa319` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa32` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa320` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa321` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa322` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa323` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa324` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa325` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa326` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa327` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa328` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa329` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa33` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa330` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa331` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa332` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa333` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa334` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa335` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa336` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa337` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa338` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa339` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa34` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa340` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa341` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa342` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa343` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa344` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa345` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa346` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa347` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa348` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa349` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa35` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa350` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa351` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa352` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa353` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa354` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa355` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa356` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa357` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa358` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa359` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa36` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa360` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa361` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa362` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa363` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa364` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa365` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa366` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa367` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa368` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa369` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa37` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa370` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa371` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa372` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa373` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa374` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa375` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa376` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa377` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa378` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa379` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa38` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa380` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa381` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa382` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa383` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa384` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa385` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa386` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa387` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa388` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa389` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa39` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa390` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa391` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa392` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa393` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa394` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa395` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa396` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa397` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa398` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa399` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa40` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa400` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa401` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa402` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa403` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa404` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa405` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa406` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa407` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa408` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa409` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa41` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa410` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa411` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa412` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa413` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa414` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa415` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa416` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa417` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa418` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa419` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa42` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa420` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa421` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa422` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa423` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa424` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa425` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa426` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa427` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa428` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa429` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa43` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa430` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa431` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa432` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa433` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa434` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa435` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa436` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa437` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa438` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa439` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa44` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa440` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa441` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa442` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa443` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa444` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa445` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa446` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa447` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa448` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa449` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa45` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa450` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa451` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa452` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa453` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa454` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa455` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa456` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa457` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa458` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa459` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa46` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa460` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa461` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa462` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa463` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa464` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa465` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa466` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa467` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa468` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa469` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa47` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa470` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa471` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa472` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa473` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa474` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa475` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa476` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa477` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa478` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa479` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa48` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa480` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa481` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa482` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa483` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa484` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa485` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa486` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa487` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa488` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa489` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa49` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa490` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa491` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa492` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa493` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa494` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa495` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa496` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa497` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa498` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa499` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa50` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa500` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa501` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa502` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa503` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa504` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa505` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa506` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa507` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa508` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa509` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa51` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa510` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa511` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa512` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa513` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa514` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa515` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa516` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa517` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa518` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa519` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa52` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa520` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa521` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa522` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa523` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa524` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa525` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa526` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa527` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa528` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa529` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa53` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa530` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa531` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa532` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa533` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa534` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa535` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa536` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa537` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa538` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa539` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa54` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa540` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa541` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa542` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa543` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa544` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa545` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa546` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa547` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa548` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa549` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa55` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa550` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa56` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa57` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa58` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa59` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa60` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa61` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa62` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa63` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa64` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa65` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa66` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa67` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa68` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa69` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa7` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa70` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa71` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa72` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa73` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa74` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa75` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa76` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa77` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa78` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa79` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa80` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa81` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa82` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa83` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa85` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa86` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa87` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa88` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa89` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa90` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa91` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa92` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa93` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa94` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa95` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa96` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa97` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa98` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL,
+ CONSTRAINT `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa99` FOREIGN KEY (`a`) REFERENCES `bug56143_1` (`a`) ON UPDATE SET NULL
+) ENGINE=InnoDB;
+
+-- enable_query_log
+-- enable_result_log
+
+SHOW CREATE TABLE bug56143_2;
+
+-- disable_query_log
+-- disable_result_log
+DROP TABLE bug56143_1;
+DROP TABLE bug56143_2;
diff --git a/mysql-test/suite/innodb/t/innodb_bug56680.test b/mysql-test/suite/innodb/t/innodb_bug56680.test
new file mode 100644
index 00000000000..48723195141
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug56680.test
@@ -0,0 +1,142 @@
+#
+# Bug #56680 InnoDB may return wrong results from a case-insensitive index
+#
+-- source include/have_innodb.inc
+
+-- disable_query_log
+SET @tx_isolation_orig = @@tx_isolation;
+SET @innodb_file_per_table_orig = @@innodb_file_per_table;
+SET @innodb_file_format_orig = @@innodb_file_format;
+SET @innodb_file_format_max_orig = @@innodb_file_format_max;
+# The flag innodb_change_buffering_debug is only available in debug builds.
+# It instructs InnoDB to try to evict pages from the buffer pool when
+# change buffering is possible, so that the change buffer will be used
+# whenever possible.
+-- error 0,ER_UNKNOWN_SYSTEM_VARIABLE
+SET @innodb_change_buffering_debug_orig = @@innodb_change_buffering_debug;
+-- error 0,ER_UNKNOWN_SYSTEM_VARIABLE
+SET GLOBAL innodb_change_buffering_debug = 1;
+-- enable_query_log
+SET GLOBAL tx_isolation='REPEATABLE-READ';
+SET GLOBAL innodb_file_format=Barracuda;
+SET GLOBAL innodb_file_per_table=on;
+
+CREATE TABLE bug56680(
+ a INT AUTO_INCREMENT PRIMARY KEY,
+ b CHAR(1),
+ c INT,
+ INDEX(b))
+ENGINE=InnoDB;
+
+INSERT INTO bug56680 VALUES(0,'x',1);
+BEGIN;
+SELECT b FROM bug56680;
+
+connect (con1,localhost,root,,);
+connection con1;
+BEGIN;
+UPDATE bug56680 SET b='X';
+
+connection default;
+# This should return the last committed value 'x', but would return 'X'
+# due to a bug in row_search_for_mysql().
+SELECT b FROM bug56680;
+# This would always return the last committed value 'x'.
+SELECT * FROM bug56680;
+
+connection con1;
+ROLLBACK;
+disconnect con1;
+
+connection default;
+
+SELECT b FROM bug56680;
+
+# For the rest of this test, use the READ UNCOMMITTED isolation level
+# to see what exists in the secondary index.
+SET GLOBAL tx_isolation='READ-UNCOMMITTED';
+
+# Create enough rows for the table, so that the insert buffer will be
+# used for modifying the secondary index page. There must be multiple
+# index pages, because changes to the root page are never buffered.
+
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+INSERT INTO bug56680 SELECT 0,b,c FROM bug56680;
+
+BEGIN;
+SELECT b FROM bug56680 LIMIT 2;
+
+connect (con1,localhost,root,,);
+connection con1;
+BEGIN;
+DELETE FROM bug56680 WHERE a=1;
+# This should be buffered, if innodb_change_buffering_debug = 1 is in effect.
+INSERT INTO bug56680 VALUES(1,'X',1);
+
+# This should force an insert buffer merge, and return 'X' in the first row.
+SELECT b FROM bug56680 LIMIT 3;
+
+connection default;
+SELECT b FROM bug56680 LIMIT 2;
+CHECK TABLE bug56680;
+
+connection con1;
+ROLLBACK;
+SELECT b FROM bug56680 LIMIT 2;
+CHECK TABLE bug56680;
+
+connection default;
+disconnect con1;
+
+SELECT b FROM bug56680 LIMIT 2;
+
+CREATE TABLE bug56680_2(
+ a INT AUTO_INCREMENT PRIMARY KEY,
+ b VARCHAR(2) CHARSET latin1 COLLATE latin1_german2_ci,
+ c INT,
+ INDEX(b))
+ENGINE=InnoDB;
+
+INSERT INTO bug56680_2 SELECT 0,_latin1 0xdf,c FROM bug56680;
+
+BEGIN;
+SELECT HEX(b) FROM bug56680_2 LIMIT 2;
+DELETE FROM bug56680_2 WHERE a=1;
+# This should be buffered, if innodb_change_buffering_debug = 1 is in effect.
+INSERT INTO bug56680_2 VALUES(1,'SS',1);
+
+# This should force an insert buffer merge, and return 'SS' in the first row.
+SELECT HEX(b) FROM bug56680_2 LIMIT 3;
+CHECK TABLE bug56680_2;
+
+# Test this with compressed tables.
+ALTER TABLE bug56680_2 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
+
+SELECT HEX(b) FROM bug56680_2 LIMIT 2;
+DELETE FROM bug56680_2 WHERE a=1;
+# This should be buffered, if innodb_change_buffering_debug = 1 is in effect.
+INSERT INTO bug56680_2 VALUES(1,_latin1 0xdf,1);
+
+# This should force an insert buffer merge, and return 0xdf in the first row.
+SELECT HEX(b) FROM bug56680_2 LIMIT 3;
+CHECK TABLE bug56680_2;
+
+DROP TABLE bug56680_2;
+DROP TABLE bug56680;
+
+-- disable_query_log
+SET GLOBAL tx_isolation = @tx_isolation_orig;
+SET GLOBAL innodb_file_per_table = @innodb_file_per_table_orig;
+SET GLOBAL innodb_file_format = @innodb_file_format_orig;
+SET GLOBAL innodb_file_format_max = @innodb_file_format_max_orig;
+-- error 0, ER_UNKNOWN_SYSTEM_VARIABLE
+SET GLOBAL innodb_change_buffering_debug = @innodb_change_buffering_debug_orig;
diff --git a/mysql-test/suite/innodb/t/innodb_bug56716.test b/mysql-test/suite/innodb/t/innodb_bug56716.test
deleted file mode 100644
index c8e1ed83e38..00000000000
--- a/mysql-test/suite/innodb/t/innodb_bug56716.test
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Bug #56716 InnoDB locks a record gap without locking the table
-#
-
-CREATE TABLE bug56716 (a INT PRIMARY KEY,b INT,c INT,INDEX(b)) ENGINE=InnoDB;
-
-SELECT * FROM bug56716 WHERE b<=42 ORDER BY b DESC FOR UPDATE;
-
-DROP TABLE bug56716;
diff --git a/mysql-test/suite/innodb/t/innodb_bug56947.test b/mysql-test/suite/innodb/t/innodb_bug56947.test
new file mode 100644
index 00000000000..e11f39b97a8
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug56947.test
@@ -0,0 +1,16 @@
+#
+# Bug #56947 valgrind reports a memory leak in innodb-plugin.innodb-index
+#
+-- source include/have_innodb.inc
+
+SET @old_innodb_file_per_table=@@innodb_file_per_table;
+# avoid a message about filed *.ibd file creation in the error log
+SET GLOBAL innodb_file_per_table=0;
+create table bug56947(a int not null) engine = innodb;
+CREATE TABLE `bug56947#1`(a int) ENGINE=InnoDB;
+--error 156
+alter table bug56947 add unique index (a);
+drop table `bug56947#1`;
+drop table bug56947;
+--disable_query_log
+SET GLOBAL innodb_file_per_table=@old_innodb_file_per_table;
diff --git a/mysql-test/suite/innodb/t/innodb_bug57252.test b/mysql-test/suite/innodb/t/innodb_bug57252.test
new file mode 100644
index 00000000000..04c3ed0cea7
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug57252.test
@@ -0,0 +1,46 @@
+#
+# Bug#57252 disabling innobase_stats_on_metadata disables ANALYZE
+# http://bugs.mysql.com/57252
+#
+
+-- source include/have_innodb.inc
+
+-- disable_query_log
+-- disable_result_log
+
+SET @innodb_stats_on_metadata_orig = @@innodb_stats_on_metadata;
+
+CREATE TABLE bug57252 (a INT, KEY akey (a)) ENGINE=INNODB;
+
+BEGIN;
+let $i = 10;
+while ($i) {
+ eval INSERT INTO bug57252 VALUES ($i);
+ dec $i;
+}
+COMMIT;
+
+-- enable_result_log
+
+SET GLOBAL innodb_stats_on_metadata=0;
+
+# this calls ::info() without HA_STATUS_CONST and so
+# index->stat_n_diff_key_vals[] is not copied to the mysql-visible
+# rec_per_key
+SELECT cardinality FROM information_schema.statistics
+WHERE table_name='bug57252' AND index_name='akey';
+
+# this calls ::info() with HA_STATUS_CONST and so
+# index->stat_n_diff_key_vals[] is copied to the mysql-visible
+# rec_per_key at the end; when the bug is present dict_update_statistics()
+# is not called beforehand and so index->stat_n_diff_key_vals[] contains
+# an outdated data and thus we get an outdated data in the result when the
+# bug is present
+ANALYZE TABLE bug57252;
+
+SELECT cardinality FROM information_schema.statistics
+WHERE table_name='bug57252' AND index_name='akey';
+
+DROP TABLE bug57252;
+
+SET GLOBAL innodb_stats_on_metadata = @innodb_stats_on_metadata_orig;
diff --git a/mysql-test/suite/innodb/t/innodb_bug57255.test b/mysql-test/suite/innodb/t/innodb_bug57255.test
index 4f08a9b46bf..27e0a1af1a0 100644
--- a/mysql-test/suite/innodb/t/innodb_bug57255.test
+++ b/mysql-test/suite/innodb/t/innodb_bug57255.test
@@ -11,6 +11,7 @@ create table C(id int not null auto_increment primary key, f1 int not null, fore
insert into A values(1), (2);
--disable_query_log
+begin;
let $i=257;
while ($i)
{
@@ -23,6 +24,7 @@ while ($i)
insert into C(f1) values(2);
dec $i;
}
+commit;
--enable_query_log
# Following Deletes should not report error
diff --git a/mysql-test/suite/innodb/t/innodb_bug57904.test b/mysql-test/suite/innodb/t/innodb_bug57904.test
new file mode 100755
index 00000000000..1131e24844d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug57904.test
@@ -0,0 +1,27 @@
+#
+# Bug #57904 Missing constraint from information schema REFERENTIAL_CONSTRAINTS table
+#
+-- source include/have_innodb.inc
+
+CREATE TABLE product (category INT NOT NULL, id INT NOT NULL,
+ price DECIMAL, PRIMARY KEY(category, id)) ENGINE=INNODB;
+CREATE TABLE customer (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
+CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT,
+ product_category INT NOT NULL,
+ product_id INT NOT NULL,
+ customer_id INT NOT NULL,
+ PRIMARY KEY(no),
+ INDEX (product_category, product_id),
+ FOREIGN KEY (product_category, product_id)
+ REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT,
+ INDEX (customer_id),
+ FOREIGN KEY (customer_id)
+ REFERENCES customer(id)
+ ) ENGINE=INNODB;
+
+query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+
+DROP TABLE product_order;
+DROP TABLE product;
+DROP TABLE customer;
+
diff --git a/mysql-test/suite/innodb/t/innodb_bug59307.test b/mysql-test/suite/innodb/t/innodb_bug59307.test
new file mode 100644
index 00000000000..31841fa6018
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug59307.test
@@ -0,0 +1,32 @@
+-- source include/have_innodb.inc
+# Bug #59307 uninitialized value in rw_lock_set_writer_id_and_recursion_flag()
+# when Valgrind instrumentation (UNIV_DEBUG_VALGRIND) is not enabled
+
+CREATE TABLE t1 (
+ t1_int INT,
+ t1_time TIME
+) ENGINE=innodb;
+
+CREATE TABLE t2 (
+ t2_int int PRIMARY KEY,
+ t2_int2 INT
+) ENGINE=INNODB;
+
+INSERT INTO t2 VALUES ();
+INSERT INTO t1 VALUES ();
+
+SELECT *
+FROM t1 AS t1a
+WHERE NOT EXISTS
+ (SELECT *
+ FROM t1 AS t1b
+ WHERE t1b.t1_int NOT IN
+ (SELECT t2.t2_int
+ FROM t2
+ WHERE t1b.t1_time LIKE t1b.t1_int
+ OR t1b.t1_time <> t2.t2_int2
+ AND 6=7
+ )
+)
+;
+DROP TABLE t1,t2;
diff --git a/mysql-test/suite/innodb/t/innodb_bug59410.test b/mysql-test/suite/innodb/t/innodb_bug59410.test
new file mode 100644
index 00000000000..30bb0642679
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug59410.test
@@ -0,0 +1,24 @@
+#
+# Bug#59410 read uncommitted: unlock row could not find a 3 mode lock on the record
+#
+-- source include/have_innodb.inc
+
+# only interested that the following do not produce something like
+# InnoDB: Error: unlock row could not find a 2 mode lock on the record
+# in the error log
+
+create table `bug59410_1`(`a` int)engine=innodb;
+insert into `bug59410_1` values (1),(2),(3);
+select 1 from `bug59410_1` where `a` <> any (
+select 1 from `bug59410_1` where `a` <> 1 for update)
+for update;
+drop table bug59410_1;
+
+create table bug59410_2(`a` char(1),`b` int)engine=innodb;
+insert into bug59410_2 values('0',0);
+set transaction isolation level read uncommitted;
+start transaction;
+set @a=(select b from bug59410_2 where
+(select 1 from bug59410_2 where a group by @a=b)
+group by @a:=b);
+drop table bug59410_2;
diff --git a/mysql-test/suite/innodb/t/innodb_bug59641.test b/mysql-test/suite/innodb/t/innodb_bug59641.test
new file mode 100644
index 00000000000..b933abd1d14
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug59641.test
@@ -0,0 +1,68 @@
+# Bug #59641 Prepared XA transaction causes shutdown hang after a crash
+
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+CREATE TABLE t(a INT PRIMARY KEY, b INT)ENGINE=InnoDB;
+INSERT INTO t VALUES(2,2),(4,4),(8,8),(16,16),(32,32);
+COMMIT;
+XA START '123';
+INSERT INTO t VALUES(1,1);
+XA END '123';
+XA PREPARE '123';
+
+CONNECT (con1,localhost,root,,);
+CONNECTION con1;
+
+XA START '456';
+INSERT INTO t VALUES(3,47),(5,67);
+UPDATE t SET b=2*b WHERE a BETWEEN 5 AND 8;
+XA END '456';
+XA PREPARE '456';
+
+CONNECT (con2,localhost,root,,);
+CONNECTION con2;
+
+XA START '789';
+UPDATE t SET b=4*a WHERE a=32;
+XA END '789';
+XA PREPARE '789';
+
+CONNECT (con3,localhost,root,,);
+CONNECTION con3;
+# The server would issue this warning on restart.
+call mtr.add_suppression("Found 3 prepared XA transactions");
+
+# Kill the server without sending a shutdown command
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- shutdown_server 0
+-- source include/wait_until_disconnected.inc
+
+# Restart the server.
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- enable_reconnect
+-- source include/wait_until_connected_again.inc
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+COMMIT;
+
+# Shut down the server. This would hang because of the bug.
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- shutdown_server
+-- source include/wait_until_disconnected.inc
+
+# Restart the server.
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- enable_reconnect
+-- source include/wait_until_connected_again.inc
+
+SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+SELECT * FROM t;
+COMMIT;
+XA RECOVER;
+XA ROLLBACK '123';
+XA ROLLBACK '456';
+XA COMMIT '789';
+SELECT * FROM t;
+
+DROP TABLE t;
diff --git a/mysql-test/suite/innodb/t/innodb_bug60049-master.opt b/mysql-test/suite/innodb/t/innodb_bug60049-master.opt
new file mode 100644
index 00000000000..22a5d4ed221
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug60049-master.opt
@@ -0,0 +1 @@
+--innodb_fast_shutdown=0
diff --git a/mysql-test/suite/innodb/t/innodb_bug60049.test b/mysql-test/suite/innodb/t/innodb_bug60049.test
new file mode 100644
index 00000000000..ec4e3b8de7e
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug60049.test
@@ -0,0 +1,39 @@
+# Bug #60049 Verify that purge leaves no garbage in unique secondary indexes
+# This test requires a fresh server start-up and a slow shutdown.
+# This was a suspected bug (not a bug).
+
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+CREATE TABLE t(a INT)ENGINE=InnoDB;
+RENAME TABLE t TO u;
+DROP TABLE u;
+SELECT @@innodb_fast_shutdown;
+let $MYSQLD_DATADIR=`select @@datadir`;
+
+# Shut down the server
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- shutdown_server 30
+-- source include/wait_until_disconnected.inc
+
+# Check the tail of ID_IND (SYS_TABLES.ID)
+let IBDATA1=$MYSQLD_DATADIR/ibdata1;
+perl;
+my $file = $ENV{'IBDATA1'};
+open(FILE, "<$file") || die "Unable to open $file";
+# Read DICT_HDR_TABLE_IDS, the root page number of ID_IND (SYS_TABLES.ID).
+seek(FILE, 7*16384+38+36, 0) || die "Unable to seek $file";
+die unless read(FILE, $_, 4) == 4;
+my $sys_tables_id_root = unpack("N", $_);
+print "Last record of ID_IND root page ($sys_tables_id_root):\n";
+# This should be the last record in ID_IND. Dump it in hexadecimal.
+seek(FILE, $sys_tables_id_root*16384 + 152, 0) || die "Unable to seek $file";
+read(FILE, $_, 32) || die "Unable to read $file";
+close(FILE);
+print unpack("H*", $_), "\n";
+EOF
+
+# Restart the server.
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+-- enable_reconnect
+-- source include/wait_until_connected_again.inc
diff --git a/mysql-test/suite/innodb/t/innodb_bug60196-master.opt b/mysql-test/suite/innodb/t/innodb_bug60196-master.opt
new file mode 100755
index 00000000000..c0a1981fa7c
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug60196-master.opt
@@ -0,0 +1 @@
+--lower-case-table-names=2
diff --git a/mysql-test/suite/innodb/t/innodb_bug60196.test b/mysql-test/suite/innodb/t/innodb_bug60196.test
new file mode 100755
index 00000000000..ea85653f1af
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_bug60196.test
@@ -0,0 +1,157 @@
+# Bug#60196 - Setting lowercase_table_names to 2 on Windows causing
+# Foreign Key problems after an engine is restarted.
+
+# This test case needs InnoDB, a lowercase file system,
+# lower-case-table-names=2, and cannot use the embedded server
+# because it restarts the server.
+--source include/not_embedded.inc
+--source include/have_lowercase2.inc
+--source include/have_case_insensitive_file_system.inc
+--source include/have_innodb.inc
+
+#
+# Create test data.
+#
+CREATE TABLE Bug_60196_FK1 (Primary_Key INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE Bug_60196_FK2 (Primary_Key INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE Bug_60196 (
+ FK1_Key INT NOT NULL,
+ FK2_Key INT NOT NULL,
+ PRIMARY KEY (FK2_Key, FK1_Key),
+ KEY FK1_Key (FK1_Key),
+ KEY FK2_Key (FK2_Key),
+ CONSTRAINT FK_FK1 FOREIGN KEY (FK1_Key)
+ REFERENCES Bug_60196_FK1 (Primary_Key)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ CONSTRAINT FK_FK2 FOREIGN KEY (FK2_Key)
+ REFERENCES Bug_60196_FK2 (Primary_Key)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+) ENGINE=InnoDB;
+INSERT INTO Bug_60196_FK1 VALUES (1), (2), (3), (4), (5);
+INSERT INTO Bug_60196_FK2 VALUES (1), (2), (3), (4), (5);
+INSERT INTO Bug_60196 VALUES (1, 1);
+INSERT INTO Bug_60196 VALUES (1, 2);
+INSERT INTO Bug_60196 VALUES (1, 3);
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO Bug_60196 VALUES (1, 99);
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO Bug_60196 VALUES (99, 1);
+
+SELECT * FROM bug_60196_FK1;
+SELECT * FROM bug_60196_FK2;
+SELECT * FROM bug_60196;
+
+--echo # Stop server
+
+# Write file to make mysql-test-run.pl wait for the server to stop
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Send a shutdown request to the server
+-- shutdown_server 10
+
+# Call script that will poll the server waiting for it to disapear
+-- source include/wait_until_disconnected.inc
+
+--echo # Restart server.
+
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Turn on reconnect
+--enable_reconnect
+
+# Call script that will poll the server waiting for it to be back online again
+--source include/wait_until_connected_again.inc
+
+# Turn off reconnect again
+--disable_reconnect
+
+--echo #
+--echo # Try to insert more to the example table with foreign keys.
+--echo # Bug60196 causes the foreign key file not to be found after
+--echo # the resstart above.
+--echo #
+SELECT * FROM Bug_60196;
+INSERT INTO Bug_60196 VALUES (2, 1);
+INSERT INTO Bug_60196 VALUES (2, 2);
+INSERT INTO Bug_60196 VALUES (2, 3);
+SELECT * FROM Bug_60196;
+
+--echo
+--echo # Clean up.
+DROP TABLE Bug_60196;
+DROP TABLE Bug_60196_FK1;
+DROP TABLE Bug_60196_FK2;
+
+
+# Bug#60309/12356829
+# MYSQL 5.5.9 FOR MAC OSX HAS BUG WITH FOREIGN KEY CONSTRAINTS
+# This testcase is different from that for Bug#60196 in that the
+# referenced table contains a secondary key. When the engine is
+# restarted, the referenced table is opened by the purge thread,
+# which does not notice that lower_case_table_names == 2.
+
+#
+# Create test data.
+#
+CREATE TABLE Bug_60309_FK (
+ ID INT PRIMARY KEY,
+ ID2 INT,
+ KEY K2(ID2)
+) ENGINE=InnoDB;
+CREATE TABLE Bug_60309 (
+ ID INT PRIMARY KEY,
+ FK_ID INT,
+ KEY (FK_ID),
+ CONSTRAINT FK FOREIGN KEY (FK_ID) REFERENCES Bug_60309_FK (ID)
+) ENGINE=InnoDB;
+
+INSERT INTO Bug_60309_FK (ID, ID2) VALUES (1, 1), (2, 2), (3, 3);
+INSERT INTO Bug_60309 VALUES (1, 1);
+--error ER_NO_REFERENCED_ROW_2
+INSERT INTO Bug_60309 VALUES (2, 99);
+
+SELECT * FROM Bug_60309_FK;
+SELECT * FROM Bug_60309;
+
+--echo # Stop server
+
+# Write file to make mysql-test-run.pl wait for the server to stop
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Send a shutdown request to the server
+-- shutdown_server 10
+
+# Call script that will poll the server waiting for it to disapear
+-- source include/wait_until_disconnected.inc
+
+--echo # Restart server.
+
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+
+# Turn on reconnect
+--enable_reconnect
+
+# Call script that will poll the server waiting for it to be back online again
+--source include/wait_until_connected_again.inc
+
+# Turn off reconnect again
+--disable_reconnect
+
+--echo #
+--echo # Try to insert more to the example table with foreign keys.
+--echo # Bug60309 causes the foreign key file not to be found after
+--echo # the resstart above.
+--echo #
+SELECT * FROM Bug_60309;
+INSERT INTO Bug_60309 VALUES (2, 2);
+INSERT INTO Bug_60309 VALUES (3, 3);
+SELECT * FROM Bug_60309;
+
+--echo
+--echo # Clean up.
+DROP TABLE Bug_60309;
+DROP TABLE Bug_60309_FK;
diff --git a/mysql-test/suite/innodb/t/innodb_index_large_prefix.test b/mysql-test/suite/innodb/t/innodb_index_large_prefix.test
new file mode 100644
index 00000000000..3ed8aa6e096
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_index_large_prefix.test
@@ -0,0 +1,271 @@
+# Testcase for worklog #5743: Lift the limit of index key prefixes
+
+--source include/have_innodb.inc
+
+let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+let $innodb_large_prefix_orig=`select @@innodb_large_prefix`;
+
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+
+# Create a table of DYNAMIC format, with a primary index of 1000 bytes in
+# size
+create table worklog5743(a TEXT not null, primary key (a(1000)))
+ROW_FORMAT=DYNAMIC, engine = innodb;
+
+# Do some insertion and update to excercise the external cache
+# code path
+insert into worklog5743 values(repeat("a", 20000));
+
+# default session, update the table
+update worklog5743 set a = (repeat("b", 16000));
+
+# Create a secondary index
+create index idx on worklog5743(a(2000));
+
+# Start a few sessions to do selections on table being updated in default
+# session, so it would rebuild the previous version from undo log.
+# 1) Default session: Initiate an update on the externally stored column
+# 2) Session con1: Select from table with repeated read
+# 3) Session con2: Select from table with read uncommitted
+# 4) Default session: rollback updates
+
+begin;
+update worklog5743 set a = (repeat("x", 17000));
+
+# Start a new session to select the column to force it build
+# an earlier version of the clustered index through undo log. So it should
+# just see the result of repeat("b", 16000)
+select @@session.tx_isolation;
+--connect (con1,localhost,root,,)
+select a = repeat("x", 17000) from worklog5743;
+select a = repeat("b", 16000) from worklog5743;
+
+# Start another session doing "read uncommitted" query, it
+# should see the uncommitted update
+--connect (con2,localhost,root,,)
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+select a = repeat("x", 17000) from worklog5743;
+
+# Roll back the transaction
+--connection default
+rollback;
+
+drop table worklog5743;
+
+# Create a table with only a secondary index has large prefix column
+create table worklog5743(a1 int, a2 TEXT not null)
+ROW_FORMAT=DYNAMIC, engine = innodb;
+
+create index idx on worklog5743(a1, a2(2000));
+
+insert into worklog5743 values(9, repeat("a", 10000));
+
+begin;
+
+update worklog5743 set a1 = 1000;
+
+# Do a select from another connection that would use the secondary index
+--connection con1
+select @@session.tx_isolation;
+explain select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+
+# Do read uncommitted in another session, it would show there is no
+# row with a1 = 9
+--connection con2
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+
+--connection default
+rollback;
+
+drop table worklog5743;
+
+# Create a table with a secondary index has small (50 bytes) prefix column
+create table worklog5743(a1 int, a2 TEXT not null)
+ROW_FORMAT=DYNAMIC, engine = innodb;
+
+create index idx on worklog5743(a1, a2(50));
+
+insert into worklog5743 values(9, repeat("a", 10000));
+
+begin;
+
+update worklog5743 set a1 = 1000;
+
+# Do a select from another connection that would use the secondary index
+--connection con1
+select @@session.tx_isolation;
+explain select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+
+# Do read uncommitted in another session, it would show there is no
+# row with a1 = 9
+--connection con2
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+select a1, a2 = repeat("a", 10000) from worklog5743 where a1 = 9;
+
+--connection default
+rollback;
+
+drop table worklog5743;
+
+# Create a table of ROW_FORMAT=COMPRESSED format
+create table worklog5743_2(a1 int, a2 TEXT not null)
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+
+create table worklog5743_4(a1 int, a2 TEXT not null)
+ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+
+# The maximum overall index record (not prefix) length for this table
+# is page_zip_empty_size() / 2, which is 960. "Too big row" error (
+# HA_ERR_TO_BIG_ROW) will be printed if this limit is exceeded.
+# Considering other fields and their overhead, the maximum length
+# for column a2 is 940 or 941 depending on the zlib version used and
+# compressBound() value used in page_zip_empty_size() (please refer
+# to Bug #47495 for more detail).
+-- error 139
+create index idx1 on worklog5743_2(a1, a2(942));
+
+create index idx1 on worklog5743_2(a1, a2(940));
+
+# similarly, the maximum index record length for the table is
+# 1984. Considering other fields and their overhead, the
+# maximum length for column a2 is 1964 or 1965 (please refer
+# to Bug #47495 for more detail).
+-- error 139
+create index idx1 on worklog5743_4(a1, a2(1966));
+
+create index idx1 on worklog5743_4(a1, a2(1964));
+
+insert into worklog5743_2 values(9, repeat("a", 10000));
+insert into worklog5743_4 values(9, repeat("a", 10000));
+
+begin;
+
+update worklog5743_2 set a1 = 1000;
+update worklog5743_4 set a1 = 1000;
+
+# Do a select from another connection that would use the secondary index
+--connection con1
+select @@session.tx_isolation;
+explain select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
+
+# Do read uncommitted in another session, it would show there is no
+# row with a1 = 9
+--connection con2
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+select a1, a2 = repeat("a", 10000) from worklog5743_2 where a1 = 9;
+select a1, a2 = repeat("a", 10000) from worklog5743_4 where a1 = 9;
+
+--connection default
+rollback;
+
+drop table worklog5743_2;
+drop table worklog5743_4;
+
+# Create a table with varchar column, and create index directly on this
+# large column (without prefix)
+create table worklog5743(a1 int, a2 varchar(3000))
+ROW_FORMAT=DYNAMIC, engine = innodb;
+
+# Create an index with large column without prefix
+create index idx on worklog5743(a1, a2);
+
+insert into worklog5743 values(9, repeat("a", 3000));
+
+begin;
+
+update worklog5743 set a1 = 1000;
+
+# Do a select from another connection that would use the secondary index
+--connection con1
+select @@session.tx_isolation;
+explain select a1 from worklog5743 where a1 = 9;
+select a1 from worklog5743 where a1 = 9;
+
+# Do read uncommitted, it would show there is no row with a1 = 9
+--connection con2
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+select a1 from worklog5743 where a1 = 9;
+
+--connection default
+rollback;
+
+drop table worklog5743;
+
+# Create a table with old format, and the limit is 768 bytes.
+-- error ER_INDEX_COLUMN_TOO_LONG
+create table worklog5743(a TEXT not null, primary key (a(1000)))
+engine = innodb;
+
+create table worklog5743(a TEXT) engine = innodb;
+
+# Excercise the column length check in ha_innobase::add_index()
+-- error ER_INDEX_COLUMN_TOO_LONG
+create index idx on worklog5743(a(1000));
+
+# This should be successful
+create index idx on worklog5743(a(725));
+
+# Perform some DMLs
+insert into worklog5743 values(repeat("a", 20000));
+
+begin;
+insert into worklog5743 values(repeat("b", 20000));
+update worklog5743 set a = (repeat("x", 25000));
+
+# Start a new session to select the table to force it build
+# an earlier version of the cluster index through undo log
+select @@session.tx_isolation;
+--connection con1
+select a = repeat("a", 20000) from worklog5743;
+
+--connection con2
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+select a = repeat("x", 25000) from worklog5743;
+
+--connection default
+rollback;
+
+drop table worklog5743;
+
+# Some border line test on the column length.
+# We have a limit of 3072 bytes for Barracuda table
+create table worklog5743(a TEXT not null) ROW_FORMAT=DYNAMIC, engine = innodb;
+
+# Length exceeds maximum supported key length, will auto-truncated to 3072
+create index idx on worklog5743(a(3073));
+
+create index idx2 on worklog5743(a(3072));
+
+show create table worklog5743;
+
+drop table worklog5743;
+
+# We have a limit of 767 bytes for Antelope table
+create table worklog5743(a TEXT not null) engine = innodb;
+
+-- error ER_INDEX_COLUMN_TOO_LONG
+create index idx on worklog5743(a(768));
+
+create index idx2 on worklog5743(a(767));
+
+drop table worklog5743;
+
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig;
diff --git a/mysql-test/suite/innodb/t/innodb_information_schema.test b/mysql-test/suite/innodb/t/innodb_information_schema.test
index 934642dcb40..05fb67edf75 100644
--- a/mysql-test/suite/innodb/t/innodb_information_schema.test
+++ b/mysql-test/suite/innodb/t/innodb_information_schema.test
@@ -117,11 +117,29 @@ SELECT * FROM ```t'\"_str` WHERE c1 = '4' FOR UPDATE;
# executes before some of them, resulting in less than expected number
# of rows being selected from innodb_locks. If there is a bug and there
# are no 14 rows in innodb_locks then this test will fail with timeout.
-let $count = 14;
-let $table = INFORMATION_SCHEMA.INNODB_LOCKS;
--- source include/wait_until_rows_count.inc
-# the above enables the query log, re-disable it
--- disable_query_log
+# Notice that if we query INNODB_LOCKS more often than once per 0.1 sec
+# then its contents will never change because the cache from which it is
+# filled is updated only if it has not been read for 0.1 seconds. See
+# CACHE_MIN_IDLE_TIME_US in trx/trx0i_s.c.
+let $cnt=10;
+while ($cnt)
+{
+ let $success=`SELECT COUNT(*) = 14 FROM INFORMATION_SCHEMA.INNODB_LOCKS`;
+ if ($success)
+ {
+ let $cnt=0;
+ }
+ if (!$success)
+ {
+ real_sleep 0.2;
+ dec $cnt;
+ }
+}
+if (!$success)
+{
+ -- echo Timeout waiting for rows in INNODB_LOCKS to appear
+}
+
SELECT lock_mode, lock_type, lock_table, lock_index, lock_rec, lock_data
FROM INFORMATION_SCHEMA.INNODB_LOCKS ORDER BY lock_data;
diff --git a/mysql-test/suite/innodb/t/innodb_multi_update.test b/mysql-test/suite/innodb/t/innodb_multi_update.test
index 6393671d358..e15f7470960 100644
--- a/mysql-test/suite/innodb/t/innodb_multi_update.test
+++ b/mysql-test/suite/innodb/t/innodb_multi_update.test
@@ -26,3 +26,12 @@ select * from bug38999_1;
select * from bug38999_2;
drop table bug38999_1,bug38999_2;
+
+--echo #
+--echo # Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
+--echo #
+CREATE TABLE t1(f1 INT) ENGINE=INNODB;
+INSERT INTO t1 VALUES(1);
+--error ER_OPERAND_COLUMNS
+UPDATE (SELECT ((SELECT 1 FROM t1), 1) FROM t1 WHERE (SELECT 1 FROM t1)) x, (SELECT 1) AS d SET d.f1 = 1;
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_mysql.test b/mysql-test/suite/innodb/t/innodb_mysql.test
index ef43a192d52..2f983436177 100644
--- a/mysql-test/suite/innodb/t/innodb_mysql.test
+++ b/mysql-test/suite/innodb/t/innodb_mysql.test
@@ -154,14 +154,14 @@ INSERT INTO t2 VALUES (3,2);
SET AUTOCOMMIT = 0;
START TRANSACTION;
---error ER_ROW_IS_REFERENCED_2
+--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE TABLE t1;
SELECT * FROM t1;
COMMIT;
SELECT * FROM t1;
START TRANSACTION;
---error ER_ROW_IS_REFERENCED_2
+--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE TABLE t1;
SELECT * FROM t1;
ROLLBACK;
@@ -173,13 +173,14 @@ START TRANSACTION;
SELECT * FROM t1;
COMMIT;
---error ER_ROW_IS_REFERENCED_2
+--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE TABLE t1;
SELECT * FROM t1;
DELETE FROM t2 WHERE id = 3;
START TRANSACTION;
SELECT * FROM t1;
+--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE TABLE t1;
ROLLBACK;
SELECT * FROM t1;
@@ -278,9 +279,9 @@ SELECT * FROM t1 LEFT JOIN t3 ON t1.i=t3.i;
--echo ** error handling inside a row iteration.
--echo **
DROP TRIGGER trg;
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t2;
-TRUNCATE TABLE t3;
+DELETE FROM t1;
+DELETE FROM t2;
+DELETE FROM t3;
INSERT INTO t1 VALUES (1),(2),(3),(4);
INSERT INTO t3 VALUES (1),(2),(3),(4);
@@ -307,9 +308,9 @@ DROP TRIGGER trg;
--echo **
--echo ** Induce an error midway through an AFTER-trigger
--echo **
-TRUNCATE TABLE t4;
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t3;
+DELETE FROM t4;
+DELETE FROM t1;
+DELETE FROM t3;
INSERT INTO t1 VALUES (1),(2),(3),(4);
INSERT INTO t3 VALUES (1),(2),(3),(4);
delimiter ||;
@@ -839,6 +840,65 @@ CREATE INDEX b ON t1(a,b,c,d);
DROP TABLE t1;
--echo End of 5.1 tests
+--echo #
+
+--echo #
+--echo # Bug#55826: create table .. select crashes with when KILL_BAD_DATA
+--echo # is returned
+--echo #
+
+CREATE TABLE t1(a INT) ENGINE=innodb;
+INSERT INTO t1 VALUES (0);
+SET SQL_MODE='STRICT_ALL_TABLES';
+--error ER_TRUNCATED_WRONG_VALUE
+CREATE TABLE t2
+ SELECT LEAST((SELECT '' FROM t1),NOW()) FROM `t1`;
+DROP TABLE t1;
+SET SQL_MODE=DEFAULT;
+
+--echo #
+--echo # Bug#56862 Execution of a query that uses index merge returns a wrong result
+--echo #
+
+CREATE TABLE t1 (
+ pk int NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ a int,
+ b int,
+ INDEX idx(a))
+ENGINE=INNODB;
+
+INSERT INTO t1(a,b) VALUES
+ (11, 1100), (2, 200), (1, 100), (14, 1400), (5, 500),
+ (3, 300), (17, 1700), (4, 400), (12, 1200), (8, 800),
+ (6, 600), (18, 1800), (9, 900), (10, 1000), (7, 700),
+ (13, 1300), (15, 1500), (19, 1900), (16, 1600), (20, 2000);
+INSERT INTO t1(a,b) SELECT a+20, b+2000 FROM t1;
+INSERT INTO t1(a,b) SELECT a+40, b+4000 FROM t1;
+INSERT INTO t1(a,b) SELECT a+80, b+8000 FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1(a,b) SELECT a,b FROM t1;
+INSERT INTO t1 VALUES (1000000, 0, 0);
+
+SET SESSION sort_buffer_size = 1024*36;
+
+EXPLAIN
+SELECT COUNT(*) FROM
+ (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
+ WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
+
+SELECT COUNT(*) FROM
+ (SELECT * FROM t1 FORCE INDEX (idx,PRIMARY)
+ WHERE a BETWEEN 2 AND 7 OR pk=1000000) AS t;
+
+SET SESSION sort_buffer_size = DEFAULT;
+
+DROP TABLE t1;
--echo #
--echo # Bug#668644: HAVING + ORDER BY
@@ -896,6 +956,28 @@ drop table t2, t1;
--echo #
+--echo # Test for bug #11762012 - "54553: INNODB ASSERTS IN HA_INNOBASE::
+--echo # UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK".
+--echo #
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TEMPORARY TABLE t1 (c int) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1);
+LOCK TABLES t1 READ;
+--echo # Even though temporary table was locked for READ we
+--echo # still allow writes to it to be compatible with MyISAM.
+--echo # This is possible since due to fact that temporary tables
+--echo # are specific to connection and therefore locking for them
+--echo # is irrelevant.
+UPDATE t1 SET c = 5;
+UNLOCK TABLES;
+DROP TEMPORARY TABLE t1;
+
+--echo End of 5.1 tests
+
+
+--echo #
--echo # Bug#44613 SELECT statement inside FUNCTION takes a shared lock
--echo #
diff --git a/mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test b/mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test
new file mode 100644
index 00000000000..2bc89bf05d2
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test
@@ -0,0 +1,1339 @@
+######## suite/innodb/t/innodb_prefix_index_liftedlimit.test ##########
+# #
+# Testcase for worklog WL#5743: Lift the limit of index key prefixes #
+# Accorrding to WL#5743 - prefix index limit is increased from 767 #
+# to 3072 for innodb. This change is applicable with Barracuda file #
+# format. #
+# All sub-test in this file focus on prefix index along with other #
+# operations #
+# #
+# #
+# Creation: #
+# 2011-05-19 Implemented this test as part of WL#5743 #
+# #
+######################################################################
+
+
+--source include/have_innodb.inc
+# Save innodb variables
+let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+let $innodb_large_prefix_orig=`select @@innodb_large_prefix`;
+
+# Set Innodb file format as feature works for Barracuda file format
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+
+-- disable_warnings
+DROP TABLE IF EXISTS worklog5743;
+-- enable_warnings
+#------------------------------------------------------------------------------
+# Prefix index with VARCHAR data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+# check IS
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE FROM
+INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with TEXT data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (3072));
+# check IS
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE FROM
+INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with MEDIUMTEXT data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_mediumtext MEDIUMTEXT , col_2_mediumtext MEDIUMTEXT ,
+PRIMARY KEY (col_1_mediumtext(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_mediumtext (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_mediumtext = REPEAT("a", 4000),col_2_mediumtext = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_mediumtext = REPEAT("c", 4000)
+WHERE col_1_mediumtext = REPEAT("a", 4000)
+AND col_2_mediumtext = REPEAT("o", 4000);
+SELECT col_1_mediumtext = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_mediumtext = REPEAT("c", 4000)
+AND col_2_mediumtext = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_mediumtext = REPEAT("b", 4000);
+SELECT col_1_mediumtext = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with LONGTEXT data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_longtext LONGTEXT , col_2_longtext LONGTEXT ,
+PRIMARY KEY (col_1_longtext(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_longtext (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_longtext = REPEAT("a", 4000) , col_2_longtext = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_longtext = REPEAT("c", 4000)
+WHERE col_1_longtext = REPEAT("a", 4000)
+AND col_2_longtext = REPEAT("o", 4000);
+SELECT col_1_longtext = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_longtext = REPEAT("c", 4000)
+AND col_2_longtext = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_longtext = REPEAT("b", 4000);
+SELECT col_1_longtext = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with BLOB data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_blob (3072));
+# check IS
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE FROM
+INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with MEDIUMBLOB data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_mediumblob MEDIUMBLOB , col_2_mediumblob MEDIUMBLOB ,
+PRIMARY KEY (col_1_mediumblob(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_mediumblob (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_mediumblob = REPEAT("a", 4000),col_2_mediumblob = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_mediumblob = REPEAT("c", 4000)
+WHERE col_1_mediumblob = REPEAT("a", 4000)
+AND col_2_mediumblob = REPEAT("o", 4000);
+SELECT col_1_mediumblob = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_mediumblob = REPEAT("c", 4000)
+AND col_2_mediumblob = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_mediumblob = REPEAT("b", 4000);
+SELECT col_1_mediumblob = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with LONGBLOB data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_longblob LONGBLOB , col_2_longblob LONGBLOB ,
+PRIMARY KEY (col_1_longblob(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_longblob (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_longblob = REPEAT("a", 4000) , col_2_longblob = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_longblob = REPEAT("c", 4000)
+WHERE col_1_longblob = REPEAT("a", 4000)
+AND col_2_longblob = REPEAT("o", 4000);
+SELECT col_1_longblob = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_longblob = REPEAT("c", 4000)
+AND col_2_longblob = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_longblob = REPEAT("b", 4000);
+SELECT col_1_longblob = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with VARBINARY data type , primary/secondary index and DML ops
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varbinary VARBINARY (4000) ,
+PRIMARY KEY (col_1_varbinary(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varbinary = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with CHAR data type , composite index and DML ops
+CREATE TABLE worklog5743 (col_1_char CHAR (255) , col_2_char CHAR (255),
+col_3_char CHAR (255), col_4_char CHAR (255),col_5_char CHAR (255),
+col_6_char CHAR (255), col_7_char CHAR (255),col_8_char CHAR (255),
+col_9_char CHAR (255), col_10_char CHAR (255),col_11_char CHAR (255),
+col_12_char CHAR (255), col_13_char CHAR (255),col_14_char CHAR (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255)
+);
+# Create index with total prefix index length = 3072
+CREATE INDEX prefix_idx ON worklog5743(col_1_char(250),col_2_char(250),
+col_3_char(250),col_4_char(250),col_5_char(250),col_6_char(250),
+col_7_char(250),col_8_char(250),col_9_char(250),col_10_char(250),
+col_11_char(250),col_12_char(250),col_13_char(72)
+);
+INSERT INTO worklog5743 VALUES(REPEAT("b", 255) , REPEAT("p", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255)
+);
+SELECT col_1_char = REPEAT("a", 255) , col_2_char = REPEAT("o", 255) FROM worklog5743;
+UPDATE worklog5743 SET col_1_char = REPEAT("c", 255)
+WHERE col_1_char = REPEAT("a", 255) AND col_2_char = REPEAT("o", 255);
+SELECT col_1_char = REPEAT("c", 255) FROM worklog5743
+WHERE col_1_char = REPEAT("c", 255) AND col_2_char = REPEAT("o", 255);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255),REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_char = REPEAT("b", 255);
+SELECT col_1_char = REPEAT("c", 255) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with BINARY data type , composite index and DML ops
+CREATE TABLE worklog5743 (col_1_binary BINARY (255) , col_2_binary BINARY (255),
+col_3_binary BINARY(255),col_4_binary BINARY (255),col_5_binary BINARY (255),
+col_6_binary BINARY(255),col_7_binary BINARY (255),col_8_binary BINARY (255),
+col_9_binary BINARY(255),col_10_binary BINARY (255),col_11_binary BINARY (255),
+col_12_binary BINARY(255),col_13_binary BINARY (255),col_14_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255)
+);
+# Create index with total prefix index length = 3072
+CREATE INDEX prefix_idx ON worklog5743(col_1_binary (250),col_2_binary (250),
+col_3_binary (250),col_4_binary (250),col_5_binary (250),
+col_6_binary (250),col_7_binary (250),col_8_binary (250),
+col_9_binary (250),col_10_binary (250),col_11_binary (250),
+col_12_binary (250),col_13_binary (72)
+);
+INSERT INTO worklog5743 VALUES(REPEAT("b", 255) , REPEAT("p", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255)
+);
+SELECT col_1_binary = REPEAT("a", 255) , col_2_binary = REPEAT("o", 255) FROM worklog5743;
+UPDATE worklog5743 SET col_1_binary = REPEAT("c", 255)
+WHERE col_1_binary = REPEAT("a", 255)
+AND col_2_binary = REPEAT("o", 255);
+SELECT col_1_binary = REPEAT("c", 255) FROM worklog5743
+WHERE col_1_binary = REPEAT("c", 255)
+AND col_2_binary = REPEAT("o", 255);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 255) , REPEAT("o", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255),
+REPEAT("a", 255) , REPEAT("o", 255), REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_binary = REPEAT("b", 255);
+SELECT col_1_binary = REPEAT("c", 255) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with VARCHAR data type , primary/seconday index , DML ops
+# and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8.
+
+# With KEY_BLOCK_SIZE = 2,prefix index limit comes around ~948 for following
+CREATE TABLE worklog5743_key2 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_varchar (767));
+INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743_key2;
+UPDATE worklog5743_key2 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key2
+WHERE col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key2 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key2;
+DROP TABLE worklog5743_key2;
+
+# With KEY_BLOCK_SIZE = 4,prefix index limit comes around ~1964 for following
+CREATE TABLE worklog5743_key4 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(1964))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_varchar (767));
+INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743_key4;
+UPDATE worklog5743_key4 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743_key4
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key4 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key4;
+DROP TABLE worklog5743_key4;
+
+# With KEY_BLOCK_SIZE = 8,prefix index limit comes around ~3072 for following
+CREATE TABLE worklog5743_key8 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key8 (col_1_varchar (767));
+INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743_key8;
+UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743_key8
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key8 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743_key8;
+DROP TABLE worklog5743_key8;
+
+# Prefix index with TEXT data type , primary/seconday index , DML ops
+# and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8.
+
+# With KEY_BLOCK_SIZE = 2,prefix index limit comes around ~948 for following
+CREATE TABLE worklog5743_key2 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_text (767));
+INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743_key2;
+UPDATE worklog5743_key2 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("b", 3500) FROM worklog5743_key2
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key2 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key2;
+DROP TABLE worklog5743_key2;
+
+# With KEY_BLOCK_SIZE = 4,prefix index limit comes around ~1964 for following
+CREATE TABLE worklog5743_key4 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(1964))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_text (767));
+INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743_key4;
+UPDATE worklog5743_key4 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("b", 3500) FROM worklog5743_key4
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key4 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key4;
+DROP TABLE worklog5743_key4;
+
+# With KEY_BLOCK_SIZE = 8,prefix index limit comes around ~3072 for following
+CREATE TABLE worklog5743_key8 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key8 (col_1_text (767));
+INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743_key8;
+UPDATE worklog5743_key8 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("b", 3500) FROM worklog5743_key8
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key8 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743_key8;
+DROP TABLE worklog5743_key8;
+
+# Prefix index with BLOB data type , primary/seconday index , DML ops
+# and COMPRESSED row format. KEY_BLOCK_SIZE is varied as 2 , 4 , 8.
+
+# With KEY_BLOCK_SIZE = 2,prefix index limit comes around ~948 for following
+CREATE TABLE worklog5743_key2 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key2 (col_1_blob (767));
+INSERT INTO worklog5743_key2 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743_key2;
+UPDATE worklog5743_key2 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("b", 3500) FROM worklog5743_key2
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+INSERT INTO worklog5743_key2 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key2 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key2;
+DROP TABLE worklog5743_key2;
+
+# With KEY_BLOCK_SIZE = 4,prefix index limit comes around ~1964 for following
+CREATE TABLE worklog5743_key4 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(1964))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4, engine = innodb;
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key4 (col_1_blob (767));
+INSERT INTO worklog5743_key4 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743_key4;
+UPDATE worklog5743_key4 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("b", 3500) FROM worklog5743_key4
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+INSERT INTO worklog5743_key4 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key4 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key4;
+DROP TABLE worklog5743_key4;
+
+# With KEY_BLOCK_SIZE = 8,prefix index limit comes around ~3072 for following
+CREATE TABLE worklog5743_key8 (
+col_1_blob BLOB (4000) , col_2_blob BLOB (4000) ,
+PRIMARY KEY (col_1_blob(3072))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+#CREATE INDEX prefix_idx ON worklog5743_key8 (col_1_blob (767));
+INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_blob = REPEAT("a", 4000) , col_2_blob = REPEAT("o", 4000)
+FROM worklog5743_key8;
+UPDATE worklog5743_key8 SET col_1_blob = REPEAT("c", 4000)
+WHERE col_1_blob = REPEAT("a", 4000) AND col_2_blob = REPEAT("o", 4000);
+SELECT col_1_blob = REPEAT("b", 3500) FROM worklog5743_key8
+WHERE col_1_blob = REPEAT("c", 4000) AND col_2_blob = REPEAT("o", 4000);
+INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743_key8 WHERE col_1_blob = REPEAT("b", 4000);
+SELECT col_1_blob = REPEAT("c", 4000) FROM worklog5743_key8;
+DROP TABLE worklog5743_key8;
+
+
+#------------------------------------------------------------------------------
+# Create mutiple prefix index. We can not create prefix index length > 16K
+# as index is written in undo log page which of 16K size.
+# So we can create max 5 prefix index of length 3072 on table
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
+col_3_text TEXT (4000), col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+
+# Update hangs if we create following 5 indexes. Uncomment them once its fix
+# Bug#12547647 - UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
+#CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
+#CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
+#CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
+#CREATE INDEX prefix_idx4 ON worklog5743(col_4_blob (3072));
+#CREATE INDEX prefix_idx5 ON worklog5743(col_5_text (3072));
+
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Create mutiple prefix index. We can not create prefix index length > 16K as
+# we write in undo log page which of 16K size.
+# so we can create max 5 prefix index of length 3072 on table.
+# Similar to above case but with transactions
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varchar VARCHAR (4000) ,
+col_3_text TEXT (4000), col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+
+
+# Update hangs if we create following 5 indexes. Uncomment them once its fix
+CREATE INDEX prefix_idx1 ON worklog5743(col_1_varbinary (3072));
+CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (3072));
+CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (3072));
+CREATE INDEX prefix_idx4 ON worklog5743(col_4_blob (3072));
+CREATE INDEX prefix_idx5 ON worklog5743(col_5_text (3072));
+
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+ROLLBACK;
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+COMMIT;
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+ROLLBACK;
+# Uncomment Update fater Bug#12547647 is fixed - UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
+# Bug#12547647 - UPDATE LOGGING COULD EXCEED LOG PAGE SIZE
+#UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+#WHERE col_1_varbinary = REPEAT("a", 4000)
+#AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with utf8 charset
+# utf8 charcter takes 3 bytes in mysql so prefix index limit is 3072/3 = 1024
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) CHARACTER SET 'utf8',
+col_2_text TEXT (4000) CHARACTER SET 'utf8',
+PRIMARY KEY (col_1_text(1024))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (1024));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+# Prefix index with utf8 charset + varchar.
+# For varchar we also log the column itself as oppose of TEXT so it error
+# with limit 1024 due to overhead.
+-- error 1118
+CREATE TABLE worklog5743 (col_1_varchar VARCHAR (4000) CHARACTER SET 'utf8',
+col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8' ,
+PRIMARY KEY (col_1_varchar(1024))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+
+#------------------------------------------------------------------------------
+# prefinx index on utf8 charset with transaction
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) ,
+col_2_varchar VARCHAR (4000) CHARACTER SET 'utf8',
+col_3_text TEXT (4000) CHARACTER SET 'utf8',
+col_4_blob BLOB (4000),col_5_text TEXT (4000),
+col_6_varchar VARCHAR (4000), col_7_binary BINARY (255)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+
+
+CREATE INDEX prefix_idx2 ON worklog5743(col_2_varchar (500));
+CREATE INDEX prefix_idx3 ON worklog5743(col_3_text (500));
+
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+ROLLBACK;
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+COMMIT;
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+ROLLBACK;
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000),
+REPEAT("a", 4000) , REPEAT("o", 4000), REPEAT("a", 4000),
+REPEAT("a", 4000) , REPEAT("a", 255)
+);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("b", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with utf8 charset on TEXT data type with actual utf8 character
+# like "स" and "क"
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) CHARACTER SET 'utf8',
+col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(1024))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("स", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (1024));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("स", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("क", 4000)
+WHERE col_1_text = REPEAT("स", 4000) AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("क", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 4000);
+SELECT col_1_text = REPEAT("क", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with transaction when 2 client are ruuning there transaction
+# in different sessions.With ISOLATION LEVEL as REPEATABLE READ and
+# READ UNCOMMITTED.
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 200) , REPEAT("o", 200));
+# Uncomment after Bug#12552164 - TRANSACTION CAN NOT SEE OLD VERSION ROWS THAT
+# BEING UPDATED
+#UPDATE worklog5743 SET col_1_varchar = REPEAT("d", 200) WHERE col_1_varchar =
+#REPEAT("a", 200) AND col_2_varchar = REPEAT("o", 200);
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+
+
+--echo "In connection 1"
+--connection con1
+select @@session.tx_isolation;
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+
+START TRANSACTION;
+
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+
+--echo "In connection 2"
+--connection con2
+COMMIT;
+# Wait for commit
+let $wait_condition=SELECT COUNT(*)=0 FROM information_schema.processlist
+WHERE info='COMMIT';
+--source include/wait_condition.inc
+
+--echo "In connection 1"
+--connection con1
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+COMMIT;
+
+--connection default
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Prefix index with transaction when 2 client are ruuning there transaction
+# in different sessions.With ISOLATION LEVEL as REPEATABLE READ and
+# READ UNCOMMITTED. Same as above case but con2 starts tnx before con1
+
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+
+--echo "In connection 1"
+--connection con1
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+START TRANSACTION;
+
+
+--echo "In connection 2"
+--connection con2
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 200) , REPEAT("o", 200));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("a", 200);
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+COMMIT;
+# Wait for commit
+let $wait_condition=SELECT COUNT(*)=0 FROM information_schema.processlist
+WHERE info='COMMIT';
+--source include/wait_condition.inc
+
+
+--echo "In connection 1"
+--connection con1
+SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
+select @@session.tx_isolation;
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+COMMIT;
+
+--connection default
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+
+# Prefix index with transaction when 2 client are ruuning there transaction
+# in different sessions.With ISOLATION LEVEL as REPEATABLE READ and
+# READ UNCOMMITTED. Same as above cases but with ROLLBACK
+
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 200) , REPEAT("o", 200));
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+
+--echo "In connection 1"
+--connection con1
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+START TRANSACTION;
+
+
+--echo "In connection 2"
+--connection con2
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 200) , REPEAT("o", 200));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("a", 200);
+SELECT col_1_text = REPEAT("a", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+ROLLBACK;
+# Wait for rollback
+let $wait_condition=SELECT COUNT(*)=0 FROM information_schema.processlist
+WHERE info='COMMIT';
+--source include/wait_condition.inc
+
+
+--echo "In connection 1"
+--connection con1
+SELECT col_1_text = REPEAT("b", 200) , col_2_text = REPEAT("o", 200) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+COMMIT;
+
+--disconnect con1
+--disconnect con2
+
+--connection default
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+# Select queries on prefix index column as index will be used in queries.
+# Use few select functions , join condition , subqueries.
+
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+
+# Select with Join
+SELECT tbl1.col_1_varchar = tbl2.col_1_varchar
+FROM worklog5743 tbl1 , worklog5743 tbl2
+WHERE tbl1.col_1_varchar = tbl2.col_1_varchar ;
+
+# Select in subquey
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar IN (SELECT tbl2.col_1_varchar FROM worklog5743 tbl2) ;
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar NOT IN (SELECT tbl2.col_1_varchar FROM worklog5743 tbl2) ;
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1 WHERE
+col_1_varchar IN (SELECT tbl2.col_1_varchar FROM worklog5743 tbl2)
+AND col_1_varchar = REPEAT("c", 4000);
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar in (
+SELECT tbl2.col_1_varchar FROM worklog5743 tbl2
+WHERE tbl1.col_1_varchar != tbl2.col_1_varchar
+) ;
+SELECT tbl1.col_1_varchar = REPEAT("c", 4000) FROM worklog5743 tbl1
+WHERE col_1_varchar in (
+SELECT tbl2.col_1_varchar FROM worklog5743 tbl2
+WHERE tbl1.col_1_varchar = tbl2.col_1_varchar
+) ;
+
+# function
+SELECT
+REVERSE(col_1_varchar) = REPEAT("c", 4000) ,
+REVERSE(REVERSE(col_1_varchar)) = REPEAT("c", 4000)
+FROM worklog5743;
+SELECT
+UPPER(col_1_varchar) = REPEAT("c", 4000) ,
+UPPER(col_1_varchar) = REPEAT("C", 4000) ,
+LOWER(UPPER(col_1_varchar)) = REPEAT("c", 4000)
+FROM worklog5743;
+SELECT
+col_1_varchar = REPEAT("c", 4000)
+FROM worklog5743 WHERE col_1_varchar like '%c__%';
+SELECT SUBSTRING(INSERT(col_1_varchar, 1, 4, 'kkkk'),1,10) FROM worklog5743 ;
+SELECT CONCAT(SUBSTRING(col_1_varchar,-5,3),'append') FROM worklog5743 ;
+
+
+DROP TABLE worklog5743;
+
+#------------------------------------------------------------------------------
+# Prefix index with NULL values
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) ,
+col_2_varchar VARCHAR (4000) ,
+UNIQUE INDEX (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 1000),REPEAT("c", 1000)), REPEAT("o", 4000));
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
+INSERT INTO worklog5743 VALUES(NULL,NULL);
+INSERT INTO worklog5743 VALUES(NULL,NULL);
+# check IS
+SELECT COLUMN_NAME,INDEX_NAME,SUB_PART,INDEX_TYPE
+FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name = 'worklog5743' ;
+SELECT col_1_varchar FROM worklog5743 WHERE col_1_varchar IS NULL;
+SELECT col_1_varchar = concat(REPEAT("a", 2000),REPEAT("b", 2000))
+FROM worklog5743 WHERE col_1_varchar IS NOT NULL ORDER BY 1;
+
+
+DROP TABLE worklog5743;
+
+# -----------------------------------------------------------------------------
+# Try drop and add secondary prefix index
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+# Create index
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+# Drop index
+DROP INDEX prefix_idx ON worklog5743;
+
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+# Again add index
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+# -----------------------------------------------------------------------------
+
+# Try drop and add primary prefix index
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY `prefix_primary` (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+# Create index
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+# Drop index
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000)
+AND col_2_varchar = REPEAT("o", 4000);
+# Again add index
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
+
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+--error 1062
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+# -----------------------------------------------------------------------------
+
+# Try drop and add both (primary/secondary) prefix index
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY `prefix_primary` (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+# Create index
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+# Drop primary index
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+# Drop secondary index
+DROP INDEX prefix_idx ON worklog5743;
+
+SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("c", 4000)
+WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varchar = REPEAT("c", 4000) AND col_2_varchar = REPEAT("o", 4000);
+# Again add index
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+--error 1062
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
+SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
+DROP TABLE worklog5743;
+
+
+# -----------------------------------------------------------------------------
+# Drop index from differnt session
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR(4000) , col_2_varchar VARCHAR(4000) ,
+PRIMARY KEY (col_1_varchar (3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("c", 3500) , REPEAT("o", 3500));
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
+
+# Start new session
+--connect (con1,localhost,root,,)
+
+
+--echo " Switching to con1 connection For select "
+--connection con1
+SELECT col_1_varchar = REPEAT("c", 3500) , col_2_varchar = REPEAT("o", 3500)
+FROM worklog5743;
+
+--echo " Switching to default connection For DMLs "
+--connection default
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 3500) , REPEAT("o", 3500));
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743
+WHERE col_2_varchar = REPEAT("o", 3500);
+COMMIT;
+
+--echo " Switching to con1 connection For Dropping index and some DMLs "
+--connection con1
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("k", 3500),REPEAT("p", 3500));
+# Drop primary index
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+UPDATE worklog5743 SET col_1_varchar = REPEAT("b", 3500)
+WHERE col_1_varchar = REPEAT("a", 3500)
+AND col_2_varchar = REPEAT("o", 3500);
+SELECT col_1_varchar = REPEAT("b", 3500) FROM worklog5743
+WHERE col_2_varchar = REPEAT("o", 3500);
+
+--echo " Switching to default connection For DELETE "
+--connection default
+DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 3500);
+SELECT col_1_varchar = REPEAT("a", 3500) FROM worklog5743
+WHERE col_2_varchar = REPEAT("p", 3500);
+
+--echo " Switching to con1 connection to commit changes "
+--connection con1
+COMMIT;
+
+--echo " Switching to default connection to drop and end sub-test "
+--connection default
+DROP TABLE worklog5743;
+
+
+
+# -----------------------------------------------------------------------------
+# Create prefix index with length < 3072 , length = 3072 , length > 3072
+# - varbinary data type + secondary index
+CREATE TABLE worklog5743 (
+col_1_varbinary VARBINARY (4000) , col_2_varbinary VARBINARY (4000) ,
+PRIMARY KEY (col_1_varbinary(3072))) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+# Create index of 3072
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) , col_2_varbinary = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("c", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+# Drop index
+DROP INDEX prefix_idx ON worklog5743;
+SELECT col_1_varbinary = REPEAT("b", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("b", 4000)
+AND col_2_varbinary = REPEAT("p", 4000);
+
+
+# Again add index length < 3072
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (2000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("c", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+# Drop index
+DROP INDEX prefix_idx ON worklog5743;
+
+# Again add index length > 3072.
+# If "innodb_large_prefix" is turned on, than the index prefix larger than 3072
+# will be truncated to 3072. If the table is REDUNDANT and COMPACT, which does
+# not support prefix > 767, the create index will be rejected.
+CREATE INDEX prefix_idx ON worklog5743(col_1_varbinary (4000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_varbinary = REPEAT("a", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_varbinary = REPEAT("c", 4000)
+WHERE col_1_varbinary = REPEAT("a", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_varbinary = REPEAT("c", 4000);
+SELECT col_1_varbinary = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_varbinary = REPEAT("c", 4000)
+AND col_2_varbinary = REPEAT("o", 4000);
+
+
+DROP TABLE worklog5743;
+
+# -----------------------------------------------------------------------------
+# Create prefix index with length < 3072 , length = 3072 , length > 3072
+# text data type + secondary index
+CREATE TABLE worklog5743 (col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(500))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+# Create index of 3072
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (3072));
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000)
+FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+# Drop index
+DROP INDEX prefix_idx ON worklog5743;
+SELECT col_1_text = REPEAT("b", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("b", 4000) AND col_2_text = REPEAT("p", 4000);
+
+# Again add index length < 3072
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (1000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+# Drop index
+DROP INDEX prefix_idx ON worklog5743;
+
+# Again add index length > 3072. Expect error.Length exceeds maximum supported
+# key length
+# Again add index length > 3072.
+# If "innodb_large_prefix" is turned on, than the index prefix larger than 3072
+# will be truncated to 3072. If the table is REDUNDANT and COMPACT, which does
+# not support prefix > 767, the create index will be rejected.
+CREATE INDEX prefix_idx ON worklog5743(col_1_text (4000));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000) AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000) AND col_2_text = REPEAT("o", 4000);
+
+DROP TABLE worklog5743;
+
+
+# -----------------------------------------------------------------------------
+# Create prefix index with length < 948 , length = 948 , length > 948
+# For compressed row type + primary key
+CREATE TABLE worklog5743 (
+col_1_text TEXT (4000) , col_2_text TEXT (4000) ,
+PRIMARY KEY (col_1_text(948))
+) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
+# Create index of 767
+INSERT INTO worklog5743 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
+SELECT col_1_text = REPEAT("a", 4000) , col_2_text = REPEAT("o", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+# Drop index
+#DROP INDEX prefix_idx ON worklog5743;
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+SELECT col_1_text = REPEAT("b", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("b", 4000)
+AND col_2_text = REPEAT("p", 4000);
+
+# Again add index length < 767
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_text (700));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+# Drop index
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+
+# Again add index length > 948. Expect error 'to big row ' due to exceed
+# in key length.
+-- error 139
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_text (950));
+INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
+SELECT col_1_text = REPEAT("a", 4000) FROM worklog5743;
+UPDATE worklog5743 SET col_1_text = REPEAT("c", 4000)
+WHERE col_1_text = REPEAT("a", 4000)
+AND col_2_text = REPEAT("o", 4000);
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("c", 4000);
+SELECT col_1_text = REPEAT("c", 4000) FROM worklog5743
+WHERE col_1_text = REPEAT("c", 4000)
+AND col_2_text = REPEAT("o", 4000);
+
+DROP TABLE worklog5743;
+
+# -----------------------------------------------------------------------------
+# Create prefix index with length < 3072 , length = 3072 , length > 3072
+# data types VARCHAR
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar (900));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+# Again add index length > 3072. Expect error.Length exceeds maximum supported
+# key length
+# Again add index length > 3072.
+# If "innodb_large_prefix" is turned on, than the index prefix larger than 3072
+# will be truncated to 3072. If the table is REDUNDANT and COMPACT, which does
+# not support prefix > 767, the create index will be rejected.
+# Index length is truncated only for 'create index' , but error if we add
+# prefix index with length > 3072
+--error ER_TOO_LONG_KEY
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar (3073));
+DROP TABLE worklog5743;
+
+
+CREATE TABLE worklog5743 (
+col_1_BLOB BLOB (4000) , PRIMARY KEY (col_1_BLOB(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_BLOB (500));
+ALTER TABLE worklog5743 DROP PRIMARY KEY;
+# Negative case
+# Again add index length > 3072. Expect error.Length exceeds maximum supported
+# key length
+# Index length is truncated only for 'create index' , but error if we add
+# prefix index with length > 3072
+--error ER_TOO_LONG_KEY
+ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_BLOB (3073));
+
+DROP TABLE worklog5743;
+
+# -----------------------------------------------------------------------------
+# Error on adding larger prefix if violates unique index.
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000)
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 1000),REPEAT("c", 1000)),
+REPEAT("o", 4000));
+INSERT INTO worklog5743
+VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
+--error 1062
+ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
+DROP TABLE worklog5743;
+
+# -----------------------------------------------------------------------------
+set global innodb_large_prefix=0;
+# Prefix index > 767 is allowed if innodb_large_prefix is set to 1
+--error ER_TOO_LONG_KEY
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+
+
+# -----------------------------------------------------------------------------
+set global innodb_large_prefix=0;
+# Backward compatibility test - Index lenghth > 767 is truncated for REDUNDANT
+# and COMPACT
+CREATE TABLE worklog5743 (
+col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
+PRIMARY KEY (col_1_varchar(767))
+) engine = innodb;
+# Prefix index > 767 is truncated with REDUNDANT and COMPACT
+CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (1000));
+DROP TABLE worklog5743;
+#------------------------------------------------------------------------------
+
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig;
diff --git a/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test b/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test
new file mode 100644
index 00000000000..587e6fe1f6b
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test
@@ -0,0 +1,127 @@
+######## suite/innodb/t/innodb_prefix_iindex_restart_server.test #####
+# #
+# Testcase for worklog WL#5743: Lift the limit of index key prefixes #
+# Test scenario : Stop the server in between when prefix index are #
+# created and see if state is preserved after restart #
+# #
+# Creation: #
+# 2011-06-02 Implemented this test as part of WL#5743 #
+# #
+######################################################################
+
+# Don't test this under valgrind, memory leaks will occur due restart
+--source include/not_valgrind.inc
+# Test restart the server and "shutdown_server" looks for pid file
+# which is not there with embedded mode
+--source include/not_embedded.inc
+--source include/have_innodb.inc
+# Save innodb variables
+let $innodb_file_format_orig=`select @@innodb_file_format`;
+let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
+let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
+let $innodb_large_prefix_orig=`select @@innodb_large_prefix`;
+
+# Set Innodb file format as feature works for Barracuda file format
+set global innodb_file_format="Barracuda";
+set global innodb_file_per_table=1;
+set global innodb_large_prefix=1;
+
+-- disable_warnings
+DROP TABLE IF EXISTS worklog5743;
+-- enable_warnings
+
+
+#------------------------------------------------------------------------------
+# Stop the server in between when prefix index are created and see if state is
+# correct when server is restarted.
+# Server is restarted at differnt points.
+
+CREATE TABLE worklog5743 (
+col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
+PRIMARY KEY (col_1_text(3072))
+) ROW_FORMAT=DYNAMIC, engine = innodb;
+INSERT INTO worklog5743 VALUES(REPEAT("a", 3500) , REPEAT("o", 3500));
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+
+
+--echo "In connection 2"
+--connect (con2,localhost,root,,)
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 3500) , REPEAT("o", 3500));
+
+
+--echo "In connection 1"
+--connection con1
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+START TRANSACTION;
+
+
+--echo "In connection default ....restarting the server"
+--connection default
+# Restart the server
+-- source include/restart_mysqld.inc
+SELECT COUNT(*) FROM worklog5743;
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+
+--disconnect con1
+--disconnect con2
+
+--echo "In connection 1"
+--connect (con1,localhost,root,,)
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+START TRANSACTION;
+INSERT INTO worklog5743 VALUES(REPEAT("b", 3500) , REPEAT("o", 3500));
+DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 3500);
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+
+--echo "In connection default ....restarting the server"
+--connection default
+# Restart the server
+-- source include/restart_mysqld.inc
+SELECT COUNT(*) FROM worklog5743;
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+
+--disconnect con1
+
+--echo "In connection 1"
+--connect (con2,localhost,root,,)
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+SELECT COUNT(*) FROM worklog5743;
+START TRANSACTION;
+UPDATE worklog5743 SET col_1_text = REPEAT("b", 3500) WHERE col_1_text = REPEAT("a", 3500);
+SELECT col_1_text = REPEAT("b", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+
+--echo "In connection default ....restarting the server"
+--connection default
+# Restart the server
+-- source include/restart_mysqld.inc
+SELECT COUNT(*) FROM worklog5743;
+SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
+worklog5743;
+
+DROP TABLE worklog5743;
+
+
+#------------------------------------------------------------------------------
+
+eval SET GLOBAL innodb_file_format=$innodb_file_format_orig;
+eval SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
+eval SET GLOBAL innodb_file_format_max=$innodb_file_format_max_orig;
+eval SET GLOBAL innodb_large_prefix=$innodb_large_prefix_orig;
+
diff --git a/mysql-test/suite/large_tests/r/rpl_slave_net_timeout.result b/mysql-test/suite/large_tests/r/rpl_slave_net_timeout.result
index 81de6e228e0..4dcc2e6295f 100644
--- a/mysql-test/suite/large_tests/r/rpl_slave_net_timeout.result
+++ b/mysql-test/suite/large_tests/r/rpl_slave_net_timeout.result
@@ -1,25 +1,20 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set @save_general_log = @@global.general_log;
set @save_log_output = @@global.log_output;
set @save_slave_net_timeout = @@global.slave_net_timeout;
set @@global.general_log = ON;
set @@global.log_output = 'table,file';
include/stop_slave.inc
-set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
change master to master_host = '127.0.0.1',master_port = MASTER_PORT,
master_user = 'root', master_heartbeat_period = 0;
+set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
include/start_slave.inc
include/stop_slave.inc
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time desc limit 1 into @ts_last;
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time asc limit 1 into @ts_prev;
-select @result as 'Must be 1';
-Must be 1
-1
+include/assert.inc [time between last reconnection and the reconnection before that should be >= slave_net_timeout]
set @@global.general_log = @save_general_log;
set @@global.log_output = @save_log_output;
set @@global.slave_net_timeout = @save_slave_net_timeout;
+include/rpl_end.inc
diff --git a/mysql-test/suite/large_tests/t/lock_tables_big.test b/mysql-test/suite/large_tests/t/lock_tables_big.test
index 41dcff3577c..7fab19ac274 100644
--- a/mysql-test/suite/large_tests/t/lock_tables_big.test
+++ b/mysql-test/suite/large_tests/t/lock_tables_big.test
@@ -1,6 +1,16 @@
#
# Bug#24509 cannot use more than 2048 file descriptors on windows
#
+
+#
+# This test requires approximately 6000 of files to be open simultaneously.
+# Let us skip it on platforms where open files limit is too low.
+let $max_open_files_limit= `SELECT @@open_files_limit < 6100`;
+if ($max_open_files_limit)
+{
+ skip Need open_files_limit to be greater than 6100;
+}
+
--disable_query_log
create database many_tables;
use many_tables;
@@ -19,14 +29,14 @@ while ($i)
}
#lock all tables we just created (resembles mysqldump startup is doing with --all-databases operation)
-#There will be 3 descriptors for each table (table.FRM, table.MYI and table.MYD files) means 9000 files
+#There will be 2 descriptors for each table (table.MYI and table.MYD files) means 6000 files
#descriptors altogether. For Microsoft C runtime, this is way too many.
eval LOCK TABLES $table_list;
unlock tables;
drop database many_tables;
---disable_query_log
+--enable_query_log
--echo all done
diff --git a/mysql-test/suite/large_tests/t/rpl_slave_net_timeout.test b/mysql-test/suite/large_tests/t/rpl_slave_net_timeout.test
index 9a2cdc3b596..238146cdaaa 100644
--- a/mysql-test/suite/large_tests/t/rpl_slave_net_timeout.test
+++ b/mysql-test/suite/large_tests/t/rpl_slave_net_timeout.test
@@ -21,11 +21,6 @@ set @@global.log_output = 'table,file';
connection slave;
--source include/stop_slave.inc
---disable_warnings
-set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
---enable_warnings
-let $idle_time=`select @@global.slave_net_timeout * 2`;
-
#
# if heartbeat is disabled then reconnecting to the idle master
# should happen with `slave_net_timeout' period.
@@ -42,6 +37,9 @@ let $idle_time=`select @@global.slave_net_timeout * 2`;
eval change master to master_host = '127.0.0.1',master_port = $MASTER_MYPORT,
master_user = 'root', master_heartbeat_period = 0;
+set @@global.slave_net_timeout = @@global.net_read_timeout * 2;
+let $idle_time=`select @@global.slave_net_timeout * 2`;
+
let $slave_net_timeout = `select @@global.slave_net_timeout`;
--source include/start_slave.inc
@@ -64,11 +62,9 @@ connection master;
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time desc limit 1 into @ts_last;
select event_time from (select event_time from mysql.general_log as t_1 where command_type like 'Connect' order by event_time desc limit 2) as t_2 order by event_time asc limit 1 into @ts_prev;
---disable_query_log
-eval select time_to_sec(@ts_last) - $slave_net_timeout >= time_to_sec(@ts_prev) into @result;
---enable_query_log
-
-select @result as 'Must be 1';
+--let $assert_cond= time_to_sec(@ts_last) - time_to_sec(@ts_prev) >= $slave_net_timeout
+--let $assert_text= time between last reconnection and the reconnection before that should be >= slave_net_timeout
+--source include/assert.inc
# cleanup
@@ -79,3 +75,5 @@ set @@global.log_output = @save_log_output;
connection slave;
set @@global.slave_net_timeout = @save_slave_net_timeout;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/manual/t/rpl_replication_delay.test b/mysql-test/suite/manual/t/rpl_replication_delay.test
index fc1db9bfe18..f2b2da6f53c 100644
--- a/mysql-test/suite/manual/t/rpl_replication_delay.test
+++ b/mysql-test/suite/manual/t/rpl_replication_delay.test
@@ -7,9 +7,8 @@
source include/master-slave.inc;
-connection master;
-#connection slave;
-sync_slave_with_master;
+connection slave;
+
--echo # Second_behind reports 0
let $status_items= Seconds_Behind_Master;
source include/show_slave_status.inc;
@@ -61,9 +60,4 @@ unlock tables;
connection master;
drop table t1;
-#connection slave;
-sync_slave_with_master;
-
-
-# End of tests
-
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/ndb/my.cnf b/mysql-test/suite/ndb/my.cnf
deleted file mode 100644
index 37dfc3945ce..00000000000
--- a/mysql-test/suite/ndb/my.cnf
+++ /dev/null
@@ -1,22 +0,0 @@
-!include include/default_mysqld.cnf
-!include include/default_ndbd.cnf
-!include include/default_client.cnf
-
-[cluster_config.1]
-NoOfReplicas= 2
-ndbd=,
-ndb_mgmd=
-mysqld=,
-
-[mysqld]
-# Make all mysqlds use cluster
-ndbcluster
-
-[ENV]
-NDB_CONNECTSTRING= @mysql_cluster.1.ndb_connectstring
-MASTER_MYSOCK= @mysqld.1.1.socket
-MASTER_MYPORT= @mysqld.1.1.port
-MASTER_MYPORT1= @mysqld.2.1.port
-
-NDB_BACKUP_DIR= @cluster_config.ndbd.1.1.BackupDataDir
-
diff --git a/mysql-test/suite/ndb/r/loaddata_autocom_ndb.result b/mysql-test/suite/ndb/r/loaddata_autocom_ndb.result
deleted file mode 100644
index b4d0b0b81a7..00000000000
--- a/mysql-test/suite/ndb/r/loaddata_autocom_ndb.result
+++ /dev/null
@@ -1,23 +0,0 @@
-SET SESSION STORAGE_ENGINE = ndbcluster;
-drop table if exists t1;
-create table t1 (id int unsigned not null auto_increment primary key, a text, b text);
-start transaction;
-load data infile 'LOAD_FILE' into table t1 fields terminated by ',' enclosed by '''' (a, b);
-Warnings:
-Warning 1261 Row 3 doesn't contain data for all columns
-commit;
-select count(*) from t1;
-count(*)
-4
-truncate table t1;
-start transaction;
-load data infile 'LOAD_FILE' into table t1 fields terminated by ',' enclosed by '''' (a, b);
-Warnings:
-Warning 1261 Row 3 doesn't contain data for all columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-4
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_alter_table.result b/mysql-test/suite/ndb/r/ndb_alter_table.result
deleted file mode 100644
index 35b983e1901..00000000000
--- a/mysql-test/suite/ndb/r/ndb_alter_table.result
+++ /dev/null
@@ -1,437 +0,0 @@
-DROP TABLE IF EXISTS t1, t2;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-a INT NOT NULL,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (9410,9412);
-ALTER TABLE t1 ADD COLUMN c int not null;
-SELECT * FROM t1;
-a b c
-9410 9412 0
-DROP TABLE t1;
-CREATE DATABASE mysqltest;
-USE mysqltest;
-CREATE TABLE t1 (
-a INT NOT NULL,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-RENAME TABLE t1 TO test.t1;
-SHOW TABLES;
-Tables_in_mysqltest
-DROP DATABASE mysqltest;
-USE test;
-SHOW TABLES;
-Tables_in_test
-t1
-DROP TABLE t1;
-create table t1 (
-col1 int not null auto_increment primary key,
-col2 varchar(30) not null,
-col3 varchar (20) not null,
-col4 varchar(4) not null,
-col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
-col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 0 # # # 0 # 1 # # # latin1_swedish_ci NULL #
-SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
-insert into t1 values
-(0,4,3,5,"PENDING",1,7),(NULL,4,3,5,"PENDING",1,7),(31,4,3,5,"PENDING",1,7), (7,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7), (100,4,3,5,"PENDING",1,7), (99,4,3,5,"PENDING",1,7), (8,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7);
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 9 # # # 0 # 102 # # # latin1_swedish_ci NULL #
-select * from t1 order by col1;
-col1 col2 col3 col4 col5 col6 to_be_deleted
-0 4 3 5 PENDING 1 7
-1 4 3 5 PENDING 1 7
-7 4 3 5 PENDING 1 7
-8 4 3 5 PENDING 1 7
-31 4 3 5 PENDING 1 7
-32 4 3 5 PENDING 1 7
-99 4 3 5 PENDING 1 7
-100 4 3 5 PENDING 1 7
-101 4 3 5 PENDING 1 7
-alter table t1
-add column col4_5 varchar(20) not null after col4,
-add column col7 varchar(30) not null after col5,
-add column col8 datetime not null, drop column to_be_deleted,
-change column col2 fourth varchar(30) not null after col3,
-modify column col6 int not null first;
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 9 # # # 0 # 102 # # # latin1_swedish_ci NULL #
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col4_5 col5 col7 col8
-1 0 3 4 5 PENDING 0000-00-00 00:00:00
-1 1 3 4 5 PENDING 0000-00-00 00:00:00
-1 7 3 4 5 PENDING 0000-00-00 00:00:00
-1 8 3 4 5 PENDING 0000-00-00 00:00:00
-1 31 3 4 5 PENDING 0000-00-00 00:00:00
-1 32 3 4 5 PENDING 0000-00-00 00:00:00
-1 99 3 4 5 PENDING 0000-00-00 00:00:00
-1 100 3 4 5 PENDING 0000-00-00 00:00:00
-1 101 3 4 5 PENDING 0000-00-00 00:00:00
-insert into t1 values (2, NULL,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t1 ndbcluster 10 Dynamic 10 # # # 0 # 103 # # # latin1_swedish_ci NULL #
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col4_5 col5 col7 col8
-1 0 3 4 5 PENDING 0000-00-00 00:00:00
-1 1 3 4 5 PENDING 0000-00-00 00:00:00
-1 7 3 4 5 PENDING 0000-00-00 00:00:00
-1 8 3 4 5 PENDING 0000-00-00 00:00:00
-1 31 3 4 5 PENDING 0000-00-00 00:00:00
-1 32 3 4 5 PENDING 0000-00-00 00:00:00
-1 99 3 4 5 PENDING 0000-00-00 00:00:00
-1 100 3 4 5 PENDING 0000-00-00 00:00:00
-1 101 3 4 5 PENDING 0000-00-00 00:00:00
-2 102 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
-delete from t1;
-insert into t1 values (0,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-SET SQL_MODE='';
-insert into t1 values (1,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col4_5 col5 col7 col8
-0 0 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
-1 103 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
-alter table t1 drop column col4_5;
-insert into t1 values (2,0,4,3,5,"PENDING","EXTRA",'2004-01-01 00:00:00');
-select * from t1 order by col1;
-col6 col1 col3 fourth col4 col5 col7 col8
-0 0 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
-1 103 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
-2 104 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
-drop table t1;
-CREATE TABLE t1 (
-a INT NOT NULL,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (9410,9412);
-ALTER TABLE t1 ADD COLUMN c int not null;
-select * from t1 order by a;
-a b c
-9410 9412 0
-select * from t1 order by a;
-a b c
-9410 9412 0
-alter table t1 drop c;
-select * from t1 order by a;
-a b
-9410 9412
-drop table t1;
-select * from t1 order by a;
-ERROR 42S02: Table 'test.t1' doesn't exist
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0,1),(17,18);
-select * from t1 order by a;
-a b
-0 1
-17 18
-SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
-alter table t1 modify column a int not null auto_increment;
-SET SQL_MODE='';
-select * from t1 order by a;
-a b
-0 1
-17 18
-INSERT INTO t1 VALUES (0,19),(20,21);
-select * from t1 order by a;
-a b
-0 1
-17 18
-18 19
-20 21
-drop table t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0,1),(17,18);
-select * from t1 order by a;
-a b
-0 1
-17 18
-alter table t1 add c int not null unique auto_increment;
-select c from t1 order by c;
-c
-1
-2
-INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
-select c from t1 order by c;
-c
-1
-2
-3
-4
-5
-drop table t1;
-create table t1 (
-ai bigint auto_increment,
-c001 int(11) not null,
-c002 int(11) not null,
-c003 int(11) not null,
-c004 int(11) not null,
-c005 int(11) not null,
-c006 int(11) not null,
-c007 int(11) not null,
-c008 int(11) not null,
-c009 int(11) not null,
-c010 int(11) not null,
-c011 int(11) not null,
-c012 int(11) not null,
-c013 int(11) not null,
-c014 int(11) not null,
-c015 int(11) not null,
-c016 int(11) not null,
-c017 int(11) not null,
-c018 int(11) not null,
-c019 int(11) not null,
-c020 int(11) not null,
-c021 int(11) not null,
-c022 int(11) not null,
-c023 int(11) not null,
-c024 int(11) not null,
-c025 int(11) not null,
-c026 int(11) not null,
-c027 int(11) not null,
-c028 int(11) not null,
-c029 int(11) not null,
-c030 int(11) not null,
-c031 int(11) not null,
-c032 int(11) not null,
-c033 int(11) not null,
-c034 int(11) not null,
-c035 int(11) not null,
-c036 int(11) not null,
-c037 int(11) not null,
-c038 int(11) not null,
-c039 int(11) not null,
-c040 int(11) not null,
-c041 int(11) not null,
-c042 int(11) not null,
-c043 int(11) not null,
-c044 int(11) not null,
-c045 int(11) not null,
-c046 int(11) not null,
-c047 int(11) not null,
-c048 int(11) not null,
-c049 int(11) not null,
-c050 int(11) not null,
-c051 int(11) not null,
-c052 int(11) not null,
-c053 int(11) not null,
-c054 int(11) not null,
-c055 int(11) not null,
-c056 int(11) not null,
-c057 int(11) not null,
-c058 int(11) not null,
-c059 int(11) not null,
-c060 int(11) not null,
-c061 int(11) not null,
-c062 int(11) not null,
-c063 int(11) not null,
-c064 int(11) not null,
-c065 int(11) not null,
-c066 int(11) not null,
-c067 int(11) not null,
-c068 int(11) not null,
-c069 int(11) not null,
-c070 int(11) not null,
-c071 int(11) not null,
-c072 int(11) not null,
-c073 int(11) not null,
-c074 int(11) not null,
-c075 int(11) not null,
-c076 int(11) not null,
-c077 int(11) not null,
-c078 int(11) not null,
-c079 int(11) not null,
-c080 int(11) not null,
-c081 int(11) not null,
-c082 int(11) not null,
-c083 int(11) not null,
-c084 int(11) not null,
-c085 int(11) not null,
-c086 int(11) not null,
-c087 int(11) not null,
-c088 int(11) not null,
-c089 int(11) not null,
-c090 int(11) not null,
-c091 int(11) not null,
-c092 int(11) not null,
-c093 int(11) not null,
-c094 int(11) not null,
-c095 int(11) not null,
-c096 int(11) not null,
-c097 int(11) not null,
-c098 int(11) not null,
-c099 int(11) not null,
-c100 int(11) not null,
-c101 int(11) not null,
-c102 int(11) not null,
-c103 int(11) not null,
-c104 int(11) not null,
-c105 int(11) not null,
-c106 int(11) not null,
-c107 int(11) not null,
-c108 int(11) not null,
-c109 int(11) not null,
-primary key (ai),
-unique key tx1 (c002, c003, c004, c005)) engine=ndb;
-create index tx2
-on t1 (c010, c011, c012, c013);
-drop table t1;
-CREATE TABLE t1 (
-auto int(5) unsigned NOT NULL auto_increment,
-string char(10),
-vstring varchar(10),
-bin binary(2),
-vbin varbinary(7),
-tiny tinyint(4) DEFAULT '0' NOT NULL ,
-short smallint(6) DEFAULT '1' NOT NULL ,
-medium mediumint(8) DEFAULT '0' NOT NULL,
-long_int int(11) DEFAULT '0' NOT NULL,
-longlong bigint(13) DEFAULT '0' NOT NULL,
-real_float float(13,1) DEFAULT 0.0 NOT NULL,
-real_double double(16,4),
-real_decimal decimal(16,4),
-utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
-ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
-umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
-ulong int(11) unsigned DEFAULT '0' NOT NULL,
-ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
-bits bit(3),
-options enum('zero','one','two','three','four') not null,
-flags set('zero','one','two','three','four') not null,
-date_field date,
-year_field year,
-time_field time,
-date_time datetime,
-time_stamp timestamp,
-PRIMARY KEY (auto)
-) engine=ndb;
-CREATE TEMPORARY TABLE ndb_show_tables (id INT, type VARCHAR(20), state VARCHAR(20), logging VARCHAR(20), _database VARCHAR(255), _schema VARCHAR(20), name VARCHAR(255));
-LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
-set @t1_id = (select id from ndb_show_tables where name like '%t1%');
-truncate ndb_show_tables;
-alter table t1 change tiny new_tiny tinyint(4) DEFAULT '0' NOT NULL;
-LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
-select 'no_copy' from ndb_show_tables where id = @t1_id and name like '%t1%';
-no_copy
-set @t1_id = (select id from ndb_show_tables where name like '%t1%');
-truncate ndb_show_tables;
-create index i1 on t1(medium);
-alter table t1 add index i2(new_tiny);
-drop index i1 on t1;
-LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
-select 'no_copy' from ndb_show_tables where id = @t1_id and name like '%t1%';
-no_copy
-no_copy
-DROP TABLE t1, ndb_show_tables;
-create table t1 (a int primary key auto_increment, b int) engine=ndb;
-insert into t1 (b) values (101),(102),(103);
-select * from t1 where a = 3;
-a b
-3 103
-alter table t1 rename t2;
-insert into t2 (b) values (201),(202),(203);
-select * from t2 where a = 6;
-a b
-6 203
-alter table t2 add c int;
-insert into t2 (b) values (301),(302),(303);
-select * from t2 where a = 9;
-a b c
-9 303 NULL
-alter table t2 rename t1;
-insert into t1 (b) values (401),(402),(403);
-select * from t1 where a = 12;
-a b c
-12 403 NULL
-drop table t1;
-create table t1(a int not null) engine=ndb;
-$PK Bigunsigned PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-PRIMARY KEY($PK) - UniqueHashIndex
-insert into t1 values (1),(2),(3);
-alter table t1 add primary key (a);
-a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-PRIMARY KEY(a) - UniqueHashIndex
-PRIMARY(a) - OrderedIndex
-update t1 set a = 17 where a = 1;
-select * from t1 order by a;
-a
-2
-3
-17
-alter table t1 drop primary key;
-$PK Bigunsigned PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-PRIMARY KEY($PK) - UniqueHashIndex
-update t1 set a = 1 where a = 17;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
-create table t1(a int not null) engine=ndb;
-$PK Bigunsigned PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-PRIMARY KEY($PK) - UniqueHashIndex
-insert into t1 values (1),(2),(3);
-create unique index pk on t1(a);
-a Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-PRIMARY KEY(a) - UniqueHashIndex
-update t1 set a = 17 where a = 1;
-select * from t1 order by a;
-a
-2
-3
-17
-alter table t1 drop index pk;
-$PK Bigunsigned PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-PRIMARY KEY($PK) - UniqueHashIndex
-update t1 set a = 1 where a = 17;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
-create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- `b` int(11) NOT NULL DEFAULT '0',
- `c` varchar(254) DEFAULT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-alter table t1 alter b set default 1;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- `b` int(11) NOT NULL DEFAULT '1',
- `c` varchar(254) DEFAULT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (a int not null, b int not null) engine=ndb;
-insert into t1 values (1, 300), (2, 200), (3, 100);
-select * from t1 order by a;
-a b
-1 300
-2 200
-3 100
-alter table t1 order by b;
-select * from t1 order by b;
-a b
-3 100
-2 200
-1 300
-drop table t1;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_alter_table2.result b/mysql-test/suite/ndb/r/ndb_alter_table2.result
deleted file mode 100644
index 3783c76447c..00000000000
--- a/mysql-test/suite/ndb/r/ndb_alter_table2.result
+++ /dev/null
@@ -1,41 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL
-) ENGINE=ndbcluster;
-BEGIN;
-INSERT INTO t1 VALUES (9410,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9411,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9412,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9413,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9414,9412);
-BEGIN;
-INSERT INTO t1 VALUES (9415,9412);
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-ROLLBACK;
-drop table t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b INT NOT NULL,
-c INT NOT NULL
-) ENGINE=ndbcluster;
-select * from t1;
-select * from t1;
-a b c
-select * from t1;
-a b c
-select * from t1;
-a b c
-select * from t1;
-a b c
-select * from t1;
-a b c
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_alter_table3.result b/mysql-test/suite/ndb/r/ndb_alter_table3.result
deleted file mode 100644
index bf80d95bf82..00000000000
--- a/mysql-test/suite/ndb/r/ndb_alter_table3.result
+++ /dev/null
@@ -1,35 +0,0 @@
-DROP TABLE IF EXISTS t1;
-create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
-engine=ndb;
-insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
-create index c on t1(c);
-show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 3 NULL NULL BTREE
-t1 1 b 1 b A 3 NULL NULL YES BTREE
-t1 1 c 1 c A 3 NULL NULL YES BTREE
-select * from t1 where c = 'two';
-a b c
-2 two two
-alter table t1 drop index c;
-show indexes from t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 a A 3 NULL NULL BTREE
-t1 1 b 1 b A 3 NULL NULL YES BTREE
-select * from t1 where c = 'two';
-a b c
-2 two two
-drop table t1;
-create table t3 (a int primary key) engine=ndbcluster;
-begin;
-insert into t3 values (1);
-alter table t3 rename t4;
-commit;
-select * from t3;
-ERROR 42S02: Table 'test.t3' doesn't exist
-select * from t4;
-a
-1
-drop table t4;
-show tables;
-Tables_in_test
diff --git a/mysql-test/suite/ndb/r/ndb_auto_increment.result b/mysql-test/suite/ndb/r/ndb_auto_increment.result
deleted file mode 100644
index 9f16f1ae477..00000000000
--- a/mysql-test/suite/ndb/r/ndb_auto_increment.result
+++ /dev/null
@@ -1,445 +0,0 @@
-DROP TABLE IF EXISTS t1,t2;
-DROP TABLE IF EXISTS t1;
-set @old_auto_increment_offset = @@session.auto_increment_offset;
-set @old_auto_increment_increment = @@session.auto_increment_increment;
-set @old_ndb_autoincrement_prefetch_sz = @@session.ndb_autoincrement_prefetch_sz;
-flush status;
-create table t1 (a int not null auto_increment primary key) engine ndb;
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-1
-update t1 set a = 5 where a = 1;
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-5
-6
-insert into t1 values (7);
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-5
-6
-7
-8
-insert into t1 values (2);
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-2
-5
-6
-7
-8
-9
-update t1 set a = 4 where a = 2;
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-10
-delete from t1 where a = 10;
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-replace t1 values (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-replace t1 values (15);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-15
-replace into t1 values (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-15
-16
-replace t1 values (15);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-15
-16
-insert ignore into t1 values (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-15
-16
-17
-insert ignore into t1 values (15), (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-15
-16
-17
-18
-insert into t1 values (15)
-on duplicate key update a = 20;
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-16
-17
-18
-20
-21
-insert into t1 values (NULL) on duplicate key update a = 30;
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-16
-17
-18
-20
-21
-22
-insert into t1 values (30) on duplicate key update a = 40;
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-16
-17
-18
-20
-21
-22
-30
-insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
-select * from t1 order by a;
-a
-4
-5
-6
-7
-8
-9
-11
-12
-16
-17
-18
-20
-21
-22
-30
-600
-601
-602
-610
-611
-drop table t1;
-create table t1 (a int not null primary key,
-b int not null unique auto_increment) engine ndb;
-insert into t1 values (1, NULL);
-insert into t1 values (3, NULL);
-update t1 set b = 3 where a = 3;
-insert into t1 values (4, NULL);
-select * from t1 order by a;
-a b
-1 1
-3 3
-4 4
-drop table t1;
-CREATE TABLE t1 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER;
-CREATE TABLE t2 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=MYISAM;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-1 1 0
-11 2 1
-21 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-TRUNCATE t1;
-TRUNCATE t2;
-SET @@session.auto_increment_offset=5;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t1 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-5 1 0
-15 2 1
-25 3 2
-27 4 3
-35 5 4
-99 6 5
-105 7 6
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-7
-TRUNCATE t1;
-TRUNCATE t2;
-SET @@session.auto_increment_increment=2;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-1 1 0
-3 2 1
-5 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-DROP TABLE t1, t2;
-CREATE TABLE t1 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
-CREATE TABLE t2 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 7;
-SET @@session.auto_increment_offset=1;
-SET @@session.auto_increment_increment=1;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-7 1 0
-8 2 1
-9 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-DROP TABLE t1, t2;
-CREATE TABLE t1 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 3;
-CREATE TABLE t2 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 3;
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-5 1 0
-15 2 1
-25 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-DROP TABLE t1, t2;
-CREATE TABLE t1 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
-CREATE TABLE t2 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 7;
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-15 1 0
-25 2 1
-35 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-DROP TABLE t1, t2;
-CREATE TABLE t1 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 5;
-CREATE TABLE t2 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 5;
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-5 1 0
-15 2 1
-25 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-DROP TABLE t1, t2;
-CREATE TABLE t1 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 100;
-CREATE TABLE t2 (
-pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 100;
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-pk b c
-105 1 0
-115 2 1
-125 3 2
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-COUNT(t1.pk)
-3
-DROP TABLE t1, t2;
-SET @@session.auto_increment_offset=1;
-SET @@session.auto_increment_increment=1;
-set ndb_autoincrement_prefetch_sz = 32;
-drop table if exists t1;
-SET @@session.auto_increment_offset=1;
-SET @@session.auto_increment_increment=1;
-set ndb_autoincrement_prefetch_sz = 32;
-create table t1 (a int not null auto_increment primary key) engine ndb;
-insert into t1 values (NULL);
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-1
-33
-insert into t1 values (20);
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-1
-20
-33
-34
-insert into t1 values (35);
-insert into t1 values (NULL);
-insert into t1 values (NULL);
-Got one of the listed errors
-select * from t1 order by a;
-a
-1
-20
-33
-34
-35
-65
-insert into t1 values (100);
-insert into t1 values (NULL);
-insert into t1 values (NULL);
-select * from t1 order by a;
-a
-1
-20
-33
-34
-35
-65
-66
-100
-101
-set auto_increment_offset = @old_auto_increment_offset;
-set auto_increment_increment = @old_auto_increment_increment;
-set ndb_autoincrement_prefetch_sz = @old_ndb_autoincrement_prefetch_sz;
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_autoinc.result b/mysql-test/suite/ndb/r/ndb_autoinc.result
deleted file mode 100644
index fe9d36393ad..00000000000
--- a/mysql-test/suite/ndb/r/ndb_autoinc.result
+++ /dev/null
@@ -1,37 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3;
-USE test;
-CREATE TABLE t1 (
-id INT AUTO_INCREMENT,
-PRIMARY KEY(id)
-) ENGINE=NDBCLUSTER;
-CREATE TABLE t2 (
-id INT AUTO_INCREMENT,
-KEY(id)
-) ENGINE=NDBCLUSTER;
-ERROR HY000: Can't create table 'test.t2' (errno: 4335)
-SHOW TABLES;
-Tables_in_test
-t1
-CREATE TABLE t3 (
-id INT AUTO_INCREMENT,
-KEY(id)
-) ENGINE=MYISAM;
-ALTER TABLE t3
-ENGINE NDBCLUSTER;
-SHOW CREATE TABLE t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- KEY `id` (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t3
-ADD PRIMARY KEY (id);
-SHOW CREATE TABLE t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`),
- KEY `id` (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1, t3;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_basic.result b/mysql-test/suite/ndb/r/ndb_basic.result
deleted file mode 100644
index 8cb86fb4c2b..00000000000
--- a/mysql-test/suite/ndb/r/ndb_basic.result
+++ /dev/null
@@ -1,930 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-drop table t1;
-SHOW GLOBAL STATUS LIKE 'ndb%';
-Variable_name Value
-Ndb_cluster_node_id #
-Ndb_config_from_host #
-Ndb_config_from_port #
-Ndb_number_of_data_nodes #
-SHOW GLOBAL VARIABLES LIKE 'ndb%';
-Variable_name Value
-ndb_autoincrement_prefetch_sz #
-ndb_cache_check_time #
-ndb_connectstring #
-ndb_distribution #
-ndb_extra_logging #
-ndb_force_send #
-ndb_index_stat_cache_entries #
-ndb_index_stat_enable #
-ndb_index_stat_update_freq #
-ndb_mgmd_host #
-ndb_nodeid #
-ndb_optimized_node_selection #
-ndb_report_thresh_binlog_epoch_slip #
-ndb_report_thresh_binlog_mem_usage #
-ndb_use_copying_alter_table #
-ndb_use_exact_count #
-ndb_use_transactions #
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk1 A 0 NULL NULL BTREE
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
-SHOW INDEX FROM t1;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t1 0 PRIMARY 1 pk1 A 2 NULL NULL BTREE
-SELECT pk1 FROM t1 ORDER BY pk1;
-pk1
-9410
-9411
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-9410 9412 NULL 9412
-9411 9413 17 9413
-SELECT t1.* FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-9410 9412 NULL 9412
-9411 9413 17 9413
-UPDATE t1 SET attr1=1 WHERE pk1=9410;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-9410 1 NULL 9412
-9411 9413 17 9413
-UPDATE t1 SET pk1=2 WHERE attr1=1;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-2 1 NULL 9412
-9411 9413 17 9413
-UPDATE t1 SET pk1=pk1 + 1;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-3 1 NULL 9412
-9412 9413 17 9413
-UPDATE t1 SET pk1=4 WHERE pk1 = 3;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-4 1 NULL 9412
-9412 9413 17 9413
-DELETE FROM t1;
-SELECT * FROM t1;
-pk1 attr1 attr2 attr3
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9408, 8765, NULL, '8765'),
-(7,8, NULL, NULL), (8,9, NULL, NULL), (9,10, NULL, NULL), (10,11, NULL, NULL), (11,12, NULL, NULL), (12,13, NULL, NULL), (13,14, NULL, NULL);
-UPDATE t1 SET attr1 = 9999;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9999 NULL NULL
-8 9999 NULL NULL
-9 9999 NULL NULL
-10 9999 NULL NULL
-11 9999 NULL NULL
-12 9999 NULL NULL
-13 9999 NULL NULL
-9408 9999 NULL 8765
-9410 9999 NULL 9412
-UPDATE t1 SET attr1 = 9998 WHERE pk1 < 1000;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9998 NULL NULL
-8 9998 NULL NULL
-9 9998 NULL NULL
-10 9998 NULL NULL
-11 9998 NULL NULL
-12 9998 NULL NULL
-13 9998 NULL NULL
-9408 9999 NULL 8765
-9410 9999 NULL 9412
-UPDATE t1 SET attr1 = 9997 WHERE attr1 = 9999;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9998 NULL NULL
-8 9998 NULL NULL
-9 9998 NULL NULL
-10 9998 NULL NULL
-11 9998 NULL NULL
-12 9998 NULL NULL
-13 9998 NULL NULL
-9408 9997 NULL 8765
-9410 9997 NULL 9412
-DELETE FROM t1 WHERE pk1 = 9410;
-SELECT * FROM t1 ORDER BY pk1;
-pk1 attr1 attr2 attr3
-7 9998 NULL NULL
-8 9998 NULL NULL
-9 9998 NULL NULL
-10 9998 NULL NULL
-11 9998 NULL NULL
-12 9998 NULL NULL
-13 9998 NULL NULL
-9408 9997 NULL 8765
-DELETE FROM t1;
-SELECT * FROM t1;
-pk1 attr1 attr2 attr3
-INSERT INTO t1 values (1, 4, NULL, NULL), (2, 4, NULL, NULL), (3, 5, NULL, NULL), (4, 4, NULL, NULL), (5, 5, NULL, NULL);
-DELETE FROM t1 WHERE attr1=4;
-SELECT * FROM t1 order by pk1;
-pk1 attr1 attr2 attr3
-3 5 NULL NULL
-5 5 NULL NULL
-DELETE FROM t1;
-INSERT INTO t1 VALUES (9410,9412, NULL, NULL), (9411, 9413, NULL, NULL);
-DELETE FROM t1 WHERE pk1 = 9410;
-SELECT * FROM t1;
-pk1 attr1 attr2 attr3
-9411 9413 NULL NULL
-DROP TABLE t1;
-CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
-INSERT INTO t1 values(3456, 7890);
-SELECT * FROM t1;
-id id2
-3456 7890
-UPDATE t1 SET id=2 WHERE id2=12;
-SELECT * FROM t1;
-id id2
-3456 7890
-UPDATE t1 SET id=1234 WHERE id2=7890;
-SELECT * FROM t1;
-id id2
-1234 7890
-DELETE FROM t1;
-INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890), (3454, 7890);
-SELECT * FROM t1 ORDER BY id;
-id id2
-3454 7890
-3456 7890
-3456 7890
-3456 7890
-DELETE FROM t1 WHERE id = 3456;
-SELECT * FROM t1 ORDER BY id;
-id id2
-3454 7890
-DROP TABLE t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=NDBCLUSTER;
-INSERT INTO t1 values(1, 9999);
-DROP TABLE t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=NDB;
-INSERT INTO t1 values(1, 9999);
-DROP TABLE t1;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-CREATE TABLE t3 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned,
-PRIMARY KEY(a)
-) engine=ndbcluster;
-CREATE TABLE t4 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned NOT NULL,
-d int unsigned,
-PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-select * from t2 where a = 7 order by b;
-a b c
-7 16 5
-select * from t2 where a = 7 order by a;
-a b c
-7 16 5
-select * from t2 where a = 7 order by 2;
-a b c
-7 16 5
-select * from t2 where a = 7 order by c;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 order by b;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 order by a;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 17 order by a;
-a b c
-select * from t2 where a = 7 and b != 16 order by b;
-a b c
-select * from t2 where a = 7 and b = 16 and c = 5 order by b;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 and c = 5 order by a;
-a b c
-7 16 5
-select * from t2 where a = 7 and b = 16 and c = 6 order by a;
-a b c
-select * from t2 where a = 7 and b != 16 and c = 5 order by b;
-a b c
-select * from t3 where a = 7 order by b;
-a b c
-7 16 5
-select * from t3 where a = 7 order by a;
-a b c
-7 16 5
-select * from t3 where a = 7 order by 2;
-a b c
-7 16 5
-select * from t3 where a = 7 order by c;
-a b c
-7 16 5
-select * from t3 where a = 7 and b = 16 order by b;
-a b c
-7 16 5
-select * from t3 where a = 7 and b = 16 order by a;
-a b c
-7 16 5
-select * from t3 where a = 7 and b = 17 order by a;
-a b c
-select * from t3 where a = 7 and b != 16 order by b;
-a b c
-select * from t4 where a = 7 order by b;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 order by a;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 order by 2;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 order by c;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 and b = 16 order by b;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 and b = 16 order by a;
-a b c d
-7 16 5 26007
-select * from t4 where a = 7 and b = 17 order by a;
-a b c d
-select * from t4 where a = 7 and b != 16 order by b;
-a b c d
-delete from t2 where a > 5;
-select x1.a, x1.b from t2 x1, t2 x2 where x1.b = x2.b order by x1.a;
-a b
-1 10
-3 12
-5 14
-select a, b FROM t2 outer_table where
-a = (select a from t2 where b = outer_table.b ) order by a;
-a b
-1 10
-3 12
-5 14
-delete from t2;
-delete from t3;
-delete from t4;
-drop table t2;
-drop table t3;
-drop table t4;
-CREATE TABLE t5 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned NOT NULL,
-d int unsigned,
-PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-insert into t5 values(10, 19, 5, 26010);
-delete from t5 where a=10 and b=19 and c=5;
-select * from t5;
-a b c d
-insert into t5 values(10, 19, 5, 26010);
-update t5 set d=21997 where a=10 and b=19 and c=5;
-select * from t5;
-a b c d
-10 19 5 21997
-delete from t5;
-drop table t5;
-CREATE TABLE t6 (
-adress char(255),
-a int NOT NULL PRIMARY KEY,
-b int
-) engine = NDB;
-insert into t6 values
-("Nice road 3456", 1, 23),
-("Street Road 78", 3, 92),
-("Road street 89C", 5, 71),
-(NULL, 7, NULL);
-select * from t6 order by a;
-adress a b
-Nice road 3456 1 23
-Street Road 78 3 92
-Road street 89C 5 71
-NULL 7 NULL
-select a, b from t6 order by a;
-a b
-1 23
-3 92
-5 71
-7 NULL
-update t6 set adress="End of road 09" where a=3;
-update t6 set b=181, adress="Street 76" where a=7;
-select * from t6 order by a;
-adress a b
-Nice road 3456 1 23
-End of road 09 3 92
-Road street 89C 5 71
-Street 76 7 181
-select * from t6 where a=1;
-adress a b
-Nice road 3456 1 23
-delete from t6 where a=1;
-select * from t6 order by a;
-adress a b
-End of road 09 3 92
-Road street 89C 5 71
-Street 76 7 181
-delete from t6 where b=71;
-select * from t6 order by a;
-adress a b
-End of road 09 3 92
-Street 76 7 181
-drop table t6;
-CREATE TABLE t7 (
-adress char(255),
-a int NOT NULL,
-b int,
-c int NOT NULL,
-PRIMARY KEY(a, c)
-) engine = NDB;
-insert into t7 values
-("Highway 3456", 1, 23, 2),
-("Street Road 78", 3, 92, 3),
-("Main street 89C", 5, 71, 4),
-(NULL, 8, NULL, 12);
-select * from t7 order by a;
-adress a b c
-Highway 3456 1 23 2
-Street Road 78 3 92 3
-Main street 89C 5 71 4
-NULL 8 NULL 12
-select a, b from t7 order by a;
-a b
-1 23
-3 92
-5 71
-8 NULL
-update t7 set adress="End of road 09" where a=3;
-update t7 set adress="Gatuvägen 90C" where a=5 and c=4;
-update t7 set adress="No adress" where adress is NULL;
-select * from t7 order by a;
-adress a b c
-Highway 3456 1 23 2
-End of road 09 3 92 3
-Gatuvägen 90C 5 71 4
-No adress 8 NULL 12
-select * from t7 where a=1 and c=2;
-adress a b c
-Highway 3456 1 23 2
-delete from t7 where a=1;
-delete from t7 where a=3 and c=3;
-delete from t7 where a=5 and c=4;
-select * from t7;
-adress a b c
-No adress 8 NULL 12
-delete from t7 where b=23;
-select * from t7;
-adress a b c
-No adress 8 NULL 12
-drop table t7;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
-create database mysqltest;
-use mysqltest;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-insert into t2 select pk1,attr1,attr2 from test.t1;
-select * from t2 order by a;
-a b c
-9410 9412 NULL
-9411 9413 17
-select b from test.t1, t2 where c = test.t1.attr2;
-b
-9413
-select b,test.t1.attr1 from test.t1, t2 where test.t1.pk1 < a;
-b attr1
-9413 9412
-drop table test.t1, t2;
-drop database mysqltest;
-drop database if exists ndbtest1;
-create database ndbtest1;
-use ndbtest1;
-create table t1(id int) engine=ndbcluster;
-drop database ndbtest1;
-drop database ndbtest1;
-ERROR HY000: Can't drop database 'ndbtest1'; database doesn't exist
-use test;
-create table t1 (a int primary key, b char(0));
-insert into t1 values (1,"");
-insert into t1 values (2,NULL);
-select * from t1 order by a;
-a b
-1
-2 NULL
-select * from t1 order by b;
-a b
-2 NULL
-1
-select * from t1 where b IS NULL;
-a b
-2 NULL
-select * from t1 where b IS NOT NULL;
-a b
-1
-drop table t1;
-create table t1 (
-c1 int,
-c2 int,
-c3 int,
-c4 int,
-c5 int,
-c6 int,
-c7 int,
-c8 int,
-c9 int,
-c10 int,
-c11 int,
-c12 int,
-c13 int,
-c14 int,
-c15 int,
-c16 int,
-c17 int,
-c18 int,
-c19 int,
-c20 int,
-c21 int,
-c22 int,
-c23 int,
-c24 int,
-c25 int,
-c26 int,
-c27 int,
-c28 int,
-c29 int,
-c30 int,
-c31 int,
-c32 int,
-c33 int,
-c34 int,
-c35 int,
-c36 int,
-c37 int,
-c38 int,
-c39 int,
-c40 int,
-c41 int,
-c42 int,
-c43 int,
-c44 int,
-c45 int,
-c46 int,
-c47 int,
-c48 int,
-c49 int,
-c50 int,
-c51 int,
-c52 int,
-c53 int,
-c54 int,
-c55 int,
-c56 int,
-c57 int,
-c58 int,
-c59 int,
-c60 int,
-c61 int,
-c62 int,
-c63 int,
-c64 int,
-c65 int,
-c66 int,
-c67 int,
-c68 int,
-c69 int,
-c70 int,
-c71 int,
-c72 int,
-c73 int,
-c74 int,
-c75 int,
-c76 int,
-c77 int,
-c78 int,
-c79 int,
-c80 int,
-c81 int,
-c82 int,
-c83 int,
-c84 int,
-c85 int,
-c86 int,
-c87 int,
-c88 int,
-c89 int,
-c90 int,
-c91 int,
-c92 int,
-c93 int,
-c94 int,
-c95 int,
-c96 int,
-c97 int,
-c98 int,
-c99 int,
-c100 int,
-c101 int,
-c102 int,
-c103 int,
-c104 int,
-c105 int,
-c106 int,
-c107 int,
-c108 int,
-c109 int,
-c110 int,
-c111 int,
-c112 int,
-c113 int,
-c114 int,
-c115 int,
-c116 int,
-c117 int,
-c118 int,
-c119 int,
-c120 int,
-c121 int,
-c122 int,
-c123 int,
-c124 int,
-c125 int,
-c126 int,
-c127 int,
-c128 int,
-primary key using hash(c1)) engine=ndb partition by key(c1);
-drop table t1;
-create table t1 (
-a1234567890123456789012345678901234567890 int primary key,
-a12345678901234567890123456789a1234567890 int,
-index(a12345678901234567890123456789a1234567890)
-) engine=ndb;
-show tables;
-Tables_in_test
-t1
-insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1);
-explain select * from t1 where a12345678901234567890123456789a1234567890=2;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a12345678901234567890123456789a1234567890 a12345678901234567890123456789a1234567890 5 const # Using where with pushed condition
-select * from t1 where a12345678901234567890123456789a1234567890=2;
-a1234567890123456789012345678901234567890 a12345678901234567890123456789a1234567890
-5 2
-drop table t1;
-create table t1
-(a bigint, b bigint, c bigint, d bigint,
-primary key (a,b,c,d))
-engine=ndb
-max_rows=800000000;
-Warnings:
-Warning 1105 Ndb might have problems storing the max amount of rows specified
-insert into t1 values
-(1,2,3,4),(2,3,4,5),(3,4,5,6),
-(3,2,3,4),(1,3,4,5),(2,4,5,6),
-(1,2,3,5),(2,3,4,8),(3,4,5,9),
-(3,2,3,5),(1,3,4,8),(2,4,5,9),
-(1,2,3,6),(2,3,4,6),(3,4,5,7),
-(3,2,3,6),(1,3,4,6),(2,4,5,7),
-(1,2,3,7),(2,3,4,7),(3,4,5,8),
-(3,2,3,7),(1,3,4,7),(2,4,5,8),
-(1,3,3,4),(2,4,4,5),(3,5,5,6),
-(3,3,3,4),(1,4,4,5),(2,5,5,6),
-(1,3,3,5),(2,4,4,8),(3,5,5,9),
-(3,3,3,5),(1,4,4,8),(2,5,5,9),
-(1,3,3,6),(2,4,4,6),(3,5,5,7),
-(3,3,3,6),(1,4,4,6),(2,5,5,7),
-(1,3,3,7),(2,4,4,7),(3,5,5,8),
-(3,3,3,7),(1,4,4,7),(2,5,5,8);
-select count(*) from t1;
-count(*)
-48
-drop table t1;
-create table t1
-(a bigint, b bigint, c bigint, d bigint,
-primary key (a))
-engine=ndb
-max_rows=1;
-drop table t1;
-create table t1
-(counter int(64) NOT NULL auto_increment,
-datavalue char(40) default 'XXXX',
-primary key (counter)
-) ENGINE=ndbcluster;
-insert into t1 (datavalue) values ('newval');
-insert into t1 (datavalue) values ('newval');
-select * from t1 order by counter;
-counter datavalue
-1 newval
-2 newval
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-select * from t1 order by counter;
-counter datavalue
-1 newval
-2 newval
-3 newval
-4 newval
-5 newval
-6 newval
-7 newval
-8 newval
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-select * from t1 order by counter;
-counter datavalue
-1 newval
-2 newval
-3 newval
-4 newval
-5 newval
-6 newval
-7 newval
-8 newval
-9 newval
-10 newval
-11 newval
-12 newval
-13 newval
-14 newval
-15 newval
-16 newval
-17 newval
-18 newval
-19 newval
-20 newval
-21 newval
-22 newval
-23 newval
-24 newval
-25 newval
-26 newval
-27 newval
-28 newval
-29 newval
-30 newval
-31 newval
-32 newval
-drop table t1;
-create table t1 (a int primary key auto_increment) engine = ndb;
-insert into t1() values (),(),(),(),(),(),(),(),(),(),(),();
-insert into t1(a) values (20),(28);
-insert into t1() values (),(),(),(),(),(),(),(),(),(),(),();
-insert into t1() values (21), (22);
-drop table t1;
-CREATE TABLE t1 ( b INT ) PACK_KEYS = 0 ENGINE = ndb;
-select * from t1;
-b
-drop table t1;
-create table t1 (a int) engine=ndb;
-create table t2 (a int) engine=ndb;
-insert into t1 values (1);
-insert into t2 values (1);
-delete t1.* from t1, t2 where t1.a = t2.a;
-select * from t1;
-a
-select * from t2;
-a
-1
-drop table t1;
-drop table t2;
-CREATE TABLE t1 (
-i INT,
-j INT,
-x INT,
-y INT,
-z INT
-) engine=ndb;
-CREATE TABLE t2 (
-i INT,
-k INT,
-x INT,
-y INT,
-z INT
-) engine=ndb;
-CREATE TABLE t3 (
-j INT,
-k INT,
-x INT,
-y INT,
-z INT
-) engine=ndb;
-INSERT INTO t1 VALUES ( 1, 2,13,14,15);
-INSERT INTO t2 VALUES ( 1, 3,23,24,25);
-INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);
-UPDATE t1 AS a
-INNER JOIN t2 AS b
-ON a.i = b.i
-INNER JOIN t3 AS c
-ON a.j = c.j AND b.k = c.k
-SET a.x = b.x,
-a.y = b.y,
-a.z = (
-SELECT sum(z)
-FROM t3
-WHERE y = 34
-)
-WHERE b.x = 23;
-select * from t1;
-i j x y z
-1 2 23 24 71
-drop table t1;
-drop table t2;
-drop table t3;
-create table atablewithareallylongandirritatingname (a int);
-insert into atablewithareallylongandirritatingname values (2);
-select * from atablewithareallylongandirritatingname;
-a
-2
-drop table atablewithareallylongandirritatingname;
-create table t1 (f1 varchar(50), f2 text,f3 int, primary key(f1)) engine=NDB;
-insert into t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
-insert into t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
-select * from t1 order by f1;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-select * from t1 order by f2;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-select * from t1 order by f3;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-drop table t1;
-Illegal ndb error code: 1186
-MySQL error code 1186 (ER_FLUSH_MASTER_BINLOG_CLOSED): Binlog closed, cannot RESET MASTER
-CREATE TABLE t1 (
-a VARBINARY(40) NOT NULL,
-b VARCHAR (256) CHARACTER SET UTF8 NOT NULL,
-c VARCHAR(256) CHARACTER SET UTF8 NOT NULL,
-PRIMARY KEY (b,c)) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES
-("a","ab","abc"),("b","abc","abcd"),("c","abc","ab"),("d","ab","ab"),("e","abc","abc");
-SELECT * FROM t1 ORDER BY a;
-a b c
-a ab abc
-b abc abcd
-c abc ab
-d ab ab
-e abc abc
-DROP TABLE t1;
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-create table t2 (a int not null primary key, b int not null) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30);
-insert into t2 values (1,10), (2,20), (3,30);
-select * from t1 order by a;
-a b
-1 10
-2 20
-3 30
-delete from t1 where a > 0 order by a desc limit 1;
-select * from t1 order by a;
-a b
-1 10
-2 20
-delete from t1,t2 using t1,t2 where t1.a = t2.a;
-select * from t2 order by a;
-a b
-3 30
-drop table t1,t2;
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30);
-insert into t1 set a=1, b=100;
-ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-insert ignore into t1 set a=1, b=100;
-select * from t1 order by a;
-a b
-1 10
-2 20
-3 30
-insert into t1 set a=1, b=1000 on duplicate key update b=b+1;
-select * from t1 order by a;
-a b
-1 11
-2 20
-3 30
-drop table t1;
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-create table t2 (c int not null primary key, d int not null) engine=ndb;
-insert into t1 values (1,10), (2,10), (3,30), (4, 30);
-insert into t2 values (1,10), (2,10), (3,30), (4, 30);
-update t1 set a = 1 where a = 3;
-ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 30
-update t1 set b = 1 where a > 1 order by a desc limit 1;
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 1
-update t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
-ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 1
-update ignore t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
-select * from t1 order by a;
-a b
-1 10
-2 10
-3 30
-4 1
-drop table t1,t2;
-create table t1 (a varchar(100) primary key, b varchar(100)) engine = NDB;
-insert into t1 values
-('a', 'a'),('b','b'),('c', 'c'),('aa', 'aa'),('bb', 'bb'),('cc', 'cc');
-replace into t1 values ('a', '-a');
-replace into t1 values ('b', '-b');
-replace into t1 values ('c', '-c');
-replace into t1 values ('aa', '-aa');
-replace into t1 values ('bb', '-bb');
-replace into t1 values ('cc', '-cc');
-replace into t1 values ('aaa', '-aaa');
-replace into t1 values ('bbb', '-bbb');
-replace into t1 values ('ccc', '-ccc');
-select * from t1 order by 1,2;
-a b
-a -a
-aa -aa
-aaa -aaa
-b -b
-bb -bb
-bbb -bbb
-c -c
-cc -cc
-ccc -ccc
-drop table t1;
-End of 5.0 tests
-CREATE TABLE t1 (a VARCHAR(255) NOT NULL,
-CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb;
-CREATE TABLE t2(a VARCHAR(255) NOT NULL,
-b VARCHAR(255) NOT NULL,
-c VARCHAR(255) NOT NULL,
-CONSTRAINT pk_b_c_id PRIMARY KEY (b,c),
-CONSTRAINT fk_a FOREIGN KEY(a) REFERENCES t1(a))engine=ndb;
-drop table t1, t2;
-create table t1 (a int not null primary key, b int) engine=ndb;
-insert into t1 values(1,1),(2,2),(3,3);
-create table t2 like t1;
-insert into t2 select * from t1;
-select * from t1 order by a;
-a b
-1 1
-2 2
-3 3
-select * from t2 order by a;
-a b
-1 1
-2 2
-3 3
-drop table t1, t2;
-create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
-create table if not exists t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
-create table t2 like t1;
-rename table t1 to t10, t2 to t20;
-drop table t10,t20;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_basic.result b/mysql-test/suite/ndb/r/ndb_binlog_basic.result
deleted file mode 100644
index 09edd78bdb3..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_basic.result
+++ /dev/null
@@ -1,48 +0,0 @@
-drop table if exists t1, t2;
-drop database if exists mysqltest;
-create database mysqltest;
-use mysqltest;
-drop database mysqltest;
-use test;
-create table t1 (a int primary key) engine=ndb;
-insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
-select @max_epoch:=max(epoch)-1 from mysql.ndb_binlog_index;
-@max_epoch:=max(epoch)-1
-#
-delete from t1;
-alter table t1 add (b int);
-insert into t1 values (3,3),(4,4);
-alter table t1 rename t2;
-begin;
-insert into t2 values (1,1),(2,2);
-update t2 set b=1 where a=3;
-delete from t2 where a=4;
-commit;
-drop table t2;
-select inserts from mysql.ndb_binlog_index where epoch > @max_epoch and inserts > 5;
-inserts
-10
-select deletes from mysql.ndb_binlog_index where epoch > @max_epoch and deletes > 5;
-deletes
-10
-select inserts,updates,deletes from
-mysql.ndb_binlog_index where epoch > @max_epoch and updates > 0;
-inserts updates deletes
-2 1 1
-flush logs;
-purge master logs before now();
-create table t1 (a int primary key, b int) engine=ndb;
-create database mysqltest;
-use mysqltest;
-create table t1 (c int, d int primary key) engine=ndb;
-use test;
-insert into mysqltest.t1 values (2,1),(2,2);
-select @max_epoch:=max(epoch)-1 from mysql.ndb_binlog_index;
-@max_epoch:=max(epoch)-1
-#
-drop table t1;
-drop database mysqltest;
-select inserts,updates,deletes from
-mysql.ndb_binlog_index where epoch > @max_epoch and inserts > 0;
-inserts updates deletes
-2 0 0
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_ddl_multi.result b/mysql-test/suite/ndb/r/ndb_binlog_ddl_multi.result
deleted file mode 100644
index e3792f8272d..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_ddl_multi.result
+++ /dev/null
@@ -1,196 +0,0 @@
-drop database if exists mysqltest;
-drop table if exists t1,t2,t3;
-drop database if exists mysqltest;
-drop table if exists t1,t2,t3;
-reset master;
-reset master;
-create database mysqltest;
-use mysqltest;
-create table t1 (a int primary key) engine=ndb;
-create table t2 (a int primary key) engine=ndb;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # create database mysqltest
-mysqld-bin.000001 # Query 1 # use `mysqltest`; create table t1 (a int primary key) engine=ndb
-mysqld-bin.000001 # Query 2 # use `test`; create table t2 (a int primary key) engine=ndb
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # create database mysqltest
-mysqld-bin.000001 # Query 1 # use `mysqltest`; create table t1 (a int primary key) engine=ndb
-mysqld-bin.000001 # Query 2 # use `test`; create table t2 (a int primary key) engine=ndb
-reset master;
-reset master;
-alter table t2 add column (b int);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # use `test`; alter table t2 add column (b int)
-reset master;
-reset master;
-ALTER DATABASE mysqltest CHARACTER SET latin1;
-drop table mysqltest.t1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # ALTER DATABASE mysqltest CHARACTER SET latin1
-mysqld-bin.000001 # Query 2 # use `mysqltest`; drop table `t1`
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # ALTER DATABASE mysqltest CHARACTER SET latin1
-mysqld-bin.000001 # Query 2 # use `mysqltest`; drop table `t1`
-reset master;
-reset master;
-use test;
-insert into t2 values (1,2);
-drop database mysqltest;
-create table t1 (a int primary key) engine=ndb;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (test.t2)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-mysqld-bin.000001 # Query 1 # drop database mysqltest
-mysqld-bin.000001 # Query 1 # use `test`; create table t1 (a int primary key) engine=ndb
-drop table t2;
-reset master;
-reset master;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE = NDB;
-DROP TABLESPACE ts1
-ENGINE = NDB;
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB
-mysqld-bin.000001 # Query 1 # ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB
-mysqld-bin.000001 # Query 1 # CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB
-mysqld-bin.000001 # Query 1 # ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB
-mysqld-bin.000001 # Query 1 # ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE = NDB
-mysqld-bin.000001 # Query 1 # ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE = NDB
-mysqld-bin.000001 # Query 1 # DROP TABLESPACE ts1
-ENGINE = NDB
-mysqld-bin.000001 # Query 1 # DROP LOGFILE GROUP lg1
-ENGINE =NDB
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB
-mysqld-bin.000001 # Query 1 # ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB
-mysqld-bin.000001 # Query 1 # CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB
-mysqld-bin.000001 # Query 1 # ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB
-mysqld-bin.000001 # Query 1 # ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE = NDB
-mysqld-bin.000001 # Query 1 # ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE = NDB
-mysqld-bin.000001 # Query 1 # DROP TABLESPACE ts1
-ENGINE = NDB
-mysqld-bin.000001 # Query 1 # DROP LOGFILE GROUP lg1
-ENGINE =NDB
-drop table t1;
-reset master;
-show tables;
-Tables_in_test
-reset master;
-show tables;
-Tables_in_test
-create table t1 (a int key) engine=ndb;
-create table t2 (a int key) engine=ndb;
-create table t3 (a int key) engine=ndb;
-rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # use `test`; create table t1 (a int key) engine=ndb
-mysqld-bin.000001 # Query 1 # use `test`; create table t2 (a int key) engine=ndb
-mysqld-bin.000001 # Query 1 # use `test`; create table t3 (a int key) engine=ndb
-mysqld-bin.000001 # Query 1 # use `test`; rename table `test.t3` to `test.t4`
-mysqld-bin.000001 # Query 1 # use `test`; rename table `test.t2` to `test.t3`
-mysqld-bin.000001 # Query 1 # use `test`; rename table `test.t1` to `test.t2`
-mysqld-bin.000001 # Query 1 # use `test`; rename table `test.t4` to `test.t1`
-drop table t1;
-drop table t2;
-drop table t3;
-reset master;
-show tables;
-Tables_in_test
-reset master;
-show tables;
-Tables_in_test
-create table t1 (a int key) engine=ndb;
-insert into t1 values(1);
-rename table t1 to t2;
-insert into t2 values(2);
-drop table t2;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # use `test`; create table t1 (a int key) engine=ndb
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-mysqld-bin.000001 # Query 1 # use `test`; rename table `test.t1` to `test.t2`
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (test.t2)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-mysqld-bin.000001 # Query 2 # use `test`; DROP TABLE `t2` /* generated by server */
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_discover.result b/mysql-test/suite/ndb/r/ndb_binlog_discover.result
deleted file mode 100644
index f8704971878..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_discover.result
+++ /dev/null
@@ -1,17 +0,0 @@
-drop table if exists t1;
-create table t1 (a int key) engine=ndb;
-reset master;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Incident 1 # #1 (LOST_EVENTS)
-mysqld-bin.000001 # Rotate 1 # mysqld-bin.000002;pos=4
-PURGE MASTER LOGS TO 'mysqld-bin.000002';
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000002 # Query 1 # BEGIN
-mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
-mysqld-bin.000002 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000002 # Write_rows 1 # table_id: #
-mysqld-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
-mysqld-bin.000002 # Query 1 # COMMIT
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_format.result b/mysql-test/suite/ndb/r/ndb_binlog_format.result
deleted file mode 100644
index b6022b61746..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_format.result
+++ /dev/null
@@ -1,41 +0,0 @@
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-drop table if exists t1, t2, t3;
-CREATE TABLE t1 (m INT, n INT) ENGINE=MYISAM;
-CREATE TABLE t2 (b INT, c INT) ENGINE=BLACKHOLE;
-CREATE TABLE t3 (e INT, f INT) ENGINE=NDB;
-RESET MASTER;
-SET SESSION BINLOG_FORMAT=STATEMENT;
-INSERT INTO t1 VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c;
-START TRANSACTION;
-INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1, t3 SET m = 2, e = 3 WHERE n = f;
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement accesses nontransactional table as well as transactional or temporary table, and writes to any of them.
-UPDATE t3, t2 SET e = 2, b = 3 WHERE f = c;
-COMMIT;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; UPDATE t3, t2 SET e = 2, b = 3 WHERE f = c
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Query # # use `test`; INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2)
-mysqld-bin.000001 # Query # # use `test`; UPDATE t1, t3 SET m = 2, e = 3 WHERE n = f
-mysqld-bin.000001 # Query # # COMMIT
-mysqld-bin.000001 # Query # # BEGIN
-mysqld-bin.000001 # Table_map # # table_id: # (test.t3)
-mysqld-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query # # COMMIT
-DROP TABLE t1, t2, t3;
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_ignore_db.result b/mysql-test/suite/ndb/r/ndb_binlog_ignore_db.result
deleted file mode 100644
index 423b9f71ac6..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_ignore_db.result
+++ /dev/null
@@ -1,11 +0,0 @@
-reset master;
-drop table if exists t1;
-drop database if exists mysqltest;
-create database mysqltest;
-use mysqltest;
-create table t1 (a int primary key, b int) engine=ndb;
-insert into t1 values (1, 1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
-drop database mysqltest;
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_log_bin.result b/mysql-test/suite/ndb/r/ndb_binlog_log_bin.result
deleted file mode 100644
index ab952430d2d..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_log_bin.result
+++ /dev/null
@@ -1,80 +0,0 @@
-drop table if exists t1,t2,t3;
-reset master;
-drop table if exists t1,t2,t3;
-reset master;
-set SQL_LOG_BIN=0;
-create database mysqltest;
-use mysqltest;
-create table t1 (a int key, b int) engine=ndb;
-create table t2 (a int key, b int) engine=ndb;
-insert into t1 values (1,1);
-alter table t1 add c int;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # BEGIN
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysqltest.t1)
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 1 # COMMIT
-reset master;
-use mysqltest;
-insert into t2 values (1,1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysqltest.t1)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysqltest.t2)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-reset master;
-use mysqltest;
-drop table t1;
-drop table t2;
-create table t1 (d int key, e int) engine=ndb;
-create table t2 (d int key, e int) engine=ndb;
-insert into t1 values (1,1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # BEGIN
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysqltest.t2)
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 1 # table_id: #
-mysqld-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 1 # COMMIT
-mysqld-bin.000001 # Query 1 # use `mysqltest`; DROP TABLE `t1` /* generated by server */
-mysqld-bin.000001 # Query 1 # use `mysqltest`; DROP TABLE `t2` /* generated by server */
-mysqld-bin.000001 # Query 1 # use `mysqltest`; create table t1 (d int key, e int) engine=ndb
-mysqld-bin.000001 # Query 1 # use `mysqltest`; create table t2 (d int key, e int) engine=ndb
-mysqld-bin.000001 # Query 1 # BEGIN
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysqltest.t1)
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 1 # table_id: #
-mysqld-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 1 # COMMIT
-use mysqltest;
-insert into t2 values (1,1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 1 # use `mysqltest`; drop table `t1`
-mysqld-bin.000001 # Query 1 # use `mysqltest`; drop table `t2`
-mysqld-bin.000001 # Query 1 # use `mysqltest`; create table t1 (d int key, e int) engine=ndb
-mysqld-bin.000001 # Query 1 # use `mysqltest`; create table t2 (d int key, e int) engine=ndb
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysqltest.t1)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysqltest.t2)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-drop database mysqltest;
diff --git a/mysql-test/suite/ndb/r/ndb_binlog_multi.result b/mysql-test/suite/ndb/r/ndb_binlog_multi.result
deleted file mode 100644
index 3fbb2660eb6..00000000000
--- a/mysql-test/suite/ndb/r/ndb_binlog_multi.result
+++ /dev/null
@@ -1,80 +0,0 @@
-drop table if exists t1,t2,t3;
-drop table if exists t1,t2,t3;
-CREATE TABLE t3 (dummy INT PRIMARY KEY) ENGINE = NDB;
-DROP TABLE t3;
-reset master;
-reset master;
-CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
-INSERT INTO t2 VALUES (1,1),(2,2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (test.t2)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-select * from t2 order by a;
-a b
-1 1
-2 2
-SELECT @the_epoch:=epoch,inserts,updates,deletes,schemaops FROM
-mysql.ndb_binlog_index ORDER BY epoch DESC LIMIT 1;
-@the_epoch:=epoch inserts updates deletes schemaops
-<the_epoch> 2 0 0 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 1
-2 2
-DROP TABLE t2;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB
-mysqld-bin.000001 # Query 1 # BEGIN
-mysqld-bin.000001 # Table_map 1 # table_id: # (test.t2)
-mysqld-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 1 # table_id: #
-mysqld-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 1 # COMMIT
-mysqld-bin.000001 # Query 1 # use `test`; DROP TABLE `t2` /* generated by server */
-SELECT inserts,updates,deletes,schemaops FROM
-mysql.ndb_binlog_index WHERE epoch=<the_epoch>;
-inserts updates deletes schemaops
-2 0 0 0
-reset master;
-reset master;
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
-INSERT INTO t1 VALUES (1),(2);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
-mysql.ndb_binlog_index ORDER BY epoch DESC LIMIT 1;
-@the_epoch2:=epoch inserts updates deletes schemaops
-<the_epoch2> 2 0 0 0
-SELECT inserts,updates,deletes,schemaops FROM
-mysql.ndb_binlog_index WHERE epoch > <the_epoch> AND epoch <= <the_epoch2>;
-inserts updates deletes schemaops
-2 0 0 0
-drop table t1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-mysqld-bin.000001 # Query 2 # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB
-mysqld-bin.000001 # Query 2 # BEGIN
-mysqld-bin.000001 # Table_map 2 # table_id: # (test.t1)
-mysqld-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status)
-mysqld-bin.000001 # Write_rows 2 # table_id: #
-mysqld-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
-mysqld-bin.000001 # Query 2 # COMMIT
-mysqld-bin.000001 # Query 2 # use `test`; DROP TABLE `t1` /* generated by server */
-SELECT inserts,updates,deletes,schemaops FROM
-mysql.ndb_binlog_index WHERE epoch > <the_epoch> AND epoch <= <the_epoch2>;
-inserts updates deletes schemaops
-2 0 0 0
diff --git a/mysql-test/suite/ndb/r/ndb_bitfield.result b/mysql-test/suite/ndb/r/ndb_bitfield.result
deleted file mode 100644
index 826f3a98348..00000000000
--- a/mysql-test/suite/ndb/r/ndb_bitfield.result
+++ /dev/null
@@ -1,224 +0,0 @@
-drop table if exists t1;
-create table t1 (
-pk1 int not null primary key,
-b bit(64)
-) engine=ndbcluster;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` int(11) NOT NULL,
- `b` bit(64) DEFAULT NULL,
- PRIMARY KEY (`pk1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-insert into t1 values
-(0,b'1111111111111111111111111111111111111111111111111111111111111111'),
-(1,b'1000000000000000000000000000000000000000000000000000000000000000'),
-(2,b'0000000000000000000000000000000000000000000000000000000000000001'),
-(3,b'1010101010101010101010101010101010101010101010101010101010101010'),
-(4,b'0101010101010101010101010101010101010101010101010101010101010101');
-select hex(b) from t1 order by pk1;
-hex(b)
-FFFFFFFFFFFFFFFF
-8000000000000000
-1
-AAAAAAAAAAAAAAAA
-5555555555555555
-drop table t1;
-create table t1 (
-pk1 int not null primary key,
-b bit(9)
-) engine=ndbcluster;
-insert into t1 values
-(0,b'000000000'),
-(1,b'000000001'),
-(2,b'000000010'),
-(3,b'000000011'),
-(4,b'000000100');
-select hex(b) from t1 order by pk1;
-hex(b)
-0
-1
-2
-3
-4
-update t1 set b = b + b'101010101';
-select hex(b) from t1 order by pk1;
-hex(b)
-155
-156
-157
-158
-159
-drop table t1;
-create table t1 (a bit(7), b bit(9)) engine = ndbcluster;
-insert into t1 values
-(94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),
-(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),
-(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),
-(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),
-(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),
-(44, 307), (68, 454), (57, 135);
-select a+0 from t1 order by a;
-a+0
-0
-4
-5
-9
-23
-24
-28
-29
-30
-31
-34
-44
-49
-56
-57
-59
-60
-61
-68
-68
-75
-77
-78
-79
-87
-88
-94
-94
-104
-106
-108
-111
-116
-118
-119
-122
-123
-127
-select b+0 from t1 order by b;
-b+0
-36
-42
-46
-67
-83
-118
-123
-133
-135
-152
-177
-178
-188
-202
-206
-245
-280
-307
-343
-345
-349
-351
-363
-368
-368
-379
-380
-390
-398
-399
-403
-411
-411
-438
-446
-454
-468
-499
-drop table t1;
-create table t1 (
-dummyKey INTEGER NOT NULL,
-a001 TINYINT,
-a010 TINYINT,
-a012 TINYINT,
-a015 TINYINT,
-a016 TINYINT,
-a017 TINYINT,
-a019 TINYINT,
-a029 TINYINT,
-a030 TINYINT,
-a031 TINYINT,
-a032 TINYINT,
-a042 TINYINT,
-a043 TINYINT,
-a044 TINYINT,
-a3001 TINYINT,
-a3002 TINYINT,
-a3003 TINYINT,
-a3004 TINYINT,
-a3005 TINYINT,
-a3021 TINYINT,
-a3022 TINYINT,
-a BIT(6),
-b BIT(6),
-c BIT(6),
-d TINYINT,
-e TINYINT,
-f TINYINT,
-g TINYINT,
-h TINYINT,
-i TINYINT,
-j TINYINT,
-k TINYINT,
-l TINYINT,
-m TINYINT,
-n TINYINT,
-o TINYINT,
-a034 TINYINT,
-PRIMARY KEY USING HASH (dummyKey) ) engine=ndb;
-INSERT INTO `t1` VALUES
-(1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000001',b'111111',b'111110',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000010',b'000000',b'111101',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000100',b'001111',b'111011',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(4,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'001000',b'110000',b'110111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(5,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'010000',b'100001',b'101111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(6,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(7,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(8,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x01,0x3F,0x3E,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x02,0x00,0x3D,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x04,0x0F,0x3B,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (4,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x08,0x30,0x37,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (5,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x10,0x21,0x2F,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (6,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x20,0x12,0x1F,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (7,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x00,0x0C,0x3F,4,5,5,5,5,5,5,5,5,5,3,2,1);
-INSERT INTO `t1` VALUES (8,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x3F,0x00,0x00,4,5,5,5,5,5,5,5,5,5,3,2,1);
-drop table t1;
-create table t1 (
-pk1 bit(9) not null primary key,
-b int
-) engine=ndbcluster;
-ERROR HY000: Can't create table 'test.t1' (errno: 906)
-show warnings;
-Level Code Message
-Warning 1296 Got error 906 'Unsupported attribute type in index' from NDB
-Error 1005 Can't create table 'test.t1' (errno: 906)
-create table t1 (
-pk1 int not null primary key,
-b bit(9),
-key(b)
-) engine=ndbcluster;
-ERROR HY000: Can't create table 'test.t1' (errno: 906)
-show warnings;
-Level Code Message
-Warning 1296 Got error 906 'Unsupported attribute type in index' from NDB
-Error 1005 Can't create table 'test.t1' (errno: 906)
-create table t1 (
-pk1 int primary key,
-b bit(32) not null
-) engine=ndbcluster;
-insert into t1 values (1,1);
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_blob.result b/mysql-test/suite/ndb/r/ndb_blob.result
deleted file mode 100644
index 31ce36864af..00000000000
--- a/mysql-test/suite/ndb/r/ndb_blob.result
+++ /dev/null
@@ -1,591 +0,0 @@
-drop table if exists t1;
-drop database if exists test2;
-set autocommit=0;
-create table t1 (
-a int not null primary key,
-b text not null,
-c int not null,
-d longblob,
-key (c)
-) engine=ndbcluster;
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-select length(@x0),length(@b1),length(@d1) from dual;
-length(@x0) length(@b1) length(@d1)
-256 2256 3000
-select length(@x0),length(@b2),length(@d2) from dual;
-length(@x0) length(@b2) length(@d2)
-256 20000 30000
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1 where a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY PRIMARY 4 const #
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-2 20000 b2 30000 dd2
-update t1 set b=@b2,d=@d2 where a=1;
-update t1 set b=@b1,d=@d1 where a=2;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-1 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 2256 b1 3000 dd1
-update t1 set b=concat(b,b),d=concat(d,d) where a=1;
-update t1 set b=concat(b,b),d=concat(d,d) where a=2;
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 40000 b2 60000 dd2
-select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+4*900,2) length(d) substr(d,1+6*900,3)
-2 4512 b1 6000 dd1
-update t1 set d=null where a=1;
-commit;
-select a from t1 where d is null;
-a
-1
-delete from t1 where a=45567;
-commit;
-delete from t1 where a=1;
-delete from t1 where a=2;
-commit;
-select count(*) from t1;
-count(*)
-0
-replace t1 set a=1,b=@b1,c=111,d=@d1;
-replace t1 set a=2,b=@b2,c=222,d=@d2;
-commit;
-explain select * from t1 where a = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY PRIMARY 4 const #
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-2 20000 b2 30000 dd2
-replace t1 set a=1,b=@b2,c=111,d=@d2;
-replace t1 set a=2,b=@b1,c=222,d=@d1;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-1 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 2256 b1 3000 dd1
-replace t1 set a=1,b=concat(@b2,@b2),c=111,d=concat(@d2,@d2);
-replace t1 set a=2,b=concat(@b1,@b1),c=222,d=concat(@d1,@d1);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where a=1;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 40000 b2 60000 dd2
-select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
-from t1 where a=2;
-a length(b) substr(b,1+4*900,2) length(d) substr(d,1+6*900,3)
-2 4512 b1 6000 dd1
-replace t1 set a=1,b='xyz',c=111,d=null;
-commit;
-select a,b from t1 where d is null;
-a b
-1 xyz
-delete from t1 where a=1;
-delete from t1 where a=2;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1 where c = 111;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref c c 4 const #
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c=111;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where c=222;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-2 20000 b2 30000 dd2
-update t1 set b=@b2,d=@d2 where c=111;
-update t1 set b=@b1,d=@d1 where c=222;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where c=111;
-a length(b) substr(b,1+2*9000,2) length(d) substr(d,1+3*9000,3)
-1 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c=222;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 2256 b1 3000 dd1
-update t1 set d=null where c=111;
-commit;
-select a from t1 where d is null;
-a
-1
-delete from t1 where c=111;
-delete from t1 where c=222;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-explain select * from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL #
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-update t1 set b=concat(a,'x',b),d=concat(a,'x',d);
-commit;
-select * from t1 order by a;
-a b c d
-1 1xb1 111 1xdd1
-2 2xb2 222 2xdd2
-3 3xb3 333 3xdd3
-4 4xb4 444 4xdd4
-5 5xb5 555 5xdd5
-6 6xb6 666 6xdd6
-7 7xb7 777 7xdd7
-8 8xb8 888 8xdd8
-9 9xb9 999 9xdd9
-delete from t1;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL #
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 order by a;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-2 20000 b2 30000 dd2
-update t1 set b=concat(b,b),d=concat(d,d);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 order by a;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 4512 6000
-2 40000 b2 60000 dd2
-delete from t1;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-explain select * from t1 where c >= 100 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 4 NULL # Using where with pushed condition; Using filesort
-select * from t1 where c >= 100 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-update t1 set b=concat(a,'x',b),d=concat(a,'x',d)
-where c >= 100;
-commit;
-select * from t1 where c >= 100 order by a;
-a b c d
-1 1xb1 111 1xdd1
-2 2xb2 222 2xdd2
-3 3xb3 333 3xdd3
-4 4xb4 444 4xdd4
-5 5xb5 555 5xdd5
-6 6xb6 666 6xdd6
-7 7xb7 777 7xdd7
-8 8xb8 888 8xdd8
-9 9xb9 999 9xdd9
-delete from t1 where c >= 100;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
-explain select * from t1 where c >= 100 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range c c 4 NULL # Using where with pushed condition; Using filesort
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c >= 100 order by a;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-2 20000 b2 30000 dd2
-update t1 set b=concat(b,b),d=concat(d,d);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where c >= 100 order by a;
-a length(b) substr(b,1+4*9000,2) length(d) substr(d,1+6*9000,3)
-1 4512 6000
-2 40000 b2 60000 dd2
-delete from t1 where c >= 100;
-commit;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 0;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 1;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 2;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-2 20000 b2 30000 dd2
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 order by a;
-a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
-1 2256 b1 3000 dd1
-2 20000 b2 30000 dd2
-rollback;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-alter table t1 add x int;
-select * from t1 order by a;
-a b c d x
-1 b1 111 dd1 NULL
-2 b2 222 dd2 NULL
-3 b3 333 dd3 NULL
-4 b4 444 dd4 NULL
-5 b5 555 dd5 NULL
-6 b6 666 dd6 NULL
-7 b7 777 dd7 NULL
-8 b8 888 dd8 NULL
-9 b9 999 dd9 NULL
-alter table t1 drop x;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-create database test2;
-use test2;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-insert into t2 values (1,1,1),(2,2,2);
-select * from test.t1,t2 where test.t1.a = t2.a order by test.t1.a;
-a b c d a b c
-1 b1 111 dd1 1 1 1
-2 b2 222 dd2 2 2 2
-drop table t2;
-use test;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-alter table t1 add x int;
-select * from t1 order by a;
-a b c d x
-1 b1 111 dd1 NULL
-2 b2 222 dd2 NULL
-3 b3 333 dd3 NULL
-4 b4 444 dd4 NULL
-5 b5 555 dd5 NULL
-6 b6 666 dd6 NULL
-7 b7 777 dd7 NULL
-8 b8 888 dd8 NULL
-9 b9 999 dd9 NULL
-alter table t1 drop x;
-select * from t1 order by a;
-a b c d
-1 b1 111 dd1
-2 b2 222 dd2
-3 b3 333 dd3
-4 b4 444 dd4
-5 b5 555 dd5
-6 b6 666 dd6
-7 b7 777 dd7
-8 b8 888 dd8
-9 b9 999 dd9
-drop table t1;
-drop database test2;
-set autocommit=0;
-create table t1 (
-a int not null primary key,
-b tinytext
-) engine=ndbcluster;
-insert into t1 values(1, 'x');
-update t1 set b = 'y';
-select * from t1;
-a b
-1 y
-delete from t1;
-select * from t1;
-a b
-commit;
-replace t1 set a=2, b='y';
-select * from t1;
-a b
-2 y
-delete from t1;
-select * from t1;
-a b
-drop table t1;
-set autocommit=0;
-create table t1 (
-a int not null primary key,
-b text not null
-) engine=ndbcluster;
-insert into t1 values(1, '');
-select * from t1;
-a b
-1
-commit;
-drop table t1;
-set autocommit=1;
-use test;
-CREATE TABLE t1 (
-a int,
-b text,
-PRIMARY KEY (a)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES
-(1,'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
-INSERT INTO t1 VALUES
-(2,'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB');
-select * from t1 order by a;
-a b
-1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-alter table t1 engine=ndb;
-select * from t1 order by a;
-a b
-1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-set autocommit=1;
-alter table t1 engine=myisam;
-select * from t1 order by a;
-a b
-1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-drop table t1;
-create table t1 (
-id int(11) unsigned primary key NOT NULL auto_increment,
-msg text NOT NULL
-) engine=ndbcluster default charset=utf8;
-insert into t1 (msg) values(
-'Tries to validate (8 byte length + inline bytes) as UTF8 :(
-Fast fix: removed validation for Text. It is not yet indexable
-so bad data will not crash kernel.');
-select * from t1;
-id msg
-1 Tries to validate (8 byte length + inline bytes) as UTF8 :(
-Fast fix: removed validation for Text. It is not yet indexable
-so bad data will not crash kernel.
-drop table t1;
-create table t1 (
-a int primary key not null auto_increment,
-b text
-) engine=ndbcluster;
-select count(*) from t1;
-count(*)
-500
-truncate t1;
-select count(*) from t1;
-count(*)
-0
-drop table t1;
-create table t1 (
-a varchar(40) not null,
-b mediumint not null,
-t text,
-c varchar(2) not null,
-d bigint not null,
-primary key (a,b,c),
-key (c,a),
-unique key (d)
-) engine=ndb;
-insert into t1 (a,b,c,d,t) values ('a',1110,'a',1,@v1);
-insert into t1 (a,b,c,d,t) values ('b',1110,'a',2,@v2);
-insert into t1 (a,b,c,d,t) values ('a',1110,'b',3,@v3);
-insert into t1 (a,b,c,d,t) values ('b',1110,'b',4,@v4);
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 NULL
-select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='a';
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='b';
-a b c d sha1(t)
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-update t1 set t=@v4 where a='b' and b=1110 and c='a';
-update t1 set t=@v2 where a='b' and b=1110 and c='b';
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 NULL
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-update t1 set t=@v2 where d=2;
-update t1 set t=@v4 where d=4;
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 NULL
-update t1 set t=@v4 where a='b' and c='a';
-update t1 set t=@v2 where a='b' and c='b';
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 NULL
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-update t1 set t=@v2 where b+d=1112;
-update t1 set t=@v4 where b+d=1114;
-select a,b,c,d,sha1(t) from t1 order by c,a;
-a b c d sha1(t)
-a 1110 a 1 558a30713786aa72f66abc1e6a521d55aacdeeb5
-b 1110 a 2 b238654911689bfb626a3ef9dba4a1ca074e6a5e
-a 1110 b 3 2b6515f29c20b8e9e17cc597527e516c0de8d612
-b 1110 b 4 NULL
-delete from t1 where a='a' and b=1110 and c='a';
-delete from t1 where a='b' and c='a';
-delete from t1 where d=3;
-delete from t1 where b+d=1114;
-select count(*) from t1;
-count(*)
-0
-drop table t1;
-create table t1(
-a int,
-blob_nn blob not null,
-text_nn text not null,
-blob_nl blob,
-text_nl text,
-primary key(a)
-) engine=ndb;
-insert into t1(a) values (1);
-Warnings:
-Warning 1364 Field 'blob_nn' doesn't have a default value
-Warning 1364 Field 'text_nn' doesn't have a default value
-insert into t1(a, text_nl) values (2, 'MySQL Cluster NDB');
-Warnings:
-Warning 1364 Field 'blob_nn' doesn't have a default value
-Warning 1364 Field 'text_nn' doesn't have a default value
-select a, length(blob_nn), length(text_nn), blob_nl, text_nl from t1 order by a;
-a length(blob_nn) length(text_nn) blob_nl text_nl
-1 0 0 NULL NULL
-2 0 0 NULL MySQL Cluster NDB
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_blob_partition.result b/mysql-test/suite/ndb/r/ndb_blob_partition.result
deleted file mode 100644
index b08a91f0cdd..00000000000
--- a/mysql-test/suite/ndb/r/ndb_blob_partition.result
+++ /dev/null
@@ -1,104 +0,0 @@
-drop table if exists t1;
-create table t1 (
-a mediumint not null,
-b text not null,
-c int not null,
-d longblob,
-primary key using hash (a,c),
-unique key (c)
-)
-engine=ndb
-partition by range (c)
-partitions 3
-( partition p1 values less than (200),
-partition p2 values less than (300),
-partition p3 values less than (400));
-insert into t1 values (1, @v1, 101, @v2);
-insert into t1 values (1, @v2, 102, @v3);
-insert into t1 values (1, @v3, 103, @v4);
-insert into t1 values (2, @v4, 201, @v5);
-insert into t1 values (2, @v5, 202, @v6);
-insert into t1 values (2, @v6, 203, @v7);
-insert into t1 values (3, @v7, 301, @v8);
-insert into t1 values (3, @v8, 302, @v9);
-insert into t1 values (3, @v9, 303, @v1);
-select a, sha1(b), c, sha1(d) from t1 order by a;
-a sha1(b) c sha1(d)
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
-1 10d3c783026b310218d10b7188da96a2401648c6 102 a33549d9844092289a58ac348dd59f09fc28406a
-1 a33549d9844092289a58ac348dd59f09fc28406a 103 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 202 090565c580809efed3d369481a4bbb168b20713e
-2 090565c580809efed3d369481a4bbb168b20713e 203 1e0070bec426871a46291de27b9bd6e4255ab4e5
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
-3 acbaba01bc2e682f015f40e79d9cbe475db3002e 302 9ee30d99162574f79c66ae95cdf132dcf9cbc259
-3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 303 1d42dd9090cf78314a06665d4ea938c35cc760f4
-select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101;
-a sha1(b) c sha1(d)
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
-select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201;
-a sha1(b) c sha1(d)
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301;
-a sha1(b) c sha1(d)
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
-update t1 set b = @v3, d = @v4 where a = 1 and c = 102;
-update t1 set b = @v6, d = @v7 where a = 2 and c = 202;
-update t1 set b = @v9, d = @v1 where a = 3 and c = 302;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-a sha1(b) c sha1(d)
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
-1 a33549d9844092289a58ac348dd59f09fc28406a 102 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
-1 a33549d9844092289a58ac348dd59f09fc28406a 103 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-2 090565c580809efed3d369481a4bbb168b20713e 202 1e0070bec426871a46291de27b9bd6e4255ab4e5
-2 090565c580809efed3d369481a4bbb168b20713e 203 1e0070bec426871a46291de27b9bd6e4255ab4e5
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
-3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 302 1d42dd9090cf78314a06665d4ea938c35cc760f4
-3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 303 1d42dd9090cf78314a06665d4ea938c35cc760f4
-update t1 set b = @v4, d = @v5 where c = 103;
-update t1 set b = @v7, d = @v8 where c = 203;
-update t1 set b = @v1, d = @v2 where c = 303;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-a sha1(b) c sha1(d)
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
-1 a33549d9844092289a58ac348dd59f09fc28406a 102 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
-1 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 103 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-2 090565c580809efed3d369481a4bbb168b20713e 202 1e0070bec426871a46291de27b9bd6e4255ab4e5
-2 1e0070bec426871a46291de27b9bd6e4255ab4e5 203 acbaba01bc2e682f015f40e79d9cbe475db3002e
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
-3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 302 1d42dd9090cf78314a06665d4ea938c35cc760f4
-3 1d42dd9090cf78314a06665d4ea938c35cc760f4 303 10d3c783026b310218d10b7188da96a2401648c6
-update t1 set b = @v5, d = @v6;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-a sha1(b) c sha1(d)
-1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 101 090565c580809efed3d369481a4bbb168b20713e
-1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 102 090565c580809efed3d369481a4bbb168b20713e
-1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 103 090565c580809efed3d369481a4bbb168b20713e
-2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 201 090565c580809efed3d369481a4bbb168b20713e
-2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 202 090565c580809efed3d369481a4bbb168b20713e
-2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 203 090565c580809efed3d369481a4bbb168b20713e
-3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 301 090565c580809efed3d369481a4bbb168b20713e
-3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 302 090565c580809efed3d369481a4bbb168b20713e
-3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 303 090565c580809efed3d369481a4bbb168b20713e
-update t1 set b = @v1, d = @v2 where 100 < c and c < 200;
-update t1 set b = @v4, d = @v5 where 200 < c and c < 300;
-update t1 set b = @v7, d = @v8 where 300 < c and c < 400;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-a sha1(b) c sha1(d)
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 102 10d3c783026b310218d10b7188da96a2401648c6
-1 1d42dd9090cf78314a06665d4ea938c35cc760f4 103 10d3c783026b310218d10b7188da96a2401648c6
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 202 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 203 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 302 acbaba01bc2e682f015f40e79d9cbe475db3002e
-3 1e0070bec426871a46291de27b9bd6e4255ab4e5 303 acbaba01bc2e682f015f40e79d9cbe475db3002e
-delete from t1 where a = 1 and c = 101;
-delete from t1 where c = 102;
-delete from t1;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-a sha1(b) c sha1(d)
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_bug26793.result b/mysql-test/suite/ndb/r/ndb_bug26793.result
deleted file mode 100644
index a9a8a798546..00000000000
--- a/mysql-test/suite/ndb/r/ndb_bug26793.result
+++ /dev/null
@@ -1,8 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE `test` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`t` VARCHAR( 10 ) NOT NULL
-) ENGINE = ndbcluster;
-GRANT USAGE ON *.* TO user1@localhost IDENTIFIED BY 'pass';
-DROP TABLE `test`.`test`;
-drop user user1@localhost;
diff --git a/mysql-test/suite/ndb/r/ndb_bug31477.result b/mysql-test/suite/ndb/r/ndb_bug31477.result
deleted file mode 100644
index 002a928b485..00000000000
--- a/mysql-test/suite/ndb/r/ndb_bug31477.result
+++ /dev/null
@@ -1,98 +0,0 @@
-drop table if exists t1;
-create table t1(a int primary key, b int, c int, unique(b)) engine = ndb;
-insert into t1 values (2,2,2);
-insert into t1 values (3,3,3);
-insert into t1 values (4,4,4);
-begin;
-insert into t1 values (1,1,1);
-begin;
-update t1 set c = 2 where b = 1;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-rollback;
-drop table t1;
-create table t1(a int primary key, b int, c int, key(b)) engine = ndb;
-insert into t1 values (2,2,2);
-insert into t1 values (3,3,3);
-insert into t1 values (4,4,4);
-begin;
-insert into t1 values (1,1,1);
-begin;
-update t1 set c = 2 where b = 1;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-rollback;
-drop table t1;
---con1
-create table t1(a int primary key, b int, c int, key(b)) engine = ndb;
-insert into t1 values (1,1,1);
-insert into t1 values (2,2,2);
-insert into t1 values (3,3,3);
-insert into t1 values (4,4,4);
-begin;
-update t1 set c = 10 where a = 1;
-update t1 set c = 20 where a = 1;
-update t1 set c = 30 where a = 1;
---con1 c=30
-select * from t1 where b >= 1 order by b;
-a b c
-1 1 30
-2 2 2
-3 3 3
-4 4 4
---con2 c=1
-select * from t1 where b >= 1 order by b;
-a b c
-1 1 1
-2 2 2
-3 3 3
-4 4 4
---con1
-delete from t1 where a = 1;
---con1 c=none
-select * from t1 where b >= 1 order by b;
-a b c
-2 2 2
-3 3 3
-4 4 4
---con2 c=1
-select * from t1 where b >= 1 order by b;
-a b c
-1 1 1
-2 2 2
-3 3 3
-4 4 4
---con1
-commit;
---con1 c=none
-select * from t1 where b >= 1 order by b;
-a b c
-2 2 2
-3 3 3
-4 4 4
---con2 c=none
-select * from t1 where b >= 1 order by b;
-a b c
-2 2 2
-3 3 3
-4 4 4
---con1
-begin;
-insert into t1 values (1,1,1);
-update t1 set c = 10 where a = 1;
-update t1 set c = 20 where a = 1;
-update t1 set c = 30 where a = 1;
---con1 c=30
-select * from t1 where b >= 1 order by b;
-a b c
-1 1 30
-2 2 2
-3 3 3
-4 4 4
---con2 c=none
-select * from t1 where b >= 1 order by b;
-a b c
-2 2 2
-3 3 3
-4 4 4
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_cache.result b/mysql-test/suite/ndb/r/ndb_cache.result
deleted file mode 100644
index 478663b1aa1..00000000000
--- a/mysql-test/suite/ndb/r/ndb_cache.result
+++ /dev/null
@@ -1,191 +0,0 @@
-drop table if exists t1;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-CREATE TABLE t1 ( pk int not null primary key,
-a int, b int not null, c varchar(20)) ENGINE=ndbcluster;
-insert into t1 value (1, 2, 3, 'First row');
-select * from t1;
-pk a b c
-1 2 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-pk a b c
-1 2 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-update t1 set a=3 where pk=1;
-select * from t1;
-pk a b c
-1 3 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-insert into t1 value (2, 7, 8, 'Second row');
-insert into t1 value (4, 5, 6, 'Fourth row');
-select * from t1 order by pk;
-pk a b c
-1 3 3 First row
-2 7 8 Second row
-4 5 6 Fourth row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk;
-pk a b c
-1 3 3 First row
-2 7 8 Second row
-4 5 6 Fourth row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-delete from t1 where c='Fourth row';
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-use test;
-select * from t1 order by pk;
-pk a b c
-1 3 3 First row
-2 7 8 Second row
-select * from t1 where b=3;
-pk a b c
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 4
-update t1 set a=4 where b=3;
-use test;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 5
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-begin;
-update t1 set a=5 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 8
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 8
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 9
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t1 order by pk desc;
-pk a b c
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 9
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 8
-drop table t1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-SET GLOBAL query_cache_size=0;
diff --git a/mysql-test/suite/ndb/r/ndb_cache2.result b/mysql-test/suite/ndb/r/ndb_cache2.result
deleted file mode 100644
index 2876002f864..00000000000
--- a/mysql-test/suite/ndb/r/ndb_cache2.result
+++ /dev/null
@@ -1,623 +0,0 @@
-drop table if exists t1, t2, t3, t4, t5;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=100;
-reset query cache;
-flush status;
-CREATE TABLE t1 (
-pk int not null primary key,
-a1 int,
-b1 int not null,
-c1 varchar(20)
-) ENGINE=ndb;
-CREATE TABLE t2 (
-pk int not null primary key,
-a2 int,
-b2 int not null
-) ENGINE=ndb;
-CREATE TABLE t3 (
-pk int not null primary key,
-a3 int,
-b3 int not null,
-c3 int not null,
-d3 varchar(20)
-) ENGINE=ndb;
-CREATE TABLE t4 (
-a4 int,
-b4 int not null,
-c4 char(20)
-) ENGINE=ndbcluster;
-CREATE TABLE t5 (
-pk int not null primary key,
-a5 int,
-b5 int not null,
-c5 varchar(255)
-) ENGINE=ndbcluster;
-insert into t1 value (1, 2, 3, 'First row');
-insert into t2 value (1, 2, 3);
-insert into t3 value (1, 2, 3, 4, '3 - First row');
-insert into t4 value (2, 3, '4 - First row');
-insert into t5 value (1, 2, 3, '5 - First row');
-select * from t1;
-pk a1 b1 c1
-1 2 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-pk a1 b1 c1
-1 2 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-update t1 set a1=3 where pk=1;
-select * from t1;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-insert into t1 value (2, 7, 8, 'Second row');
-insert into t1 value (4, 5, 6, 'Fourth row');
-select * from t1 order by pk desc;
-pk a1 b1 c1
-4 5 6 Fourth row
-2 7 8 Second row
-1 3 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-4 5 6 Fourth row
-2 7 8 Second row
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-delete from t1 where c1='Fourth row';
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 3
-use test;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 3 3 First row
-select * from t1 where b1=3;
-pk a1 b1 c1
-1 3 3 First row
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 4
-update t1 set a1=4 where b1=3;
-use test;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 5
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 7
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 7
-select * from t2;
-pk a2 b2
-1 2 3
-select * from t3;
-pk a3 b3 c3 d3
-1 2 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-2 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 2 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-flush status;
-begin;
-update t1 set a1=5 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 4 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-flush status;
-begin;
-update t1 set a1=6 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 5 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-commit;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 2
-flush status;
-begin;
-insert into t1 set pk=5, a1=6, b1=3, c1="New row";
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=5;
-pk a1 b1 c1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=5;
-pk a1 b1 c1
-5 6 3 New row
-select * from t1 where pk=5;
-pk a1 b1 c1
-5 6 3 New row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-flush status;
-begin;
-delete from t1 where pk=2;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 4
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=2;
-pk a1 b1 c1
-2 7 8 Second row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-2 7 8 Second row
-1 6 3 First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 where pk=2;
-pk a1 b1 c1
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t1 where pk=2;
-pk a1 b1 c1
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t1 where pk=2;
-pk a1 b1 c1
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 6
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 4
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-flush status;
-begin;
-update t1 set a1=9 where pk=1;
-update t2 set a2=9 where pk=1;
-update t3 set a3=9 where pk=1;
-update t4 set a4=9 where a4=2;
-update t5 set a5=9 where pk=1;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 6 3 First row
-select * from t2;
-pk a2 b2
-1 2 3
-select * from t3;
-pk a3 b3 c3 d3
-1 2 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-2 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 2 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 5
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 5
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-commit;
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 5
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 10
-select * from t1 order by pk desc;
-pk a1 b1 c1
-5 6 3 New row
-1 9 3 First row
-select * from t2;
-pk a2 b2
-1 9 3
-select * from t3;
-pk a3 b3 c3 d3
-1 9 3 4 3 - First row
-select * from t4;
-a4 b4 c4
-9 3 4 - First row
-select * from t5;
-pk a5 b5 c5
-1 9 3 5 - First row
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 5
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 10
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 15
-drop table t1, t2, t3, t4, t5;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-SET GLOBAL query_cache_size=0;
-SET GLOBAL ndb_cache_check_time=0;
diff --git a/mysql-test/suite/ndb/r/ndb_cache_multi.result b/mysql-test/suite/ndb/r/ndb_cache_multi.result
deleted file mode 100644
index 388131ec30a..00000000000
--- a/mysql-test/suite/ndb/r/ndb_cache_multi.result
+++ /dev/null
@@ -1,74 +0,0 @@
-drop table if exists t1, t2;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select * from t2;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-a
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-update t1 set a=3 where a=2;
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 2
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 2
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-drop table t1, t2;
-set GLOBAL query_cache_size=0;
-set GLOBAL query_cache_size=0;
diff --git a/mysql-test/suite/ndb/r/ndb_cache_multi2.result b/mysql-test/suite/ndb/r/ndb_cache_multi2.result
deleted file mode 100644
index 53767bb6d3c..00000000000
--- a/mysql-test/suite/ndb/r/ndb_cache_multi2.result
+++ /dev/null
@@ -1,75 +0,0 @@
-drop table if exists t1, t2;
-== Connected to server1 ==
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=1;
-reset query cache;
-flush status;
-== Connected to server2 ==
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=1;
-reset query cache;
-flush status;
-== Connected to server1 ==
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select a != 3 from t1;
-a != 3
-1
-select * from t2;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 3
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-== Connected to server2 ==
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 0
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 0
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-select * from t1;
-a
-2
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 1
-show status like "Qcache_inserts";
-Variable_name Value
-Qcache_inserts 1
-show status like "Qcache_hits";
-Variable_name Value
-Qcache_hits 0
-update t1 set a=3 where a=2;
-== Connected to server1 ==
-select * from t1;
-a
-3
-show status like "Qcache_queries_in_cache";
-Variable_name Value
-Qcache_queries_in_cache 3
-drop table t1, t2;
-set GLOBAL query_cache_size=0;
-set GLOBAL ndb_cache_check_time=0;
-reset query cache;
-flush status;
-set GLOBAL query_cache_size=0;
-set GLOBAL ndb_cache_check_time=0;
-reset query cache;
-flush status;
diff --git a/mysql-test/suite/ndb/r/ndb_charset.result b/mysql-test/suite/ndb/r/ndb_charset.result
deleted file mode 100644
index e84c906dd7e..00000000000
--- a/mysql-test/suite/ndb/r/ndb_charset.result
+++ /dev/null
@@ -1,320 +0,0 @@
-drop table if exists t1;
-create table t1 (
-a char(3) character set latin1 collate latin1_bin primary key
-) engine=ndb;
-insert into t1 values('aAa');
-insert into t1 values('aaa');
-insert into t1 values('AAA');
-select * from t1 order by a;
-a
-AAA
-aAa
-aaa
-select * from t1 where a = 'aAa';
-a
-aAa
-select * from t1 where a = 'aaa';
-a
-aaa
-select * from t1 where a = 'AaA';
-a
-select * from t1 where a = 'AAA';
-a
-AAA
-drop table t1;
-create table t1 (
-a char(3) character set latin1 collate latin1_swedish_ci primary key
-) engine=ndb;
-insert into t1 values('aAa');
-insert into t1 values('aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 'PRIMARY'
-insert into t1 values('AAA');
-ERROR 23000: Duplicate entry 'AAA' for key 'PRIMARY'
-select * from t1 order by a;
-a
-aAa
-select * from t1 where a = 'aAa';
-a
-aAa
-select * from t1 where a = 'aaa';
-a
-aAa
-select * from t1 where a = 'AaA';
-a
-aAa
-select * from t1 where a = 'AAA';
-a
-aAa
-drop table t1;
-create table t1 (
-a varchar(20) character set latin1 collate latin1_swedish_ci primary key
-) engine=ndb;
-insert into t1 values ('A'),('b '),('C '),('d '),('E'),('f');
-insert into t1 values('b');
-ERROR 23000: Duplicate entry 'b' for key 'PRIMARY'
-insert into t1 values('a ');
-ERROR 23000: Duplicate entry 'a ' for key 'PRIMARY'
-select a,length(a) from t1 order by a;
-a length(a)
-A 1
-b 2
-C 3
-d 7
-E 1
-f 1
-select a,length(a) from t1 order by a desc;
-a length(a)
-f 1
-E 1
-d 7
-C 3
-b 2
-A 1
-select * from t1 where a = 'a';
-a
-A
-select * from t1 where a = 'a ';
-a
-A
-select * from t1 where a = 'd';
-a
-d
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_bin not null,
-unique key(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-select * from t1 order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-select * from t1 where a = 'aAa';
-p a
-1 aAa
-select * from t1 where a = 'aaa';
-p a
-2 aaa
-select * from t1 where a = 'AaA';
-p a
-select * from t1 where a = 'AAA';
-p a
-3 AAA
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_swedish_ci not null,
-unique key(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-ERROR 23000: Duplicate entry 'aaa' for key 'a'
-insert into t1 values(3, 'AAA');
-ERROR 23000: Duplicate entry 'AAA' for key 'a'
-select * from t1 order by p;
-p a
-1 aAa
-select * from t1 where a = 'aAa';
-p a
-1 aAa
-select * from t1 where a = 'aaa';
-p a
-1 aAa
-select * from t1 where a = 'AaA';
-p a
-1 aAa
-select * from t1 where a = 'AAA';
-p a
-1 aAa
-drop table t1;
-create table t1 (
-p int primary key,
-a varchar(20) character set latin1 collate latin1_swedish_ci not null,
-unique key(a)
-) engine=ndb;
-insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
-insert into t1 values(99,'b');
-ERROR 23000: Duplicate entry 'b' for key 'a'
-insert into t1 values(99,'a ');
-ERROR 23000: Duplicate entry 'a ' for key 'a'
-select a,length(a) from t1 order by a;
-a length(a)
-A 1
-b 2
-C 3
-d 7
-E 1
-f 1
-select a,length(a) from t1 order by a desc;
-a length(a)
-f 1
-E 1
-d 7
-C 3
-b 2
-A 1
-select * from t1 where a = 'a';
-p a
-1 A
-select * from t1 where a = 'a ';
-p a
-1 A
-select * from t1 where a = 'd';
-p a
-4 d
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_bin not null,
-index(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-insert into t1 values(4, 'aAa');
-insert into t1 values(5, 'aaa');
-insert into t1 values(6, 'AAA');
-select * from t1 order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'aAa' order by p;
-p a
-1 aAa
-4 aAa
-select * from t1 where a = 'aaa' order by p;
-p a
-2 aaa
-5 aaa
-select * from t1 where a = 'AaA' order by p;
-p a
-select * from t1 where a = 'AAA' order by p;
-p a
-3 AAA
-6 AAA
-drop table t1;
-create table t1 (
-p int primary key,
-a char(3) character set latin1 collate latin1_swedish_ci not null,
-index(a)
-) engine=ndb;
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-insert into t1 values(4, 'aAa');
-insert into t1 values(5, 'aaa');
-insert into t1 values(6, 'AAA');
-select * from t1 order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'aAa' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'aaa' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'AaA' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-select * from t1 where a = 'AAA' order by p;
-p a
-1 aAa
-2 aaa
-3 AAA
-4 aAa
-5 aaa
-6 AAA
-drop table t1;
-create table t1 (
-p int primary key,
-a varchar(20) character set latin1 collate latin1_swedish_ci not null,
-index(a, p)
-) engine=ndb;
-insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
-insert into t1 values (7,'a'),(8,'B '),(9,'c '),(10,'D'),(11,'e'),(12,'F ');
-select p,a,length(a) from t1 order by a, p;
-p a length(a)
-1 A 1
-7 a 1
-2 b 2
-8 B 2
-3 C 3
-9 c 3
-4 d 7
-10 D 1
-5 E 1
-11 e 1
-6 f 1
-12 F 3
-select * from t1 where a = 'a ' order by a desc, p desc;
-p a
-7 a
-1 A
-select * from t1 where a >= 'D' order by a, p;
-p a
-4 d
-10 D
-5 E
-11 e
-6 f
-12 F
-select * from t1 where a < 'D' order by a, p;
-p a
-1 A
-7 a
-2 b
-8 B
-3 C
-9 c
-select count(*) from t1 x, t1 y, t1 z where x.a = y.a and y.a = z.a;
-count(*)
-48
-drop table t1;
-create table t1 (
-a char(10) primary key
-) engine=ndbcluster default charset=latin1;
-insert into t1 values ('aaabb');
-select * from t1;
-a
-aaabb
-replace into t1 set a = 'AAABB';
-select * from t1;
-a
-AAABB
-replace into t1 set a = 'aAaBb';
-select * from t1;
-a
-aAaBb
-replace into t1 set a = 'aaabb';
-select * from t1;
-a
-aaabb
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_condition_pushdown.result b/mysql-test/suite/ndb/r/ndb_condition_pushdown.result
deleted file mode 100644
index f2b5b882f10..00000000000
--- a/mysql-test/suite/ndb/r/ndb_condition_pushdown.result
+++ /dev/null
@@ -1,1920 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4;
-CREATE TABLE t1 (
-auto int(5) unsigned NOT NULL auto_increment,
-string char(10),
-vstring varchar(10),
-bin binary(2),
-vbin varbinary(7),
-tiny tinyint(4) DEFAULT '0' NOT NULL ,
-short smallint(6) DEFAULT '1' NOT NULL ,
-medium mediumint(8) DEFAULT '0' NOT NULL,
-long_int int(11) DEFAULT '0' NOT NULL,
-longlong bigint(13) DEFAULT '0' NOT NULL,
-real_float float(13,1) DEFAULT 0.0 NOT NULL,
-real_double double(16,4),
-real_decimal decimal(16,4),
-utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
-ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
-umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
-ulong int(11) unsigned DEFAULT '0' NOT NULL,
-ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
-bits bit(3),
-options enum('zero','one','two','three','four') not null,
-flags set('zero','one','two','three','four') not null,
-date_field date,
-year_field year,
-time_field time,
-date_time datetime,
-time_stamp timestamp,
-PRIMARY KEY (auto)
-) engine=ndb;
-insert into t1 values
-(NULL,"aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
-b'001','one','one',
-'1901-01-01','1901',
-'01:01:01','1901-01-01 01:01:01',NULL),
-(NULL,"bbbb","bbbb",0xBBBB,0xBBBB,-2,-2,-2,-2,-2,2.2,2.2,2.2,2,2,2,2,2,
-b'010','two','one,two',
-'1902-02-02','1902',
-'02:02:02','1902-02-02 02:02:02',NULL),
-(NULL,"cccc","cccc",0xCCCC,0xCCCC,-3,-3,-3,-3,-3,3.3,3.3,3.3,3,3,3,3,3,
-b'011','three','one,two,three',
-'1903-03-03','1903',
-'03:03:03','1903-03-03 03:03:03',NULL),
-(NULL,"dddd","dddd",0xDDDD,0xDDDD,-4,-4,-4,-4,-4,4.4,4.4,4.4,4,4,4,4,4,
-b'100','four','one,two,three,four',
-'1904-04-04','1904',
-'04:04:04','1904-04-04 04:04:04',NULL);
-CREATE TABLE t2 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 int unsigned, attr3 VARCHAR(10) ) ENGINE=ndbcluster;
-insert into t2 values (0,0,0, "a"),(1,1,1,"b"),(2,2,NULL,NULL),(3,3,3,"d"),(4,4,4,"e"),(5,5,5,"f");
-CREATE TABLE t3 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) ) ENGINE=ndbcluster;
-insert into t3 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
-CREATE TABLE t4 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) , KEY (attr1)) ENGINE=ndbcluster;
-insert into t4 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
-set @old_optimizer_switch = @@session.optimizer_switch;
-set optimizer_switch = "engine_condition_pushdown=off";
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-bits = b'001' and
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-bits != b'001' and
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-bits > b'001' and
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-bits >= b'001' and
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-2
-3
-4
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-bits < b'100' and
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 and
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-bits <= b'100' and
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-4
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-auto
-2
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-auto
-1
-3
-4
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-(bits between b'001' and b'011') and
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-(b'001' between bits and bits) and
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-auto
-1
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-(bits not between b'001' and b'011') and
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-4
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-(b'001' not between bits and bits) and
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-auto
-2
-3
-4
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-bits in(b'001',b'011') and
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in(short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-b'001' in(bits) and
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-auto
-1
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-bits not in(b'001',b'011') and
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-2
-4
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-b'001' not in(bits) and
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-auto
-2
-3
-4
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-pk1 attr1 attr2 attr3
-2 2 NULL NULL
-3 3 3 d
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-pk1 attr1 attr2 attr3
-3 3 3 d
-4 4 4 e
-5 5 5 f
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-5 5 9223372036854775807 5 f
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
-0 0 0 a 0 0 0 0 a
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
-3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d
-4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e
-set optimizer_switch = "engine_condition_pushdown=on";
-explain
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-2
-3
-4
-explain
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-explain
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-4
-create index medium_index on t1(medium);
-explain
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref medium_index medium_index 3 const # Using where with pushed condition; Using filesort
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-auto
-1
-2
-3
-4
-explain
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-explain
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-auto
-1
-2
-3
-4
-explain
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-auto
-2
-explain
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-auto
-1
-3
-4
-explain
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-/* (bits between b'001' and b'011') and */
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-/* (bits between b'001' and b'011') and */
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-explain
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-/* (b'001' between bits and bits) and */
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-/* (b'001' between bits and bits) and */
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-/* (bits not between b'001' and b'011') and */
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-/* (bits not between b'001' and b'011') and */
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-auto
-4
-explain
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-/* (b'001' not between bits and bits) and */
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-/* (b'001' not between bits and bits) and */
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-auto
-2
-3
-4
-explain
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-/* bits in(b'001',b'011') and */
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-/* bits in(b'001',b'011') and */
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-1
-3
-explain
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in (short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-/* b'001' in(bits) and */
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref medium_index medium_index 3 const # Using where with pushed condition; Using filesort
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in (short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-/* b'001' in(bits) and */
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-auto
-1
-explain
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-/* bits not in(b'001',b'011') and */
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range medium_index medium_index 3 NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-/* bits not in(b'001',b'011') and */
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-auto
-2
-4
-explain
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-/* b'001' not in(bits) and */
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-/* b'001' not in(bits) and */
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-auto
-2
-3
-4
-update t1
-set medium = 17
-where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01';
-delete from t1
-where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = 17 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01';
-select count(*) from t1;
-count(*)
-3
-explain
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL PRIMARY NULL NULL NULL # Using where with pushed condition; Using filesort
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-pk1 attr1 attr2 attr3
-2 2 NULL NULL
-3 3 3 d
-explain
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-pk1 attr1 attr2 attr3
-3 3 3 d
-4 4 4 e
-5 5 5 f
-explain
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition; Using filesort
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-5 5 9223372036854775807 5 f
-explain
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where with pushed condition; Using temporary; Using filesort
-1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where with pushed condition; Using join buffer
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4
-0 0 0 a 0 0 0 0 a
-explain
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using filesort
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c
-4 4 9223372036854775806 4 e
-explain
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t4 range attr1 attr1 4 NULL # Using where with pushed condition; Using temporary; Using filesort
-1 SIMPLE t3 ALL NULL NULL NULL NULL # Using where; Using join buffer
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4
-2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c
-3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d
-4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e
-explain
-select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where; Using filesort
-explain
-select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ALL NULL NULL NULL NULL # Using where; Using filesort
-explain
-select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 ALL NULL NULL NULL NULL # Using temporary; Using filesort
-1 SIMPLE t4 ALL NULL NULL NULL NULL # Using where
-create table t5 (a int primary key auto_increment, b tinytext not null)
-engine = ndb;
-insert into t5 (b) values ('jonas'), ('jensing'), ('johan');
-set optimizer_switch = "engine_condition_pushdown=off";
-select * from t5 where b like '%jo%' order by a;
-a b
-1 jonas
-3 johan
-set optimizer_switch = "engine_condition_pushdown=on";
-explain select * from t5 where b like '%jo%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t5 ALL NULL NULL NULL NULL # Using where
-select * from t5 where b like '%jo%' order by a;
-a b
-1 jonas
-3 johan
-set optimizer_switch = "engine_condition_pushdown=off";
-select auto from t1 where date_time like '1902-02-02 %' order by auto;
-auto
-2
-select auto from t1 where date_time not like '1902-02-02 %' order by auto;
-auto
-3
-4
-set optimizer_switch = "engine_condition_pushdown=on";
-explain select auto from t1 where date_time like '1902-02-02 %';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where
-select auto from t1 where date_time like '1902-02-02 %' order by auto;
-auto
-2
-explain select auto from t1 where date_time not like '1902-02-02 %';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL # Using where
-select auto from t1 where date_time not like '1902-02-02 %' order by auto;
-auto
-3
-4
-drop table t1;
-create table t1 (a int, b varchar(3), primary key using hash(a))
-engine=ndb;
-insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
-set optimizer_switch = "engine_condition_pushdown=off";
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-set optimizer_switch = "engine_condition_pushdown=on";
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-drop table t1;
-create table t1 (a int, b char(3), primary key using hash(a))
-engine=ndb;
-insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
-set optimizer_switch = "engine_condition_pushdown=off";
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-set optimizer_switch = "engine_condition_pushdown=on";
-select * from t1 where b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'ab' or b like 'ab';
-a b
-2 ab
-select * from t1 where b like 'abc';
-a b
-3 abc
-select * from t1 where b like 'abc' or b like 'abc';
-a b
-3 abc
-drop table t1;
-create table t1 ( fname varchar(255), lname varchar(255) )
-engine=ndbcluster;
-insert into t1 values ("Young","Foo");
-set optimizer_switch = "engine_condition_pushdown=off";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-set optimizer_switch = "engine_condition_pushdown=on";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-insert into t1 values ("aaa", "aaa");
-insert into t1 values ("bbb", "bbb");
-insert into t1 values ("ccc", "ccc");
-insert into t1 values ("ddd", "ddd");
-set optimizer_switch = "engine_condition_pushdown=off";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-set optimizer_switch = "engine_condition_pushdown=on";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-fname lname
-Young Foo
-drop table t1;
-create table t1 (a int, b int, c int, d int, primary key using hash(a))
-engine=ndbcluster;
-insert into t1 values (10,1,100,0+0x1111);
-insert into t1 values (20,2,200,0+0x2222);
-insert into t1 values (30,3,300,0+0x3333);
-insert into t1 values (40,4,400,0+0x4444);
-insert into t1 values (50,5,500,0+0x5555);
-set optimizer_switch = "engine_condition_pushdown=on";
-select a,b,d from t1
-where b in (0,1,2,5)
-order by b;
-a b d
-10 1 4369
-20 2 8738
-50 5 21845
--- big filter just below limit
-a b d
-10 1 4369
-20 2 8738
-50 5 21845
--- big filter just above limit
-a b d
-10 1 4369
-20 2 8738
-50 5 21845
-Warnings:
-Warning 4294 Scan filter is too large, discarded
-set optimizer_switch = @old_optimizer_switch;
-DROP TABLE t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/ndb/r/ndb_config.result b/mysql-test/suite/ndb/r/ndb_config.result
deleted file mode 100644
index e12741212d6..00000000000
--- a/mysql-test/suite/ndb/r/ndb_config.result
+++ /dev/null
@@ -1,14 +0,0 @@
-ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4,localhost mysqld,5,localhost mysqld,6,localhost
-1,localhost,20971520,1048576 2,localhost,20971520,1048576
-1 localhost 20971520 1048576
-2 localhost 20971520 1048576
-1 2
-ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10, mysqld,11,
-ndbd,1,localhost,52428800,26214400 ndbd,2,localhost,52428800,36700160 ndbd,3,localhost,52428800,52428800 ndbd,4,localhost,52428800,52428800 ndb_mgmd,5,localhost,, mysqld,6,localhost,,
-ndbd,1,localhost ndbd,2,localhost ndbd,3,localhost ndbd,4,localhost ndb_mgmd,5,localhost mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10,
-ndbd,2,localhost ndbd,3,localhost ndbd,4,localhost ndbd,5,localhost ndb_mgmd,6,localhost mysqld,1, mysqld,7, mysqld,8, mysqld,9, mysqld,10,
-ndbd,3,localhost ndbd,4,localhost ndbd,5,localhost ndbd,6,localhost ndb_mgmd,1,localhost ndb_mgmd,2,localhost mysqld,11, mysqld,12, mysqld,13, mysqld,14, mysqld,15,
-shm,3,4,35,3 shm,3,5,35,3 shm,3,6,35,3 shm,4,5,35,4 shm,4,6,35,4 shm,5,6,35,5 tcp,11,3,55,3 tcp,11,4,55,4 tcp,11,5,55,5 tcp,11,6,55,6 tcp,12,3,55,3 tcp,12,4,55,4 tcp,12,5,55,5 tcp,12,6,55,6 tcp,13,3,55,3 tcp,13,4,55,4 tcp,13,5,55,5 tcp,13,6,55,6 tcp,14,3,55,3 tcp,14,4,55,4 tcp,14,5,55,5 tcp,14,6,55,6 tcp,15,3,55,3 tcp,15,4,55,4 tcp,15,5,55,5 tcp,15,6,55,6 tcp,1,3,55,1 tcp,1,4,55,1 tcp,1,5,55,1 tcp,1,6,55,1 tcp,2,3,55,2 tcp,2,4,55,2 tcp,2,5,55,2 tcp,2,6,55,2
-1 2 3
-
-1 2 3
diff --git a/mysql-test/suite/ndb/r/ndb_config2.result b/mysql-test/suite/ndb/r/ndb_config2.result
deleted file mode 100644
index cfd012933c4..00000000000
--- a/mysql-test/suite/ndb/r/ndb_config2.result
+++ /dev/null
@@ -1 +0,0 @@
-shm,3,4,35,3 shm,3,5,35,3 shm,3,6,35,3 shm,4,5,35,4 shm,4,6,35,4 shm,5,6,35,5 tcp,11,3,55,3 tcp,11,4,55,4 tcp,11,5,55,5 tcp,11,6,55,6 tcp,12,3,55,3 tcp,12,4,55,4 tcp,12,5,55,5 tcp,12,6,55,6 tcp,13,3,55,3 tcp,13,4,55,4 tcp,13,5,55,5 tcp,13,6,55,6 tcp,14,3,55,3 tcp,14,4,55,4 tcp,14,5,55,5 tcp,14,6,55,6 tcp,15,3,55,3 tcp,15,4,55,4 tcp,15,5,55,5 tcp,15,6,55,6 tcp,1,3,55,1 tcp,1,4,55,1 tcp,1,5,55,1 tcp,1,6,55,1 tcp,2,3,55,2 tcp,2,4,55,2 tcp,2,5,55,2 tcp,2,6,55,2
diff --git a/mysql-test/suite/ndb/r/ndb_cursor.result b/mysql-test/suite/ndb/r/ndb_cursor.result
deleted file mode 100644
index 3e6f207e153..00000000000
--- a/mysql-test/suite/ndb/r/ndb_cursor.result
+++ /dev/null
@@ -1,42 +0,0 @@
-drop table if exists t1;
-drop table if exists t2;
-create table t1 (
-a int not null primary key,
-b int not null
-) engine=ndb;
-create table t2 (
-a int not null primary key,
-b int not null
-) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30), (4, 40);
-create procedure test_cursor ()
-begin
-declare done int default 0;
-declare temp_a int;
-declare temp_b int;
-declare cur1 cursor for select a,b from t1;
-declare continue handler for sqlstate '02000' set done = 1;
-open cur1;
-repeat
-fetch cur1 into temp_a, temp_b;
-if not done then
-insert into t2 values (temp_a, temp_b);
-end if;
-until done end repeat;
-close cur1;
-end;
-//
-select * from t2 order by a;
-a b
-call test_cursor();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-select * from t2 order by a;
-a b
-1 10
-2 20
-3 30
-4 40
-drop procedure test_cursor;
-drop table t1,t2;
-end of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_database.result b/mysql-test/suite/ndb/r/ndb_database.result
deleted file mode 100644
index e3da4af0265..00000000000
--- a/mysql-test/suite/ndb/r/ndb_database.result
+++ /dev/null
@@ -1,13 +0,0 @@
-drop database if exists mysqltest;
-create database mysqltest;
-create table mysqltest.t1 (a int primary key, b int) engine=ndb;
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-t1
-drop database mysqltest;
-create database mysqltest;
-use mysqltest;
-show tables;
-Tables_in_mysqltest
-drop database mysqltest;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_alter.result b/mysql-test/suite/ndb/r/ndb_dd_alter.result
deleted file mode 100644
index 7ebbb24c84f..00000000000
--- a/mysql-test/suite/ndb/r/ndb_dd_alter.result
+++ /dev/null
@@ -1,560 +0,0 @@
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-**** Test Setup Section ****
-CREATE LOGFILE GROUP lg
-ADD UNDOFILE './lg_group/undofile.dat'
- INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE ts
-ADD DATAFILE './table_space/datafile.dat'
- USE LOGFILE GROUP lg
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1 (
-a1 smallint NOT NULL,
-a2 int NOT NULL,
-a3 bigint NOT NULL,
-a4 char(10),
-a5 decimal(5,1),
-a6 time,
-a7 date,
-a8 datetime,
-a9 VARCHAR(255),
-a10 blob,
-PRIMARY KEY(a1)
-) ENGINE=InnoDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-1 2 2000000001 aaa1 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-2 3 2000000002 aaa2 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-3 4 2000000003 aaa3 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-4 5 2000000004 aaa4 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-5 6 2000000005 aaa5 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-6 7 2000000006 aaa6 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-7 8 2000000007 aaa7 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-8 9 2000000008 aaa8 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-9 10 2000000009 aaa9 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-10 11 2000000010 aaa10 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-11 12 2000000011 aaa11 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-12 13 2000000012 aaa12 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-13 14 2000000013 aaa13 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-14 15 2000000014 aaa14 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-15 16 2000000015 aaa15 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-16 17 2000000016 aaa16 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-17 18 2000000017 aaa17 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-18 19 2000000018 aaa18 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-19 20 2000000019 aaa19 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-20 21 2000000020 aaa20 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Smallint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Int NOT NULL AT=FIXED ST=DISK
-a3 Bigint NOT NULL AT=FIXED ST=DISK
-a4 Char(10;latin1_swedish_ci) NULL AT=FIXED ST=DISK
-a5 Decimal(5,1) NULL AT=FIXED ST=DISK
-a6 Time NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Datetime NULL AT=FIXED ST=DISK
-a9 Varchar(255;latin1_swedish_ci) NULL AT=FIXED ST=DISK
-a10 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-1 2 2000000001 aaa1 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-2 3 2000000002 aaa2 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-3 4 2000000003 aaa3 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-4 5 2000000004 aaa4 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-5 6 2000000005 aaa5 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-6 7 2000000006 aaa6 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-7 8 2000000007 aaa7 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-8 9 2000000008 aaa8 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-9 10 2000000009 aaa9 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-10 11 2000000010 aaa10 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-11 12 2000000011 aaa11 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-12 13 2000000012 aaa12 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-13 14 2000000013 aaa13 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-14 15 2000000014 aaa14 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-15 16 2000000015 aaa15 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-16 17 2000000016 aaa16 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-17 18 2000000017 aaa17 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-18 19 2000000018 aaa18 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-19 20 2000000019 aaa19 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-20 21 2000000020 aaa20 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-DROP TABLE test.t1;
-CREATE TABLE test.t1 (
-a1 smallint NOT NULL,
-a2 int NOT NULL,
-a3 bigint NOT NULL,
-a4 char(10),
-a5 decimal(5,1),
-a6 time,
-a7 date,
-a8 datetime,
-a9 VARCHAR(255),
-a10 blob,
-PRIMARY KEY(a1)
-) ENGINE=MyISAM;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-1 2 2000000001 aaa1 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-2 3 2000000002 aaa2 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-3 4 2000000003 aaa3 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-4 5 2000000004 aaa4 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-5 6 2000000005 aaa5 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-6 7 2000000006 aaa6 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-7 8 2000000007 aaa7 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-8 9 2000000008 aaa8 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-9 10 2000000009 aaa9 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-10 11 2000000010 aaa10 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-11 12 2000000011 aaa11 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-12 13 2000000012 aaa12 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-13 14 2000000013 aaa13 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-14 15 2000000014 aaa14 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-15 16 2000000015 aaa15 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-16 17 2000000016 aaa16 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-17 18 2000000017 aaa17 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-18 19 2000000018 aaa18 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-19 20 2000000019 aaa19 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-20 21 2000000020 aaa20 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Smallint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Int NOT NULL AT=FIXED ST=DISK
-a3 Bigint NOT NULL AT=FIXED ST=DISK
-a4 Char(10;latin1_swedish_ci) NULL AT=FIXED ST=DISK
-a5 Decimal(5,1) NULL AT=FIXED ST=DISK
-a6 Time NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Datetime NULL AT=FIXED ST=DISK
-a9 Varchar(255;latin1_swedish_ci) NULL AT=FIXED ST=DISK
-a10 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-1 2 2000000001 aaa1 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-2 3 2000000002 aaa2 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-3 4 2000000003 aaa3 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-4 5 2000000004 aaa4 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-5 6 2000000005 aaa5 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-6 7 2000000006 aaa6 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-7 8 2000000007 aaa7 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-8 9 2000000008 aaa8 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-9 10 2000000009 aaa9 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-10 11 2000000010 aaa10 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-11 12 2000000011 aaa11 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-12 13 2000000012 aaa12 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-13 14 2000000013 aaa13 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-14 15 2000000014 aaa14 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-15 16 2000000015 aaa15 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-16 17 2000000016 aaa16 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-17 18 2000000017 aaa17 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-18 19 2000000018 aaa18 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-19 20 2000000019 aaa19 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-20 21 2000000020 aaa20 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-ALTER TABLE test.t1 ENGINE=InnoDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-1 2 2000000001 aaa1 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-2 3 2000000002 aaa2 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-3 4 2000000003 aaa3 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-4 5 2000000004 aaa4 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-5 6 2000000005 aaa5 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-6 7 2000000006 aaa6 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-7 8 2000000007 aaa7 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-8 9 2000000008 aaa8 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-9 10 2000000009 aaa9 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-10 11 2000000010 aaa10 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-11 12 2000000011 aaa11 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-12 13 2000000012 aaa12 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-13 14 2000000013 aaa13 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-14 15 2000000014 aaa14 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-15 16 2000000015 aaa15 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-16 17 2000000016 aaa16 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-17 18 2000000017 aaa17 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-18 19 2000000018 aaa18 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-19 20 2000000019 aaa19 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-20 21 2000000020 aaa20 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Smallint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Int NOT NULL AT=FIXED ST=DISK
-a3 Bigint NOT NULL AT=FIXED ST=DISK
-a4 Char(10;latin1_swedish_ci) NULL AT=FIXED ST=DISK
-a5 Decimal(5,1) NULL AT=FIXED ST=DISK
-a6 Time NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Datetime NULL AT=FIXED ST=DISK
-a9 Varchar(255;latin1_swedish_ci) NULL AT=FIXED ST=DISK
-a10 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-ALTER TABLE test.t1 ENGINE=MyISAM;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE test.t1;
-CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SELECT * FROM test.t1 ORDER BY a1;
-a1
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-def test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default ts
-ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE;
-SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-def test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default ts
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 2.2345 20000001
-2 3.2345 20000002
-3 4.2345 20000003
-4 5.2345 20000004
-5 6.2345 20000005
-6 7.2345 20000006
-7 8.2345 20000007
-8 9.2345 20000008
-9 10.2345 20000009
-10 11.2345 20000010
-11 12.2345 20000011
-12 13.2345 20000012
-13 14.2345 20000013
-14 15.2345 20000014
-15 16.2345 20000015
-16 17.2345 20000016
-17 18.2345 20000017
-18 19.2345 20000018
-19 20.2345 20000019
-20 21.2345 20000020
-ALTER TABLE test.t1 ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME;
-SELECT a1,a2,a3,hex(a4), a5,a6,a7,a8 FROM test.t1 ORDER BY a1;
-a1 a2 a3 hex(a4) a5 a6 a7 a8
-1 2.2345 20000001 0 1 23457 2006-01-01 07:04:00
-2 3.2345 20000002 0 1 23458 2006-01-01 07:04:00
-3 4.2345 20000003 0 1 23459 2006-01-01 07:04:00
-4 5.2345 20000004 0 1 23460 2006-01-01 07:04:00
-5 6.2345 20000005 0 1 23461 2006-01-01 07:04:00
-6 7.2345 20000006 0 1 23462 2006-01-01 07:04:00
-7 8.2345 20000007 0 1 23463 2006-01-01 07:04:00
-8 9.2345 20000008 0 1 23464 2006-01-01 07:04:00
-9 10.2345 20000009 0 1 23465 2006-01-01 07:04:00
-10 11.2345 20000010 0 1 23466 2006-01-01 07:04:00
-11 12.2345 20000011 0 1 23467 2006-01-01 07:04:00
-12 13.2345 20000012 0 1 23468 2006-01-01 07:04:00
-13 14.2345 20000013 0 1 23469 2006-01-01 07:04:00
-14 15.2345 20000014 0 1 23470 2006-01-01 07:04:00
-15 16.2345 20000015 0 1 23471 2006-01-01 07:04:00
-16 17.2345 20000016 0 1 23472 2006-01-01 07:04:00
-17 18.2345 20000017 0 1 23473 2006-01-01 07:04:00
-18 19.2345 20000018 0 1 23474 2006-01-01 07:04:00
-19 20.2345 20000019 0 1 23475 2006-01-01 07:04:00
-20 21.2345 20000020 0 1 23476 2006-01-01 07:04:00
-ALTER TABLE test.t1 ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` float DEFAULT NULL,
- `a3` double DEFAULT NULL,
- `a4` bit(1) DEFAULT NULL,
- `a5` tinyint(4) DEFAULT NULL,
- `a6` bigint(20) DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` time DEFAULT NULL,
- `a9` datetime DEFAULT NULL,
- `a10` tinytext,
- `a11` mediumtext,
- `a12` longtext,
- `a13` text,
- `a14` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Float NULL AT=FIXED ST=DISK
-a3 Double NULL AT=FIXED ST=DISK
-a4 Bit(1) NULL AT=FIXED ST=DISK
-a5 Tinyint NULL AT=FIXED ST=DISK
-a6 Bigint NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Time NULL AT=FIXED ST=DISK
-a9 Datetime NULL AT=FIXED ST=DISK
-a10 Text(256,0;0;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a11 Text(256,4000;8;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a12 Text(256,8000;4;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a13 Text(256,2000;16;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a14 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-SELECT a1, a2,a3,hex(a4),a5,a6,a7,a8,a9,a10,a11,a12,a13 FROM test.t1 ORDER BY a1;
-a1 a2 a3 hex(a4) a5 a6 a7 a8 a9 a10 a11 a12 a13
-1 2.2345 20000001 0 1 23457 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-2 3.2345 20000002 0 1 23458 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-3 4.2345 20000003 0 1 23459 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-4 5.2345 20000004 0 1 23460 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-5 6.2345 20000005 0 1 23461 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-6 7.2345 20000006 0 1 23462 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-7 8.2345 20000007 0 1 23463 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-8 9.2345 20000008 0 1 23464 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-9 10.2345 20000009 0 1 23465 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-10 11.2345 20000010 0 1 23466 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-11 12.2345 20000011 0 1 23467 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-12 13.2345 20000012 0 1 23468 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-13 14.2345 20000013 0 1 23469 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-14 15.2345 20000014 0 1 23470 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-15 16.2345 20000015 0 1 23471 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-16 17.2345 20000016 0 1 23472 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-17 18.2345 20000017 0 1 23473 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-18 19.2345 20000018 0 1 23474 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-19 20.2345 20000019 0 1 23475 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-20 21.2345 20000020 0 1 23476 2006-01-01 07:04:00 1971-05-28 16:55:03 abc abcdefg LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL Text Field
-ALTER TABLE test.t1 ADD INDEX a2_i (a2), ADD INDEX a3_i (a3);
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` float DEFAULT NULL,
- `a3` double DEFAULT NULL,
- `a4` bit(1) DEFAULT NULL,
- `a5` tinyint(4) DEFAULT NULL,
- `a6` bigint(20) DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` time DEFAULT NULL,
- `a9` datetime DEFAULT NULL,
- `a10` tinytext,
- `a11` mediumtext,
- `a12` longtext,
- `a13` text,
- `a14` blob,
- PRIMARY KEY (`a1`),
- KEY `a2_i` (`a2`),
- KEY `a3_i` (`a3`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Float NULL AT=FIXED ST=MEMORY
-a3 Double NULL AT=FIXED ST=MEMORY
-a4 Bit(1) NULL AT=FIXED ST=DISK
-a5 Tinyint NULL AT=FIXED ST=DISK
-a6 Bigint NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Time NULL AT=FIXED ST=DISK
-a9 Datetime NULL AT=FIXED ST=DISK
-a10 Text(256,0;0;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a11 Text(256,4000;8;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a12 Text(256,8000;4;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a13 Text(256,2000;16;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a14 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-ALTER TABLE test.t1 DROP INDEX a2_i;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` float DEFAULT NULL,
- `a3` double DEFAULT NULL,
- `a4` bit(1) DEFAULT NULL,
- `a5` tinyint(4) DEFAULT NULL,
- `a6` bigint(20) DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` time DEFAULT NULL,
- `a9` datetime DEFAULT NULL,
- `a10` tinytext,
- `a11` mediumtext,
- `a12` longtext,
- `a13` text,
- `a14` blob,
- PRIMARY KEY (`a1`),
- KEY `a3_i` (`a3`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Float NULL AT=FIXED ST=DISK
-a3 Double NULL AT=FIXED ST=MEMORY
-a4 Bit(1) NULL AT=FIXED ST=DISK
-a5 Tinyint NULL AT=FIXED ST=DISK
-a6 Bigint NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Time NULL AT=FIXED ST=DISK
-a9 Datetime NULL AT=FIXED ST=DISK
-a10 Text(256,0;0;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a11 Text(256,4000;8;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a12 Text(256,8000;4;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a13 Text(256,2000;16;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a14 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-TRUNCATE TABLE test.t1;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` float DEFAULT NULL,
- `a3` double DEFAULT NULL,
- `a4` bit(1) DEFAULT NULL,
- `a5` tinyint(4) DEFAULT NULL,
- `a6` bigint(20) DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` time DEFAULT NULL,
- `a9` datetime DEFAULT NULL,
- `a10` tinytext,
- `a11` mediumtext,
- `a12` longtext,
- `a13` text,
- `a14` blob,
- PRIMARY KEY (`a1`),
- KEY `a3_i` (`a3`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-a2 Float NULL AT=FIXED ST=DISK
-a3 Double NULL AT=FIXED ST=MEMORY
-a4 Bit(1) NULL AT=FIXED ST=DISK
-a5 Tinyint NULL AT=FIXED ST=DISK
-a6 Bigint NULL AT=FIXED ST=DISK
-a7 Date NULL AT=FIXED ST=DISK
-a8 Time NULL AT=FIXED ST=DISK
-a9 Datetime NULL AT=FIXED ST=DISK
-a10 Text(256,0;0;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a11 Text(256,4000;8;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a12 Text(256,8000;4;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a13 Text(256,2000;16;latin1_swedish_ci) NULL AT=FIXED ST=MEMORY
-a14 Blob(256,2000;16) NULL AT=FIXED ST=MEMORY
-ALTER TABLE test.t1 DROP a14;
-ALTER TABLE test.t1 DROP a13;
-ALTER TABLE test.t1 DROP a12;
-ALTER TABLE test.t1 DROP a11;
-ALTER TABLE test.t1 DROP a10;
-ALTER TABLE test.t1 DROP a9;
-ALTER TABLE test.t1 DROP a8;
-ALTER TABLE test.t1 DROP a7;
-ALTER TABLE test.t1 DROP a6;
-ALTER TABLE test.t1 DROP PRIMARY KEY;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` float DEFAULT NULL,
- `a3` double DEFAULT NULL,
- `a4` bit(1) DEFAULT NULL,
- `a5` tinyint(4) DEFAULT NULL,
- KEY `a3_i` (`a3`)
-) /*!50100 TABLESPACE ts STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 Int NOT NULL AT=FIXED ST=DISK
-a2 Float NULL AT=FIXED ST=DISK
-a3 Double NULL AT=FIXED ST=MEMORY
-a4 Bit(1) NULL AT=FIXED ST=DISK
-a5 Tinyint NULL AT=FIXED ST=DISK
-$PK Bigunsigned PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-DROP TABLE test.t1;
-ALTER TABLESPACE ts
-DROP DATAFILE './table_space/datafile.dat'
- ENGINE NDB;
-DROP TABLESPACE ts ENGINE NDB;
-DROP LOGFILE GROUP lg ENGINE=NDB;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_basic.result b/mysql-test/suite/ndb/r/ndb_dd_basic.result
deleted file mode 100644
index e56c18c5d95..00000000000
--- a/mysql-test/suite/ndb/r/ndb_dd_basic.result
+++ /dev/null
@@ -1,535 +0,0 @@
-select count(*) from information_schema.columns;
-count(*)
-#
-DROP TABLE IF EXISTS t1;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=MYISAM;
-Warnings:
-Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP'
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=XYZ;
-Warnings:
-Warning 1286 Unknown storage engine 'XYZ'
-Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP'
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M;
-Warnings:
-Warning 1478 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP'
-set storage_engine=ndb;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-set storage_engine=myisam;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` int(11) NOT NULL,
- `b` int(11) NOT NULL,
- `c` int(11) NOT NULL,
- PRIMARY KEY (`pk1`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES (0, 0, 0);
-SELECT * FROM t1;
-pk1 b c
-0 0 0
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-501
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10y
-ENGINE = NDB;
-ERROR HY000: A size parameter was incorrectly specified, either number or on the form 10M
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10MB
-ENGINE = NDB;
-ERROR HY000: A size parameter was incorrectly specified, either number or on the form 10M
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10 MB
-ENGINE = NDB;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MB
-ENGINE = NDB' at line 3
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10 M
-ENGINE = NDB;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'M
-ENGINE = NDB' at line 3
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 1000000000000K
-ENGINE = NDB;
-ERROR HY000: The size number was correct but we don't allow the digit part to be more than 2 billion
-DROP TABLE t1;
-create tablespace ts2
-add datafile 'datafile2_1.dat'
-use logfile group lg1
-initial_size 12M
-engine ndb;
-CREATE TABLE City (
-ID int(11) NOT NULL AUTO_INCREMENT,
-Name char(35) NOT NULL,
-CountryCode char(3) NOT NULL,
-District char(20) NOT NULL,
-Population int(11) NOT NULL,
-PRIMARY KEY (ID)
-) ENGINE=ndbcluster
-tablespace ts2
-storage disk;
-alter tablespace ts2
-drop datafile 'datafile2_1.dat'
-engine ndb;
-insert
-into City (Name,CountryCode,District,Population)
-values ('BeiJing','CN','Beijing',2000);
-ERROR HY000: Got error 1602 'No datafile in tablespace' from NDBCLUSTER
-drop tablespace ts2
-engine ndb;
-ERROR HY000: Failed to drop TABLESPACE
-drop table City;
-drop tablespace ts2
-engine ndb;
-CREATE TABLE t1 (a INT PRIMARY KEY, b CHAR(4) NOT NULL, c CHAR(4) NOT NULL, KEY(b)) TABLESPACE ts1 STORAGE DISK ENGINE = NDB;
-INSERT INTO t1 VALUES (1,'1','1'), (2,'2','2'), (3,'3','3');
-BEGIN;
-UPDATE t1 SET b = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-2
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 2 1
-UPDATE t1 SET c = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-2
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 2 2
-UPDATE t1 SET b = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-3
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 3 2
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 3 2
-2 2 2
-3 3 3
-BEGIN;
-UPDATE t1 SET c = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-3
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 3 3
-UPDATE t1 SET b = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-4
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 4 3
-UPDATE t1 SET c = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-4
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 4 4
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 4 4
-2 2 2
-3 3 3
-UPDATE t1 SET b = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 5 4
-2 2 2
-3 3 3
-UPDATE t1 SET b = '6' WHERE b = '5';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 6 4
-2 2 2
-3 3 3
-UPDATE t1 SET b = '7'WHERE c = '4';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 4
-2 2 2
-3 3 3
-UPDATE t1 SET c = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 5
-2 2 2
-3 3 3
-UPDATE t1 SET c = '6' WHERE b = '7';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 6
-2 2 2
-3 3 3
-UPDATE t1 SET c = '7' WHERE c = '6';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 7
-2 2 2
-3 3 3
-DROP TABLE t1;
-CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(4) NOT NULL, c CHAR(4) NOT NULL, KEY(b)) TABLESPACE ts1 STORAGE DISK ENGINE NDB;
-INSERT INTO t1 VALUE (1,'1','1'), (2,'2','2'), (3,'3','3');
-BEGIN;
-UPDATE t1 SET b = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-2
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 2 1
-UPDATE t1 SET c = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-2
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 2 2
-UPDATE t1 SET b = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-3
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 3 2
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 3 2
-2 2 2
-3 3 3
-BEGIN;
-UPDATE t1 SET c = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-3
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 3 3
-UPDATE t1 SET b = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-4
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 4 3
-UPDATE t1 SET c = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-b
-4
-SELECT * FROM t1 WHERE a = 1;
-a b c
-1 4 4
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 4 4
-2 2 2
-3 3 3
-UPDATE t1 SET b = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 5 4
-2 2 2
-3 3 3
-UPDATE t1 SET b = '6' WHERE b = '5';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 6 4
-2 2 2
-3 3 3
-UPDATE t1 SET b = '7' WHERE c = '4';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 4
-2 2 2
-3 3 3
-UPDATE t1 SET c = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 5
-2 2 2
-3 3 3
-UPDATE t1 SET c = '6' WHERE b = '7';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 6
-2 2 2
-3 3 3
-UPDATE t1 SET c = '7' WHERE c = '6';
-SELECT * FROM t1 ORDER BY 1;
-a b c
-1 7 7
-2 2 2
-3 3 3
-DELETE FROM t1;
-INSERT INTO t1 VALUES (3,'1','1');
-BEGIN;
-UPDATE t1 SET b = b + 2 WHERE A = 3;
-DELETE FROM t1 WHERE A = 3;
-INSERT INTO t1 VALUES (3,'0','0');
-COMMIT;
-SELECT * from t1 ORDER BY 1;
-a b c
-3 0 0
-DROP TABLE t1;
-CREATE TABLE t1 (
-a INT NOT NULL PRIMARY KEY,
-b TEXT NOT NULL
-) TABLESPACE ts1 STORAGE DISK ENGINE=NDBCLUSTER;
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-INSERT INTO t1 VALUES(1,@b1);
-INSERT INTO t1 VALUES(2,@b2);
-SELECT a,length(b),substr(b,1+2*900,2) FROM t1 WHERE a=1;
-a length(b) substr(b,1+2*900,2)
-1 2256 b1
-SELECT a,length(b),substr(b,1+2*9000,2) FROM t1 WHERE a=2;
-a length(b) substr(b,1+2*9000,2)
-2 20000 b2
-UPDATE t1 SET b=@b2 WHERE a=1;
-UPDATE t1 SET b=@b1 WHERE a=2;
-SELECT a,length(b),substr(b,1+2*9000,2) FROM t1 WHERE a=1;
-a length(b) substr(b,1+2*9000,2)
-1 20000 b2
-SELECT a,length(b),substr(b,1+2*900,2) FROM t1 WHERE a=2;
-a length(b) substr(b,1+2*900,2)
-2 2256 b1
-UPDATE t1 SET b=concat(b,b) WHERE a=1;
-UPDATE t1 SET b=concat(b,b) WHERE a=2;
-SELECT a,length(b),substr(b,1+4*9000,2) FROM t1 WHERE a=1;
-a length(b) substr(b,1+4*9000,2)
-1 40000 b2
-SELECT a,length(b),substr(b,1+4*900,2) FROM t1 WHERE a=2;
-a length(b) substr(b,1+4*900,2)
-2 4512 b1
-DELETE FROM t1 WHERE a=1;
-DELETE FROM t1 WHERE a=2;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-0
-DROP TABLE t1;
-CREATE TABLE t1 (
-a int NOT NULL,
-b varchar(4000), -- must use 2 pages undo
-PRIMARY KEY using hash (a)
-)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDBCLUSTER;
-set autocommit = 0;
-insert into t1 values(0,'x');
-insert into t1 values(1,'x');
-insert into t1 values(2,'x');
-insert into t1 values(3,'x');
-insert into t1 values(4,'x');
-insert into t1 values(5,'x');
-insert into t1 values(6,'x');
-insert into t1 values(7,'x');
-insert into t1 values(8,'x');
-delete from t1 where a = 0;
-commit;
-delete from t1;
-begin;
-insert into t1 values (1, 'x');
-select * from t1;
-a b
-1 x
-rollback;
-set autocommit = 1;
-drop table t1;
-create table test.t1 (f1 varchar(50) primary key, f2 text,f3 int)
-TABLESPACE ts1 STORAGE DISK engine=NDB;
-insert into test.t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
-insert into test.t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
-select * from test.t1 order by f1;
-f1 f2 f3
-111111 aaaaaa 1
-222222 bbbbbb 2
-select f1,f2 from test.t1 order by f2;
-f1 f2
-111111 aaaaaa
-222222 bbbbbb
-select f2 from test.t1 order by f2;
-f2
-aaaaaa
-bbbbbb
-select f1,f2 from test.t1 order by f1;
-f1 f2
-111111 aaaaaa
-222222 bbbbbb
-drop table test.t1;
-CREATE TABLE t1 (
-id int unsigned NOT NULL,
-c1 int unsigned NOT NULL,
-c2 int DEFAULT NULL,
-PRIMARY KEY using hash (id),
-UNIQUE KEY c1 using hash (c1))
-TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster;
-insert into t1 values(1, 1, 3);
-insert into t1 values(2, 2, 3);
-update t1 set c1 = 1 where id = 2;
-ERROR 23000: Duplicate entry '1' for key 'c1'
-drop table t1;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE = NDB;
-DROP TABLESPACE ts1
-ENGINE = NDB;
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_ddl.result b/mysql-test/suite/ndb/r/ndb_dd_ddl.result
deleted file mode 100644
index 35516efb48c..00000000000
--- a/mysql-test/suite/ndb/r/ndb_dd_ddl.result
+++ /dev/null
@@ -1,315 +0,0 @@
-DROP TABLE IF EXISTS t1;
-DROP DATABASE IF EXISTS mysqltest;
-CREATE DATABASE mysqltest;
-**** Begin Duplicate Statement Testing ****
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'undofile2.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE 1M
-ENGINE NDB;
-ERROR HY000: Failed to create LOGFILE GROUP
-SHOW WARNINGS;
-Level Code Message
-Warning 1296 Got error 1514 'Currently there is a limit of one logfile group' from NDB
-Error 1528 Failed to create LOGFILE GROUP
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-ERROR HY000: Failed to create LOGFILE GROUP
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M ENGINE NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M ENGINE=NDB;
-ERROR HY000: Failed to alter: CREATE UNDOFILE
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-ERROR HY000: Failed to create TABLESPACE
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE 1M
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE 1M
-ENGINE=NDB;
-ERROR HY000: Failed to alter: CREATE DATAFILE
-CREATE TABLE mysqltest.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-CREATE TABLE mysqltest.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-ERROR 42S01: Table 't1' already exists
-CREATE TABLE mysqltest.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-ENGINE=NDB;
-ERROR 42S01: Table 't1' already exists
-DROP TABLE mysqltest.t1;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE=NDB;
-ERROR HY000: Failed to alter: NO SUCH FILE
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-ERROR HY000: Failed to alter: NO SUCH FILE
-DROP TABLESPACE ts1
-ENGINE=NDB;
-DROP TABLESPACE ts1
-ENGINE=NDB;
-ERROR HY000: Failed to drop TABLESPACE
-DROP LOGFILE GROUP lg1
-ENGINE=NDB;
-DROP LOGFILE GROUP lg1
-ENGINE=NDB;
-ERROR HY000: Failed to drop LOGFILE GROUP
-DROP DATABASE IF EXISTS mysqltest;
-**** End Duplicate Statement Testing ****
-
-**** Begin Statment CaSe Testing ****
-creaTE LOgfilE GrOuP lg1
-adD undoFILE 'undofile.dat'
-initiAL_siZE 1M
-UnDo_BuFfEr_SiZe = 1M
-ENGInE=NDb;
-altER LOgFiLE GrOUp lg1
-AdD UnDOfILe 'uNdOfiLe02.daT'
-INItIAl_SIzE 1M ENgINE nDB;
-CrEAtE TABLEspaCE ts1
-ADD DATAfilE 'datafile.dat'
-UsE LoGFiLE GRoUP lg1
-INITiaL_SizE 1M
-ENGiNe NDb;
-AlTeR tAbLeSpAcE ts1
-AdD DaTaFiLe 'dAtAfiLe2.daT'
-InItIaL_SiZe 1M
-EnGiNe=NDB;
-CREATE TABLE t1
-(pk1 int not null primary key, b int not null, c int not null)
-TABLEspace ts1 storAGE dISk
-ENGine nDb;
-DROP TABLE t1;
-AlteR TAblespaCE ts1
-droP DATAfile 'dAtAfiLe2.daT'
-ENGINE=NDB;
-ALter tablesPACE ts1
-dROp dAtAfIlE 'datafile.dat'
-ENGine=Ndb;
-DrOp TaBleSpAcE ts1
-engINE=ndB;
-DrOp lOgFiLe GrOuP lg1
-EnGiNe=nDb;
-**** End Statment CaSe Testing ****
-
-**** Begin = And No = Testing ****
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE=1M
-UNDO_BUFFER_SIZE=1M
-ENGINE=NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE=1M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE=1M
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE=1M
-ENGINE=NDB;
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-DROP TABLE t1;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-DROP TABLESPACE ts1
-ENGINE=NDB;
-DROP LOGFILE GROUP lg1
-ENGINE=NDB;
-
-**** End of = ****
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE 1M
-ENGINE NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M
-ENGINE NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE 1M
-ENGINE NDB;
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE MEMORY
-ENGINE NDB;
-ERROR HY000: Can't create table 'test.t1' (errno: 138)
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE NDB;
-CREATE INDEX b_i on t1(b);
-CREATE INDEX bc_i on t1(b, c);
-DROP TABLE t1;
-CREATE TABLESPACE ts2
-ADD DATAFILE 'datafile3.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile3.dat'
-ENGINE NDB;
-ERROR HY000: Failed to alter: NO SUCH FILE
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile2.dat'
-ENGINE NDB;
-ERROR HY000: Failed to alter: NO SUCH FILE
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE NDB;
-DROP TABLESPACE ts1
-ENGINE NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile3.dat'
-ENGINE NDB;
-DROP TABLESPACE ts2
-ENGINE NDB;
-DROP LOGFILE GROUP lg1
-ENGINE NDB;
-**** End = And No = ****
-create logfile group lg1 add undofile 'MYSQLTEST_VARDIR/tmp/t1.frm' initial_size 1M undo_buffer_size = 1M engine=ndb;;
-ERROR HY000: Failed to create UNDOFILE
-create logfile group lg1
-add undofile 'undofile.dat'
-initial_size 1M
-undo_buffer_size = 1M
-engine=ndb;
-create tablespace ts1 add datafile 'MYSQLTEST_VARDIR/tmp/t1.frm' use logfile group lg1 initial_size 1M engine ndb;;
-ERROR HY000: Failed to create DATAFILE
-drop tablespace ts1
-engine ndb;
-ERROR HY000: Failed to drop TABLESPACE
-drop logfile group lg1
-engine ndb;
-
-# -----------------------------------------------------------------
-# End 5.1 test
-# -----------------------------------------------------------------
-
-# --
-# -- WL#4300: Define privileges for tablespaces.
-# --
-GRANT CREATE TABLESPACE ON *.* TO mysqltest_u1@localhost;
-
-DROP DATABASE IF EXISTS mysqltest2;
-CREATE DATABASE mysqltest2;
-GRANT ALL PRIVILEGES ON mysqltest2.* TO mysqltest_u2@localhost;
-
-# -- Connection: mysqltest_u1@localhost
-
-# -- Grants for mysqltest_u1@localhost:
-SHOW GRANTS;
-Grants for mysqltest_u1@localhost
-GRANT CREATE TABLESPACE ON *.* TO 'mysqltest_u1'@'localhost'
-
-# -- Check CREATE LOGFILE GROUP...
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE = 1M
-ENGINE = NDB;
-
-# -- Check ALTER LOGFILE GROUP...
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M
-ENGINE = NDB;
-
-# -- Check CREATE TABLESPACE...
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE = NDB;
-
-# -- Check ALTER TABLESPACE...
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-INITIAL_SIZE 1M
-ENGINE = NDB;
-
-# -- Connection: mysqltest_u2@localhost
-
-# -- Grants for mysqltest_u2@localhost:
-SHOW GRANTS;
-Grants for mysqltest_u2@localhost
-GRANT USAGE ON *.* TO 'mysqltest_u2'@'localhost'
-GRANT ALL PRIVILEGES ON `mysqltest2`.* TO 'mysqltest_u2'@'localhost'
-CREATE TABLE t1(c INT) TABLESPACE ts1;
-DROP TABLE t1;
-
-# -- Connection: mysqltest_u1@localhost
-
-
-# -- Check DROP TABLESPACE...
-DROP TABLESPACE ts1
-ENGINE = NDB;
-
-# -- Check DROP LOGFILE GROUP...
-DROP LOGFILE GROUP lg1
-ENGINE = NDB;
-
-# -- Connection: root@localhost
-
-DROP USER mysqltest_u1@localhost;
-DROP USER mysqltest_u2@localhost;
-DROP DATABASE mysqltest2;
-
-# -----------------------------------------------------------------
-# End 6.0 test
-# -----------------------------------------------------------------
diff --git a/mysql-test/suite/ndb/r/ndb_dd_disk2memory.result b/mysql-test/suite/ndb/r/ndb_dd_disk2memory.result
deleted file mode 100644
index 46661f36d1b..00000000000
--- a/mysql-test/suite/ndb/r/ndb_dd_disk2memory.result
+++ /dev/null
@@ -1,505 +0,0 @@
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-**** Test Setup Section ****
-CREATE LOGFILE GROUP log_group1
-ADD UNDOFILE './log_group1/undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE table_space1
-ADD DATAFILE './table_space1/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE table_space1 STORAGE DISK
-ENGINE=NDB;
-CREATE TABLE test.t2
-(pk2 INT NOT NULL PRIMARY KEY, b2 INT NOT NULL, c2 INT NOT NULL)
-ENGINE=NDB;
-
-**** Data load for first test ****
-INSERT INTO test.t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
-INSERT INTO test.t2 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
-
-*** Test 1 Section Begins ***
-SELECT COUNT(*) FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4);
-COUNT(*)
-1
-SELECT * FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4);
-pk2 b2 c2 pk1 b c
-4 4 4 4 4 4
-SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 WHERE b IN (4);
-COUNT(*)
-1
-SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2 WHERE pk1 IN (75);
-COUNT(*)
-1
-SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
-b c
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-7 7
-8 8
-9 9
-10 10
-11 11
-12 12
-13 13
-14 14
-15 15
-16 16
-17 17
-18 18
-19 19
-20 20
-21 21
-22 22
-23 23
-24 24
-25 25
-26 26
-27 27
-28 28
-29 29
-30 30
-31 31
-32 32
-33 33
-34 34
-35 35
-36 36
-37 37
-38 38
-39 39
-40 40
-41 41
-42 42
-43 43
-44 44
-45 45
-46 46
-47 47
-48 48
-49 49
-50 50
-51 51
-52 52
-53 53
-54 54
-55 55
-56 56
-57 57
-58 58
-59 59
-60 60
-61 61
-62 62
-63 63
-64 64
-65 65
-66 66
-67 67
-68 68
-69 69
-70 70
-71 71
-72 72
-73 73
-74 74
-75 75
-
-*** Setup for test 2 ****
-DELETE FROM test.t1;
-INSERT INTO test.t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45);
-
-**** Test Section 2 ****
-SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
-b c
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-7 7
-8 8
-9 9
-10 10
-11 11
-12 12
-13 13
-14 14
-15 15
-16 16
-17 17
-18 18
-19 19
-20 20
-21 21
-22 22
-23 23
-24 24
-25 25
-26 26
-27 27
-28 28
-29 29
-30 30
-31 31
-32 32
-33 33
-34 34
-35 35
-36 36
-37 37
-38 38
-39 39
-40 40
-41 41
-42 42
-43 43
-44 44
-45 45
-SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2;
-COUNT(*)
-45
-SELECT COUNT(*) FROM test.t1 RIGHT JOIN test.t2 ON b=b2;
-COUNT(*)
-75
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `pk2` int(11) NOT NULL,
- `b2` int(11) NOT NULL,
- `c2` int(11) NOT NULL,
- PRIMARY KEY (`pk2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` int(11) NOT NULL,
- `b` int(11) NOT NULL,
- `c` int(11) NOT NULL,
- PRIMARY KEY (`pk1`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-ALTER TABLE test.t2 TABLESPACE table_space1 STORAGE DISK
-ENGINE=NDB;
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `pk2` int(11) NOT NULL,
- `b2` int(11) NOT NULL,
- `c2` int(11) NOT NULL,
- PRIMARY KEY (`pk2`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-ALTER TABLE test.t1 STORAGE MEMORY ENGINE=NDBCLUSTER;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` int(11) NOT NULL,
- `b` int(11) NOT NULL,
- `c` int(11) NOT NULL,
- PRIMARY KEY (`pk1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-*** Setup for Test Section 3 ***
-CREATE TABLE test.t1 (
-usr_id INT unsigned NOT NULL,
-uniq_id INT unsigned NOT NULL AUTO_INCREMENT,
-start_num INT unsigned NOT NULL DEFAULT 1,
-increment INT unsigned NOT NULL DEFAULT 1,
-PRIMARY KEY (uniq_id),
-INDEX usr_uniq_idx (usr_id, uniq_id),
-INDEX uniq_usr_idx (uniq_id, usr_id))
-TABLESPACE table_space1 STORAGE DISK
-ENGINE=NDB;
-CREATE TABLE test.t2 (
-id INT unsigned NOT NULL DEFAULT 0,
-usr2_id INT unsigned NOT NULL DEFAULT 0,
-max INT unsigned NOT NULL DEFAULT 0,
-c_amount INT unsigned NOT NULL DEFAULT 0,
-d_max INT unsigned NOT NULL DEFAULT 0,
-d_num INT unsigned NOT NULL DEFAULT 0,
-orig_time INT unsigned NOT NULL DEFAULT 0,
-c_time INT unsigned NOT NULL DEFAULT 0,
-active ENUM ("no","yes") NOT NULL,
-PRIMARY KEY (id,usr2_id),
-INDEX id_idx (id),
-INDEX usr2_idx (usr2_id))
-ENGINE=NDB;
-INSERT INTO test.t1 VALUES (3,NULL,0,50),(3,NULL,0,200),(3,NULL,0,25),(3,NULL,0,84676),(3,NULL,0,235),(3,NULL,0,10),(3,NULL,0,3098),(3,NULL,0,2947),(3,NULL,0,8987),(3,NULL,0,8347654),(3,NULL,0,20398),(3,NULL,0,8976),(3,NULL,0,500),(3,NULL,0,198);
-
-**** Test Section 3 ****
-SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
-test.t2.usr2_id,test.t2.c_amount,test.t2.max
-FROM test.t1
-LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
-WHERE test.t1.uniq_id = 4
-ORDER BY test.t2.c_amount;
-usr_id uniq_id increment usr2_id c_amount max
-3 4 84676 NULL NULL NULL
-INSERT INTO test.t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
-INSERT INTO test.t2 VALUES (4,3,3000,6000,0,0,746584,837484,'yes');
-INSERT INTO test.t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');
-SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
-test.t2.usr2_id,test.t2.c_amount,test.t2.max
-FROM test.t1
-LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
-WHERE test.t1.uniq_id = 4
-ORDER BY test.t2.c_amount;
-usr_id uniq_id increment usr2_id c_amount max
-3 4 84676 3 6000 3000
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-CREATE TABLE test.t1 (
-a1 smallint NOT NULL,
-a2 int NOT NULL,
-a3 bigint NOT NULL,
-a4 char(10),
-a5 decimal(5,1),
-a6 time,
-a7 date,
-a8 datetime,
-a9 VARCHAR(255),
-a10 blob,
-PRIMARY KEY(a1)
-) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-CREATE TABLE test.t2 (
-b1 smallint NOT NULL,
-b2 int NOT NULL,
-b3 bigint NOT NULL,
-b4 char(10),
-b5 decimal(5,1),
-b6 time,
-b7 date,
-b8 datetime,
-b9 VARCHAR(255),
-b10 blob,
-PRIMARY KEY(b1)
-) ENGINE=NDB;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` smallint(6) NOT NULL,
- `a2` int(11) NOT NULL,
- `a3` bigint(20) NOT NULL,
- `a4` char(10) DEFAULT NULL,
- `a5` decimal(5,1) DEFAULT NULL,
- `a6` time DEFAULT NULL,
- `a7` date DEFAULT NULL,
- `a8` datetime DEFAULT NULL,
- `a9` varchar(255) DEFAULT NULL,
- `a10` blob,
- PRIMARY KEY (`a1`),
- KEY `a2` (`a2`),
- KEY `a3` (`a3`),
- KEY `a8` (`a8`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-Table Create Table
-t2 CREATE TABLE `t2` (
- `b1` smallint(6) NOT NULL,
- `b2` int(11) NOT NULL,
- `b3` bigint(20) NOT NULL,
- `b4` char(10) DEFAULT NULL,
- `b5` decimal(5,1) DEFAULT NULL,
- `b6` time DEFAULT NULL,
- `b7` date DEFAULT NULL,
- `b8` datetime DEFAULT NULL,
- `b9` varchar(255) DEFAULT NULL,
- `b10` blob,
- PRIMARY KEY (`b1`),
- KEY `b2` (`b2`),
- KEY `b3` (`b3`),
- KEY `b8` (`b8`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
-1 2 2000000001 aaa1 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-2 3 2000000002 aaa2 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-3 4 2000000003 aaa3 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-4 5 2000000004 aaa4 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-5 6 2000000005 aaa5 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-6 7 2000000006 aaa6 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-7 8 2000000007 aaa7 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-8 9 2000000008 aaa8 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-9 10 2000000009 aaa9 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-10 11 2000000010 aaa10 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-11 12 2000000011 aaa11 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-12 13 2000000012 aaa12 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-13 14 2000000013 aaa13 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-14 15 2000000014 aaa14 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-15 16 2000000015 aaa15 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-16 17 2000000016 aaa16 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-17 18 2000000017 aaa17 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-18 19 2000000018 aaa18 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-19 20 2000000019 aaa19 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-20 21 2000000020 aaa20 34.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-b1 b2 b3 b4 b5 b6 b7 b8 b9 b10
-3 4 3000000001 aaa1 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb1 binary data
-4 5 3000000002 aaa2 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb2 binary data
-5 6 3000000003 aaa3 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb3 binary data
-6 7 3000000004 aaa4 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb4 binary data
-7 8 3000000005 aaa5 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb5 binary data
-8 9 3000000006 aaa6 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb6 binary data
-9 10 3000000007 aaa7 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb7 binary data
-10 11 3000000008 aaa8 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb8 binary data
-11 12 3000000009 aaa9 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb9 binary data
-12 13 3000000010 aaa10 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb10 binary data
-13 14 3000000011 aaa11 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb11 binary data
-14 15 3000000012 aaa12 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb12 binary data
-15 16 3000000013 aaa13 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb13 binary data
-16 17 3000000014 aaa14 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb14 binary data
-17 18 3000000015 aaa15 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb15 binary data
-18 19 3000000016 aaa16 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb16 binary data
-19 20 3000000017 aaa17 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb17 binary data
-20 21 3000000018 aaa18 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb18 binary data
-21 22 3000000019 aaa19 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb19 binary data
-22 23 3000000020 aaa20 35.2 04:03:02 2006-01-01 1971-05-28 16:55:03 bbbbbbbbbbbbb20 binary data
-COUNT(a1) a1 COUNT(a1)*a1
-1 1 1
-1 2 2
-1 3 3
-1 4 4
-1 5 5
-1 6 6
-1 7 7
-1 8 8
-1 9 9
-1 10 10
-1 11 11
-1 12 12
-1 13 13
-1 14 14
-1 15 15
-1 16 16
-1 17 17
-1 18 18
-1 19 19
-1 20 20
-COUNT(a2) (a2+1) COUNT(a2)*(a2+0)
-1 3 2
-1 4 3
-1 5 4
-1 6 5
-1 7 6
-1 8 7
-1 9 8
-1 10 9
-1 11 10
-1 12 11
-1 13 12
-1 14 13
-1 15 14
-1 16 15
-1 17 16
-1 18 17
-1 19 18
-1 20 19
-1 21 20
-1 22 21
-a
-8
-7
-6
-5
-a c
-8 Clavin
-7 Serge
-6 Jeb
-5 Stewart
-4 Martin
-3 Pekka
-a
-2
-3
-4
-5
-6
-7
-8
-a c
-4 Martin
-5 Stewart
-6 Jeb
-7 Serge
-8 Clavin
-a
-1
-1
-1
-2
-2
-3
-3
-a
-3
-2
-1
-a
-3
-2
-1
-a
-1
-2
-3
-email shipcode
-test1@testdomain.com Z001
-test2@testdomain.com R002
-test2@testdomain.com Z001
-test3@testdomain.com Z001
-email
-test1@testdomain.com
-test2@testdomain.com
-test3@testdomain.com
-email shipcode
-test1@testdomain.com Z001
-test2@testdomain.com Z001
-test2@testdomain.com R002
-test3@testdomain.com Z001
diff --git a/mysql-test/suite/ndb/r/ndb_dd_dump.result b/mysql-test/suite/ndb/r/ndb_dd_dump.result
deleted file mode 100644
index b48073df1fd..00000000000
--- a/mysql-test/suite/ndb/r/ndb_dd_dump.result
+++ /dev/null
@@ -1,452 +0,0 @@
-DROP TABLE IF EXISTS t1, t2, t3;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile_lg1_01.dat'
-INITIAL_SIZE 2M
-UNDO_BUFFER_SIZE = 1M
-ENGINE NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile_lg1_02.dat'
-INITIAL_SIZE = 4M
-ENGINE NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile_ts1_01.dat'
-USE LOGFILE GROUP lg1
-EXTENT_SIZE 1M
-INITIAL_SIZE 2M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile_ts1_02.dat'
-INITIAL_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE ts2
-ADD DATAFILE 'datafile_ts2_01.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 2M
-ENGINE NDB;
-CREATE TABLESPACE ts3
-ADD DATAFILE 'datafile_ts3_01.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 4M
-ENGINE NDB;
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-CREATE TABLE t2
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts2 STORAGE DISK
-ENGINE=NDB;
-CREATE TABLE t3
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts3 STORAGE DISK
-ENGINE=NDB;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-INSERT INTO t2 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5);
-INSERT INTO t3 VALUES
-(1,1,1);
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_01.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_02.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile_ts2_01.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts3
-DROP DATAFILE 'datafile_ts3_01.dat'
-ENGINE = NDB;
-DROP TABLESPACE ts1 ENGINE = NDB;
-DROP TABLESPACE ts2 ENGINE = NDB;
-DROP TABLESPACE ts3 ENGINE = NDB;
-DROP LOGFILE GROUP lg1 ENGINE = NDB;
-SELECT DISTINCT
-LOGFILE_GROUP_NAME,
-FILE_NAME,
-TOTAL_EXTENTS,
-INITIAL_SIZE,
-ENGINE
-FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE="UNDO LOG" ORDER BY FILE_NAME;
-LOGFILE_GROUP_NAME FILE_NAME TOTAL_EXTENTS INITIAL_SIZE ENGINE
-lg1 NULL NULL NULL ndbcluster
-lg1 undofile_lg1_01.dat 524288 2097152 ndbcluster
-lg1 undofile_lg1_02.dat 1048576 4194304 ndbcluster
-SELECT DISTINCT
-TABLESPACE_NAME,
-LOGFILE_GROUP_NAME,
-FILE_NAME,
-EXTENT_SIZE,
-INITIAL_SIZE,
-ENGINE
-FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE="DATAFILE" ORDER BY FILE_NAME;
-TABLESPACE_NAME LOGFILE_GROUP_NAME FILE_NAME EXTENT_SIZE INITIAL_SIZE ENGINE
-ts1 lg1 datafile_ts1_01.dat 1048576 2097152 ndbcluster
-ts1 lg1 datafile_ts1_02.dat 1048576 1048576 ndbcluster
-ts2 lg1 datafile_ts2_01.dat 1048576 2097152 ndbcluster
-ts3 lg1 datafile_ts3_01.dat 1048576 4194304 ndbcluster
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-500
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-5
-SELECT COUNT(*) FROM t3;
-COUNT(*)
-1
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-CREATE TABLE test.t (
-a smallint NOT NULL,
-b int NOT NULL,
-c bigint NOT NULL,
-d char(10),
-e TEXT,
-f VARCHAR(255),
-PRIMARY KEY(a)
-) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-ALTER TABLE test.t ADD INDEX (d), ADD INDEX (f);
-SHOW CREATE TABLE test.t;
-Table Create Table
-t CREATE TABLE `t` (
- `a` smallint(6) NOT NULL,
- `b` int(11) NOT NULL,
- `c` bigint(20) NOT NULL,
- `d` char(10) DEFAULT NULL,
- `e` text,
- `f` varchar(255) DEFAULT NULL,
- PRIMARY KEY (`a`),
- KEY `d` (`d`),
- KEY `f` (`f`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM test.t order by a;
-a b c d e f
-1 2 3 aaa1 bbb1 ccccc1
-2 3 4 aaa2 bbb2 ccccc2
-3 4 5 aaa3 bbb3 ccccc3
-4 5 6 aaa4 bbb4 ccccc4
-5 6 7 aaa5 bbb5 ccccc5
-6 7 8 aaa6 bbb6 ccccc6
-7 8 9 aaa7 bbb7 ccccc7
-8 9 10 aaa8 bbb8 ccccc8
-9 10 11 aaa9 bbb9 ccccc9
-10 11 12 aaa10 bbb10 ccccc10
-11 12 13 aaa11 bbb11 ccccc11
-12 13 14 aaa12 bbb12 ccccc12
-13 14 15 aaa13 bbb13 ccccc13
-14 15 16 aaa14 bbb14 ccccc14
-15 16 17 aaa15 bbb15 ccccc15
-16 17 18 aaa16 bbb16 ccccc16
-17 18 19 aaa17 bbb17 ccccc17
-18 19 20 aaa18 bbb18 ccccc18
-19 20 21 aaa19 bbb19 ccccc19
-20 21 22 aaa20 bbb20 ccccc20
-21 22 23 aaa21 bbb21 ccccc21
-22 23 24 aaa22 bbb22 ccccc22
-23 24 25 aaa23 bbb23 ccccc23
-24 25 26 aaa24 bbb24 ccccc24
-25 26 27 aaa25 bbb25 ccccc25
-26 27 28 aaa26 bbb26 ccccc26
-27 28 29 aaa27 bbb27 ccccc27
-28 29 30 aaa28 bbb28 ccccc28
-29 30 31 aaa29 bbb29 ccccc29
-30 31 32 aaa30 bbb30 ccccc30
-31 32 33 aaa31 bbb31 ccccc31
-32 33 34 aaa32 bbb32 ccccc32
-33 34 35 aaa33 bbb33 ccccc33
-34 35 36 aaa34 bbb34 ccccc34
-35 36 37 aaa35 bbb35 ccccc35
-36 37 38 aaa36 bbb36 ccccc36
-37 38 39 aaa37 bbb37 ccccc37
-38 39 40 aaa38 bbb38 ccccc38
-39 40 41 aaa39 bbb39 ccccc39
-40 41 42 aaa40 bbb40 ccccc40
-41 42 43 aaa41 bbb41 ccccc41
-42 43 44 aaa42 bbb42 ccccc42
-43 44 45 aaa43 bbb43 ccccc43
-44 45 46 aaa44 bbb44 ccccc44
-45 46 47 aaa45 bbb45 ccccc45
-46 47 48 aaa46 bbb46 ccccc46
-47 48 49 aaa47 bbb47 ccccc47
-48 49 50 aaa48 bbb48 ccccc48
-49 50 51 aaa49 bbb49 ccccc49
-50 51 52 aaa50 bbb50 ccccc50
-51 52 53 aaa51 bbb51 ccccc51
-52 53 54 aaa52 bbb52 ccccc52
-53 54 55 aaa53 bbb53 ccccc53
-54 55 56 aaa54 bbb54 ccccc54
-55 56 57 aaa55 bbb55 ccccc55
-56 57 58 aaa56 bbb56 ccccc56
-57 58 59 aaa57 bbb57 ccccc57
-58 59 60 aaa58 bbb58 ccccc58
-59 60 61 aaa59 bbb59 ccccc59
-60 61 62 aaa60 bbb60 ccccc60
-61 62 63 aaa61 bbb61 ccccc61
-62 63 64 aaa62 bbb62 ccccc62
-63 64 65 aaa63 bbb63 ccccc63
-64 65 66 aaa64 bbb64 ccccc64
-65 66 67 aaa65 bbb65 ccccc65
-66 67 68 aaa66 bbb66 ccccc66
-67 68 69 aaa67 bbb67 ccccc67
-68 69 70 aaa68 bbb68 ccccc68
-69 70 71 aaa69 bbb69 ccccc69
-70 71 72 aaa70 bbb70 ccccc70
-71 72 73 aaa71 bbb71 ccccc71
-72 73 74 aaa72 bbb72 ccccc72
-73 74 75 aaa73 bbb73 ccccc73
-74 75 76 aaa74 bbb74 ccccc74
-75 76 77 aaa75 bbb75 ccccc75
-76 77 78 aaa76 bbb76 ccccc76
-77 78 79 aaa77 bbb77 ccccc77
-78 79 80 aaa78 bbb78 ccccc78
-79 80 81 aaa79 bbb79 ccccc79
-80 81 82 aaa80 bbb80 ccccc80
-81 82 83 aaa81 bbb81 ccccc81
-82 83 84 aaa82 bbb82 ccccc82
-83 84 85 aaa83 bbb83 ccccc83
-84 85 86 aaa84 bbb84 ccccc84
-85 86 87 aaa85 bbb85 ccccc85
-86 87 88 aaa86 bbb86 ccccc86
-87 88 89 aaa87 bbb87 ccccc87
-88 89 90 aaa88 bbb88 ccccc88
-89 90 91 aaa89 bbb89 ccccc89
-90 91 92 aaa90 bbb90 ccccc90
-91 92 93 aaa91 bbb91 ccccc91
-92 93 94 aaa92 bbb92 ccccc92
-93 94 95 aaa93 bbb93 ccccc93
-94 95 96 aaa94 bbb94 ccccc94
-95 96 97 aaa95 bbb95 ccccc95
-96 97 98 aaa96 bbb96 ccccc96
-97 98 99 aaa97 bbb97 ccccc97
-98 99 100 aaa98 bbb98 ccccc98
-99 100 101 aaa99 bbb99 ccccc99
-100 101 102 aaa100 bbb100 ccccc100
-SELECT * INTO OUTFILE 't_backup' FROM test.t;
-TRUNCATE test.t;
-SELECT count(*) FROM test.t;
-count(*)
-0
-LOAD DATA INFILE 't_backup' INTO TABLE test.t;
-SELECT * FROM test.t order by a;
-a b c d e f
-1 2 3 aaa1 bbb1 ccccc1
-2 3 4 aaa2 bbb2 ccccc2
-3 4 5 aaa3 bbb3 ccccc3
-4 5 6 aaa4 bbb4 ccccc4
-5 6 7 aaa5 bbb5 ccccc5
-6 7 8 aaa6 bbb6 ccccc6
-7 8 9 aaa7 bbb7 ccccc7
-8 9 10 aaa8 bbb8 ccccc8
-9 10 11 aaa9 bbb9 ccccc9
-10 11 12 aaa10 bbb10 ccccc10
-11 12 13 aaa11 bbb11 ccccc11
-12 13 14 aaa12 bbb12 ccccc12
-13 14 15 aaa13 bbb13 ccccc13
-14 15 16 aaa14 bbb14 ccccc14
-15 16 17 aaa15 bbb15 ccccc15
-16 17 18 aaa16 bbb16 ccccc16
-17 18 19 aaa17 bbb17 ccccc17
-18 19 20 aaa18 bbb18 ccccc18
-19 20 21 aaa19 bbb19 ccccc19
-20 21 22 aaa20 bbb20 ccccc20
-21 22 23 aaa21 bbb21 ccccc21
-22 23 24 aaa22 bbb22 ccccc22
-23 24 25 aaa23 bbb23 ccccc23
-24 25 26 aaa24 bbb24 ccccc24
-25 26 27 aaa25 bbb25 ccccc25
-26 27 28 aaa26 bbb26 ccccc26
-27 28 29 aaa27 bbb27 ccccc27
-28 29 30 aaa28 bbb28 ccccc28
-29 30 31 aaa29 bbb29 ccccc29
-30 31 32 aaa30 bbb30 ccccc30
-31 32 33 aaa31 bbb31 ccccc31
-32 33 34 aaa32 bbb32 ccccc32
-33 34 35 aaa33 bbb33 ccccc33
-34 35 36 aaa34 bbb34 ccccc34
-35 36 37 aaa35 bbb35 ccccc35
-36 37 38 aaa36 bbb36 ccccc36
-37 38 39 aaa37 bbb37 ccccc37
-38 39 40 aaa38 bbb38 ccccc38
-39 40 41 aaa39 bbb39 ccccc39
-40 41 42 aaa40 bbb40 ccccc40
-41 42 43 aaa41 bbb41 ccccc41
-42 43 44 aaa42 bbb42 ccccc42
-43 44 45 aaa43 bbb43 ccccc43
-44 45 46 aaa44 bbb44 ccccc44
-45 46 47 aaa45 bbb45 ccccc45
-46 47 48 aaa46 bbb46 ccccc46
-47 48 49 aaa47 bbb47 ccccc47
-48 49 50 aaa48 bbb48 ccccc48
-49 50 51 aaa49 bbb49 ccccc49
-50 51 52 aaa50 bbb50 ccccc50
-51 52 53 aaa51 bbb51 ccccc51
-52 53 54 aaa52 bbb52 ccccc52
-53 54 55 aaa53 bbb53 ccccc53
-54 55 56 aaa54 bbb54 ccccc54
-55 56 57 aaa55 bbb55 ccccc55
-56 57 58 aaa56 bbb56 ccccc56
-57 58 59 aaa57 bbb57 ccccc57
-58 59 60 aaa58 bbb58 ccccc58
-59 60 61 aaa59 bbb59 ccccc59
-60 61 62 aaa60 bbb60 ccccc60
-61 62 63 aaa61 bbb61 ccccc61
-62 63 64 aaa62 bbb62 ccccc62
-63 64 65 aaa63 bbb63 ccccc63
-64 65 66 aaa64 bbb64 ccccc64
-65 66 67 aaa65 bbb65 ccccc65
-66 67 68 aaa66 bbb66 ccccc66
-67 68 69 aaa67 bbb67 ccccc67
-68 69 70 aaa68 bbb68 ccccc68
-69 70 71 aaa69 bbb69 ccccc69
-70 71 72 aaa70 bbb70 ccccc70
-71 72 73 aaa71 bbb71 ccccc71
-72 73 74 aaa72 bbb72 ccccc72
-73 74 75 aaa73 bbb73 ccccc73
-74 75 76 aaa74 bbb74 ccccc74
-75 76 77 aaa75 bbb75 ccccc75
-76 77 78 aaa76 bbb76 ccccc76
-77 78 79 aaa77 bbb77 ccccc77
-78 79 80 aaa78 bbb78 ccccc78
-79 80 81 aaa79 bbb79 ccccc79
-80 81 82 aaa80 bbb80 ccccc80
-81 82 83 aaa81 bbb81 ccccc81
-82 83 84 aaa82 bbb82 ccccc82
-83 84 85 aaa83 bbb83 ccccc83
-84 85 86 aaa84 bbb84 ccccc84
-85 86 87 aaa85 bbb85 ccccc85
-86 87 88 aaa86 bbb86 ccccc86
-87 88 89 aaa87 bbb87 ccccc87
-88 89 90 aaa88 bbb88 ccccc88
-89 90 91 aaa89 bbb89 ccccc89
-90 91 92 aaa90 bbb90 ccccc90
-91 92 93 aaa91 bbb91 ccccc91
-92 93 94 aaa92 bbb92 ccccc92
-93 94 95 aaa93 bbb93 ccccc93
-94 95 96 aaa94 bbb94 ccccc94
-95 96 97 aaa95 bbb95 ccccc95
-96 97 98 aaa96 bbb96 ccccc96
-97 98 99 aaa97 bbb97 ccccc97
-98 99 100 aaa98 bbb98 ccccc98
-99 100 101 aaa99 bbb99 ccccc99
-100 101 102 aaa100 bbb100 ccccc100
-DROP TABLE test.t;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_01.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_02.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile_ts2_01.dat'
-ENGINE = NDB;
-ALTER TABLESPACE ts3
-DROP DATAFILE 'datafile_ts3_01.dat'
-ENGINE = NDB;
-DROP TABLESPACE ts1 ENGINE = NDB;
-DROP TABLESPACE ts2 ENGINE = NDB;
-DROP TABLESPACE ts3 ENGINE = NDB;
-DROP LOGFILE GROUP lg1 ENGINE = NDB;
diff --git a/mysql-test/suite/ndb/r/ndb_dd_sql_features.result b/mysql-test/suite/ndb/r/ndb_dd_sql_features.result
deleted file mode 100644
index 135250fe7e8..00000000000
--- a/mysql-test/suite/ndb/r/ndb_dd_sql_features.result
+++ /dev/null
@@ -1,599 +0,0 @@
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-*****
-**** Copy data from table in one table space to table
-**** in different table space
-*****
-CREATE LOGFILE GROUP lg
-ADD UNDOFILE './lg_group/undofile.dat'
- INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE './table_space1/datafile.dat'
- USE LOGFILE GROUP lg
-INITIAL_SIZE 25M
-ENGINE NDB;
-CREATE TABLESPACE ts2
-ADD DATAFILE './table_space2/datafile.dat'
- USE LOGFILE GROUP lg
-INITIAL_SIZE 20M
-ENGINE NDB;
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` varchar(256) DEFAULT NULL,
- `a3` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a1` int(11) NOT NULL,
- `a2` varchar(256) DEFAULT NULL,
- `a3` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-INSERT INTO test.t1 VALUES (1,'111111','aaaaaaaa');
-INSERT INTO test.t1 VALUES (2,'222222','bbbbbbbb');
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 111111 aaaaaaaa
-2 222222 bbbbbbbb
-INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
-SELECT * FROM test.t2 ORDER BY a1;
-a1 a2 a3
-1 111111 aaaaaaaa
-2 222222 bbbbbbbb
-DROP TABLE test.t1, test.t2;
-set @vc1 = repeat('a', 200);
-set @vc2 = repeat('b', 500);
-set @vc3 = repeat('c', 1000);
-set @vc4 = repeat('d', 4000);
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-select length(@x0),length(@b1),length(@d1) from dual;
-length(@x0) length(@b1) length(@d1)
-256 2256 3000
-select length(@x0),length(@b2),length(@d2) from dual;
-length(@x0) length(@b2) length(@d2)
-256 20000 30000
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
-TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a1` int(11) NOT NULL,
- `a2` varchar(5000) DEFAULT NULL,
- `a3` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a1` int(11) NOT NULL,
- `a2` varchar(5000) DEFAULT NULL,
- `a3` blob,
- PRIMARY KEY (`a1`)
-) /*!50100 TABLESPACE ts2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-INSERT INTO test.t1 VALUES (1,@vc1,@d1);
-INSERT INTO test.t1 VALUES (2,@vc2,@b1);
-INSERT INTO test.t1 VALUES (3,@vc3,@d2);
-INSERT INTO test.t1 VALUES (4,@vc4,@b2);
-SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
-FROM test.t1 WHERE a1=1;
-a1 length(a2) substr(a2,180,2) length(a3) substr(a3,1+3*900,3)
-1 200 aa 3000 dd1
-SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
-FROM test.t1 where a1=2;
-a1 length(a2) substr(a2,480,2) length(a3) substr(a3,1+2*900,3)
-2 500 bb 2256 b1b
-INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
-SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
-FROM test.t2 WHERE a1=1;
-a1 length(a2) substr(a2,180,2) length(a3) substr(a3,1+3*900,3)
-1 200 aa 3000 dd1
-SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
-FROM test.t2 where a1=2;
-a1 length(a2) substr(a2,480,2) length(a3) substr(a3,1+2*900,3)
-2 500 bb 2256 b1b
-DROP TABLE test.t1, test.t2;
-*****
-**** Insert, Update, Delete from NDB table with BLOB fields
-*****
-set @vc1 = repeat('a', 200);
-set @vc2 = repeat('b', 500);
-set @vc3 = repeat('c', 1000);
-set @vc4 = repeat('d', 4000);
-set @vc5 = repeat('d', 5000);
-set @bb1 = repeat('1', 2000);
-set @bb2 = repeat('2', 5000);
-set @bb3 = repeat('3', 10000);
-set @bb4 = repeat('4', 40000);
-set @bb5 = repeat('5', 50000);
-select length(@vc1),length(@vc2),length(@vc3),length(@vc4),length(@vc5)
-from dual;
-length(@vc1) length(@vc2) length(@vc3) length(@vc4) length(@vc5)
-200 500 1000 4000 5000
-select length(@bb1),length(@bb2),length(@bb3),length(@bb4),length(@bb5)
-from dual;
-length(@bb1) length(@bb2) length(@bb3) length(@bb4) length(@bb5)
-2000 5000 10000 40000 50000
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-INSERT INTO test.t1 VALUES (1,@vc1,@bb1);
-INSERT INTO test.t1 VALUES (2,@vc2,@bb2);
-INSERT INTO test.t1 VALUES (3,@vc3,@bb3);
-INSERT INTO test.t1 VALUES (4,@vc4,@bb4);
-INSERT INTO test.t1 VALUES (5,@vc5,@bb5);
-UPDATE test.t1 SET a2=@vc5, a3=@bb5 WHERE a1=1;
-SELECT a1,length(a2),substr(a2,4998,2),length(a3),substr(a3,49997,3)
-FROM test.t1 WHERE a1=1;
-a1 length(a2) substr(a2,4998,2) length(a3) substr(a3,49997,3)
-1 5000 dd 50000 555
-UPDATE test.t1 SET a2=@vc4, a3=@bb4 WHERE a1=2;
-SELECT a1,length(a2),substr(a2,3998,2),length(a3),substr(a3,39997,3)
-FROM test.t1 WHERE a1=2;
-a1 length(a2) substr(a2,3998,2) length(a3) substr(a3,39997,3)
-2 4000 dd 40000 444
-UPDATE test.t1 SET a2=@vc2, a3=@bb2 WHERE a1=3;
-SELECT a1,length(a2),substr(a2,498,2),length(a3),substr(a3,3997,3)
-FROM test.t1 WHERE a1=3;
-a1 length(a2) substr(a2,498,2) length(a3) substr(a3,3997,3)
-3 500 bb 5000 222
-UPDATE test.t1 SET a2=@vc3, a3=@bb3 WHERE a1=4;
-SELECT a1,length(a2),substr(a2,998,2),length(a3),substr(a3,9997,3)
-FROM test.t1 WHERE a1=4;
-a1 length(a2) substr(a2,998,2) length(a3) substr(a3,9997,3)
-4 1000 cc 10000 333
-UPDATE test.t1 SET a2=@vc1, a3=@bb1 WHERE a1=5;
-SELECT a1,length(a2),substr(a2,198,2),length(a3),substr(a3,1997,3)
-FROM test.t1 WHERE a1=5;
-a1 length(a2) substr(a2,198,2) length(a3) substr(a3,1997,3)
-5 200 aa 2000 111
-DELETE FROM test.t1 where a1=5;
-SELECT count(*) from test.t1;
-count(*)
-4
-DELETE FROM test.t1 where a1=4;
-SELECT count(*) from test.t1;
-count(*)
-3
-DELETE FROM test.t1 where a1=3;
-SELECT count(*) from test.t1;
-count(*)
-2
-DELETE FROM test.t1 where a1=2;
-SELECT count(*) from test.t1;
-count(*)
-1
-DELETE FROM test.t1 where a1=1;
-SELECT count(*) from test.t1;
-count(*)
-0
-DROP TABLE test.t1;
-*****
-**** Create Stored procedures that use disk based tables
-*****
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB//
-CREATE PROCEDURE test.sp1()
-BEGIN
-INSERT INTO test.t1 values (1,'111111','aaaaaaaa');
-END//
-CALL test.sp1();
-SELECT * FROM test.t1;
-a1 a2 a3
-1 111111 aaaaaaaa
-CREATE PROCEDURE test.sp2(n INT, vc VARCHAR(256), blb BLOB)
-BEGIN
-UPDATE test.t1 SET a2=vc, a3=blb where a1=n;
-END//
-CALL test.sp2(1,'222222','bbbbbbbb');
-SELECT * FROM test.t1;
-a1 a2 a3
-1 222222 bbbbbbbb
-DELETE FROM test.t1;
-DROP PROCEDURE test.sp1;
-DROP PROCEDURE test.sp2;
-DROP TABLE test.t1;
-*****
-***** Create function that operate on disk based tables
-*****
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-CREATE FUNCTION test.fn1(n INT) RETURNS INT
-BEGIN
-DECLARE v INT;
-SELECT a1 INTO v FROM test.t1 WHERE a1=n;
-RETURN v;
-END//
-CREATE FUNCTION test.fn2(n INT, blb BLOB) RETURNS BLOB
-BEGIN
-DECLARE vv BLOB;
-UPDATE test.t1 SET a3=blb where a1=n;
-SELECT a3 INTO vv FROM test.t1 WHERE a1=n;
-RETURN vv;
-END//
-SELECT test.fn1(10) FROM DUAL;
-test.fn1(10)
-10
-SELECT test.fn2(50, 'new BLOB content') FROM DUAL;
-test.fn2(50, 'new BLOB content')
-new BLOB content
-DELETE FROM test.t1;
-DROP FUNCTION test.fn1;
-DROP FUNCTION test.fn2;
-DROP TABLE test.t1;
-*****
-***** Create triggers that operate on disk based tables
-*****
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-CREATE TRIGGER test.trg1 BEFORE INSERT ON test.t1 FOR EACH ROW
-BEGIN
-if isnull(new.a2) then
-set new.a2:= 'trg1 works on a2 field';
-end if;
-if isnull(new.a3) then
-set new.a3:= 'trg1 works on a3 field';
-end if;
-end//
-insert into test.t1 (a1) values (1)//
-insert into test.t1 (a1,a2) values (2, 'ccccccc')//
-select * from test.t1 order by a1//
-a1 a2 a3
-1 trg1 works on a2 field trg1 works on a3 field
-2 ccccccc trg1 works on a3 field
-DELETE FROM test.t1;
-DROP TRIGGER test.trg1;
-DROP TABLE test.t1;
-*****
-***** Create, update views that operate on disk based tables
-*****
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-CREATE VIEW test.v1 AS SELECT * FROM test.t1;
-SELECT * FROM test.v1 order by a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-2 aaaaa2 bbbbb2
-3 aaaaa3 bbbbb3
-4 aaaaa4 bbbbb4
-5 aaaaa5 bbbbb5
-6 aaaaa6 bbbbb6
-7 aaaaa7 bbbbb7
-8 aaaaa8 bbbbb8
-9 aaaaa9 bbbbb9
-10 aaaaa10 bbbbb10
-CHECK TABLE test.v1, test.t1;
-Table Op Msg_type Msg_text
-test.v1 check status OK
-test.t1 check note The storage engine for the table doesn't support check
-UPDATE test.v1 SET a2='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' WHERE a1=5;
-SELECT * FROM test.v1 order by a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-2 aaaaa2 bbbbb2
-3 aaaaa3 bbbbb3
-4 aaaaa4 bbbbb4
-5 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz bbbbb5
-6 aaaaa6 bbbbb6
-7 aaaaa7 bbbbb7
-8 aaaaa8 bbbbb8
-9 aaaaa9 bbbbb9
-10 aaaaa10 bbbbb10
-DROP VIEW test.v1;
-DELETE FROM test.t1;
-DROP TABLE test.t1;
-*****
-***** Create and use disk based table that use auto inc
-*****
-CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa10 bbbbb10
-2 aaaaa9 bbbbb9
-3 aaaaa8 bbbbb8
-4 aaaaa7 bbbbb7
-5 aaaaa6 bbbbb6
-6 aaaaa5 bbbbb5
-7 aaaaa4 bbbbb4
-8 aaaaa3 bbbbb3
-9 aaaaa2 bbbbb2
-10 aaaaa1 bbbbb1
-DELETE FROM test.t1;
-DROP TABLE test.t1;
-*****
-***** Create test that use transaction (commit, rollback)
-*****
-SET AUTOCOMMIT=0;
-CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
-COMMIT;
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
-ROLLBACK;
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-DELETE FROM test.t1;
-DROP TABLE test.t1;
-SET AUTOCOMMIT=1;
-CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-START TRANSACTION;
-INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
-COMMIT;
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-START TRANSACTION;
-INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
-ROLLBACK;
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-DELETE FROM test.t1;
-DROP TABLE test.t1;
-*****
-***** Create test that uses locks
-*****
-drop table if exists test.t1;
-CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-a2 VARCHAR(256), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-LOCK TABLES test.t1 write;
-INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
-INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-2 aaaaa2 bbbbb2
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-2 aaaaa2 bbbbb2
-INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
-UNLOCK TABLES;
-INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
-SELECT * FROM test.t1 ORDER BY a1;
-a1 a2 a3
-1 aaaaa1 bbbbb1
-2 aaaaa2 bbbbb2
-3 aaaaa3 bbbbb3
-4 aaaaa3 bbbbb3
-DELETE FROM test.t1;
-DROP TABLE test.t1;
-*****
-***** Create large disk base table, do random queries, check cache hits
-*****
-set @vc1 = repeat('a', 200);
-SELECT @vc1 FROM DUAL;
-@vc1
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-set @vc2 = repeat('b', 500);
-set @vc3 = repeat('b', 998);
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-select length(@x0),length(@b1),length(@d1) from dual;
-length(@x0) length(@b1) length(@d1)
-256 2256 3000
-select length(@x0),length(@b2),length(@d2) from dual;
-length(@x0) length(@b2) length(@d2)
-256 20000 30000
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(1000), a3 BLOB)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-INSERT INTO test.t1 values(1,@vc1,@d1);
-INSERT INTO test.t1 values(2,@vc2,@d2);
-explain SELECT * from test.t1 WHERE a1 = 1;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 const PRIMARY PRIMARY 4 const #
-SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
-FROM test.t1 WHERE a1=1 ORDER BY a1;
-a1 length(a2) substr(a2,1+2*900,2) length(a3) substr(a3,1+3*900,3)
-1 200 3000 dd1
-SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
-FROM test.t1 where a1=2 ORDER BY a1;
-a1 length(a2) substr(a2,1+2*9000,2) length(a3) substr(a3,1+3*9000,3)
-2 500 30000 dd2
-UPDATE test.t1 set a2=@vc2,a3=@d2 where a1=1;
-UPDATE test.t1 set a2=@vc1,a3=@d1 where a1=2;
-SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
-FROM test.t1 where a1=1;
-a1 length(a2) substr(a2,1+2*9000,2) length(a3) substr(a3,1+3*9000,3)
-1 500 30000 dd2
-SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
-FROM test.t1 where a1=2;
-a1 length(a2) substr(a2,1+2*900,2) length(a3) substr(a3,1+3*900,3)
-2 200 3000 dd1
-DELETE FROM test.t1;
-DROP TABLE test.t1;
-*****
-***** Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(),
-***** USER(), TRUNCATE
-*****
-CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256),
-a3 BLOB, a4 DATE, a5 CHAR(250))
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-SELECT COUNT(*) from test.t1;
-COUNT(*)
-100
-SELECT SUM(a1) from test.t1;
-SUM(a1)
-5050
-SELECT MIN(a1) from test.t1;
-MIN(a1)
-1
-SELECT MAX(a1) from test.t1;
-MAX(a1)
-100
-SELECT a5 from test.t1 where a1=50;
-a5
-root@localhost
-SELECT * from test.t1 order by a1;
-a1 a2 a3 a4 a5
-1 aaaaaaaaaaaaaaaa1 bbbbbbbbbbbbbbbbbb1 2006-06-20 root@localhost
-2 aaaaaaaaaaaaaaaa2 bbbbbbbbbbbbbbbbbb2 2006-06-20 root@localhost
-3 aaaaaaaaaaaaaaaa3 bbbbbbbbbbbbbbbbbb3 2006-06-20 root@localhost
-4 aaaaaaaaaaaaaaaa4 bbbbbbbbbbbbbbbbbb4 2006-06-20 root@localhost
-5 aaaaaaaaaaaaaaaa5 bbbbbbbbbbbbbbbbbb5 2006-06-20 root@localhost
-6 aaaaaaaaaaaaaaaa6 bbbbbbbbbbbbbbbbbb6 2006-06-20 root@localhost
-7 aaaaaaaaaaaaaaaa7 bbbbbbbbbbbbbbbbbb7 2006-06-20 root@localhost
-8 aaaaaaaaaaaaaaaa8 bbbbbbbbbbbbbbbbbb8 2006-06-20 root@localhost
-9 aaaaaaaaaaaaaaaa9 bbbbbbbbbbbbbbbbbb9 2006-06-20 root@localhost
-10 aaaaaaaaaaaaaaaa10 bbbbbbbbbbbbbbbbbb10 2006-06-20 root@localhost
-11 aaaaaaaaaaaaaaaa11 bbbbbbbbbbbbbbbbbb11 2006-06-20 root@localhost
-12 aaaaaaaaaaaaaaaa12 bbbbbbbbbbbbbbbbbb12 2006-06-20 root@localhost
-13 aaaaaaaaaaaaaaaa13 bbbbbbbbbbbbbbbbbb13 2006-06-20 root@localhost
-14 aaaaaaaaaaaaaaaa14 bbbbbbbbbbbbbbbbbb14 2006-06-20 root@localhost
-15 aaaaaaaaaaaaaaaa15 bbbbbbbbbbbbbbbbbb15 2006-06-20 root@localhost
-16 aaaaaaaaaaaaaaaa16 bbbbbbbbbbbbbbbbbb16 2006-06-20 root@localhost
-17 aaaaaaaaaaaaaaaa17 bbbbbbbbbbbbbbbbbb17 2006-06-20 root@localhost
-18 aaaaaaaaaaaaaaaa18 bbbbbbbbbbbbbbbbbb18 2006-06-20 root@localhost
-19 aaaaaaaaaaaaaaaa19 bbbbbbbbbbbbbbbbbb19 2006-06-20 root@localhost
-20 aaaaaaaaaaaaaaaa20 bbbbbbbbbbbbbbbbbb20 2006-06-20 root@localhost
-21 aaaaaaaaaaaaaaaa21 bbbbbbbbbbbbbbbbbb21 2006-06-20 root@localhost
-22 aaaaaaaaaaaaaaaa22 bbbbbbbbbbbbbbbbbb22 2006-06-20 root@localhost
-23 aaaaaaaaaaaaaaaa23 bbbbbbbbbbbbbbbbbb23 2006-06-20 root@localhost
-24 aaaaaaaaaaaaaaaa24 bbbbbbbbbbbbbbbbbb24 2006-06-20 root@localhost
-25 aaaaaaaaaaaaaaaa25 bbbbbbbbbbbbbbbbbb25 2006-06-20 root@localhost
-26 aaaaaaaaaaaaaaaa26 bbbbbbbbbbbbbbbbbb26 2006-06-20 root@localhost
-27 aaaaaaaaaaaaaaaa27 bbbbbbbbbbbbbbbbbb27 2006-06-20 root@localhost
-28 aaaaaaaaaaaaaaaa28 bbbbbbbbbbbbbbbbbb28 2006-06-20 root@localhost
-29 aaaaaaaaaaaaaaaa29 bbbbbbbbbbbbbbbbbb29 2006-06-20 root@localhost
-30 aaaaaaaaaaaaaaaa30 bbbbbbbbbbbbbbbbbb30 2006-06-20 root@localhost
-31 aaaaaaaaaaaaaaaa31 bbbbbbbbbbbbbbbbbb31 2006-06-20 root@localhost
-32 aaaaaaaaaaaaaaaa32 bbbbbbbbbbbbbbbbbb32 2006-06-20 root@localhost
-33 aaaaaaaaaaaaaaaa33 bbbbbbbbbbbbbbbbbb33 2006-06-20 root@localhost
-34 aaaaaaaaaaaaaaaa34 bbbbbbbbbbbbbbbbbb34 2006-06-20 root@localhost
-35 aaaaaaaaaaaaaaaa35 bbbbbbbbbbbbbbbbbb35 2006-06-20 root@localhost
-36 aaaaaaaaaaaaaaaa36 bbbbbbbbbbbbbbbbbb36 2006-06-20 root@localhost
-37 aaaaaaaaaaaaaaaa37 bbbbbbbbbbbbbbbbbb37 2006-06-20 root@localhost
-38 aaaaaaaaaaaaaaaa38 bbbbbbbbbbbbbbbbbb38 2006-06-20 root@localhost
-39 aaaaaaaaaaaaaaaa39 bbbbbbbbbbbbbbbbbb39 2006-06-20 root@localhost
-40 aaaaaaaaaaaaaaaa40 bbbbbbbbbbbbbbbbbb40 2006-06-20 root@localhost
-41 aaaaaaaaaaaaaaaa41 bbbbbbbbbbbbbbbbbb41 2006-06-20 root@localhost
-42 aaaaaaaaaaaaaaaa42 bbbbbbbbbbbbbbbbbb42 2006-06-20 root@localhost
-43 aaaaaaaaaaaaaaaa43 bbbbbbbbbbbbbbbbbb43 2006-06-20 root@localhost
-44 aaaaaaaaaaaaaaaa44 bbbbbbbbbbbbbbbbbb44 2006-06-20 root@localhost
-45 aaaaaaaaaaaaaaaa45 bbbbbbbbbbbbbbbbbb45 2006-06-20 root@localhost
-46 aaaaaaaaaaaaaaaa46 bbbbbbbbbbbbbbbbbb46 2006-06-20 root@localhost
-47 aaaaaaaaaaaaaaaa47 bbbbbbbbbbbbbbbbbb47 2006-06-20 root@localhost
-48 aaaaaaaaaaaaaaaa48 bbbbbbbbbbbbbbbbbb48 2006-06-20 root@localhost
-49 aaaaaaaaaaaaaaaa49 bbbbbbbbbbbbbbbbbb49 2006-06-20 root@localhost
-50 aaaaaaaaaaaaaaaa50 bbbbbbbbbbbbbbbbbb50 2006-06-20 root@localhost
-51 aaaaaaaaaaaaaaaa51 bbbbbbbbbbbbbbbbbb51 2006-06-20 root@localhost
-52 aaaaaaaaaaaaaaaa52 bbbbbbbbbbbbbbbbbb52 2006-06-20 root@localhost
-53 aaaaaaaaaaaaaaaa53 bbbbbbbbbbbbbbbbbb53 2006-06-20 root@localhost
-54 aaaaaaaaaaaaaaaa54 bbbbbbbbbbbbbbbbbb54 2006-06-20 root@localhost
-55 aaaaaaaaaaaaaaaa55 bbbbbbbbbbbbbbbbbb55 2006-06-20 root@localhost
-56 aaaaaaaaaaaaaaaa56 bbbbbbbbbbbbbbbbbb56 2006-06-20 root@localhost
-57 aaaaaaaaaaaaaaaa57 bbbbbbbbbbbbbbbbbb57 2006-06-20 root@localhost
-58 aaaaaaaaaaaaaaaa58 bbbbbbbbbbbbbbbbbb58 2006-06-20 root@localhost
-59 aaaaaaaaaaaaaaaa59 bbbbbbbbbbbbbbbbbb59 2006-06-20 root@localhost
-60 aaaaaaaaaaaaaaaa60 bbbbbbbbbbbbbbbbbb60 2006-06-20 root@localhost
-61 aaaaaaaaaaaaaaaa61 bbbbbbbbbbbbbbbbbb61 2006-06-20 root@localhost
-62 aaaaaaaaaaaaaaaa62 bbbbbbbbbbbbbbbbbb62 2006-06-20 root@localhost
-63 aaaaaaaaaaaaaaaa63 bbbbbbbbbbbbbbbbbb63 2006-06-20 root@localhost
-64 aaaaaaaaaaaaaaaa64 bbbbbbbbbbbbbbbbbb64 2006-06-20 root@localhost
-65 aaaaaaaaaaaaaaaa65 bbbbbbbbbbbbbbbbbb65 2006-06-20 root@localhost
-66 aaaaaaaaaaaaaaaa66 bbbbbbbbbbbbbbbbbb66 2006-06-20 root@localhost
-67 aaaaaaaaaaaaaaaa67 bbbbbbbbbbbbbbbbbb67 2006-06-20 root@localhost
-68 aaaaaaaaaaaaaaaa68 bbbbbbbbbbbbbbbbbb68 2006-06-20 root@localhost
-69 aaaaaaaaaaaaaaaa69 bbbbbbbbbbbbbbbbbb69 2006-06-20 root@localhost
-70 aaaaaaaaaaaaaaaa70 bbbbbbbbbbbbbbbbbb70 2006-06-20 root@localhost
-71 aaaaaaaaaaaaaaaa71 bbbbbbbbbbbbbbbbbb71 2006-06-20 root@localhost
-72 aaaaaaaaaaaaaaaa72 bbbbbbbbbbbbbbbbbb72 2006-06-20 root@localhost
-73 aaaaaaaaaaaaaaaa73 bbbbbbbbbbbbbbbbbb73 2006-06-20 root@localhost
-74 aaaaaaaaaaaaaaaa74 bbbbbbbbbbbbbbbbbb74 2006-06-20 root@localhost
-75 aaaaaaaaaaaaaaaa75 bbbbbbbbbbbbbbbbbb75 2006-06-20 root@localhost
-76 aaaaaaaaaaaaaaaa76 bbbbbbbbbbbbbbbbbb76 2006-06-20 root@localhost
-77 aaaaaaaaaaaaaaaa77 bbbbbbbbbbbbbbbbbb77 2006-06-20 root@localhost
-78 aaaaaaaaaaaaaaaa78 bbbbbbbbbbbbbbbbbb78 2006-06-20 root@localhost
-79 aaaaaaaaaaaaaaaa79 bbbbbbbbbbbbbbbbbb79 2006-06-20 root@localhost
-80 aaaaaaaaaaaaaaaa80 bbbbbbbbbbbbbbbbbb80 2006-06-20 root@localhost
-81 aaaaaaaaaaaaaaaa81 bbbbbbbbbbbbbbbbbb81 2006-06-20 root@localhost
-82 aaaaaaaaaaaaaaaa82 bbbbbbbbbbbbbbbbbb82 2006-06-20 root@localhost
-83 aaaaaaaaaaaaaaaa83 bbbbbbbbbbbbbbbbbb83 2006-06-20 root@localhost
-84 aaaaaaaaaaaaaaaa84 bbbbbbbbbbbbbbbbbb84 2006-06-20 root@localhost
-85 aaaaaaaaaaaaaaaa85 bbbbbbbbbbbbbbbbbb85 2006-06-20 root@localhost
-86 aaaaaaaaaaaaaaaa86 bbbbbbbbbbbbbbbbbb86 2006-06-20 root@localhost
-87 aaaaaaaaaaaaaaaa87 bbbbbbbbbbbbbbbbbb87 2006-06-20 root@localhost
-88 aaaaaaaaaaaaaaaa88 bbbbbbbbbbbbbbbbbb88 2006-06-20 root@localhost
-89 aaaaaaaaaaaaaaaa89 bbbbbbbbbbbbbbbbbb89 2006-06-20 root@localhost
-90 aaaaaaaaaaaaaaaa90 bbbbbbbbbbbbbbbbbb90 2006-06-20 root@localhost
-91 aaaaaaaaaaaaaaaa91 bbbbbbbbbbbbbbbbbb91 2006-06-20 root@localhost
-92 aaaaaaaaaaaaaaaa92 bbbbbbbbbbbbbbbbbb92 2006-06-20 root@localhost
-93 aaaaaaaaaaaaaaaa93 bbbbbbbbbbbbbbbbbb93 2006-06-20 root@localhost
-94 aaaaaaaaaaaaaaaa94 bbbbbbbbbbbbbbbbbb94 2006-06-20 root@localhost
-95 aaaaaaaaaaaaaaaa95 bbbbbbbbbbbbbbbbbb95 2006-06-20 root@localhost
-96 aaaaaaaaaaaaaaaa96 bbbbbbbbbbbbbbbbbb96 2006-06-20 root@localhost
-97 aaaaaaaaaaaaaaaa97 bbbbbbbbbbbbbbbbbb97 2006-06-20 root@localhost
-98 aaaaaaaaaaaaaaaa98 bbbbbbbbbbbbbbbbbb98 2006-06-20 root@localhost
-99 aaaaaaaaaaaaaaaa99 bbbbbbbbbbbbbbbbbb99 2006-06-20 root@localhost
-100 aaaaaaaaaaaaaaaa100 bbbbbbbbbbbbbbbbbb100 2006-06-20 root@localhost
-DROP TABLE test.t1;
-ALTER TABLESPACE ts1
-DROP DATAFILE './table_space1/datafile.dat'
- ENGINE=NDB;
-DROP TABLESPACE ts1 ENGINE=NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE './table_space2/datafile.dat'
- ENGINE=NDB;
-DROP TABLESPACE ts2 ENGINE=NDB;
-DROP LOGFILE GROUP lg
-ENGINE=NDB;
diff --git a/mysql-test/suite/ndb/r/ndb_gis.result b/mysql-test/suite/ndb/r/ndb_gis.result
deleted file mode 100644
index 76a53804d8f..00000000000
--- a/mysql-test/suite/ndb/r/ndb_gis.result
+++ /dev/null
@@ -1,1100 +0,0 @@
-SET storage_engine=ndbcluster;
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT);
-CREATE TABLE gis_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRY);
-SHOW CREATE TABLE gis_point;
-Table Create Table
-gis_point CREATE TABLE `gis_point` (
- `fid` int(11) NOT NULL AUTO_INCREMENT,
- `g` point DEFAULT NULL,
- PRIMARY KEY (`fid`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW FIELDS FROM gis_point;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g point YES NULL
-SHOW FIELDS FROM gis_line;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g linestring YES NULL
-SHOW FIELDS FROM gis_polygon;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g polygon YES NULL
-SHOW FIELDS FROM gis_multi_point;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g multipoint YES NULL
-SHOW FIELDS FROM gis_multi_line;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g multilinestring YES NULL
-SHOW FIELDS FROM gis_multi_polygon;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g multipolygon YES NULL
-SHOW FIELDS FROM gis_geometrycollection;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g geometrycollection YES NULL
-SHOW FIELDS FROM gis_geometry;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g geometry YES NULL
-INSERT INTO gis_point VALUES
-(101, PointFromText('POINT(10 10)')),
-(102, PointFromText('POINT(20 10)')),
-(103, PointFromText('POINT(20 20)')),
-(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
-INSERT INTO gis_line VALUES
-(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),
-(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),
-(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))));
-INSERT INTO gis_polygon VALUES
-(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
-(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
-(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))));
-INSERT INTO gis_multi_point VALUES
-(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),
-(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),
-(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))));
-INSERT INTO gis_multi_line VALUES
-(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),
-(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),
-(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))));
-INSERT INTO gis_multi_polygon VALUES
-(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))));
-INSERT INTO gis_geometrycollection VALUES
-(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),
-(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))));
-INSERT into gis_geometry SELECT * FROM gis_point;
-INSERT into gis_geometry SELECT * FROM gis_line;
-INSERT into gis_geometry SELECT * FROM gis_polygon;
-INSERT into gis_geometry SELECT * FROM gis_multi_point;
-INSERT into gis_geometry SELECT * FROM gis_multi_line;
-INSERT into gis_geometry SELECT * FROM gis_multi_polygon;
-INSERT into gis_geometry SELECT * FROM gis_geometrycollection;
-SELECT fid, AsText(g) FROM gis_point ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-SELECT fid, AsText(g) FROM gis_line ORDER by fid;
-fid AsText(g)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-SELECT fid, AsText(g) FROM gis_polygon ORDER by fid;
-fid AsText(g)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid;
-fid AsText(g)
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid;
-fid AsText(g)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid;
-fid AsText(g)
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid;
-fid AsText(g)
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, AsText(g) FROM gis_geometry ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid;
-fid Dimension(g)
-101 0
-102 0
-103 0
-104 0
-105 1
-106 1
-107 1
-108 2
-109 2
-110 2
-111 0
-112 0
-113 0
-114 1
-115 1
-116 1
-117 2
-118 2
-119 2
-120 1
-121 1
-SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid;
-fid GeometryType(g)
-101 POINT
-102 POINT
-103 POINT
-104 POINT
-105 LINESTRING
-106 LINESTRING
-107 LINESTRING
-108 POLYGON
-109 POLYGON
-110 POLYGON
-111 MULTIPOINT
-112 MULTIPOINT
-113 MULTIPOINT
-114 MULTILINESTRING
-115 MULTILINESTRING
-116 MULTILINESTRING
-117 MULTIPOLYGON
-118 MULTIPOLYGON
-119 MULTIPOLYGON
-120 GEOMETRYCOLLECTION
-121 GEOMETRYCOLLECTION
-SELECT fid, IsEmpty(g) FROM gis_geometry ORDER by fid;
-fid IsEmpty(g)
-101 0
-102 0
-103 0
-104 0
-105 0
-106 0
-107 0
-108 0
-109 0
-110 0
-111 0
-112 0
-113 0
-114 0
-115 0
-116 0
-117 0
-118 0
-119 0
-120 0
-121 0
-SELECT fid, AsText(Envelope(g)) FROM gis_geometry ORDER by fid;
-fid AsText(Envelope(g))
-101 POLYGON((10 10,10 10,10 10,10 10,10 10))
-102 POLYGON((20 10,20 10,20 10,20 10,20 10))
-103 POLYGON((20 20,20 20,20 20,20 20,20 20))
-104 POLYGON((10 20,10 20,10 20,10 20,10 20))
-105 POLYGON((0 0,10 0,10 10,0 10,0 0))
-106 POLYGON((10 10,20 10,20 20,10 20,10 10))
-107 POLYGON((10 10,40 10,40 10,10 10,10 10))
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0))
-110 POLYGON((0 0,30 0,30 30,0 30,0 0))
-111 POLYGON((0 0,20 0,20 20,0 20,0 0))
-112 POLYGON((1 1,21 1,21 21,1 21,1 1))
-113 POLYGON((3 6,4 6,4 10,3 10,3 6))
-114 POLYGON((10 0,16 0,16 48,10 48,10 0))
-115 POLYGON((10 0,10 0,10 48,10 48,10 0))
-116 POLYGON((1 2,21 2,21 8,1 8,1 2))
-117 POLYGON((28 0,84 0,84 42,28 42,28 0))
-118 POLYGON((28 0,84 0,84 42,28 42,28 0))
-119 POLYGON((0 0,3 0,3 3,0 3,0 0))
-120 POLYGON((0 0,10 0,10 10,0 10,0 0))
-121 POLYGON((3 6,44 6,44 9,3 9,3 6))
-explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 100.00
-Warnings:
-Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
-SELECT fid, X(g) FROM gis_point ORDER by fid;
-fid X(g)
-101 10
-102 20
-103 20
-104 10
-SELECT fid, Y(g) FROM gis_point ORDER by fid;
-fid Y(g)
-101 10
-102 10
-103 20
-104 20
-explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 100.00
-Warnings:
-Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
-SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(StartPoint(g))
-105 POINT(0 0)
-106 POINT(10 10)
-107 POINT(10 10)
-SELECT fid, AsText(EndPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(EndPoint(g))
-105 POINT(10 0)
-106 POINT(10 10)
-107 POINT(40 10)
-SELECT fid, GLength(g) FROM gis_line ORDER by fid;
-fid GLength(g)
-105 24.14213562373095
-106 40
-107 30
-SELECT fid, NumPoints(g) FROM gis_line ORDER by fid;
-fid NumPoints(g)
-105 3
-106 5
-107 2
-SELECT fid, AsText(PointN(g, 2)) FROM gis_line ORDER by fid;
-fid AsText(PointN(g, 2))
-105 POINT(0 10)
-106 POINT(20 10)
-107 POINT(40 10)
-SELECT fid, IsClosed(g) FROM gis_line ORDER by fid;
-fid IsClosed(g)
-105 0
-106 1
-107 0
-explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
-SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
-fid AsText(Centroid(g))
-108 POINT(15 15)
-109 POINT(25.416666666666668 25.416666666666668)
-110 POINT(20 10)
-SELECT fid, Area(g) FROM gis_polygon ORDER by fid;
-fid Area(g)
-108 100
-109 2400
-110 450
-SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon ORDER by fid;
-fid AsText(ExteriorRing(g))
-108 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-109 LINESTRING(0 0,50 0,50 50,0 50,0 0)
-110 LINESTRING(0 0,30 0,30 30,0 0)
-SELECT fid, NumInteriorRings(g) FROM gis_polygon ORDER by fid;
-fid NumInteriorRings(g)
-108 0
-109 1
-110 0
-SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon ORDER by fid;
-fid AsText(InteriorRingN(g, 1))
-108 NULL
-109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-110 NULL
-explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
-SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
-fid IsClosed(g)
-114 0
-115 0
-116 0
-SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
-fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
-119 POINT(2 2)
-SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
-fid Area(g)
-117 1684.5
-118 1684.5
-119 4.5
-SELECT fid, NumGeometries(g) from gis_multi_point ORDER by fid;
-fid NumGeometries(g)
-111 4
-112 4
-113 2
-SELECT fid, NumGeometries(g) from gis_multi_line ORDER by fid;
-fid NumGeometries(g)
-114 2
-115 1
-116 2
-SELECT fid, NumGeometries(g) from gis_multi_polygon ORDER by fid;
-fid NumGeometries(g)
-117 2
-118 2
-119 1
-SELECT fid, NumGeometries(g) from gis_geometrycollection ORDER by fid;
-fid NumGeometries(g)
-120 2
-121 2
-explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
-fid AsText(GeometryN(g, 2))
-111 POINT(10 10)
-112 POINT(11 11)
-113 POINT(4 10)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid;
-fid AsText(GeometryN(g, 2))
-114 LINESTRING(16 0,16 23,16 48)
-115 NULL
-116 LINESTRING(2 5,5 8,21 7)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid;
-fid AsText(GeometryN(g, 2))
-117 POLYGON((59 18,67 18,67 13,59 13,59 18))
-118 POLYGON((59 18,67 18,67 13,59 13,59 18))
-119 NULL
-SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 2))
-120 LINESTRING(0 0,10 10)
-121 LINESTRING(3 6,7 9)
-SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 1))
-120 POINT(0 0)
-121 POINT(44 6)
-explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
-SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-first second w c o e d t i r
-120 120 1 1 0 1 0 0 1 0
-120 121 0 0 1 0 0 0 1 0
-121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 0 1 0
-explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer
-Warnings:
-Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
-DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE t1 (
-a INTEGER PRIMARY KEY AUTO_INCREMENT,
-gp point,
-ln linestring,
-pg polygon,
-mp multipoint,
-mln multilinestring,
-mpg multipolygon,
-gc geometrycollection,
-gm geometry
-);
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-a int(11) NO PRI NULL auto_increment
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-ALTER TABLE t1 ADD fid INT;
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-a int(11) NO PRI NULL auto_increment
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-fid int(11) YES NULL
-DROP TABLE t1;
-create table t1 (pk integer primary key auto_increment, a geometry not null);
-insert into t1 (a) values (GeomFromText('Point(1 2)'));
-insert into t1 (a) values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 (a) values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-drop table t1;
-create table t1 (pk integer primary key auto_increment, fl geometry not null);
-insert into t1 (fl) values (1);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 (fl) values (1.11);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 (fl) values ("qwerty");
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 (fl) values (pointfromtext('point(1,1)'));
-ERROR 23000: Column 'fl' cannot be null
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'));
-INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
-INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))'));
-INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))'));
-INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))'));
-INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))'));
-INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))'));
-INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))'));
-INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))'));
-INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))'));
-INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))'));
-INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))'));
-INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))'));
-INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))'));
-INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))'));
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrcontains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrdisjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrequal
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrintersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbroverlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrtouches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrwithin
-big,center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-contains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-disjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-equals
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-intersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-overlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-touches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-within
-big,center
-SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');
-SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))');
-SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))');
-SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');
-SET @point1 = GeomFromText('POLYGON ((0 0))');
-SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
-overlaps
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
-overlaps
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-Overlaps(@horiz1, @vert1)
-0
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-Overlaps(@horiz1, @horiz2)
-1
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-Overlaps(@horiz1, @horiz3)
-0
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-Overlaps(@horiz1, @point1)
-0
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
-Overlaps(@horiz1, @point2)
-0
-DROP TABLE t1;
-End of 5.0 tests
-set optimizer_switch = "engine_condition_pushdown=on";
-DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE gis_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT);
-CREATE TABLE gis_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING);
-CREATE TABLE gis_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POLYGON);
-CREATE TABLE gis_multi_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOINT);
-CREATE TABLE gis_multi_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTILINESTRING);
-CREATE TABLE gis_multi_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON);
-CREATE TABLE gis_geometrycollection (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRYCOLLECTION);
-CREATE TABLE gis_geometry (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRY);
-SHOW CREATE TABLE gis_point;
-Table Create Table
-gis_point CREATE TABLE `gis_point` (
- `fid` int(11) NOT NULL AUTO_INCREMENT,
- `g` point DEFAULT NULL,
- PRIMARY KEY (`fid`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW FIELDS FROM gis_point;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g point YES NULL
-SHOW FIELDS FROM gis_line;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g linestring YES NULL
-SHOW FIELDS FROM gis_polygon;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g polygon YES NULL
-SHOW FIELDS FROM gis_multi_point;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g multipoint YES NULL
-SHOW FIELDS FROM gis_multi_line;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g multilinestring YES NULL
-SHOW FIELDS FROM gis_multi_polygon;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g multipolygon YES NULL
-SHOW FIELDS FROM gis_geometrycollection;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g geometrycollection YES NULL
-SHOW FIELDS FROM gis_geometry;
-Field Type Null Key Default Extra
-fid int(11) NO PRI NULL auto_increment
-g geometry YES NULL
-INSERT INTO gis_point VALUES
-(101, PointFromText('POINT(10 10)')),
-(102, PointFromText('POINT(20 10)')),
-(103, PointFromText('POINT(20 20)')),
-(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
-INSERT INTO gis_line VALUES
-(105, LineFromText('LINESTRING(0 0,0 10,10 0)')),
-(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')),
-(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))));
-INSERT INTO gis_polygon VALUES
-(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),
-(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')),
-(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))));
-INSERT INTO gis_multi_point VALUES
-(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')),
-(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')),
-(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))));
-INSERT INTO gis_multi_line VALUES
-(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')),
-(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')),
-(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))));
-INSERT INTO gis_multi_polygon VALUES
-(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')),
-(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))));
-INSERT INTO gis_geometrycollection VALUES
-(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')),
-(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))));
-INSERT into gis_geometry SELECT * FROM gis_point;
-INSERT into gis_geometry SELECT * FROM gis_line;
-INSERT into gis_geometry SELECT * FROM gis_polygon;
-INSERT into gis_geometry SELECT * FROM gis_multi_point;
-INSERT into gis_geometry SELECT * FROM gis_multi_line;
-INSERT into gis_geometry SELECT * FROM gis_multi_polygon;
-INSERT into gis_geometry SELECT * FROM gis_geometrycollection;
-SELECT fid, AsText(g) FROM gis_point ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-SELECT fid, AsText(g) FROM gis_line ORDER by fid;
-fid AsText(g)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-SELECT fid, AsText(g) FROM gis_polygon ORDER by fid;
-fid AsText(g)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid;
-fid AsText(g)
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid;
-fid AsText(g)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid;
-fid AsText(g)
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid;
-fid AsText(g)
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, AsText(g) FROM gis_geometry ORDER by fid;
-fid AsText(g)
-101 POINT(10 10)
-102 POINT(20 10)
-103 POINT(20 20)
-104 POINT(10 20)
-105 LINESTRING(0 0,0 10,10 0)
-106 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-107 LINESTRING(10 10,40 10)
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-110 POLYGON((0 0,30 0,30 30,0 0))
-111 MULTIPOINT(0 0,10 10,10 20,20 20)
-112 MULTIPOINT(1 1,11 11,11 21,21 21)
-113 MULTIPOINT(3 6,4 10)
-114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))
-115 MULTILINESTRING((10 48,10 21,10 0))
-116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))
-117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-119 MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
-121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid;
-fid Dimension(g)
-101 0
-102 0
-103 0
-104 0
-105 1
-106 1
-107 1
-108 2
-109 2
-110 2
-111 0
-112 0
-113 0
-114 1
-115 1
-116 1
-117 2
-118 2
-119 2
-120 1
-121 1
-SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid;
-fid GeometryType(g)
-101 POINT
-102 POINT
-103 POINT
-104 POINT
-105 LINESTRING
-106 LINESTRING
-107 LINESTRING
-108 POLYGON
-109 POLYGON
-110 POLYGON
-111 MULTIPOINT
-112 MULTIPOINT
-113 MULTIPOINT
-114 MULTILINESTRING
-115 MULTILINESTRING
-116 MULTILINESTRING
-117 MULTIPOLYGON
-118 MULTIPOLYGON
-119 MULTIPOLYGON
-120 GEOMETRYCOLLECTION
-121 GEOMETRYCOLLECTION
-SELECT fid, IsEmpty(g) FROM gis_geometry ORDER by fid;
-fid IsEmpty(g)
-101 0
-102 0
-103 0
-104 0
-105 0
-106 0
-107 0
-108 0
-109 0
-110 0
-111 0
-112 0
-113 0
-114 0
-115 0
-116 0
-117 0
-118 0
-119 0
-120 0
-121 0
-SELECT fid, AsText(Envelope(g)) FROM gis_geometry ORDER by fid;
-fid AsText(Envelope(g))
-101 POLYGON((10 10,10 10,10 10,10 10,10 10))
-102 POLYGON((20 10,20 10,20 10,20 10,20 10))
-103 POLYGON((20 20,20 20,20 20,20 20,20 20))
-104 POLYGON((10 20,10 20,10 20,10 20,10 20))
-105 POLYGON((0 0,10 0,10 10,0 10,0 0))
-106 POLYGON((10 10,20 10,20 20,10 20,10 10))
-107 POLYGON((10 10,40 10,40 10,10 10,10 10))
-108 POLYGON((10 10,20 10,20 20,10 20,10 10))
-109 POLYGON((0 0,50 0,50 50,0 50,0 0))
-110 POLYGON((0 0,30 0,30 30,0 30,0 0))
-111 POLYGON((0 0,20 0,20 20,0 20,0 0))
-112 POLYGON((1 1,21 1,21 21,1 21,1 1))
-113 POLYGON((3 6,4 6,4 10,3 10,3 6))
-114 POLYGON((10 0,16 0,16 48,10 48,10 0))
-115 POLYGON((10 0,10 0,10 48,10 48,10 0))
-116 POLYGON((1 2,21 2,21 8,1 8,1 2))
-117 POLYGON((28 0,84 0,84 42,28 42,28 0))
-118 POLYGON((28 0,84 0,84 42,28 42,28 0))
-119 POLYGON((0 0,3 0,3 3,0 3,0 0))
-120 POLYGON((0 0,10 0,10 10,0 10,0 0))
-121 POLYGON((3 6,44 6,44 9,3 9,3 6))
-explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 100.00
-Warnings:
-Note 1003 select dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,astext(envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry`
-SELECT fid, X(g) FROM gis_point ORDER by fid;
-fid X(g)
-101 10
-102 20
-103 20
-104 10
-SELECT fid, Y(g) FROM gis_point ORDER by fid;
-fid Y(g)
-101 10
-102 10
-103 20
-104 20
-explain extended select X(g),Y(g) FROM gis_point;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 100.00
-Warnings:
-Note 1003 select x(`test`.`gis_point`.`g`) AS `X(g)`,y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point`
-SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(StartPoint(g))
-105 POINT(0 0)
-106 POINT(10 10)
-107 POINT(10 10)
-SELECT fid, AsText(EndPoint(g)) FROM gis_line ORDER by fid;
-fid AsText(EndPoint(g))
-105 POINT(10 0)
-106 POINT(10 10)
-107 POINT(40 10)
-SELECT fid, GLength(g) FROM gis_line ORDER by fid;
-fid GLength(g)
-105 24.14213562373095
-106 40
-107 30
-SELECT fid, NumPoints(g) FROM gis_line ORDER by fid;
-fid NumPoints(g)
-105 3
-106 5
-107 2
-SELECT fid, AsText(PointN(g, 2)) FROM gis_line ORDER by fid;
-fid AsText(PointN(g, 2))
-105 POINT(0 10)
-106 POINT(20 10)
-107 POINT(40 10)
-SELECT fid, IsClosed(g) FROM gis_line ORDER by fid;
-fid IsClosed(g)
-105 0
-106 1
-107 0
-explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select astext(startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,astext(endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,glength(`test`.`gis_line`.`g`) AS `GLength(g)`,numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,astext(pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line`
-SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid;
-fid AsText(Centroid(g))
-108 POINT(15 15)
-109 POINT(25.416666666666668 25.416666666666668)
-110 POINT(20 10)
-SELECT fid, Area(g) FROM gis_polygon ORDER by fid;
-fid Area(g)
-108 100
-109 2400
-110 450
-SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon ORDER by fid;
-fid AsText(ExteriorRing(g))
-108 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-109 LINESTRING(0 0,50 0,50 50,0 50,0 0)
-110 LINESTRING(0 0,30 0,30 30,0 0)
-SELECT fid, NumInteriorRings(g) FROM gis_polygon ORDER by fid;
-fid NumInteriorRings(g)
-108 0
-109 1
-110 0
-SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon ORDER by fid;
-fid AsText(InteriorRingN(g, 1))
-108 NULL
-109 LINESTRING(10 10,20 10,20 20,10 20,10 10)
-110 NULL
-explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select astext(centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,area(`test`.`gis_polygon`.`g`) AS `Area(g)`,astext(exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,astext(interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon`
-SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid;
-fid IsClosed(g)
-114 0
-115 0
-116 0
-SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid;
-fid AsText(Centroid(g))
-117 POINT(55.58852775304245 17.426536064113982)
-118 POINT(55.58852775304245 17.426536064113982)
-119 POINT(2 2)
-SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid;
-fid Area(g)
-117 1684.5
-118 1684.5
-119 4.5
-SELECT fid, NumGeometries(g) from gis_multi_point ORDER by fid;
-fid NumGeometries(g)
-111 4
-112 4
-113 2
-SELECT fid, NumGeometries(g) from gis_multi_line ORDER by fid;
-fid NumGeometries(g)
-114 2
-115 1
-116 2
-SELECT fid, NumGeometries(g) from gis_multi_polygon ORDER by fid;
-fid NumGeometries(g)
-117 2
-118 2
-119 1
-SELECT fid, NumGeometries(g) from gis_geometrycollection ORDER by fid;
-fid NumGeometries(g)
-120 2
-121 2
-explain extended SELECT fid, NumGeometries(g) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point`
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid;
-fid AsText(GeometryN(g, 2))
-111 POINT(10 10)
-112 POINT(11 11)
-113 POINT(4 10)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid;
-fid AsText(GeometryN(g, 2))
-114 LINESTRING(16 0,16 23,16 48)
-115 NULL
-116 LINESTRING(2 5,5 8,21 7)
-SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid;
-fid AsText(GeometryN(g, 2))
-117 POLYGON((59 18,67 18,67 13,59 13,59 18))
-118 POLYGON((59 18,67 18,67 13,59 13,59 18))
-119 NULL
-SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 2))
-120 LINESTRING(0 0,10 10)
-121 LINESTRING(3 6,7 9)
-SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid;
-fid AsText(GeometryN(g, 1))
-120 POINT(0 0)
-121 POINT(44 6)
-explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00
-Warnings:
-Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,astext(geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point`
-SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-first second w c o e d t i r
-120 120 1 1 0 1 0 0 1 0
-120 121 0 0 1 0 0 0 1 0
-121 120 0 0 1 0 0 0 1 0
-121 121 1 1 0 1 0 0 1 0
-explain extended SELECT g1.fid as first, g2.fid as second,
-Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o,
-Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t,
-Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r
-FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second;
-id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort
-1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer
-Warnings:
-Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,overlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,disjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,intersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid`
-DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
-CREATE TABLE t1 (
-a INTEGER PRIMARY KEY AUTO_INCREMENT,
-gp point,
-ln linestring,
-pg polygon,
-mp multipoint,
-mln multilinestring,
-mpg multipolygon,
-gc geometrycollection,
-gm geometry
-);
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-a int(11) NO PRI NULL auto_increment
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-ALTER TABLE t1 ADD fid INT;
-SHOW FIELDS FROM t1;
-Field Type Null Key Default Extra
-a int(11) NO PRI NULL auto_increment
-gp point YES NULL
-ln linestring YES NULL
-pg polygon YES NULL
-mp multipoint YES NULL
-mln multilinestring YES NULL
-mpg multipolygon YES NULL
-gc geometrycollection YES NULL
-gm geometry YES NULL
-fid int(11) YES NULL
-DROP TABLE t1;
-create table t1 (pk integer primary key auto_increment, a geometry not null);
-insert into t1 (a) values (GeomFromText('Point(1 2)'));
-insert into t1 (a) values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert IGNORE into t1 (a) values ('Garbage');
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-drop table t1;
-create table t1 (pk integer primary key auto_increment, fl geometry not null);
-insert into t1 (fl) values (1);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 (fl) values (1.11);
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 (fl) values ("qwerty");
-ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
-insert into t1 (fl) values (pointfromtext('point(1,1)'));
-ERROR 23000: Column 'fl' cannot be null
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY);
-Warnings:
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Binlog of table with BLOB attribute and no PK'
-INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'));
-INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
-INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))'));
-INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))'));
-INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))'));
-INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))'));
-INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))'));
-INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))'));
-INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))'));
-INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))'));
-INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))'));
-INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))'));
-INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))'));
-INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))'));
-INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))'));
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrcontains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrdisjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrequal
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrintersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbroverlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrtouches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-mbrwithin
-big,center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-contains
-center,small
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-disjoint
-down3,left3,right3,up3
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-equals
-center
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersect FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-intersect
-big,center,down,down2,left,left2,right,right2,small,up,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-overlaps
-down,left,right,up
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-touches
-down2,left2,right2,up2
-SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name;
-within
-big,center
-SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))');
-SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))');
-SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))');
-SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))');
-SET @point1 = GeomFromText('POLYGON ((0 0))');
-SET @point2 = GeomFromText('POLYGON ((-2 0))');
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name;
-overlaps
-SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name;
-overlaps
-SELECT Overlaps(@horiz1, @vert1) FROM DUAL;
-Overlaps(@horiz1, @vert1)
-0
-SELECT Overlaps(@horiz1, @horiz2) FROM DUAL;
-Overlaps(@horiz1, @horiz2)
-1
-SELECT Overlaps(@horiz1, @horiz3) FROM DUAL;
-Overlaps(@horiz1, @horiz3)
-0
-SELECT Overlaps(@horiz1, @point1) FROM DUAL;
-Overlaps(@horiz1, @point1)
-0
-SELECT Overlaps(@horiz1, @point2) FROM DUAL;
-Overlaps(@horiz1, @point2)
-0
-DROP TABLE t1;
-End of 5.0 tests
diff --git a/mysql-test/suite/ndb/r/ndb_grant.result b/mysql-test/suite/ndb/r/ndb_grant.result
deleted file mode 100644
index 6192a7cace5..00000000000
--- a/mysql-test/suite/ndb/r/ndb_grant.result
+++ /dev/null
@@ -1,444 +0,0 @@
-drop table if exists t1;
-SET NAMES binary;
-use mysql;
-alter table columns_priv engine=ndb;
-alter table db engine=ndb;
-alter table func engine=ndb;
-alter table help_category engine=ndb;
-alter table help_keyword engine=ndb;
-alter table help_relation engine=ndb;
-alter table help_topic engine=ndb;
-alter table host engine=ndb;
-alter table tables_priv engine=ndb;
-alter table time_zone engine=ndb;
-alter table time_zone_leap_second engine=ndb;
-alter table time_zone_name engine=ndb;
-alter table time_zone_transition engine=ndb;
-alter table time_zone_transition_type engine=ndb;
-alter table user engine=ndb;
-use test;
-delete from mysql.user where user='mysqltest_1';
-delete from mysql.db where user='mysqltest_1';
-flush privileges;
-begin;
-grant select on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA";
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant delete on mysqltest.* to mysqltest_1@localhost;
-commit;
-select * from mysql.user where user="mysqltest_1";
-Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections
-localhost mysqltest_1 N N N N N N N N N N N N N N N N N N N N N 0 0 0
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT, DELETE ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-revoke delete on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant select on mysqltest.* to mysqltest_1@localhost require NONE;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant USAGE on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA" AND SUBJECT "testsubject" ISSUER "MySQL AB";
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE ISSUER 'MySQL AB' SUBJECT 'testsubject' CIPHER 'EDH-RSA-DES-CBC3-SHA'
-GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-revoke all privileges on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' REQUIRE ISSUER 'MySQL AB' SUBJECT 'testsubject' CIPHER 'EDH-RSA-DES-CBC3-SHA'
-delete from mysql.user where user='mysqltest_1';
-flush privileges;
-begin;
-grant CREATE TEMPORARY TABLES, LOCK TABLES on mysqltest.* to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-flush privileges;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-revoke CREATE TEMPORARY TABLES on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT LOCK TABLES ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
-begin;
-grant ALL PRIVILEGES on mysqltest.* to mysqltest_1@localhost with GRANT OPTION;
-commit;
-flush privileges;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT ALL PRIVILEGES ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-begin;
-revoke LOCK TABLES, ALTER on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-begin;
-revoke all privileges on mysqltest.* from mysqltest_1@localhost;
-commit;
-delete from mysql.user where user='mysqltest_1';
-flush privileges;
-begin;
-grant usage on test.* to mysqltest_1@localhost with grant option;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT USAGE ON `mysqltest`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-GRANT USAGE ON `test`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
-delete from mysql.user where user='mysqltest_1';
-delete from mysql.db where user='mysqltest_1';
-delete from mysql.tables_priv where user='mysqltest_1';
-delete from mysql.columns_priv where user='mysqltest_1';
-flush privileges;
-show grants for mysqltest_1@localhost;
-ERROR 42000: There is no such grant defined for user 'mysqltest_1' on host 'localhost'
-create table t1 (a int);
-begin;
-GRANT select,update,insert on t1 to mysqltest_1@localhost;
-GRANT select (a), update (a),insert(a), references(a) on t1 to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, SELECT (a), INSERT, INSERT (a), UPDATE, UPDATE (a), REFERENCES (a) ON `test`.`t1` TO 'mysqltest_1'@'localhost'
-select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
-table_priv column_priv
-Select,Insert,Update Select,Insert,Update,References
-begin;
-REVOKE select (a), update on t1 from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT SELECT, INSERT, INSERT (a), REFERENCES (a) ON `test`.`t1` TO 'mysqltest_1'@'localhost'
-begin;
-REVOKE select,update,insert,insert (a) on t1 from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
-GRANT REFERENCES (a) ON `test`.`t1` TO 'mysqltest_1'@'localhost'
-begin;
-GRANT select,references on t1 to mysqltest_1@localhost;
-commit;
-select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
-table_priv column_priv
-Select,References References
-begin;
-grant all on test.* to mysqltest_3@localhost with grant option;
-revoke all on test.* from mysqltest_3@localhost;
-commit;
-show grants for mysqltest_3@localhost;
-Grants for mysqltest_3@localhost
-GRANT USAGE ON *.* TO 'mysqltest_3'@'localhost'
-GRANT USAGE ON `test`.* TO 'mysqltest_3'@'localhost' WITH GRANT OPTION
-begin;
-revoke grant option on test.* from mysqltest_3@localhost;
-commit;
-show grants for mysqltest_3@localhost;
-Grants for mysqltest_3@localhost
-GRANT USAGE ON *.* TO 'mysqltest_3'@'localhost'
-begin;
-grant all on test.t1 to mysqltest_2@localhost with grant option;
-revoke all on test.t1 from mysqltest_2@localhost;
-commit;
-show grants for mysqltest_2@localhost;
-Grants for mysqltest_2@localhost
-GRANT USAGE ON *.* TO 'mysqltest_2'@'localhost'
-GRANT USAGE ON `test`.`t1` TO 'mysqltest_2'@'localhost' WITH GRANT OPTION
-begin;
-revoke grant option on test.t1 from mysqltest_2@localhost;
-commit;
-show grants for mysqltest_2@localhost;
-Grants for mysqltest_2@localhost
-GRANT USAGE ON *.* TO 'mysqltest_2'@'localhost'
-delete from mysql.user where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.db where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.tables_priv where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.columns_priv where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-flush privileges;
-drop table t1;
-begin;
-GRANT FILE on mysqltest.* to mysqltest_1@localhost;
-ERROR HY000: Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
-commit;
-select 1;
-1
-1
-create database mysqltest1;
-begin;
-grant usage on mysqltest1.* to test6123 identified by 'magic123';
-commit;
-select host,db,user,select_priv,insert_priv from mysql.db where db="mysqltest1";
-host db user select_priv insert_priv
-delete from mysql.user where user='test6123';
-drop database mysqltest1;
-create table t1 (a int);
-begin;
-grant ALL PRIVILEGES on *.* to drop_user2@localhost with GRANT OPTION;
-commit;
-show grants for drop_user2@localhost;
-Grants for drop_user2@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user2'@'localhost' WITH GRANT OPTION
-begin;
-revoke all privileges, grant option from drop_user2@localhost;
-commit;
-drop user drop_user2@localhost;
-begin;
-grant ALL PRIVILEGES on *.* to drop_user@localhost with GRANT OPTION;
-grant ALL PRIVILEGES on test.* to drop_user@localhost with GRANT OPTION;
-grant select(a) on test.t1 to drop_user@localhost;
-commit;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON `test`.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON `test`.`t1` TO 'drop_user'@'localhost'
-set sql_mode=ansi_quotes;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON "test".* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON "test"."t1" TO 'drop_user'@'localhost'
-set sql_mode=default;
-set sql_quote_show_create=0;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON test.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON test.t1 TO 'drop_user'@'localhost'
-set sql_mode="ansi_quotes";
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON test.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON test.t1 TO 'drop_user'@'localhost'
-set sql_quote_show_create=1;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON "test".* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON "test"."t1" TO 'drop_user'@'localhost'
-set sql_mode="";
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT ALL PRIVILEGES ON *.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT ALL PRIVILEGES ON `test`.* TO 'drop_user'@'localhost' WITH GRANT OPTION
-GRANT SELECT (a) ON `test`.`t1` TO 'drop_user'@'localhost'
-revoke all privileges, grant option from drop_user@localhost;
-show grants for drop_user@localhost;
-Grants for drop_user@localhost
-GRANT USAGE ON *.* TO 'drop_user'@'localhost'
-drop user drop_user@localhost;
-begin;
-revoke all privileges, grant option from drop_user@localhost;
-ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
-commit;
-begin;
-grant select(a) on test.t1 to drop_user1@localhost;
-commit;
-flush privileges;
-begin;
-grant select on test.t1 to drop_user2@localhost;
-grant select on test.* to drop_user3@localhost;
-grant select on *.* to drop_user4@localhost;
-commit;
-flush privileges;
-drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
-drop_user4@localhost;
-begin;
-revoke all privileges, grant option from drop_user1@localhost, drop_user2@localhost,
-drop_user3@localhost, drop_user4@localhost;
-ERROR HY000: Can't revoke all privileges, grant for one or more of the requested users
-commit;
-flush privileges;
-drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
-drop_user4@localhost;
-drop table t1;
-begin;
-grant usage on *.* to mysqltest_1@localhost identified by "password";
-grant select, update, insert on test.* to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-Grants for mysqltest_1@localhost
-GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'
-GRANT SELECT, INSERT, UPDATE ON `test`.* TO 'mysqltest_1'@'localhost'
-drop user mysqltest_1@localhost;
-SET NAMES koi8r;
-CREATE DATABASE ÂÄ;
-USE ÂÄ;
-CREATE TABLE ÔÁÂ (ËÏÌ int);
-begin;
-GRANT SELECT ON ÂÄ.* TO ÀÚÅÒ@localhost;
-commit;
-SHOW GRANTS FOR ÀÚÅÒ@localhost;
-Grants for ÀÚÅÒ@localhost
-GRANT USAGE ON *.* TO 'ÀÚÅÒ'@'localhost'
-GRANT SELECT ON `ÂÄ`.* TO 'ÀÚÅÒ'@'localhost'
-begin;
-REVOKE SELECT ON ÂÄ.* FROM ÀÚÅÒ@localhost;
-commit;
-begin;
-GRANT SELECT ON ÂÄ.ÔÁÂ TO ÀÚÅÒ@localhost;
-commit;
-SHOW GRANTS FOR ÀÚÅÒ@localhost;
-Grants for ÀÚÅÒ@localhost
-GRANT USAGE ON *.* TO 'ÀÚÅÒ'@'localhost'
-GRANT SELECT ON `ÂÄ`.`ÔÁÂ` TO 'ÀÚÅÒ'@'localhost'
-begin;
-REVOKE SELECT ON ÂÄ.ÔÁÂ FROM ÀÚÅÒ@localhost;
-commit;
-begin;
-GRANT SELECT (ËÏÌ) ON ÂÄ.ÔÁÂ TO ÀÚÅÒ@localhost;
-commit;
-SHOW GRANTS FOR ÀÚÅÒ@localhost;
-Grants for ÀÚÅÒ@localhost
-GRANT USAGE ON *.* TO 'ÀÚÅÒ'@'localhost'
-GRANT SELECT (ËÏÌ) ON `ÂÄ`.`ÔÁÂ` TO 'ÀÚÅÒ'@'localhost'
-begin;
-REVOKE SELECT (ËÏÌ) ON ÂÄ.ÔÁÂ FROM ÀÚÅÒ@localhost;
-commit;
-DROP DATABASE ÂÄ;
-SET NAMES latin1;
-USE test;
-CREATE TABLE t1 (a int );
-CREATE TABLE t2 LIKE t1;
-CREATE TABLE t3 LIKE t1;
-CREATE TABLE t4 LIKE t1;
-CREATE TABLE t5 LIKE t1;
-CREATE TABLE t6 LIKE t1;
-CREATE TABLE t7 LIKE t1;
-CREATE TABLE t8 LIKE t1;
-CREATE TABLE t9 LIKE t1;
-CREATE TABLE t10 LIKE t1;
-CREATE DATABASE testdb1;
-CREATE DATABASE testdb2;
-CREATE DATABASE testdb3;
-CREATE DATABASE testdb4;
-CREATE DATABASE testdb5;
-CREATE DATABASE testdb6;
-CREATE DATABASE testdb7;
-CREATE DATABASE testdb8;
-CREATE DATABASE testdb9;
-CREATE DATABASE testdb10;
-begin;
-GRANT ALL ON testdb1.* TO testuser@localhost;
-GRANT ALL ON testdb2.* TO testuser@localhost;
-GRANT ALL ON testdb3.* TO testuser@localhost;
-GRANT ALL ON testdb4.* TO testuser@localhost;
-GRANT ALL ON testdb5.* TO testuser@localhost;
-GRANT ALL ON testdb6.* TO testuser@localhost;
-GRANT ALL ON testdb7.* TO testuser@localhost;
-GRANT ALL ON testdb8.* TO testuser@localhost;
-GRANT ALL ON testdb9.* TO testuser@localhost;
-GRANT ALL ON testdb10.* TO testuser@localhost;
-GRANT SELECT ON test.t1 TO testuser@localhost;
-GRANT SELECT ON test.t2 TO testuser@localhost;
-GRANT SELECT ON test.t3 TO testuser@localhost;
-GRANT SELECT ON test.t4 TO testuser@localhost;
-GRANT SELECT ON test.t5 TO testuser@localhost;
-GRANT SELECT ON test.t6 TO testuser@localhost;
-GRANT SELECT ON test.t7 TO testuser@localhost;
-GRANT SELECT ON test.t8 TO testuser@localhost;
-GRANT SELECT ON test.t9 TO testuser@localhost;
-GRANT SELECT ON test.t10 TO testuser@localhost;
-GRANT SELECT (a) ON test.t1 TO testuser@localhost;
-GRANT SELECT (a) ON test.t2 TO testuser@localhost;
-GRANT SELECT (a) ON test.t3 TO testuser@localhost;
-GRANT SELECT (a) ON test.t4 TO testuser@localhost;
-GRANT SELECT (a) ON test.t5 TO testuser@localhost;
-GRANT SELECT (a) ON test.t6 TO testuser@localhost;
-GRANT SELECT (a) ON test.t7 TO testuser@localhost;
-GRANT SELECT (a) ON test.t8 TO testuser@localhost;
-GRANT SELECT (a) ON test.t9 TO testuser@localhost;
-GRANT SELECT (a) ON test.t10 TO testuser@localhost;
-commit;
-begin;
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM testuser@localhost;
-commit;
-SHOW GRANTS FOR testuser@localhost;
-Grants for testuser@localhost
-GRANT USAGE ON *.* TO 'testuser'@'localhost'
-DROP USER testuser@localhost;
-DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-DROP DATABASE testdb1;
-DROP DATABASE testdb2;
-DROP DATABASE testdb3;
-DROP DATABASE testdb4;
-DROP DATABASE testdb5;
-DROP DATABASE testdb6;
-DROP DATABASE testdb7;
-DROP DATABASE testdb8;
-DROP DATABASE testdb9;
-DROP DATABASE testdb10;
-SHOW PRIVILEGES;
-Privilege Context Comment
-Alter Tables To alter the table
-Create Databases,Tables,Indexes To create new databases and tables
-Create temporary tables Databases To use CREATE TEMPORARY TABLE
-Create view Tables To create new views
-Delete Tables To delete existing rows
-Drop Databases,Tables To drop databases, tables, and views
-File File access on server To read and write files on the server
-Grant option Databases,Tables To give to other users those privileges you possess
-Index Tables To create or drop indexes
-Insert Tables To insert data into tables
-Lock tables Databases To use LOCK TABLES (together with SELECT privilege)
-Process Server Admin To view the plain text of currently executing queries
-References Databases,Tables To have references on tables
-Reload Server Admin To reload or refresh tables, logs and privileges
-Replication client Server Admin To ask where the slave or master servers are
-Replication slave Server Admin To read binary log events from the master
-Select Tables To retrieve rows from table
-Show databases Server Admin To see all databases with SHOW DATABASES
-Show view Tables To see views with SHOW CREATE VIEW
-Shutdown Server Admin To shut down the server
-Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
-Update Tables To update existing rows
-Usage Server Admin No privileges - allow connect only
-use mysql;
-alter table columns_priv engine=myisam;
-alter table db engine=myisam;
-alter table func engine=myisam;
-alter table help_category engine=myisam;
-alter table help_keyword engine=myisam;
-alter table help_relation engine=myisam;
-alter table help_topic engine=myisam;
-alter table host engine=myisam;
-alter table tables_priv engine=myisam;
-alter table time_zone engine=myisam;
-alter table time_zone_leap_second engine=myisam;
-alter table time_zone_name engine=myisam;
-alter table time_zone_transition engine=myisam;
-alter table time_zone_transition_type engine=myisam;
-alter table user engine=myisam;
-use test;
-flush privileges;
diff --git a/mysql-test/suite/ndb/r/ndb_index.result b/mysql-test/suite/ndb/r/ndb_index.result
deleted file mode 100644
index 5702552b0b5..00000000000
--- a/mysql-test/suite/ndb/r/ndb_index.result
+++ /dev/null
@@ -1,154 +0,0 @@
-drop table if exists t1;
-CREATE TABLE t1 (
-PORT varchar(16) NOT NULL,
-ACCESSNODE varchar(16) NOT NULL,
-POP varchar(48) NOT NULL,
-ACCESSTYPE int unsigned NOT NULL,
-CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
-PROVIDER varchar(16),
-TEXPIRE int unsigned,
-NUM_IP int unsigned,
-LEASED_NUM_IP int unsigned,
-LOCKED_IP int unsigned,
-STATIC_DNS int unsigned,
-SUSPENDED_SERVICE int unsigned,
-SUSPENDED_REASON int unsigned,
-BGP_COMMUNITY int unsigned,
-INDEX CUSTOMER_ID_INDEX(CUSTOMER_ID),
-INDEX FQPN_INDEX(POP,ACCESSNODE,PORT),
-PRIMARY KEY(POP,ACCESSNODE,PORT,ACCESSTYPE)
-) engine=ndbcluster;
-INSERT INTO t1 VALUES ('port67', 'node78', 'pop98', 1, 'kllopmn', 'pr_43', 121212, 1, 2, 3, 8, NULL, NULL, NULL);
-INSERT INTO t1 VALUES ('port67', 'node78', 'pop99', 2, 'klkighh', 'pr_44', 121213, 3, 3, 6, 7, NULL, NULL, NULL);
-INSERT INTO t1 VALUES ('port79', 'node79', 'pop79', 2, 'kpongfaa', 'pr_44', 981213, 2, 4, 10, 11, 2, 99, 1278);
-select port, accessnode, pop, accesstype from t1 where port='port67' order by accesstype;
-port accessnode pop accesstype
-port67 node78 pop98 1
-port67 node78 pop99 2
-select port, accessnode, pop, accesstype from t1 where port='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where accessnode='node78' order by accesstype;
-port accessnode pop accesstype
-port67 node78 pop98 1
-port67 node78 pop99 2
-select port, accessnode, pop, accesstype from t1 where accessnode='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' order by accesstype;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where accesstype=2 order by port;
-port accessnode pop accesstype
-port67 node78 pop99 2
-port79 node79 pop79 2
-select port, accessnode, pop, accesstype from t1 where accesstype=98 order by port;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where customer_id='KLLOPMN';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where customer_id='kLLoPMn';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where customer_id='foo';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where provider='pr_43';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where provider='foo';
-port accessnode pop accesstype
-select port, accessnode from t1 where texpire=121212;
-port accessnode
-port67 node78
-select port, accessnode from t1 where texpire=2323;
-port accessnode
-select port, accessnode, pop, accesstype from t1 where num_ip=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where num_ip=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where leased_num_ip=2;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where leased_num_ip=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where locked_ip=3;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where locked_ip=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where static_dns=8;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where static_dns=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_service=8;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_service=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_reason=NULL;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_reason=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where suspended_reason=0;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where bgp_community=NULL;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where bgp_community=89;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where bgp_community=0;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where port='port67' and accessnode='node78' and pop='pop98' and accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78' and pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and port='port67' and accesstype=1 and accessnode='node78';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo' and accesstype=99;
-port accessnode
-select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where accesstype=1 and accessnode='node78' and pop='pop98';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo';
-port accessnode
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=1;
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=2;
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where accesstype=2 and customer_id='kllopmn';
-port accessnode pop accesstype
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='kllopmn';
-port accessnode pop accesstype
-port67 node78 pop98 1
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='foo';
-port accessnode pop accesstype
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_index_ordered.result b/mysql-test/suite/ndb/r/ndb_index_ordered.result
deleted file mode 100644
index c99db354314..00000000000
--- a/mysql-test/suite/ndb/r/ndb_index_ordered.result
+++ /dev/null
@@ -1,839 +0,0 @@
-drop table if exists t1, test1, test2;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-KEY(b)
-) engine=ndbcluster;
-insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t1 order by b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b >= 4 order by b;
-a b c
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b = 4 order by b;
-a b c
-3 4 6
-select * from t1 where b > 4 order by b;
-a b c
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b < 4 order by b;
-a b c
-1 2 3
-2 3 5
-select * from t1 where b <= 4 order by b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select a, b, c from t1 where a!=2 and c=6;
-a b c
-3 4 6
-select a, b, c from t1 where a!=2 order by a;
-a b c
-1 2 3
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-update t1 set c = 3 where b = 3;
-select * from t1 order by a;
-a b c
-1 2 3
-2 3 3
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-update t1 set c = 10 where b >= 6;
-select * from t1 order by a;
-a b c
-1 2 3
-2 3 3
-3 4 6
-4 5 8
-5 6 10
-6 7 10
-update t1 set c = 11 where b < 5;
-select * from t1 order by a;
-a b c
-1 2 11
-2 3 11
-3 4 11
-4 5 8
-5 6 10
-6 7 10
-update t1 set c = 12 where b > 0;
-select * from t1 order by a;
-a b c
-1 2 12
-2 3 12
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-update t1 set c = 13 where b <= 3;
-select * from t1 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-update t1 set b = b + 1 where b > 4 and b < 7;
-select * from t1 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 6 12
-5 7 12
-6 7 12
-update t1 set a = a + 10 where b > 1 and b < 7;
-select * from t1 order by a;
-a b c
-5 7 12
-6 7 12
-11 2 13
-12 3 13
-13 4 12
-14 6 12
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-KEY(b)
-) engine=ndbcluster;
-insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12);
-delete from t1 where b = 3;
-select * from t1 order by a;
-a b c
-1 2 13
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-delete from t1 where b >= 6;
-select * from t1 order by a;
-a b c
-1 2 13
-3 4 12
-4 5 12
-delete from t1 where b < 4;
-select * from t1 order by a;
-a b c
-3 4 12
-4 5 12
-delete from t1 where b > 5;
-select * from t1 order by a;
-a b c
-3 4 12
-4 5 12
-delete from t1 where b <= 4;
-select * from t1 order by a;
-a b c
-4 5 12
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned not null
-) engine = ndb;
-create index a1 on t1 (b, c);
-insert into t1 values (1, 2, 13);
-insert into t1 values (2,3, 13);
-insert into t1 values (3, 4, 12);
-insert into t1 values (4, 5, 12);
-insert into t1 values (5,6, 12);
-insert into t1 values (6,7, 12);
-insert into t1 values (7, 2, 1);
-insert into t1 values (8,3, 6);
-insert into t1 values (9, 4, 12);
-insert into t1 values (14, 5, 4);
-insert into t1 values (15,5,5);
-insert into t1 values (16,5, 6);
-insert into t1 values (17,4,4);
-insert into t1 values (18,1, 7);
-select * from t1 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 5 12
-5 6 12
-6 7 12
-7 2 1
-8 3 6
-9 4 12
-14 5 4
-15 5 5
-16 5 6
-17 4 4
-18 1 7
-select * from t1 where b<=5 order by a;
-a b c
-1 2 13
-2 3 13
-3 4 12
-4 5 12
-7 2 1
-8 3 6
-9 4 12
-14 5 4
-15 5 5
-16 5 6
-17 4 4
-18 1 7
-select * from t1 where b<=5 and c=0;
-a b c
-insert into t1 values (19,4, 0);
-select * from t1 where b<=5 and c=0;
-a b c
-19 4 0
-select * from t1 where b=4 and c<=5 order by a;
-a b c
-17 4 4
-19 4 0
-select * from t1 where b<=4 and c<=5 order by a;
-a b c
-7 2 1
-17 4 4
-19 4 0
-select * from t1 where b<=5 and c=0 or b<=5 and c=2;
-a b c
-19 4 0
-select count(*) from t1 where b = 0;
-count(*)
-0
-select count(*) from t1 where b = 1;
-count(*)
-1
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned,
-c int unsigned,
-KEY bc(b,c)
-) engine = ndb;
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc)order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (bc) order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (PRIMARY) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
-a b c
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
-a b c
-2 NULL 2
-select * from t1 use index (bc) where b < 4 order by a;
-a b c
-1 1 1
-select * from t1 use index (bc) where b IS NOT NULL order by a;
-a b c
-1 1 1
-4 4 NULL
-drop table t1;
-create table t1 (
-a int unsigned primary key,
-b int unsigned,
-c char(10),
-key bc (b, c)
-) engine=ndb;
-insert into t1 values(1,1,'a'),(2,2,'b'),(3,3,'c'),(4,4,'d'),(5,5,'e');
-insert into t1 select a*7,10*b,'f' from t1;
-insert into t1 select a*13,10*b,'g' from t1;
-insert into t1 select a*17,10*b,'h' from t1;
-insert into t1 select a*19,10*b,'i' from t1;
-insert into t1 select a*23,10*b,'j' from t1;
-insert into t1 select a*29,10*b,'k' from t1;
-select b, c from t1 where b <= 10 and c <'f' order by b, c;
-b c
-1 a
-2 b
-3 c
-4 d
-5 e
-select b, c from t1 where b <= 10 and c <'f' order by b desc, c desc;
-b c
-5 e
-4 d
-3 c
-2 b
-1 a
-select b, c from t1 where b=4000 and c<'k' order by b, c;
-b c
-4000 h
-4000 i
-4000 i
-4000 i
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-select b, c from t1 where b=4000 and c<'k' order by b desc, c desc;
-b c
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-4000 j
-4000 i
-4000 i
-4000 i
-4000 h
-select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b, c;
-b c
-1000 h
-1000 i
-1000 i
-1000 i
-2000 h
-2000 i
-2000 i
-2000 i
-3000 h
-3000 i
-3000 i
-3000 i
-4000 h
-4000 i
-4000 i
-4000 i
-5000 h
-5000 i
-5000 i
-5000 i
-10000 i
-20000 i
-30000 i
-40000 i
-50000 i
-select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b desc, c desc;
-b c
-50000 i
-40000 i
-30000 i
-20000 i
-10000 i
-5000 i
-5000 i
-5000 i
-5000 h
-4000 i
-4000 i
-4000 i
-4000 h
-3000 i
-3000 i
-3000 i
-3000 h
-2000 i
-2000 i
-2000 i
-2000 h
-1000 i
-1000 i
-1000 i
-1000 h
-select min(b), max(b) from t1;
-min(b) max(b)
-1 5000000
-drop table t1;
-CREATE TABLE test1 (
-SubscrID int(11) NOT NULL auto_increment,
-UsrID int(11) NOT NULL default '0',
-PRIMARY KEY (SubscrID),
-KEY idx_usrid (UsrID)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO test1 VALUES (2,224),(3,224),(1,224);
-CREATE TABLE test2 (
-SbclID int(11) NOT NULL auto_increment,
-SbcrID int(11) NOT NULL default '0',
-PRIMARY KEY (SbclID),
-KEY idx_sbcrid (SbcrID)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2);
-select * from test1 order by 1;
-SubscrID UsrID
-1 224
-2 224
-3 224
-select * from test2 order by 1;
-SbclID SbcrID
-1 1
-2 1
-3 2
-4 2
-SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON
-l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2;
-SubscrID SbclID
-1 1
-1 2
-2 3
-2 4
-3 NULL
-drop table test1;
-drop table test2;
-create table t1 (
-pk int primary key,
-dt datetime not null,
-da date not null,
-ye year not null,
-ti time not null,
-ts timestamp not null,
-index(dt),
-index(da),
-index(ye),
-index(ti),
-index(ts)
-) engine=ndb;
-insert into t1 (pk,dt,da,ye,ti,ts) values
-(1, '1901-05-05 23:00:59', '1901-05-05', '1901', '23:00:59', '2001-01-01 23:00:59'),
-(2, '1912-09-05 13:00:59', '1912-09-05', '1912', '13:00:59', '2001-01-01 13:00:59'),
-(3, '1945-12-31 00:00:00', '1945-12-31', '1945', '00:00:00', '2001-01-01 00:00:00'),
-(4, '1955-12-31 00:00:00', '1955-12-31', '1955', '00:00:00', '2001-01-01 00:00:00'),
-(5, '1963-06-06 06:06:06', '1963-06-06', '1963', '06:06:06', '2001-01-01 06:06:06'),
-(6, '1993-06-06 06:06:06', '1993-06-06', '1993', '06:06:06', '2001-01-01 06:06:06'),
-(7, '2001-01-01 10:11:10', '2001-01-01', '2001', '10:11:10', '2001-01-01 10:11:10'),
-(8, '2001-01-01 10:11:11', '2001-01-01', '2001', '10:11:11', '2001-01-01 10:11:11'),
-(9, '2005-01-31 23:59:59', '2005-01-31', '2005', '23:59:59', '2001-01-01 23:59:59');
-select count(*)-9 from t1 use index (dt) where dt > '1900-01-01 00:00:00';
-count(*)-9
-0
-select count(*)-6 from t1 use index (dt) where dt >= '1955-12-31 00:00:00';
-count(*)-6
-0
-select count(*)-5 from t1 use index (dt) where dt > '1955-12-31 00:00:00';
-count(*)-5
-0
-select count(*)-5 from t1 use index (dt) where dt < '1970-03-03 22:22:22';
-count(*)-5
-0
-select count(*)-7 from t1 use index (dt) where dt < '2001-01-01 10:11:11';
-count(*)-7
-0
-select count(*)-8 from t1 use index (dt) where dt <= '2001-01-01 10:11:11';
-count(*)-8
-0
-select count(*)-9 from t1 use index (dt) where dt <= '2055-01-01 00:00:00';
-count(*)-9
-0
-select count(*)-9 from t1 use index (da) where da > '1900-01-01';
-count(*)-9
-0
-select count(*)-6 from t1 use index (da) where da >= '1955-12-31';
-count(*)-6
-0
-select count(*)-5 from t1 use index (da) where da > '1955-12-31';
-count(*)-5
-0
-select count(*)-5 from t1 use index (da) where da < '1970-03-03';
-count(*)-5
-0
-select count(*)-6 from t1 use index (da) where da < '2001-01-01';
-count(*)-6
-0
-select count(*)-8 from t1 use index (da) where da <= '2001-01-02';
-count(*)-8
-0
-select count(*)-9 from t1 use index (da) where da <= '2055-01-01';
-count(*)-9
-0
-select count(*)-9 from t1 use index (ye) where ye > '1900';
-count(*)-9
-0
-select count(*)-6 from t1 use index (ye) where ye >= '1955';
-count(*)-6
-0
-select count(*)-5 from t1 use index (ye) where ye > '1955';
-count(*)-5
-0
-select count(*)-5 from t1 use index (ye) where ye < '1970';
-count(*)-5
-0
-select count(*)-6 from t1 use index (ye) where ye < '2001';
-count(*)-6
-0
-select count(*)-8 from t1 use index (ye) where ye <= '2001';
-count(*)-8
-0
-select count(*)-9 from t1 use index (ye) where ye <= '2055';
-count(*)-9
-0
-select count(*)-9 from t1 use index (ti) where ti >= '00:00:00';
-count(*)-9
-0
-select count(*)-7 from t1 use index (ti) where ti > '00:00:00';
-count(*)-7
-0
-select count(*)-7 from t1 use index (ti) where ti > '05:05:05';
-count(*)-7
-0
-select count(*)-5 from t1 use index (ti) where ti > '06:06:06';
-count(*)-5
-0
-select count(*)-5 from t1 use index (ti) where ti < '10:11:11';
-count(*)-5
-0
-select count(*)-6 from t1 use index (ti) where ti <= '10:11:11';
-count(*)-6
-0
-select count(*)-8 from t1 use index (ti) where ti < '23:59:59';
-count(*)-8
-0
-select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
-count(*)-9
-0
-select count(*)-9 from t1 use index (ts) where ts >= '2001-01-01 00:00:00';
-count(*)-9
-0
-select count(*)-7 from t1 use index (ts) where ts > '2001-01-01 00:00:00';
-count(*)-7
-0
-select count(*)-7 from t1 use index (ts) where ts > '2001-01-01 05:05:05';
-count(*)-7
-0
-select count(*)-5 from t1 use index (ts) where ts > '2001-01-01 06:06:06';
-count(*)-5
-0
-select count(*)-5 from t1 use index (ts) where ts < '2001-01-01 10:11:11';
-count(*)-5
-0
-select count(*)-6 from t1 use index (ts) where ts <= '2001-01-01 10:11:11';
-count(*)-6
-0
-select count(*)-8 from t1 use index (ts) where ts < '2001-01-01 23:59:59';
-count(*)-8
-0
-select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';
-count(*)-9
-0
-drop table t1;
-create table t1 (
-a int primary key,
-s decimal(12),
-t decimal(12, 5),
-u decimal(12) unsigned,
-v decimal(12, 5) unsigned,
-key (s),
-key (t),
-key (u),
-key (v)
-) engine=ndb;
-insert into t1 values
-( 0, -000000000007, -0000061.00003, 000000000061, 0000965.00042),
-( 1, -000000000007, -0000061.00042, 000000000061, 0000965.00003),
-( 2, -071006035767, 4210253.00024, 000000000001, 0000001.84488),
-( 3, 000000007115, 0000000.77607, 000077350625, 0000018.00013),
-( 4, -000000068391, -0346486.00000, 000000005071, 0005334.00002),
-( 5, -521579890459, -1936874.00001, 000000000154, 0000003.00018),
-( 6, -521579890459, -1936874.00018, 000000000154, 0000003.00001),
-( 7, 000000000333, 0000051.39140, 000000907958, 0788643.08374),
-( 8, 000042731229, 0000009.00000, 000000000009, 6428667.00000),
-( 9, -000008159769, 0000918.00004, 000096951421, 7607730.00008);
-select count(*)- 5 from t1 use index (s) where s < -000000000007;
-count(*)- 5
-0
-select count(*)- 7 from t1 use index (s) where s <= -000000000007;
-count(*)- 7
-0
-select count(*)- 2 from t1 use index (s) where s = -000000000007;
-count(*)- 2
-0
-select count(*)- 5 from t1 use index (s) where s >= -000000000007;
-count(*)- 5
-0
-select count(*)- 3 from t1 use index (s) where s > -000000000007;
-count(*)- 3
-0
-select count(*)- 4 from t1 use index (t) where t < -0000061.00003;
-count(*)- 4
-0
-select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
-count(*)- 5
-0
-select count(*)- 1 from t1 use index (t) where t = -0000061.00003;
-count(*)- 1
-0
-select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
-count(*)- 6
-0
-select count(*)- 5 from t1 use index (t) where t > -0000061.00003;
-count(*)- 5
-0
-select count(*)- 2 from t1 use index (u) where u < 000000000061;
-count(*)- 2
-0
-select count(*)- 4 from t1 use index (u) where u <= 000000000061;
-count(*)- 4
-0
-select count(*)- 2 from t1 use index (u) where u = 000000000061;
-count(*)- 2
-0
-select count(*)- 8 from t1 use index (u) where u >= 000000000061;
-count(*)- 8
-0
-select count(*)- 6 from t1 use index (u) where u > 000000000061;
-count(*)- 6
-0
-select count(*)- 5 from t1 use index (v) where v < 0000965.00042;
-count(*)- 5
-0
-select count(*)- 6 from t1 use index (v) where v <= 0000965.00042;
-count(*)- 6
-0
-select count(*)- 1 from t1 use index (v) where v = 0000965.00042;
-count(*)- 1
-0
-select count(*)- 5 from t1 use index (v) where v >= 0000965.00042;
-count(*)- 5
-0
-select count(*)- 4 from t1 use index (v) where v > 0000965.00042;
-count(*)- 4
-0
-drop table t1;
-create table t1 (a int, c varchar(10),
-primary key using hash (a), index(c)) engine=ndb;
-insert into t1 (a, c) values (1,'aaa'),(3,'bbb');
-select count(*) from t1 where c<'bbb';
-count(*)
-1
-drop table t1;
-set autocommit=1;
-show session variables like 'ndb_index_stat_%';
-Variable_name Value
-ndb_index_stat_cache_entries 32
-ndb_index_stat_enable OFF
-ndb_index_stat_update_freq 20
-set ndb_index_stat_enable = off;
-show session variables like 'ndb_index_stat_%';
-Variable_name Value
-ndb_index_stat_cache_entries 32
-ndb_index_stat_enable OFF
-ndb_index_stat_update_freq 20
-create table t1 (a int, b int, c varchar(10) not null,
-primary key using hash (a), index(b,c)) engine=ndb;
-insert into t1 values
-(1,10,'aaa'),(2,10,'bbb'),(3,10,'ccc'),
-(4,20,'aaa'),(5,20,'bbb'),(6,20,'ccc'),
-(7,30,'aaa'),(8,30,'bbb'),(9,30,'ccc');
-select count(*) from t1 where b < 10;
-count(*)
-0
-select count(*) from t1 where b >= 10 and c >= 'bbb';
-count(*)
-6
-select count(*) from t1 where b > 10;
-count(*)
-6
-select count(*) from t1 where b <= 20 and c < 'ccc';
-count(*)
-4
-select count(*) from t1 where b = 20 and c = 'ccc';
-count(*)
-1
-select count(*) from t1 where b > 20;
-count(*)
-3
-select count(*) from t1 where b = 30 and c > 'aaa';
-count(*)
-2
-select count(*) from t1 where b <= 20;
-count(*)
-6
-select count(*) from t1 where b >= 20 and c > 'aaa';
-count(*)
-4
-drop table t1;
-set ndb_index_stat_enable = on;
-set ndb_index_stat_cache_entries = 0;
-show session variables like 'ndb_index_stat_%';
-Variable_name Value
-ndb_index_stat_cache_entries 0
-ndb_index_stat_enable ON
-ndb_index_stat_update_freq 20
-create table t1 (a int, b int, c varchar(10) not null,
-primary key using hash (a), index(b,c)) engine=ndb;
-insert into t1 values
-(1,10,'aaa'),(2,10,'bbb'),(3,10,'ccc'),
-(4,20,'aaa'),(5,20,'bbb'),(6,20,'ccc'),
-(7,30,'aaa'),(8,30,'bbb'),(9,30,'ccc');
-select count(*) from t1 where b < 10;
-count(*)
-0
-select count(*) from t1 where b >= 10 and c >= 'bbb';
-count(*)
-6
-select count(*) from t1 where b > 10;
-count(*)
-6
-select count(*) from t1 where b <= 20 and c < 'ccc';
-count(*)
-4
-select count(*) from t1 where b = 20 and c = 'ccc';
-count(*)
-1
-select count(*) from t1 where b > 20;
-count(*)
-3
-select count(*) from t1 where b = 30 and c > 'aaa';
-count(*)
-2
-select count(*) from t1 where b <= 20;
-count(*)
-6
-select count(*) from t1 where b >= 20 and c > 'aaa';
-count(*)
-4
-drop table t1;
-set ndb_index_stat_enable = on;
-set ndb_index_stat_cache_entries = 4;
-set ndb_index_stat_update_freq = 2;
-show session variables like 'ndb_index_stat_%';
-Variable_name Value
-ndb_index_stat_cache_entries 4
-ndb_index_stat_enable ON
-ndb_index_stat_update_freq 2
-create table t1 (a int, b int, c varchar(10) not null,
-primary key using hash (a), index(b,c)) engine=ndb;
-insert into t1 values
-(1,10,'aaa'),(2,10,'bbb'),(3,10,'ccc'),
-(4,20,'aaa'),(5,20,'bbb'),(6,20,'ccc'),
-(7,30,'aaa'),(8,30,'bbb'),(9,30,'ccc');
-select count(*) from t1 where b < 10;
-count(*)
-0
-select count(*) from t1 where b >= 10 and c >= 'bbb';
-count(*)
-6
-select count(*) from t1 where b > 10;
-count(*)
-6
-select count(*) from t1 where b <= 20 and c < 'ccc';
-count(*)
-4
-select count(*) from t1 where b = 20 and c = 'ccc';
-count(*)
-1
-select count(*) from t1 where b > 20;
-count(*)
-3
-select count(*) from t1 where b = 30 and c > 'aaa';
-count(*)
-2
-select count(*) from t1 where b <= 20;
-count(*)
-6
-select count(*) from t1 where b >= 20 and c > 'aaa';
-count(*)
-4
-drop table t1;
-set ndb_index_stat_enable = @@global.ndb_index_stat_enable;
-set ndb_index_stat_cache_entries = @@global.ndb_index_stat_cache_entries;
-set ndb_index_stat_update_freq = @@global.ndb_index_stat_update_freq;
-show session variables like 'ndb_index_stat_%';
-Variable_name Value
-ndb_index_stat_cache_entries 32
-ndb_index_stat_enable OFF
-ndb_index_stat_update_freq 20
-create table t1 (a int primary key) engine = ndb;
-insert into t1 values (1), (2), (3);
-begin;
-delete from t1 where a > 1;
-rollback;
-select * from t1 order by a;
-a
-1
-2
-3
-begin;
-delete from t1 where a > 1;
-rollback;
-begin;
-select * from t1 order by a;
-a
-1
-2
-3
-delete from t1 where a > 2;
-select * from t1 order by a;
-a
-1
-2
-delete from t1 where a > 1;
-select * from t1 order by a;
-a
-1
-delete from t1 where a > 0;
-select * from t1 order by a;
-a
-rollback;
-select * from t1 order by a;
-a
-1
-2
-3
-delete from t1;
-drop table t1;
-create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT,
-CountryCode char(3) NOT NULL,
-DishTitle varchar(64) NOT NULL,
-calories smallint(5) unsigned DEFAULT NULL,
-PRIMARY KEY (DishID),
-INDEX i USING HASH (countrycode,calories)
-) ENGINE=ndbcluster;
-ERROR HY000: Can't create table 'test.nationaldish' (errno: 138)
-create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT,
-CountryCode char(3) NOT NULL,
-DishTitle varchar(64) NOT NULL,
-calories smallint(5) unsigned DEFAULT NULL,
-PRIMARY KEY (DishID)
-) ENGINE=ndbcluster;
-create index i on nationaldish(countrycode,calories) using hash;
-ERROR 42000: Table 'nationaldish' uses an extension that doesn't exist in this MySQL version
-drop table nationaldish;
diff --git a/mysql-test/suite/ndb/r/ndb_index_unique.result b/mysql-test/suite/ndb/r/ndb_index_unique.result
deleted file mode 100644
index 5d0f4038211..00000000000
--- a/mysql-test/suite/ndb/r/ndb_index_unique.result
+++ /dev/null
@@ -1,692 +0,0 @@
-drop table if exists t1, t2, t3, t4, t5, t6, t7, t8;
-CREATE TABLE t1 (
-a int NOT NULL PRIMARY KEY,
-b int not null,
-c int,
-UNIQUE ib(b)
-) engine=ndbcluster;
-insert t1 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t1 order by b;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-select * from t1 where b = 4 order by b;
-a b c
-3 4 6
-insert into t1 values(7,8,3);
-select * from t1 where b = 4 order by a;
-a b c
-3 4 6
-insert into t1 values(8, 2, 3);
-ERROR 23000: Duplicate entry '2' for key 'ib'
-select * from t1 order by a;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-delete from t1 where a = 1;
-insert into t1 values(8, 2, 3);
-select * from t1 order by a;
-a b c
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-8 2 3
-alter table t1 drop index ib;
-insert into t1 values(1, 2, 3);
-create unique index ib on t1(b);
-ERROR 23000: Can't write, because of unique constraint, to table 't1'
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned,
-c int unsigned,
-UNIQUE bc(b,c)
-) engine = ndb;
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc)order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (bc) order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 use index (PRIMARY) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL order by a;
-a b c
-2 NULL 2
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
-a b c
-3 NULL NULL
-select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
-a b c
-2 NULL 2
-select * from t1 use index (bc) where b < 4 order by a;
-a b c
-1 1 1
-select * from t1 use index (bc) where b IS NOT NULL order by a;
-a b c
-1 1 1
-4 4 NULL
-insert into t1 values(5,1,1);
-ERROR 23000: Duplicate entry '1-1' for key 'bc'
-drop table t1;
-CREATE TABLE t2 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned not null,
-UNIQUE (b, c) USING HASH
-) engine=ndbcluster;
-insert t2 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t2 where a = 3;
-a b c
-3 4 6
-select * from t2 where b = 4;
-a b c
-3 4 6
-select * from t2 where c = 6;
-a b c
-3 4 6
-insert into t2 values(7,8,3);
-select * from t2 where b = 4 order by a;
-a b c
-3 4 6
-insert into t2 values(8, 2, 3);
-ERROR 23000: Duplicate entry '2-3' for key 'b'
-select * from t2 order by a;
-a b c
-1 2 3
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-delete from t2 where a = 1;
-insert into t2 values(8, 2, 3);
-select * from t2 order by a;
-a b c
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-8 2 3
-create unique index bi using hash on t2(b);
-insert into t2 values(9, 3, 1);
-ERROR 23000: Duplicate entry '3' for key 'bi'
-alter table t2 drop index bi;
-insert into t2 values(9, 3, 1);
-select * from t2 order by a;
-a b c
-2 3 5
-3 4 6
-4 5 8
-5 6 2
-6 7 2
-7 8 3
-8 2 3
-9 3 1
-drop table t2;
-CREATE TABLE t2 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned,
-UNIQUE (b, c) USING HASH
-) engine=ndbcluster;
-Warnings:
-Warning 1121 Ndb does not support unique index on NULL valued attributes, index access with NULL value will become full table scan
-insert t2 values(1,1,NULL),(2,2,2),(3,3,NULL),(4,4,4),(5,5,NULL),(6,6,6),(7,7,NULL),(8,3,NULL),(9,3,NULL);
-select * from t2 where c IS NULL order by a;
-a b c
-1 1 NULL
-3 3 NULL
-5 5 NULL
-7 7 NULL
-8 3 NULL
-9 3 NULL
-select * from t2 where b = 3 AND c IS NULL order by a;
-a b c
-3 3 NULL
-8 3 NULL
-9 3 NULL
-select * from t2 where (b = 3 OR b = 5) AND c IS NULL order by a;
-a b c
-3 3 NULL
-5 5 NULL
-8 3 NULL
-9 3 NULL
-set @old_optimizer_switch = @@session.optimizer_switch;
-set optimizer_switch = "engine_condition_pushdown=on";
-explain select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 range PRIMARY,b PRIMARY 4 NULL 1 Using where with pushed condition
-select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a;
-a b c
-3 3 NULL
-5 5 NULL
-8 3 NULL
-set optimizer_switch = @old_optimizer_switch;
-drop table t2;
-CREATE TABLE t3 (
-a int unsigned NOT NULL,
-b int unsigned not null,
-c int unsigned,
-PRIMARY KEY (a, b) USING HASH
-) engine=ndbcluster;
-insert t3 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t3 where a = 3;
-a b c
-3 4 6
-select * from t3 where b = 4;
-a b c
-3 4 6
-select * from t3 where c = 6;
-a b c
-3 4 6
-insert into t3 values(7,8,3);
-select * from t3 where b = 4 order by a;
-a b c
-3 4 6
-drop table t3;
-CREATE TABLE t1 (
-pk int NOT NULL PRIMARY KEY,
-a int unsigned,
-UNIQUE KEY (a)
-) engine=ndbcluster;
-insert into t1 values (-1,NULL), (0,0), (1,NULL),(2,2),(3,NULL),(4,4);
-select * from t1 order by pk;
-pk a
--1 NULL
-0 0
-1 NULL
-2 2
-3 NULL
-4 4
-insert into t1 values (5,0);
-ERROR 23000: Duplicate entry '0' for key 'a'
-select * from t1 order by pk;
-pk a
--1 NULL
-0 0
-1 NULL
-2 2
-3 NULL
-4 4
-delete from t1 where a = 0;
-insert into t1 values (5,0);
-select * from t1 order by pk;
-pk a
--1 NULL
-1 NULL
-2 2
-3 NULL
-4 4
-5 0
-CREATE TABLE t2 (
-pk int NOT NULL PRIMARY KEY,
-a int unsigned,
-b tinyint NOT NULL,
-c VARCHAR(10),
-UNIQUE KEY si(a, c)
-) engine=ndbcluster;
-insert into t2 values (-1,1,17,NULL),(0,NULL,18,NULL),(1,3,19,'abc');
-select * from t2 order by pk;
-pk a b c
--1 1 17 NULL
-0 NULL 18 NULL
-1 3 19 abc
-insert into t2 values(2,3,19,'abc');
-ERROR 23000: Duplicate entry '3-abc' for key 'si'
-select * from t2 order by pk;
-pk a b c
--1 1 17 NULL
-0 NULL 18 NULL
-1 3 19 abc
-delete from t2 where c IS NOT NULL;
-insert into t2 values(2,3,19,'abc');
-select * from t2 order by pk;
-pk a b c
--1 1 17 NULL
-0 NULL 18 NULL
-2 3 19 abc
-drop table t1, t2;
-CREATE TABLE t1 (
-cid smallint(5) unsigned NOT NULL default '0',
-cv varchar(250) NOT NULL default '',
-PRIMARY KEY (cid),
-UNIQUE KEY cv (cv)
-) engine=ndbcluster;
-INSERT INTO t1 VALUES (8,'dummy');
-CREATE TABLE t2 (
-cid bigint(20) unsigned NOT NULL auto_increment,
-cap varchar(255) NOT NULL default '',
-PRIMARY KEY (cid),
-UNIQUE KEY (cid, cap)
-) engine=ndbcluster;
-INSERT INTO t2 VALUES (NULL,'another dummy');
-CREATE TABLE t3 (
-gid bigint(20) unsigned NOT NULL auto_increment,
-gn varchar(255) NOT NULL default '',
-must tinyint(4) default NULL,
-PRIMARY KEY (gid)
-) engine=ndbcluster;
-INSERT INTO t3 VALUES (1,'V1',NULL);
-CREATE TABLE t4 (
-uid bigint(20) unsigned NOT NULL default '0',
-gid bigint(20) unsigned NOT NULL,
-rid bigint(20) unsigned NOT NULL,
-cid bigint(20) unsigned NOT NULL,
-UNIQUE KEY m (uid,gid,rid,cid)
-) engine=ndbcluster;
-INSERT INTO t4 VALUES (1,1,2,4);
-INSERT INTO t4 VALUES (1,1,2,3);
-INSERT INTO t4 VALUES (1,1,5,7);
-INSERT INTO t4 VALUES (1,1,10,8);
-CREATE TABLE t5 (
-rid bigint(20) unsigned NOT NULL auto_increment,
-rl varchar(255) NOT NULL default '',
-PRIMARY KEY (rid)
-) engine=ndbcluster;
-CREATE TABLE t6 (
-uid bigint(20) unsigned NOT NULL auto_increment,
-un varchar(250) NOT NULL default '',
-uc smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (uid),
-UNIQUE KEY nc (un,uc)
-) engine=ndbcluster;
-INSERT INTO t6 VALUES (1,'test',8);
-INSERT INTO t6 VALUES (2,'test2',9);
-INSERT INTO t6 VALUES (3,'tre',3);
-CREATE TABLE t7 (
-mid bigint(20) unsigned NOT NULL PRIMARY KEY,
-uid bigint(20) unsigned NOT NULL default '0',
-gid bigint(20) unsigned NOT NULL,
-rid bigint(20) unsigned NOT NULL,
-cid bigint(20) unsigned NOT NULL,
-UNIQUE KEY m (uid,gid,rid,cid)
-) engine=ndbcluster;
-INSERT INTO t7 VALUES(1, 1, 1, 1, 1);
-INSERT INTO t7 VALUES(2, 2, 1, 1, 1);
-INSERT INTO t7 VALUES(3, 3, 1, 1, 1);
-INSERT INTO t7 VALUES(4, 4, 1, 1, 1);
-INSERT INTO t7 VALUES(5, 5, 1, 1, 1);
-INSERT INTO t7 VALUES(6, 1, 1, 1, 6);
-INSERT INTO t7 VALUES(7, 2, 1, 1, 7);
-INSERT INTO t7 VALUES(8, 3, 1, 1, 8);
-INSERT INTO t7 VALUES(9, 4, 1, 1, 9);
-INSERT INTO t7 VALUES(10, 5, 1, 1, 10);
-select * from t1 where cv = 'dummy';
-cid cv
-8 dummy
-select * from t1 where cv = 'test';
-cid cv
-select * from t2 where cap = 'another dummy';
-cid cap
-1 another dummy
-select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
-uid gid rid cid
-1 1 2 4
-select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
-uid gid rid cid
-select * from t4 where uid = 1 order by cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-1 1 5 7
-1 1 10 8
-select * from t4 where rid = 2 order by cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-select * from t6 where un='test' and uc=8;
-uid un uc
-1 test 8
-select * from t6 where un='test' and uc=7;
-uid un uc
-select * from t6 where un='test';
-uid un uc
-1 test 8
-select * from t7 where mid = 8;
-mid uid gid rid cid
-8 3 1 1 8
-select * from t7 where uid = 8;
-mid uid gid rid cid
-select * from t7 where uid = 1 order by mid;
-mid uid gid rid cid
-1 1 1 1 1
-6 1 1 1 6
-select * from t7 where uid = 4 order by mid;
-mid uid gid rid cid
-4 4 1 1 1
-9 4 1 1 9
-select * from t7 where gid = 4;
-mid uid gid rid cid
-select * from t7 where gid = 1 order by mid;
-mid uid gid rid cid
-1 1 1 1 1
-2 2 1 1 1
-3 3 1 1 1
-4 4 1 1 1
-5 5 1 1 1
-6 1 1 1 6
-7 2 1 1 7
-8 3 1 1 8
-9 4 1 1 9
-10 5 1 1 10
-select * from t7 where cid = 4;
-mid uid gid rid cid
-select * from t7 where cid = 8;
-mid uid gid rid cid
-8 3 1 1 8
-select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
-uid gid rid cid
-1 1 2 4
-select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
-uid gid rid cid
-select * from t4 where uid = 1 order by gid,cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-1 1 5 7
-1 1 10 8
-1 1 5 12
-1 2 5 12
-1 3 9 11
-1 3 5 12
-1 4 5 12
-1 5 5 12
-1 6 5 12
-1 7 5 12
-1 8 5 12
-1 9 5 12
-1 10 5 12
-1 11 5 12
-1 12 5 12
-1 13 5 12
-1 14 5 12
-1 15 5 12
-1 16 5 12
-1 17 5 12
-1 18 5 12
-1 19 5 12
-1 20 5 12
-1 21 5 12
-1 22 5 12
-1 23 5 12
-1 24 5 12
-1 25 5 12
-1 26 5 12
-1 27 5 12
-1 28 5 12
-1 29 5 12
-1 30 5 12
-1 31 5 12
-1 32 5 12
-1 33 5 12
-1 34 5 12
-1 35 5 12
-1 36 5 12
-1 37 5 12
-1 38 5 12
-1 39 5 12
-1 40 5 12
-1 41 5 12
-1 42 5 12
-1 43 5 12
-1 44 5 12
-1 45 5 12
-1 46 5 12
-1 47 5 12
-1 48 5 12
-1 49 5 12
-1 50 5 12
-1 51 5 12
-1 52 5 12
-1 53 5 12
-1 54 5 12
-1 55 5 12
-1 56 5 12
-1 57 5 12
-1 58 5 12
-1 59 5 12
-1 60 5 12
-1 61 5 12
-1 62 5 12
-1 63 5 12
-1 64 5 12
-1 65 5 12
-1 66 5 12
-1 67 5 12
-1 68 5 12
-1 69 5 12
-1 70 5 12
-1 71 5 12
-1 72 5 12
-1 73 5 12
-1 74 5 12
-1 75 5 12
-1 76 5 12
-1 77 5 12
-1 78 5 12
-1 79 5 12
-1 80 5 12
-1 81 5 12
-1 82 5 12
-1 83 5 12
-1 84 5 12
-1 85 5 12
-1 86 5 12
-1 87 5 12
-1 88 5 12
-1 89 5 12
-1 90 5 12
-1 91 5 12
-1 92 5 12
-1 93 5 12
-1 94 5 12
-1 95 5 12
-1 96 5 12
-1 97 5 12
-1 98 5 12
-1 99 5 12
-1 100 5 12
-select * from t4 where uid = 1 order by gid,cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-1 1 5 7
-1 1 10 8
-1 1 5 12
-1 2 5 12
-1 3 9 11
-1 3 5 12
-1 4 5 12
-1 5 5 12
-1 6 5 12
-1 7 5 12
-1 8 5 12
-1 9 5 12
-1 10 5 12
-1 11 5 12
-1 12 5 12
-1 13 5 12
-1 14 5 12
-1 15 5 12
-1 16 5 12
-1 17 5 12
-1 18 5 12
-1 19 5 12
-1 20 5 12
-1 21 5 12
-1 22 5 12
-1 23 5 12
-1 24 5 12
-1 25 5 12
-1 26 5 12
-1 27 5 12
-1 28 5 12
-1 29 5 12
-1 30 5 12
-1 31 5 12
-1 32 5 12
-1 33 5 12
-1 34 5 12
-1 35 5 12
-1 36 5 12
-1 37 5 12
-1 38 5 12
-1 39 5 12
-1 40 5 12
-1 41 5 12
-1 42 5 12
-1 43 5 12
-1 44 5 12
-1 45 5 12
-1 46 5 12
-1 47 5 12
-1 48 5 12
-1 49 5 12
-1 50 5 12
-1 51 5 12
-1 52 5 12
-1 53 5 12
-1 54 5 12
-1 55 5 12
-1 56 5 12
-1 57 5 12
-1 58 5 12
-1 59 5 12
-1 60 5 12
-1 61 5 12
-1 62 5 12
-1 63 5 12
-1 64 5 12
-1 65 5 12
-1 66 5 12
-1 67 5 12
-1 68 5 12
-1 69 5 12
-1 70 5 12
-1 71 5 12
-1 72 5 12
-1 73 5 12
-1 74 5 12
-1 75 5 12
-1 76 5 12
-1 77 5 12
-1 78 5 12
-1 79 5 12
-1 80 5 12
-1 81 5 12
-1 82 5 12
-1 83 5 12
-1 84 5 12
-1 85 5 12
-1 86 5 12
-1 87 5 12
-1 88 5 12
-1 89 5 12
-1 90 5 12
-1 91 5 12
-1 92 5 12
-1 93 5 12
-1 94 5 12
-1 95 5 12
-1 96 5 12
-1 97 5 12
-1 98 5 12
-1 99 5 12
-1 100 5 12
-select * from t4 where rid = 2 order by cid;
-uid gid rid cid
-1 1 2 3
-1 1 2 4
-drop table t1,t2,t3,t4,t5,t6,t7;
-CREATE TABLE t1 (
-a int unsigned NOT NULL PRIMARY KEY,
-b int unsigned,
-c int unsigned,
-UNIQUE bc(b,c) ) engine = ndb;
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 where b=1 and c=1;
-a b c
-1 1 1
-select * from t1 where b is null and c is null;
-a b c
-3 NULL NULL
-select * from t1 where b is null and c = 2;
-a b c
-2 NULL 2
-select * from t1 where b = 4 and c is null;
-a b c
-4 4 NULL
-create table t8 as
-select * from t1 where (b = 1 and c = 1)
-or (b is null and c is null)
-or (b is null and c = 2)
-or (b = 4 and c is null);
-select * from t8 order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-select * from t1 order by a;
-a b c
-1 1 1
-2 NULL 2
-3 NULL NULL
-4 4 NULL
-drop table t1, t8;
-create table t1(
-id integer not null auto_increment,
-month integer not null,
-year integer not null,
-code varchar( 2) not null,
-primary key ( id),
-unique idx_t1( month, code, year)
-) engine=ndb;
-INSERT INTO t1 (month, year, code) VALUES (4,2004,'12');
-INSERT INTO t1 (month, year, code) VALUES (5,2004,'12');
-select * from t1 where code = '12' and month = 4 and year = 2004 ;
-id month year code
-1 4 2004 12
-drop table t1;
-create table t1 (a int primary key, b varchar(1000) not null, unique key (b))
-engine=ndb charset=utf8;
-insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200));
-insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200));
-ERROR 23000: Duplicate entry '\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bdt\222Bd' for key 'b'
-select a, sha1(b) from t1;
-a sha1(b)
-1 08f5d02c8b8bc244f275bdfc22c42c5cab0d9d7d
-drop table t1;
-create table t1(id int not null) engine = NDB;
-alter table t1 add constraint uk_test unique (id) using hash;
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_insert.result b/mysql-test/suite/ndb/r/ndb_insert.result
deleted file mode 100644
index 7551dc71823..00000000000
--- a/mysql-test/suite/ndb/r/ndb_insert.result
+++ /dev/null
@@ -1,659 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-b INT NOT NULL,
-c INT NOT NULL
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0, 0, 0);
-SELECT * FROM t1;
-pk1 b c
-0 0 0
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-501
-INSERT INTO t1 VALUES
-(501,501,501),(502,502,502),(503,503,503),(504,504,504),(505,505,505),
-(506,506,506),(507,507,507),(508,508,508),(509,509,509),(510,510,510),
-(511,511,511),(512,512,512),(513,513,513),(514,514,514),(515,515,515),
-(516,516,516),(517,517,517),(518,518,518),(519,519,519),(520,520,520),
-(521,521,521),(522,522,522),(523,523,523),(524,524,524),(525,525,525),
-(526,526,526),(527,527,527),(528,528,528),(529,529,529),(530,530,530),
-(531,531,531),(532,532,532),(533,533,533),(534,534,534),(535,535,535),
-(536,536,536),(537,537,537),(538,538,538),(539,539,539),(540,540,540),
-(541,541,541),(542,542,542),(543,543,543),(544,544,544),(545,545,545),
-(546,546,546),(547,547,547),(548,548,548),(549,549,549),(550,550,550),
-(551,551,551),(552,552,552),(553,553,553),(554,554,554),(555,555,555),
-(556,556,556),(557,557,557),(558,558,558),(559,559,559),(560,560,560),
-(561,561,561),(562,562,562),(563,563,563),(564,564,564),(565,565,565),
-(566,566,566),(567,567,567),(568,568,568),(569,569,569),(570,570,570),
-(571,571,571),(572,572,572),(573,573,573),(574,574,574),(575,575,575),
-(576,576,576),(577,577,577),(578,578,578),(579,579,579),(580,580,580),
-(581,581,581),(582,582,582),(583,583,583),(584,584,584),(585,585,585),
-(586,586,586),(587,587,587),(588,588,588),(589,589,589),(590,590,590),
-(591,591,591),(592,592,592),(593,593,593),(594,594,594),(595,595,595),
-(596,596,596),(597,597,597),(598,598,598),(599,599,599),(600,600,600),
-(601,601,601),(602,602,602),(603,603,603),(604,604,604),(605,605,605),
-(606,606,606),(607,607,607),(608,608,608),(609,609,609),(610,610,610),
-(611,611,611),(612,612,612),(613,613,613),(614,614,614),(615,615,615),
-(616,616,616),(617,617,617),(618,618,618),(619,619,619),(620,620,620),
-(621,621,621),(622,622,622),(623,623,623),(624,624,624),(625,625,625),
-(626,626,626),(627,627,627),(628,628,628),(629,629,629),(630,630,630),
-(631,631,631),(632,632,632),(633,633,633),(634,634,634),(635,635,635),
-(636,636,636),(637,637,637),(638,638,638),(639,639,639),(640,640,640),
-(641,641,641),(642,642,642),(643,643,643),(644,644,644),(645,645,645),
-(646,646,646),(647,647,647),(648,648,648),(649,649,649),(650,650,650),
-(651,651,651),(652,652,652),(653,653,653),(654,654,654),(655,655,655),
-(656,656,656),(657,657,657),(658,658,658),(659,659,659),(660,660,660),
-(661,661,661),(662,662,662),(663,663,663),(664,664,664),(665,665,665),
-(666,666,666),(667,667,667),(668,668,668),(669,669,669),(670,670,670),
-(671,671,671),(672,672,672),(673,673,673),(674,674,674),(675,675,675),
-(676,676,676),(677,677,677),(678,678,678),(679,679,679),(680,680,680),
-(681,681,681),(682,682,682),(683,683,683),(684,684,684),(685,685,685),
-(686,686,686),(687,687,687),(688,688,688),(689,689,689),(690,690,690),
-(691,691,691),(692,692,692),(693,693,693),(694,694,694),(695,695,695),
-(696,696,696),(697,697,697),(698,698,698),(699,699,699),(700,700,700),
-(701,701,701),(702,702,702),(703,703,703),(704,704,704),(705,705,705),
-(706,706,706),(707,707,707),(708,708,708),(709,709,709),(710,710,710),
-(711,711,711),(712,712,712),(713,713,713),(714,714,714),(715,715,715),
-(716,716,716),(717,717,717),(718,718,718),(719,719,719),(720,720,720),
-(721,721,721),(722,722,722),(723,723,723),(724,724,724),(725,725,725),
-(726,726,726),(727,727,727),(728,728,728),(729,729,729),(730,730,730),
-(731,731,731),(732,732,732),(733,733,733),(734,734,734),(735,735,735),
-(736,736,736),(737,737,737),(738,738,738),(739,739,739),(740,740,740),
-(741,741,741),(742,742,742),(743,743,743),(744,744,744),(745,745,745),
-(746,746,746),(747,747,747),(748,748,748),(749,749,749),(750,750,750),
-(751,751,751),(752,752,752),(753,753,753),(754,754,754),(755,755,755),
-(756,756,756),(757,757,757),(758,758,758),(759,759,759),(760,760,760),
-(761,761,761),(762,762,762),(763,763,763),(764,764,764),(765,765,765),
-(766,766,766),(767,767,767),(768,768,768),(769,769,769),(770,770,770),
-(771,771,771),(772,772,772),(773,773,773),(774,774,774),(775,775,775),
-(776,776,776),(777,777,777),(778,778,778),(779,779,779),(780,780,780),
-(781,781,781),(782,782,782),(783,783,783),(784,784,784),(785,785,785),
-(786,786,786),(787,787,787),(788,788,788),(789,789,789),(790,790,790),
-(791,791,791),(792,792,792),(793,793,793),(794,794,794),(795,795,795),
-(796,796,796),(797,797,797),(798,798,798),(799,799,799),(800,800,800),
-(801,801,801),(802,802,802),(803,803,803),(804,804,804),(805,805,805),
-(806,806,806),(807,807,807),(808,808,808),(809,809,809),(810,810,810),
-(811,811,811),(812,812,812),(813,813,813),(814,814,814),(815,815,815),
-(816,816,816),(817,817,817),(818,818,818),(819,819,819),(820,820,820),
-(821,821,821),(822,822,822),(823,823,823),(824,824,824),(825,825,825),
-(826,826,826),(827,827,827),(828,828,828),(829,829,829),(830,830,830),
-(831,831,831),(832,832,832),(833,833,833),(834,834,834),(835,835,835),
-(836,836,836),(837,837,837),(838,838,838),(839,839,839),(840,840,840),
-(841,841,841),(842,842,842),(843,843,843),(844,844,844),(845,845,845),
-(846,846,846),(847,847,847),(848,848,848),(849,849,849),(850,850,850),
-(851,851,851),(852,852,852),(853,853,853),(854,854,854),(855,855,855),
-(856,856,856),(857,857,857),(858,858,858),(859,859,859),(860,860,860),
-(861,861,861),(862,862,862),(863,863,863),(864,864,864),(865,865,865),
-(866,866,866),(867,867,867),(868,868,868),(869,869,869),(870,870,870),
-(871,871,871),(872,872,872),(873,873,873),(874,874,874),(875,875,875),
-(876,876,876),(877,877,877),(878,878,878),(879,879,879),(880,880,880),
-(881,881,881),(882,882,882),(883,883,883),(884,884,884),(885,885,885),
-(886,886,886),(887,887,887),(888,888,888),(889,889,889),(890,890,890),
-(891,891,891),(892,892,892),(893,893,893),(894,894,894),(895,895,895),
-(896,896,896),(897,897,897),(898,898,898),(899,899,899),(900,900,900),
-(901,901,901),(902,902,902),(903,903,903),(904,904,904),(905,905,905),
-(906,906,906),(907,907,907),(908,908,908),(909,909,909),(910,910,910),
-(911,911,911),(912,912,912),(913,913,913),(914,914,914),(915,915,915),
-(916,916,916),(917,917,917),(918,918,918),(919,919,919),(920,920,920),
-(921,921,921),(922,922,922),(923,923,923),(924,924,924),(925,925,925),
-(926,926,926),(927,927,927),(928,928,928),(929,929,929),(930,930,930),
-(931,931,931),(932,932,932),(933,933,933),(934,934,934),(935,935,935),
-(936,936,936),(937,937,937),(938,938,938),(939,939,939),(940,940,940),
-(941,941,941),(942,942,942),(943,943,943),(944,944,944),(945,945,945),
-(946,946,946),(947,947,947),(948,948,948),(949,949,949),(950,950,950),
-(951,951,951),(952,952,952),(953,953,953),(954,954,954),(955,955,955),
-(956,956,956),(957,957,957),(958,958,958),(959,959,959),(960,960,960),
-(961,961,961),(962,962,962),(963,963,963),(964,964,964),(965,965,965),
-(966,966,966),(967,967,967),(968,968,968),(969,969,969),(970,970,970),
-(971,971,971),(972,972,972),(973,973,973),(974,974,974),(975,975,975),
-(976,976,976),(977,977,977),(978,978,978),(979,979,979),(980,980,980),
-(981,981,981),(982,982,982),(983,983,983),(984,984,984),(985,985,985),
-(986,986,986),(987,987,987),(988,988,988),(989,989,989),(990,990,990),
-(991,991,991),(992,992,992),(993,993,993),(994,994,994),(995,995,995),
-(996,996,996),(997,997,997),(998,998,998),(999,999,999),(1000,1000,1000),
-(1001,1001,1001),(1002,1002,1002),(1003,1003,1003),(1004,1004,1004),(1005,1005,1005),
-(1006,1006,1006),(1007,1007,1007),(1008,1008,1008),(1009,1009,1009),(1010,1010,1010),
-(1011,1011,1011),(1012,1012,1012),(1013,1013,1013),(1014,1014,1014),(1015,1015,1015),
-(1016,1016,1016),(1017,1017,1017),(1018,1018,1018),(1019,1019,1019),(1020,1020,1020),
-(1021,1021,1021),(1022,1022,1022),(1023,1023,1023),(1024,1024,1024),(1025,1025,1025),
-(1026,1026,1026),(1027,1027,1027),(1028,1028,1028),(1029,1029,1029),(1030,1030,1030),
-(1031,1031,1031),(1032,1032,1032),(1033,1033,1033),(1034,1034,1034),(1035,1035,1035),
-(1036,1036,1036),(1037,1037,1037),(1038,1038,1038),(1039,1039,1039),(1040,1040,1040),
-(1041,1041,1041),(1042,1042,1042),(1043,1043,1043),(1044,1044,1044),(1045,1045,1045),
-(1046,1046,1046),(1047,1047,1047),(1048,1048,1048),(1049,1049,1049),(1050,1050,1050),
-(1051,1051,1051),(1052,1052,1052),(1053,1053,1053),(1054,1054,1054),(1055,1055,1055),
-(1056,1056,1056),(1057,1057,1057),(1058,1058,1058),(1059,1059,1059),(1060,1060,1060),
-(1061,1061,1061),(1062,1062,1062),(1063,1063,1063),(1064,1064,1064),(1065,1065,1065),
-(1066,1066,1066),(1067,1067,1067),(1068,1068,1068),(1069,1069,1069),(1070,1070,1070),
-(1071,1071,1071),(1072,1072,1072),(1073,1073,1073),(1074,1074,1074),(1075,1075,1075),
-(1076,1076,1076),(1077,1077,1077),(1078,1078,1078),(1079,1079,1079),(1080,1080,1080),
-(1081,1081,1081),(1082,1082,1082),(1083,1083,1083),(1084,1084,1084),(1085,1085,1085),
-(1086,1086,1086),(1087,1087,1087),(1088,1088,1088),(1089,1089,1089),(1090,1090,1090),
-(1091,1091,1091),(1092,1092,1092),(1093,1093,1093),(1094,1094,1094),(1095,1095,1095),
-(1096,1096,1096),(1097,1097,1097),(1098,1098,1098),(1099,1099,1099),(1100,1100,1100),
-(1101,1101,1101),(1102,1102,1102),(1103,1103,1103),(1104,1104,1104),(1105,1105,1105),
-(1106,1106,1106),(1107,1107,1107),(1108,1108,1108),(1109,1109,1109),(1110,1110,1110),
-(1111,1111,1111),(1112,1112,1112),(1113,1113,1113),(1114,1114,1114),(1115,1115,1115),
-(1116,1116,1116),(1117,1117,1117),(1118,1118,1118),(1119,1119,1119),(1120,1120,1120),
-(1121,1121,1121),(1122,1122,1122),(1123,1123,1123),(1124,1124,1124),(1125,1125,1125),
-(1126,1126,1126),(1127,1127,1127),(1128,1128,1128),(1129,1129,1129),(1130,1130,1130),
-(1131,1131,1131),(1132,1132,1132),(1133,1133,1133),(1134,1134,1134),(1135,1135,1135),
-(1136,1136,1136),(1137,1137,1137),(1138,1138,1138),(1139,1139,1139),(1140,1140,1140),
-(1141,1141,1141),(1142,1142,1142),(1143,1143,1143),(1144,1144,1144),(1145,1145,1145),
-(1146,1146,1146),(1147,1147,1147),(1148,1148,1148),(1149,1149,1149),(1150,1150,1150),
-(1151,1151,1151),(1152,1152,1152),(1153,1153,1153),(1154,1154,1154),(1155,1155,1155),
-(1156,1156,1156),(1157,1157,1157),(1158,1158,1158),(1159,1159,1159),(1160,1160,1160),
-(1161,1161,1161),(1162,1162,1162),(1163,1163,1163),(1164,1164,1164),(1165,1165,1165),
-(1166,1166,1166),(1167,1167,1167),(1168,1168,1168),(1169,1169,1169),(1170,1170,1170),
-(1171,1171,1171),(1172,1172,1172),(1173,1173,1173),(1174,1174,1174),(1175,1175,1175),
-(1176,1176,1176),(1177,1177,1177),(1178,1178,1178),(1179,1179,1179),(1180,1180,1180),
-(1181,1181,1181),(1182,1182,1182),(1183,1183,1183),(1184,1184,1184),(1185,1185,1185),
-(1186,1186,1186),(1187,1187,1187),(1188,1188,1188),(1189,1189,1189),(1190,1190,1190),
-(1191,1191,1191),(1192,1192,1192),(1193,1193,1193),(1194,1194,1194),(1195,1195,1195),
-(1196,1196,1196),(1197,1197,1197),(1198,1198,1198),(1199,1199,1199),(1200,1200,1200),
-(1201,1201,1201),(1202,1202,1202),(1203,1203,1203),(1204,1204,1204),(1205,1205,1205),
-(1206,1206,1206),(1207,1207,1207),(1208,1208,1208),(1209,1209,1209),(1210,1210,1210),
-(1211,1211,1211),(1212,1212,1212),(1213,1213,1213),(1214,1214,1214),(1215,1215,1215),
-(1216,1216,1216),(1217,1217,1217),(1218,1218,1218),(1219,1219,1219),(1220,1220,1220),
-(1221,1221,1221),(1222,1222,1222),(1223,1223,1223),(1224,1224,1224),(1225,1225,1225),
-(1226,1226,1226),(1227,1227,1227),(1228,1228,1228),(1229,1229,1229),(1230,1230,1230),
-(1231,1231,1231),(1232,1232,1232),(1233,1233,1233),(1234,1234,1234),(1235,1235,1235),
-(1236,1236,1236),(1237,1237,1237),(1238,1238,1238),(1239,1239,1239),(1240,1240,1240),
-(1241,1241,1241),(1242,1242,1242),(1243,1243,1243),(1244,1244,1244),(1245,1245,1245),
-(1246,1246,1246),(1247,1247,1247),(1248,1248,1248),(1249,1249,1249),(1250,1250,1250),
-(1251,1251,1251),(1252,1252,1252),(1253,1253,1253),(1254,1254,1254),(1255,1255,1255),
-(1256,1256,1256),(1257,1257,1257),(1258,1258,1258),(1259,1259,1259),(1260,1260,1260),
-(1261,1261,1261),(1262,1262,1262),(1263,1263,1263),(1264,1264,1264),(1265,1265,1265),
-(1266,1266,1266),(1267,1267,1267),(1268,1268,1268),(1269,1269,1269),(1270,1270,1270),
-(1271,1271,1271),(1272,1272,1272),(1273,1273,1273),(1274,1274,1274),(1275,1275,1275),
-(1276,1276,1276),(1277,1277,1277),(1278,1278,1278),(1279,1279,1279),(1280,1280,1280),
-(1281,1281,1281),(1282,1282,1282),(1283,1283,1283),(1284,1284,1284),(1285,1285,1285),
-(1286,1286,1286),(1287,1287,1287),(1288,1288,1288),(1289,1289,1289),(1290,1290,1290),
-(1291,1291,1291),(1292,1292,1292),(1293,1293,1293),(1294,1294,1294),(1295,1295,1295),
-(1296,1296,1296),(1297,1297,1297),(1298,1298,1298),(1299,1299,1299),(1300,1300,1300),
-(1301,1301,1301),(1302,1302,1302),(1303,1303,1303),(1304,1304,1304),(1305,1305,1305),
-(1306,1306,1306),(1307,1307,1307),(1308,1308,1308),(1309,1309,1309),(1310,1310,1310),
-(1311,1311,1311),(1312,1312,1312),(1313,1313,1313),(1314,1314,1314),(1315,1315,1315),
-(1316,1316,1316),(1317,1317,1317),(1318,1318,1318),(1319,1319,1319),(1320,1320,1320),
-(1321,1321,1321),(1322,1322,1322),(1323,1323,1323),(1324,1324,1324),(1325,1325,1325),
-(1326,1326,1326),(1327,1327,1327),(1328,1328,1328),(1329,1329,1329),(1330,1330,1330),
-(1331,1331,1331),(1332,1332,1332),(1333,1333,1333),(1334,1334,1334),(1335,1335,1335),
-(1336,1336,1336),(1337,1337,1337),(1338,1338,1338),(1339,1339,1339),(1340,1340,1340),
-(1341,1341,1341),(1342,1342,1342),(1343,1343,1343),(1344,1344,1344),(1345,1345,1345),
-(1346,1346,1346),(1347,1347,1347),(1348,1348,1348),(1349,1349,1349),(1350,1350,1350),
-(1351,1351,1351),(1352,1352,1352),(1353,1353,1353),(1354,1354,1354),(1355,1355,1355),
-(1356,1356,1356),(1357,1357,1357),(1358,1358,1358),(1359,1359,1359),(1360,1360,1360),
-(1361,1361,1361),(1362,1362,1362),(1363,1363,1363),(1364,1364,1364),(1365,1365,1365),
-(1366,1366,1366),(1367,1367,1367),(1368,1368,1368),(1369,1369,1369),(1370,1370,1370),
-(1371,1371,1371),(1372,1372,1372),(1373,1373,1373),(1374,1374,1374),(1375,1375,1375),
-(1376,1376,1376),(1377,1377,1377),(1378,1378,1378),(1379,1379,1379),(1380,1380,1380),
-(1381,1381,1381),(1382,1382,1382),(1383,1383,1383),(1384,1384,1384),(1385,1385,1385),
-(1386,1386,1386),(1387,1387,1387),(1388,1388,1388),(1389,1389,1389),(1390,1390,1390),
-(1391,1391,1391),(1392,1392,1392),(1393,1393,1393),(1394,1394,1394),(1395,1395,1395),
-(1396,1396,1396),(1397,1397,1397),(1398,1398,1398),(1399,1399,1399),(1400,1400,1400),
-(1401,1401,1401),(1402,1402,1402),(1403,1403,1403),(1404,1404,1404),(1405,1405,1405),
-(1406,1406,1406),(1407,1407,1407),(1408,1408,1408),(1409,1409,1409),(1410,1410,1410),
-(1411,1411,1411),(1412,1412,1412),(1413,1413,1413),(1414,1414,1414),(1415,1415,1415),
-(1416,1416,1416),(1417,1417,1417),(1418,1418,1418),(1419,1419,1419),(1420,1420,1420),
-(1421,1421,1421),(1422,1422,1422),(1423,1423,1423),(1424,1424,1424),(1425,1425,1425),
-(1426,1426,1426),(1427,1427,1427),(1428,1428,1428),(1429,1429,1429),(1430,1430,1430),
-(1431,1431,1431),(1432,1432,1432),(1433,1433,1433),(1434,1434,1434),(1435,1435,1435),
-(1436,1436,1436),(1437,1437,1437),(1438,1438,1438),(1439,1439,1439),(1440,1440,1440),
-(1441,1441,1441),(1442,1442,1442),(1443,1443,1443),(1444,1444,1444),(1445,1445,1445),
-(1446,1446,1446),(1447,1447,1447),(1448,1448,1448),(1449,1449,1449),(1450,1450,1450),
-(1451,1451,1451),(1452,1452,1452),(1453,1453,1453),(1454,1454,1454),(1455,1455,1455),
-(1456,1456,1456),(1457,1457,1457),(1458,1458,1458),(1459,1459,1459),(1460,1460,1460),
-(1461,1461,1461),(1462,1462,1462),(1463,1463,1463),(1464,1464,1464),(1465,1465,1465),
-(1466,1466,1466),(1467,1467,1467),(1468,1468,1468),(1469,1469,1469),(1470,1470,1470),
-(1471,1471,1471),(1472,1472,1472),(1473,1473,1473),(1474,1474,1474),(1475,1475,1475),
-(1476,1476,1476),(1477,1477,1477),(1478,1478,1478),(1479,1479,1479),(1480,1480,1480),
-(1481,1481,1481),(1482,1482,1482),(1483,1483,1483),(1484,1484,1484),(1485,1485,1485),
-(1486,1486,1486),(1487,1487,1487),(1488,1488,1488),(1489,1489,1489),(1490,1490,1490),
-(1491,1491,1491),(1492,1492,1492),(1493,1493,1493),(1494,1494,1494),(1495,1495,1495),
-(1496,1496,1496),(1497,1497,1497),(1498,1498,1498),(1499,1499,1499),(1500,1500,1500),
-(1501,1501,1501),(1502,1502,1502),(1503,1503,1503),(1504,1504,1504),(1505,1505,1505),
-(1506,1506,1506),(1507,1507,1507),(1508,1508,1508),(1509,1509,1509),(1510,1510,1510),
-(1511,1511,1511),(1512,1512,1512),(1513,1513,1513),(1514,1514,1514),(1515,1515,1515),
-(1516,1516,1516),(1517,1517,1517),(1518,1518,1518),(1519,1519,1519),(1520,1520,1520),
-(1521,1521,1521),(1522,1522,1522),(1523,1523,1523),(1524,1524,1524),(1525,1525,1525),
-(1526,1526,1526),(1527,1527,1527),(1528,1528,1528),(1529,1529,1529),(1530,1530,1530),
-(1531,1531,1531),(1532,1532,1532),(1533,1533,1533),(1534,1534,1534),(1535,1535,1535),
-(1536,1536,1536),(1537,1537,1537),(1538,1538,1538),(1539,1539,1539),(1540,1540,1540),
-(1541,1541,1541),(1542,1542,1542),(1543,1543,1543),(1544,1544,1544),(1545,1545,1545),
-(1546,1546,1546),(1547,1547,1547),(1548,1548,1548),(1549,1549,1549),(1550,1550,1550),
-(1551,1551,1551),(1552,1552,1552),(1553,1553,1553),(1554,1554,1554),(1555,1555,1555),
-(1556,1556,1556),(1557,1557,1557),(1558,1558,1558),(1559,1559,1559),(1560,1560,1560),
-(1561,1561,1561),(1562,1562,1562),(1563,1563,1563),(1564,1564,1564),(1565,1565,1565),
-(1566,1566,1566),(1567,1567,1567),(1568,1568,1568),(1569,1569,1569),(1570,1570,1570),
-(1571,1571,1571),(1572,1572,1572),(1573,1573,1573),(1574,1574,1574),(1575,1575,1575),
-(1576,1576,1576),(1577,1577,1577),(1578,1578,1578),(1579,1579,1579),(1580,1580,1580),
-(1581,1581,1581),(1582,1582,1582),(1583,1583,1583),(1584,1584,1584),(1585,1585,1585),
-(1586,1586,1586),(1587,1587,1587),(1588,1588,1588),(1589,1589,1589),(1590,1590,1590),
-(1591,1591,1591),(1592,1592,1592),(1593,1593,1593),(1594,1594,1594),(1595,1595,1595),
-(1596,1596,1596),(1597,1597,1597),(1598,1598,1598),(1599,1599,1599),(1600,1600,1600),
-(1601,1601,1601),(1602,1602,1602),(1603,1603,1603),(1604,1604,1604),(1605,1605,1605),
-(1606,1606,1606),(1607,1607,1607),(1608,1608,1608),(1609,1609,1609),(1610,1610,1610),
-(1611,1611,1611),(1612,1612,1612),(1613,1613,1613),(1614,1614,1614),(1615,1615,1615),
-(1616,1616,1616),(1617,1617,1617),(1618,1618,1618),(1619,1619,1619),(1620,1620,1620),
-(1621,1621,1621),(1622,1622,1622),(1623,1623,1623),(1624,1624,1624),(1625,1625,1625),
-(1626,1626,1626),(1627,1627,1627),(1628,1628,1628),(1629,1629,1629),(1630,1630,1630),
-(1631,1631,1631),(1632,1632,1632),(1633,1633,1633),(1634,1634,1634),(1635,1635,1635),
-(1636,1636,1636),(1637,1637,1637),(1638,1638,1638),(1639,1639,1639),(1640,1640,1640),
-(1641,1641,1641),(1642,1642,1642),(1643,1643,1643),(1644,1644,1644),(1645,1645,1645),
-(1646,1646,1646),(1647,1647,1647),(1648,1648,1648),(1649,1649,1649),(1650,1650,1650),
-(1651,1651,1651),(1652,1652,1652),(1653,1653,1653),(1654,1654,1654),(1655,1655,1655),
-(1656,1656,1656),(1657,1657,1657),(1658,1658,1658),(1659,1659,1659),(1660,1660,1660),
-(1661,1661,1661),(1662,1662,1662),(1663,1663,1663),(1664,1664,1664),(1665,1665,1665),
-(1666,1666,1666),(1667,1667,1667),(1668,1668,1668),(1669,1669,1669),(1670,1670,1670),
-(1671,1671,1671),(1672,1672,1672),(1673,1673,1673),(1674,1674,1674),(1675,1675,1675),
-(1676,1676,1676),(1677,1677,1677),(1678,1678,1678),(1679,1679,1679),(1680,1680,1680),
-(1681,1681,1681),(1682,1682,1682),(1683,1683,1683),(1684,1684,1684),(1685,1685,1685),
-(1686,1686,1686),(1687,1687,1687),(1688,1688,1688),(1689,1689,1689),(1690,1690,1690),
-(1691,1691,1691),(1692,1692,1692),(1693,1693,1693),(1694,1694,1694),(1695,1695,1695),
-(1696,1696,1696),(1697,1697,1697),(1698,1698,1698),(1699,1699,1699),(1700,1700,1700),
-(1701,1701,1701),(1702,1702,1702),(1703,1703,1703),(1704,1704,1704),(1705,1705,1705),
-(1706,1706,1706),(1707,1707,1707),(1708,1708,1708),(1709,1709,1709),(1710,1710,1710),
-(1711,1711,1711),(1712,1712,1712),(1713,1713,1713),(1714,1714,1714),(1715,1715,1715),
-(1716,1716,1716),(1717,1717,1717),(1718,1718,1718),(1719,1719,1719),(1720,1720,1720),
-(1721,1721,1721),(1722,1722,1722),(1723,1723,1723),(1724,1724,1724),(1725,1725,1725),
-(1726,1726,1726),(1727,1727,1727),(1728,1728,1728),(1729,1729,1729),(1730,1730,1730),
-(1731,1731,1731),(1732,1732,1732),(1733,1733,1733),(1734,1734,1734),(1735,1735,1735),
-(1736,1736,1736),(1737,1737,1737),(1738,1738,1738),(1739,1739,1739),(1740,1740,1740),
-(1741,1741,1741),(1742,1742,1742),(1743,1743,1743),(1744,1744,1744),(1745,1745,1745),
-(1746,1746,1746),(1747,1747,1747),(1748,1748,1748),(1749,1749,1749),(1750,1750,1750),
-(1751,1751,1751),(1752,1752,1752),(1753,1753,1753),(1754,1754,1754),(1755,1755,1755),
-(1756,1756,1756),(1757,1757,1757),(1758,1758,1758),(1759,1759,1759),(1760,1760,1760),
-(1761,1761,1761),(1762,1762,1762),(1763,1763,1763),(1764,1764,1764),(1765,1765,1765),
-(1766,1766,1766),(1767,1767,1767),(1768,1768,1768),(1769,1769,1769),(1770,1770,1770),
-(1771,1771,1771),(1772,1772,1772),(1773,1773,1773),(1774,1774,1774),(1775,1775,1775),
-(1776,1776,1776),(1777,1777,1777),(1778,1778,1778),(1779,1779,1779),(1780,1780,1780),
-(1781,1781,1781),(1782,1782,1782),(1783,1783,1783),(1784,1784,1784),(1785,1785,1785),
-(1786,1786,1786),(1787,1787,1787),(1788,1788,1788),(1789,1789,1789),(1790,1790,1790),
-(1791,1791,1791),(1792,1792,1792),(1793,1793,1793),(1794,1794,1794),(1795,1795,1795),
-(1796,1796,1796),(1797,1797,1797),(1798,1798,1798),(1799,1799,1799),(1800,1800,1800),
-(1801,1801,1801),(1802,1802,1802),(1803,1803,1803),(1804,1804,1804),(1805,1805,1805),
-(1806,1806,1806),(1807,1807,1807),(1808,1808,1808),(1809,1809,1809),(1810,1810,1810),
-(1811,1811,1811),(1812,1812,1812),(1813,1813,1813),(1814,1814,1814),(1815,1815,1815),
-(1816,1816,1816),(1817,1817,1817),(1818,1818,1818),(1819,1819,1819),(1820,1820,1820),
-(1821,1821,1821),(1822,1822,1822),(1823,1823,1823),(1824,1824,1824),(1825,1825,1825),
-(1826,1826,1826),(1827,1827,1827),(1828,1828,1828),(1829,1829,1829),(1830,1830,1830),
-(1831,1831,1831),(1832,1832,1832),(1833,1833,1833),(1834,1834,1834),(1835,1835,1835),
-(1836,1836,1836),(1837,1837,1837),(1838,1838,1838),(1839,1839,1839),(1840,1840,1840),
-(1841,1841,1841),(1842,1842,1842),(1843,1843,1843),(1844,1844,1844),(1845,1845,1845),
-(1846,1846,1846),(1847,1847,1847),(1848,1848,1848),(1849,1849,1849),(1850,1850,1850),
-(1851,1851,1851),(1852,1852,1852),(1853,1853,1853),(1854,1854,1854),(1855,1855,1855),
-(1856,1856,1856),(1857,1857,1857),(1858,1858,1858),(1859,1859,1859),(1860,1860,1860),
-(1861,1861,1861),(1862,1862,1862),(1863,1863,1863),(1864,1864,1864),(1865,1865,1865),
-(1866,1866,1866),(1867,1867,1867),(1868,1868,1868),(1869,1869,1869),(1870,1870,1870),
-(1871,1871,1871),(1872,1872,1872),(1873,1873,1873),(1874,1874,1874),(1875,1875,1875),
-(1876,1876,1876),(1877,1877,1877),(1878,1878,1878),(1879,1879,1879),(1880,1880,1880),
-(1881,1881,1881),(1882,1882,1882),(1883,1883,1883),(1884,1884,1884),(1885,1885,1885),
-(1886,1886,1886),(1887,1887,1887),(1888,1888,1888),(1889,1889,1889),(1890,1890,1890),
-(1891,1891,1891),(1892,1892,1892),(1893,1893,1893),(1894,1894,1894),(1895,1895,1895),
-(1896,1896,1896),(1897,1897,1897),(1898,1898,1898),(1899,1899,1899),(1900,1900,1900),
-(1901,1901,1901),(1902,1902,1902),(1903,1903,1903),(1904,1904,1904),(1905,1905,1905),
-(1906,1906,1906),(1907,1907,1907),(1908,1908,1908),(1909,1909,1909),(1910,1910,1910),
-(1911,1911,1911),(1912,1912,1912),(1913,1913,1913),(1914,1914,1914),(1915,1915,1915),
-(1916,1916,1916),(1917,1917,1917),(1918,1918,1918),(1919,1919,1919),(1920,1920,1920),
-(1921,1921,1921),(1922,1922,1922),(1923,1923,1923),(1924,1924,1924),(1925,1925,1925),
-(1926,1926,1926),(1927,1927,1927),(1928,1928,1928),(1929,1929,1929),(1930,1930,1930),
-(1931,1931,1931),(1932,1932,1932),(1933,1933,1933),(1934,1934,1934),(1935,1935,1935),
-(1936,1936,1936),(1937,1937,1937),(1938,1938,1938),(1939,1939,1939),(1940,1940,1940),
-(1941,1941,1941),(1942,1942,1942),(1943,1943,1943),(1944,1944,1944),(1945,1945,1945),
-(1946,1946,1946),(1947,1947,1947),(1948,1948,1948),(1949,1949,1949),(1950,1950,1950),
-(1951,1951,1951),(1952,1952,1952),(1953,1953,1953),(1954,1954,1954),(1955,1955,1955),
-(1956,1956,1956),(1957,1957,1957),(1958,1958,1958),(1959,1959,1959),(1960,1960,1960),
-(1961,1961,1961),(1962,1962,1962),(1963,1963,1963),(1964,1964,1964),(1965,1965,1965),
-(1966,1966,1966),(1967,1967,1967),(1968,1968,1968),(1969,1969,1969),(1970,1970,1970),
-(1971,1971,1971),(1972,1972,1972),(1973,1973,1973),(1974,1974,1974),(1975,1975,1975),
-(1976,1976,1976),(1977,1977,1977),(1978,1978,1978),(1979,1979,1979),(1980,1980,1980),
-(1981,1981,1981),(1982,1982,1982),(1983,1983,1983),(1984,1984,1984),(1985,1985,1985),
-(1986,1986,1986),(1987,1987,1987),(1988,1988,1988),(1989,1989,1989),(1990,1990,1990),
-(1991,1991,1991),(1992,1992,1992),(1993,1993,1993),(1994,1994,1994),(1995,1995,1995),
-(1996,1996,1996),(1997,1997,1997),(1998,1998,1998),(1999,1999,1999);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2000
-INSERT INTO t1 VALUES (1,1,1);
-ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-select count(*) from t1;
-count(*)
-2000
-begin;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2000
-INSERT INTO t1 VALUES
-(2001,2001,2001),(2002,2002,2002),(2003,2003,2003),(2004,2004,2004),(2005,2005,2005);
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2005
-rollback;
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-commit;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-rollback;
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-SELECT * FROM t1 WHERE pk1=10;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-rollback;
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-SELECT * FROM t1 WHERE pk1=10;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-SELECT * FROM t1 WHERE pk1=10;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-commit;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-begin;
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-ERROR 23000: Can't write; duplicate key in table 't1'
-INSERT INTO t1 values (4000, 40, 44);
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-rollback;
-select * from t1 where pk1=1;
-pk1 b c
-1 1 1
-select * from t1 where pk1=10;
-pk1 b c
-10 10 10
-select count(*) from t1 where pk1 <= 10 order by pk1;
-count(*)
-11
-select count(*) from t1;
-count(*)
-2000
-insert into t1 select * from t1 where b < 10 order by pk1;
-ERROR 23000: Can't write; duplicate key in table 't1'
-DELETE FROM t1 WHERE pk1=2;
-begin;
-INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
-select * from t1 where pk1 < 3 order by pk1;
-pk1 b c
-0 0 0
-1 1 1
-2 3 4
-rollback;
-INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
-select * from t1 where pk1 < 3 order by pk1;
-pk1 b c
-0 0 0
-1 1 1
-2 3 4
-REPLACE INTO t1 values(1, 78, 3);
-select * from t1 where pk1=1;
-pk1 b c
-1 78 3
-INSERT INTO t1 VALUES(1,1,1),(3,4,5) ON DUPLICATE KEY UPDATE b=79;
-select * from t1 where pk1 < 4 order by pk1;
-pk1 b c
-0 0 0
-1 79 3
-2 3 4
-3 79 3
-INSERT INTO t1 VALUES(1,1,1),(3,4,5) ON DUPLICATE KEY UPDATE b=pk1+c;
-select * from t1 where pk1 < 4 order by pk1;
-pk1 b c
-0 0 0
-1 4 3
-2 3 4
-3 6 3
-DELETE FROM t1 WHERE pk1 = 2 OR pk1 = 4 OR pk1 = 6;
-INSERT INTO t1 VALUES(1,1,1),(2,2,17),(3,4,5) ON DUPLICATE KEY UPDATE pk1=b;
-select * from t1 where pk1 = b and b != c order by pk1;
-pk1 b c
-2 2 17
-4 4 3
-6 6 3
-DELETE FROM t1;
-CREATE UNIQUE INDEX bi ON t1(b);
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-INSERT INTO t1 VALUES(0,1,0),(21,21,21) ON DUPLICATE KEY UPDATE pk1=b+10,b=b+10;
-select * from t1 order by pk1;
-pk1 b c
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-6 6 6
-7 7 7
-8 8 8
-9 9 9
-10 10 10
-11 11 1
-21 21 21
-DROP TABLE t1;
-CREATE TABLE t1(a INT) ENGINE=ndb;
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-SELECT * FROM t1 ORDER BY a;
-a
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-DELETE FROM t1;
-CREATE UNIQUE INDEX ai ON t1(a);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (NULL),(2);
-SELECT * FROM t1 ORDER BY a;
-a
-NULL
-1
-2
-DROP TABLE t1;
-CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb;
-INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3);
-INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4);
-SELECT * FROM t1 ORDER BY pk;
-pk a
-1 1
-2 2
-3 3
-4 NULL
-5 NULL
-6 NULL
-7 4
-DROP TABLE t1;
-create table t1(a int primary key, b int, unique key(b)) engine=ndb;
-insert ignore into t1 values (1,0), (2,0), (2,null), (3,null);
-select * from t1 order by a;
-a b
-1 0
-2 NULL
-3 NULL
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_limit.result b/mysql-test/suite/ndb/r/ndb_limit.result
deleted file mode 100644
index da1ec3b61c3..00000000000
--- a/mysql-test/suite/ndb/r/ndb_limit.result
+++ /dev/null
@@ -1,72 +0,0 @@
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-select count(*) from t2;
-count(*)
-10000
-delete from t2 limit 1;
-select count(*) from t2;
-count(*)
-9999
-delete from t2 limit 100;
-select count(*) from t2;
-count(*)
-9899
-delete from t2 limit 1000;
-select count(*) from t2;
-count(*)
-8899
-update t2 set c=12345678 limit 100;
-select count(*) from t2 where c=12345678;
-count(*)
-100
-select count(*) from t2 where c=12345678 limit 1000;
-count(*)
-100
-select * from t2 limit 0;
-a b c
-drop table t2;
-CREATE TABLE `t2` (
-`views` int(11) NOT NULL default '0',
-`clicks` int(11) NOT NULL default '0',
-`day` date NOT NULL default '0000-00-00',
-`hour` tinyint(4) NOT NULL default '0',
-`bannerid` smallint(6) NOT NULL default '0',
-`zoneid` smallint(6) NOT NULL default '0',
-`source` varchar(50) NOT NULL default '',
-PRIMARY KEY (`day`,`hour`,`bannerid`,`zoneid`,`source`),
-KEY `bannerid_day` (`bannerid`,`day`),
-KEY `zoneid` (`zoneid`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2` VALUES
-( 1,0,'2004-09-17', 5,100,100,''),
-( 1,0,'2004-09-18', 7,100,100,''),
-( 17,0,'2004-09-27',20,132,100,''),
-( 4,0,'2004-09-16',23,132,100,''),
-( 86,0,'2004-09-18', 7,196,196,''),
-( 11,0,'2004-09-16',16,132,100,''),
-(140,0,'2004-09-18', 0,100,164,''),
-( 2,0,'2004-09-17', 7,132,100,''),
-(846,0,'2004-09-27',11,132,164,''),
-( 1,0,'2004-09-18', 8,132,100,''),
-( 22,0,'2004-09-27', 9,164,132,''),
-(711,0,'2004-09-27', 9,100,164,''),
-( 11,0,'2004-09-18', 0,196,132,''),
-( 41,0,'2004-09-27',15,196,132,''),
-( 57,0,'2004-09-18', 2,164,196,'');
-SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
-as date_formatted FROM t2 GROUP BY day ORDER BY day DESC;
-date date_formatted
-20040927 27-09-2004
-20040918 18-09-2004
-20040917 17-09-2004
-20040916 16-09-2004
-SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
-as date_formatted FROM t2 GROUP BY day ORDER BY day DESC LIMIT 2;
-date date_formatted
-20040927 27-09-2004
-20040918 18-09-2004
-drop table t2;
diff --git a/mysql-test/suite/ndb/r/ndb_load.result b/mysql-test/suite/ndb/r/ndb_load.result
deleted file mode 100644
index f990b12e735..00000000000
--- a/mysql-test/suite/ndb/r/ndb_load.result
+++ /dev/null
@@ -1,80 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=NDB;
-LOAD DATA INFILE '../../../std_data/words.dat' INTO TABLE t1 ;
-ERROR 23000: Can't write; duplicate key in table 't1'
-DROP TABLE t1;
-CREATE TABLE t1 (word CHAR(20) NOT NULL) ENGINE=NDB;
-LOAD DATA INFILE '../../../std_data/words.dat' INTO TABLE t1 ;
-SELECT * FROM t1 ORDER BY word;
-word
-Aarhus
-Aarhus
-Aaron
-Aaron
-Ababa
-Ababa
-aback
-aback
-abaft
-abaft
-abandon
-abandon
-abandoned
-abandoned
-abandoning
-abandoning
-abandonment
-abandonment
-abandons
-abandons
-abase
-abased
-abasement
-abasements
-abases
-abash
-abashed
-abashes
-abashing
-abasing
-abate
-abated
-abatement
-abatements
-abater
-abates
-abating
-Abba
-abbe
-abbey
-abbeys
-abbot
-abbots
-Abbott
-abbreviate
-abbreviated
-abbreviates
-abbreviating
-abbreviation
-abbreviations
-Abby
-abdomen
-abdomens
-abdominal
-abduct
-abducted
-abduction
-abductions
-abductor
-abductors
-abducts
-Abe
-abed
-Abel
-Abelian
-Abelson
-Aberdeen
-Abernathy
-aberrant
-aberration
-DROP TABLE t1;
diff --git a/mysql-test/suite/ndb/r/ndb_loaddatalocal.result b/mysql-test/suite/ndb/r/ndb_loaddatalocal.result
deleted file mode 100644
index 71d1b143089..00000000000
--- a/mysql-test/suite/ndb/r/ndb_loaddatalocal.result
+++ /dev/null
@@ -1,46 +0,0 @@
-DROP TABLE IF EXISTS t1;
-create table t1(a int) engine=myisam;
-select * into outfile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int) engine=ndb;
-load data local infile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
-select count(*) from t1;
-count(*)
-10000
-drop table t1;
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (2), (2), (3);
-select * into outfile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key) engine=ndb;
-load data local infile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (1), (2), (3);
-select * into outfile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key) engine=ndb;
-load data local infile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (2), (3), (3);
-select * into outfile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-create table t1(a int primary key) engine=ndb;
-load data local infile 'MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
-select * from t1 order by a;
-a
-1
-2
-3
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_lock.result b/mysql-test/suite/ndb/r/ndb_lock.result
deleted file mode 100644
index 9057731c3f4..00000000000
--- a/mysql-test/suite/ndb/r/ndb_lock.result
+++ /dev/null
@@ -1,200 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-create table t1 (x integer not null primary key, y varchar(32)) engine = ndb;
-insert into t1 values (1,'one'), (2,'two');
-select * from t1 order by x;
-x y
-1 one
-2 two
-select * from t1 order by x;
-x y
-1 one
-2 two
-start transaction;
-insert into t1 values (3,'three');
-select * from t1 order by x;
-x y
-1 one
-2 two
-3 three
-start transaction;
-select * from t1 order by x;
-x y
-1 one
-2 two
-commit;
-select * from t1 order by x;
-x y
-1 one
-2 two
-3 three
-commit;
-drop table t1;
-create table t1 (pk integer not null primary key, u int not null, o int not null,
-unique(u), key(o)) engine = ndb;
-insert into t1 values (1,1,1), (2,2,2), (3,3,3), (4,4,4), (5,5,5);
-lock tables t1 write;
-delete from t1 where pk = 1;
-unlock tables;
-select * from t1 order by pk;
-pk u o
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-insert into t1 values (1,1,1);
-lock tables t1 write;
-delete from t1 where u = 1;
-unlock tables;
-select * from t1 order by pk;
-pk u o
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-insert into t1 values (1,1,1);
-lock tables t1 write;
-delete from t1 where o = 1;
-unlock tables;
-select * from t1 order by pk;
-pk u o
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-insert into t1 values (1,1,1);
-drop table t1;
-create table t1 (x integer not null primary key, y varchar(32), z integer, key(z)) engine = ndb;
-insert into t1 values (1,'one',1);
-begin;
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-begin;
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-rollback;
-insert into t1 values (2,'two',2),(3,"three",3);
-begin;
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' for update;
-x y z
-# # #
-# # #
-begin;
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' order by x for update;
-x y z
-1 one 1
-3 three 3
-begin;
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where z > 1 and z < 3 for update;
-x y z
-2 two 2
-begin;
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-Got one of the listed errors
-rollback;
-commit;
-begin;
-select * from t1 where x = 1 lock in share mode;
-x y z
-1 one 1
-begin;
-select * from t1 where x = 1 lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' lock in share mode;
-x y z
-# # #
-# # #
-begin;
-select * from t1 where y = 'one' lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where y = 'one' or y = 'three' order by x lock in share mode;
-x y z
-1 one 1
-3 three 3
-begin;
-select * from t1 where y = 'one' lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-x y z
-2 two 2
-select * from t1 where x = 1 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-begin;
-select * from t1 where z > 1 and z < 3 lock in share mode;
-x y z
-2 two 2
-begin;
-select * from t1 where z = 1 lock in share mode;
-x y z
-1 one 1
-select * from t1 where x = 1 for update;
-x y z
-1 one 1
-select * from t1 where x = 2 for update;
-ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-rollback;
-commit;
-drop table t1;
-create table t3 (id2 int) engine=ndb;
-lock tables t3 write;
-unlock tables;
-drop table t3;
-create table t2 (id int, j int) engine=ndb;
-insert into t2 values (2, 2);
-create table t3 (id int) engine=ndb;
-lock tables t3 read;
-delete t2 from t2, t3 where t2.id = t3.id;
-unlock tables;
-drop table t2, t3;
diff --git a/mysql-test/suite/ndb/r/ndb_lock_table.result b/mysql-test/suite/ndb/r/ndb_lock_table.result
deleted file mode 100644
index a0550273e1a..00000000000
--- a/mysql-test/suite/ndb/r/ndb_lock_table.result
+++ /dev/null
@@ -1,11 +0,0 @@
-drop table if exists t1;
-create table t1 (a int) engine ndb;
-set autocommit=1;
-lock table t1 write;
-set autocommit=0;
-insert into t1 values (0);
-rollback;
-select * from t1;
-a
-unlock tables;
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_minmax.result b/mysql-test/suite/ndb/r/ndb_minmax.result
deleted file mode 100644
index cc0c238ac6e..00000000000
--- a/mysql-test/suite/ndb/r/ndb_minmax.result
+++ /dev/null
@@ -1,120 +0,0 @@
-drop table if exists t1, t2;
-CREATE TABLE t1 (
-a int PRIMARY KEY
-) engine = ndb;
-INSERT INTO t1 VALUES (1);
-INSERT INTO t1 VALUES (2);
-INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select MIN(a) from t1;
-MIN(a)
-1
-select MIN(a) from t1;
-MIN(a)
-1
-select MIN(a) from t1;
-MIN(a)
-1
-select * from t1 order by a;
-a
-1
-2
-3
-4
-5
-6
-select MIN(a) from t1;
-MIN(a)
-1
-select MAX(a) from t1;
-MAX(a)
-6
-select MAX(a) from t1;
-MAX(a)
-6
-select * from t1 order by a;
-a
-1
-2
-3
-4
-5
-6
-drop table t1;
-CREATE TABLE t2 (
-a int PRIMARY KEY,
-b int not null,
-c int not null,
-KEY(b),
-UNIQUE(c)
-) engine = ndb;
-INSERT INTO t2 VALUES (1, 5, 1);
-INSERT INTO t2 VALUES (2, 2, 7);
-INSERT INTO t2 VALUES (3, 3, 3);
-INSERT INTO t2 VALUES (4, 4, 4);
-INSERT INTO t2 VALUES (5, 5, 5);
-INSERT INTO t2 VALUES (6, 6, 6);
-INSERT INTO t2 VALUES (7, 2, 10);
-INSERT INTO t2 VALUES (8, 10, 2);
-select MAX(a) from t2;
-MAX(a)
-8
-select MAX(b) from t2;
-MAX(b)
-10
-select MAX(c) from t2;
-MAX(c)
-10
-select MIN(a) from t2;
-MIN(a)
-1
-select MIN(b) from t2;
-MIN(b)
-2
-select MIN(c) from t2;
-MIN(c)
-1
-select * from t2 order by a;
-a b c
-1 5 1
-2 2 7
-3 3 3
-4 4 4
-5 5 5
-6 6 6
-7 2 10
-8 10 2
-select MIN(b) from t2;
-MIN(b)
-2
-select MAX(a) from t2;
-MAX(a)
-8
-select MAX(c) from t2;
-MAX(c)
-10
-select * from t2 order by a;
-a b c
-1 5 1
-2 2 7
-3 3 3
-4 4 4
-5 5 5
-6 6 6
-7 2 10
-8 10 2
-drop table t2;
diff --git a/mysql-test/suite/ndb/r/ndb_multi.result b/mysql-test/suite/ndb/r/ndb_multi.result
deleted file mode 100644
index 40483887919..00000000000
--- a/mysql-test/suite/ndb/r/ndb_multi.result
+++ /dev/null
@@ -1,145 +0,0 @@
-drop table if exists t1, t2, t3, t4;
-flush status;
-drop table if exists t1, t2, t3, t4;
-flush status;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select * from t2;
-a
-3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-select * from t1;
-a
-2
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-select * from t1;
-a
-2
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-select * from t1;
-a
-2
-select * from t1;
-a
-2
-flush status;
-select * from t1;
-a
-2
-update t1 set a=3 where a=2;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t3 (a int not null primary key, b varchar(22),
-c int, last_col text) engine=ndb;
-insert into t3 values(1, 'Hi!', 89, 'Longtext column');
-create table t4 (pk int primary key, b int) engine=ndb;
-select * from t1;
-a
-3
-select * from t3;
-a b c last_col
-1 Hi! 89 Longtext column
-show tables like 't4';
-Tables_in_test (t4)
-t4
-show tables;
-Tables_in_test
-t1
-t2
-t3
-t4
-drop table t1, t2, t3, t4;
-create table t1(c1 int key)ENGINE=MyISAM;
-insert into t1 values(1),(3),(5);
-select * from t1 order by c1;
-c1
-1
-3
-5
-show tables;
-Tables_in_test
-create table t1(c1 int key)ENGINE=MyISAM;
-insert into t1 values(100),(344),(533);
-select * from t1 order by c1;
-c1
-100
-344
-533
-alter table t1 engine=ndb;
-show tables;
-Tables_in_test
-t1
-Warnings:
-Warning 1050 Local table test.t1 shadows ndb table
-select * from t1 order by c1;
-c1
-100
-344
-533
-drop table t1;
-select * from t1 order by c1;
-c1
-1
-3
-5
-drop table t1;
-create database db;
-use db;
-create table t1(x int) engine=ndb;
-use db;
-show tables;
-Tables_in_db
-t1
-drop database db;
-show tables;
-ERROR 42000: Unknown database 'db'
-create database db;
-use db;
-create table t1(x int) engine=ndb;
-use db;
-create table t2(x int) engine=myisam;
-show tables;
-Tables_in_db
-t1
-t2
-drop database db;
-show tables;
-Tables_in_db
-t2
-drop database db;
-use test;
-create table `test`.`t1$EX`
- (server_id int unsigned,
-master_server_id int unsigned,
-master_epoch bigint unsigned,
-count int unsigned,
-primary key(server_id, master_server_id,
-master_epoch, count))
-engine ndb;
-show tables like '%$%';
-Tables_in_test (%$%)
-t1$ex
-use test;
-show tables like '%$%';
-Tables_in_test (%$%)
-t1$ex
-drop table `test`.`t1$EX`;
-show tables like '%$%';
-Tables_in_test (%$%)
-show tables like '%$%';
-Tables_in_test (%$%)
diff --git a/mysql-test/suite/ndb/r/ndb_multi_row.result b/mysql-test/suite/ndb/r/ndb_multi_row.result
deleted file mode 100644
index 96986490d23..00000000000
--- a/mysql-test/suite/ndb/r/ndb_multi_row.result
+++ /dev/null
@@ -1,68 +0,0 @@
-drop table if exists t1, t2, t3, t4;
-flush status;
-drop table if exists t1, t2, t3, t4;
-flush status;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-a
-2
-select * from t2;
-a
-3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-select * from t1;
-a
-2
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-select * from t1;
-a
-2
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-select * from t1;
-a
-2
-flush status;
-select * from t1;
-a
-2
-update t1 set a=3 where a=2;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t3 (a int not null primary key, b varchar(22),
-c int, last_col text) engine=ndb;
-insert into t3 values(1, 'Hi!', 89, 'Longtext column');
-create table t4 (pk int primary key, b int) engine=ndb;
-select * from t1;
-a
-3
-select * from t3;
-a b c last_col
-1 Hi! 89 Longtext column
-show tables like 't4';
-Tables_in_test (t4)
-t4
-show tables;
-Tables_in_test
-t1
-t2
-t3
-t4
-drop table t1, t2, t3, t4;
-drop table if exists t1, t3, t4;
-Warnings:
-Warning 155 Table 'test.t1' doesn't exist
-Warning 155 Table 'test.t3' doesn't exist
-Warning 155 Table 'test.t4' doesn't exist
diff --git a/mysql-test/suite/ndb/r/ndb_partition_error.result b/mysql-test/suite/ndb/r/ndb_partition_error.result
deleted file mode 100644
index df2db5c5f06..00000000000
--- a/mysql-test/suite/ndb/r/ndb_partition_error.result
+++ /dev/null
@@ -1,47 +0,0 @@
-drop table if exists t1;
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(a,b),
-index (a))
-engine = ndb
-partition by range (a)
-partitions 3
-(partition x1 values less than (5) nodegroup 12,
-partition x2 values less than (10) nodegroup 13,
-partition x3 values less than (20) nodegroup 14);
-ERROR HY000: Can't create table 'test.t1' (errno: 140)
-show warnings;
-Level Code Message
-Warning 1296 Got error 771 'Given NODEGROUP doesn't exist in this cluster' from NDB
-Error 1005 Can't create table 'test.t1' (errno: 140)
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(a))
-engine = ndb
-partition by range (a)
-partitions 3
-(partition x1 values less than (5),
-partition x2 values less than (10),
-partition x3 values less than (20));
-drop table t1;
-CREATE TABLE t1 (id INT) ENGINE=NDB
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
-INSERT INTO t1 VALUES (2);
-UPDATE t1 SET id=5 WHERE id=2;
-ERROR HY000: Table has no partition for value 5
-DROP TABLE t1;
-create table t1 (a int,b int, c int)
-engine = ndb
-partition by list(a)
-partitions 2
-(partition x123 values in (11, 12),
-partition x234 values in (5, 1));
-insert into t1 values (NULL,1,1);
-ERROR HY000: Table has no partition for value NULL
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_partition_error2.result b/mysql-test/suite/ndb/r/ndb_partition_error2.result
deleted file mode 100644
index a739ef3923c..00000000000
--- a/mysql-test/suite/ndb/r/ndb_partition_error2.result
+++ /dev/null
@@ -1,3 +0,0 @@
-drop table if exists t1;
-create table t1 (s1 int) engine=ndbcluster;
-ERROR HY000: For the partitioned engine it is necessary to define all partitions
diff --git a/mysql-test/suite/ndb/r/ndb_partition_key.result b/mysql-test/suite/ndb/r/ndb_partition_key.result
deleted file mode 100644
index bc15fd30413..00000000000
--- a/mysql-test/suite/ndb/r/ndb_partition_key.result
+++ /dev/null
@@ -1,312 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b,c))
-ENGINE = NDB
-PARTITION BY KEY (a,b);
-insert into t1 values (1,1,1,1);
-select * from t1;
-a b c d
-1 1 1 1
-update t1 set d = 2 where a = 1 and b = 1 and c = 1;
-select * from t1;
-a b c d
-1 1 1 2
-delete from t1;
-select * from t1;
-a b c d
-drop table t1;
-CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b))
-ENGINE = NDB
-PARTITION BY KEY (c);
-ERROR HY000: A PRIMARY KEY must include all columns in the table's partitioning function
-CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY(a,b))
-ENGINE = NDB
-PARTITION BY KEY (a);
-insert into t1 values
-(1,1,3),(1,2,3),(1,3,3),(1,4,3),(1,5,3),(1,6,3),
-(1,7,3),(1,8,3),(1,9,3),(1,10,3),(1,11,3),(1,12,3);
-select * from t1 order by b;
-a b c
-1 1 3
-1 2 3
-1 3 3
-1 4 3
-1 5 3
-1 6 3
-1 7 3
-1 8 3
-1 9 3
-1 10 3
-1 11 3
-1 12 3
-select max(b) from t1 where a = 1;
-max(b)
-12
-select b from t1 where a = 1 order by b desc;
-b
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
-DROP TABLE t1;
-CREATE TABLE t1 (a INT, b CHAR(10) COLLATE latin1_bin, c INT, d INT,
-PRIMARY KEY (a,b,c) USING HASH)
-ENGINE=NDB
-DEFAULT CHARSET=latin1
-PARTITION BY KEY (b);
-insert into t1 values (1,"a",1,1),(2,"a",1,1),(3,"a",1,1);
--- t1 --
-
-Fragment type: 5
-K Value: 6
-Min load factor: 78
-Max load factor: 80
-Temporary table: no
-Number of attributes: 4
-Number of primary keys: 3
-Length of frm data: #
-Row Checksum: 1
-Row GCI: 1
-SingleUserMode: 0
-ForceVarPart: 1
-TableStatus: Retrieved
--- Attributes --
-a Int PRIMARY KEY AT=FIXED ST=MEMORY
-b Char(10;latin1_bin) PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-c Int PRIMARY KEY AT=FIXED ST=MEMORY
-d Int NULL AT=FIXED ST=MEMORY
-
--- Indexes --
-PRIMARY KEY(a, b, c) - UniqueHashIndex
-
-
-NDBT_ProgramExit: 0 - OK
-
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL DEFAULT '0',
- `b` char(10) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
- `c` int(11) NOT NULL DEFAULT '0',
- `d` int(11) DEFAULT NULL,
- PRIMARY KEY (`a`,`b`,`c`) USING HASH
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (b) */
-DROP TABLE t1;
-CREATE TABLE t1 (a int not null primary key)
-PARTITION BY KEY(a)
-(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-drop table t1;
-CREATE TABLE t1 (a int not null primary key);
-ALTER TABLE t1
-ENGINE = NDB
-PARTITION BY KEY(a)
-(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-drop table t1;
-CREATE TABLE t1 (a int not null primary key) ENGINE = NDB;
-ALTER TABLE t1
-PARTITION BY KEY(a)
-(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-drop table t1;
-create table t1 (a int)
-engine=ndb
-partition by key(a)
-(partition p0, partition p1);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-alter table t1 engine=heap;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION p0 ENGINE = MEMORY,
- PARTITION p1 ENGINE = MEMORY) */
-alter table t1 engine=ndb;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-alter table t1 engine=heap remove partitioning;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MEMORY DEFAULT CHARSET=latin1
-alter table t1 engine=ndb
-partition by key(a)
-(partition p0, partition p1 engine = ndb);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-alter table t1
-partition by key (a)
-(partition p0 engine=ndb, partition p1 engine=ndb);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-alter table t1 remove partitioning;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-alter table t1
-partition by key(a)
-(partition p0 engine=ndb, partition p1);
-alter table t1
-engine=ndb
-partition by key(a)
-(partition p0 engine=ndb, partition p1 engine = ndb);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-drop table t1;
-CREATE TABLE t1 (
-c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
-c2 TEXT NOT NULL,
-c3 INT NOT NULL,
-c4 BIT NOT NULL,
-c5 FLOAT,
-c6 VARCHAR(255),
-c7 TIMESTAMP,
-PRIMARY KEY(c1,c3))
-ENGINE=NDB
-PARTITION BY KEY(c3) PARTITIONS 5;
-ALTER TABLE t1 COALESCE PARTITION 4;
-DROP TABLE t1;
-CREATE TABLE t1 (a int primary key)
-ENGINE=NDB
-PARTITION BY KEY(a);
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-REPAIR TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-ALTER TABLE t1 OPTIMIZE PARTITION p0;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-ALTER TABLE t1 CHECK PARTITION p0;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-ALTER TABLE t1 REPAIR PARTITION p0;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-ALTER TABLE t1 ANALYZE PARTITION p0;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-ALTER TABLE t1 REBUILD PARTITION p0;
-ERROR HY000: Table storage engine for 't1' doesn't have this option
-DROP TABLE t1;
-CREATE TABLE t1 (
-c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
-c2 TEXT NOT NULL,
-c3 INT NOT NULL,
-PRIMARY KEY(c1,c3))
-ENGINE=NDB
-PARTITION BY KEY(c3) PARTITIONS 5;
-ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
-DROP TABLE t1;
-CREATE TABLE t1 (
-c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
-c2 TEXT NOT NULL,
-c3 INT NOT NULL,
-PRIMARY KEY(c1,c3))
-ENGINE=NDB
-PARTITION BY KEY(c3)
-(PARTITION p0 NODEGROUP 0, PARTITION p1 NODEGROUP 0);
-ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
-SELECT NODEGROUP,PARTITION_NAME FROM information_schema.partitions WHERE
-table_name = "t1";
-NODEGROUP PARTITION_NAME
-0 p0
-0 p1
-DROP TABLE t1;
-CREATE TABLE t1 (
-a tinyint unsigned NOT NULL,
-b bigint(20) unsigned NOT NULL,
-c char(12),
-PRIMARY KEY (a,b)
-) ENGINE ndb DEFAULT CHARSET=latin1 PARTITION BY KEY (a);
-insert into t1 values(1,1,'1'), (2,2,'2'), (3,3,'3'), (4,4,'4'), (5,5,'5');
-select * from t1 where a = 1;
-a b c
-1 1 1
-select * from t1 where a = 2;
-a b c
-2 2 2
-select * from t1 where a = 3;
-a b c
-3 3 3
-select * from t1 where a = 4;
-a b c
-4 4 4
-select * from t1 where a = 5;
-a b c
-5 5 5
-delete from t1 where a = 1;
-select * from t1 order by 1;
-a b c
-2 2 2
-3 3 3
-4 4 4
-5 5 5
-delete from t1 where a = 2;
-select * from t1 order by 1;
-a b c
-3 3 3
-4 4 4
-5 5 5
-delete from t1 where a = 3;
-select * from t1 order by 1;
-a b c
-4 4 4
-5 5 5
-delete from t1 where a = 4;
-select * from t1 order by 1;
-a b c
-5 5 5
-delete from t1 where a = 5;
-select * from t1 order by 1;
-a b c
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_partition_list.result b/mysql-test/suite/ndb/r/ndb_partition_list.result
deleted file mode 100644
index ce2574ddcc4..00000000000
--- a/mysql-test/suite/ndb/r/ndb_partition_list.result
+++ /dev/null
@@ -1,51 +0,0 @@
-drop table if exists t1;
-CREATE TABLE t1 ( f_int1 INTEGER NOT NULL, f_int2 INTEGER NOT NULL,
-f_char1 CHAR(10),
-f_char2 CHAR(10), f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int1,f_int2))
-ENGINE = NDB
-PARTITION BY LIST(MOD(f_int1 + f_int2,4))
-(PARTITION part_3 VALUES IN (-3),
-PARTITION part_2 VALUES IN (-2),
-PARTITION part_1 VALUES IN (-1),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2),
-PARTITION part3 VALUES IN (3,4,5));
-INSERT INTO t1 SET f_int1 = -2, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
-INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 3, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 4, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 5, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-SELECT * FROM t1 ORDER BY f_int1;
-f_int1 f_int2 f_char1 f_char2 f_charbig
--2 20 20 20 ===20===
-1 1 1 1 ===1===
-2 1 1 1 ===1===
-3 1 1 1 ===1===
-4 1 1 1 ===1===
-5 1 1 1 ===1===
-20 1 1 1 ===1===
-DROP TABLE t1;
-CREATE TABLE t1 ( f_int1 INTEGER, f_int2 INTEGER, f_char1 CHAR(10),
-f_char2 CHAR(10), f_charbig VARCHAR(1000))
-ENGINE = NDB
-PARTITION BY LIST(f_int1)
-(PARTITION part_1 VALUES IN (-1),
-PARTITION part0 VALUES IN (0,1),
-PARTITION part1 VALUES IN (2));
-INSERT INTO t1 SET f_int1 = -1, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
-INSERT INTO t1 SET f_int1 = 0, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
-INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-ERROR HY000: Table has no partition for value 20
-SELECT * FROM t1 ORDER BY f_int1;
-f_int1 f_int2 f_char1 f_char2 f_charbig
--1 20 20 20 ===20===
-0 20 20 20 ===20===
-1 1 1 1 ===1===
-2 1 1 1 ===1===
-DROP TABLE t1;
diff --git a/mysql-test/suite/ndb/r/ndb_partition_range.result b/mysql-test/suite/ndb/r/ndb_partition_range.result
deleted file mode 100644
index fbaec81984d..00000000000
--- a/mysql-test/suite/ndb/r/ndb_partition_range.result
+++ /dev/null
@@ -1,275 +0,0 @@
-drop table if exists t1;
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(a,b),
-index (a))
-engine = ndb
-partition by range (a)
-partitions 3
-(partition x1 values less than (5),
-partition x2 values less than (10),
-partition x3 values less than (20));
-INSERT into t1 values (1, 1, 1);
-INSERT into t1 values (6, 1, 1);
-INSERT into t1 values (10, 1, 1);
-INSERT into t1 values (15, 1, 1);
-select * from information_schema.partitions where table_name= 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-def test t1 x1 NULL 1 NULL RANGE NULL a NULL 5 0 0 0 # 0 0 # # NULL NULL default NULL
-def test t1 x2 NULL 2 NULL RANGE NULL a NULL 10 0 0 0 # 0 0 # # NULL NULL default NULL
-def test t1 x3 NULL 3 NULL RANGE NULL a NULL 20 0 0 0 # 0 0 # # NULL NULL default NULL
-select * from t1 order by a;
-a b c
-1 1 1
-6 1 1
-10 1 1
-15 1 1
-select * from t1 where a=1 order by a;
-a b c
-1 1 1
-select * from t1 where a=15 and b=1 order by a;
-a b c
-15 1 1
-select * from t1 where a=21 and b=1 order by a;
-a b c
-select * from t1 where a=21 order by a;
-a b c
-select * from t1 where a in (1,6,10,21) order by a;
-a b c
-1 1 1
-6 1 1
-10 1 1
-select * from t1 where b=1 and a in (1,6,10,21) order by a;
-a b c
-1 1 1
-6 1 1
-10 1 1
-INSERT into t1 values (1, 2, 2);
-select max(b) from t1 where a = 1;
-max(b)
-2
-select b from t1 where a = 1 order by b desc;
-b
-2
-1
-drop table t1;
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(b),
-unique (a))
-engine = ndb
-partition by range (b)
-partitions 3
-(partition x1 values less than (5),
-partition x2 values less than (10),
-partition x3 values less than (20));
-INSERT into t1 values (1, 1, 1);
-INSERT into t1 values (2, 6, 1);
-INSERT into t1 values (3, 10, 1);
-INSERT into t1 values (4, 15, 1);
-select * from t1 order by a;
-a b c
-1 1 1
-2 6 1
-3 10 1
-4 15 1
-UPDATE t1 set a = 5 WHERE b = 15;
-select * from t1 order by a;
-a b c
-1 1 1
-2 6 1
-3 10 1
-5 15 1
-UPDATE t1 set a = 6 WHERE a = 5;
-select * from t1 order by a;
-a b c
-1 1 1
-2 6 1
-3 10 1
-6 15 1
-select * from t1 where b=1 order by b;
-a b c
-1 1 1
-select * from t1 where b=15 and a=1 order by b;
-a b c
-select * from t1 where b=21 and a=1 order by b;
-a b c
-select * from t1 where b=21 order by b;
-a b c
-select * from t1 where b in (1,6,10,21) order by b;
-a b c
-1 1 1
-2 6 1
-3 10 1
-select * from t1 where a in (1,2,5,6) order by b;
-a b c
-1 1 1
-2 6 1
-6 15 1
-select * from t1 where a=1 and b in (1,6,10,21) order by b;
-a b c
-1 1 1
-DELETE from t1 WHERE b = 6;
-DELETE from t1 WHERE a = 6;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL,
- `b` int(11) NOT NULL,
- `c` int(11) NOT NULL,
- PRIMARY KEY (`b`),
- UNIQUE KEY `a` (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (b)
-(PARTITION x1 VALUES LESS THAN (5) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (10) ENGINE = ndbcluster,
- PARTITION x3 VALUES LESS THAN (20) ENGINE = ndbcluster) */
-drop table t1;
-CREATE TABLE t1
-(id MEDIUMINT NOT NULL,
-b1 BIT(8),
-vc VARCHAR(255),
-bc CHAR(255),
-d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0,
-total BIGINT UNSIGNED,
-y YEAR,
-t DATE) ENGINE=NDB
-PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901),
-PARTITION p1 VALUES LESS THAN (1946),
-PARTITION p2 VALUES LESS THAN (1966),
-PARTITION p3 VALUES LESS THAN (1986),
-PARTITION p4 VALUES LESS THAN (2005),
-PARTITION p5 VALUES LESS THAN MAXVALUE);
-INSERT INTO t1 VALUES (0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-SELECT * FROM t1;
-id b1 vc bc d f total y t
-0 NULL NULL NULL NULL NULL NULL NULL NULL
-ALTER TABLE t1 ENGINE=MYISAM;
-SELECT * FROM t1;
-id b1 vc bc d f total y t
-0 NULL NULL NULL NULL NULL NULL NULL NULL
-DROP TABLE t1;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
- INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE=1M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
- USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1 (
-a1 INT,
-a2 TEXT NOT NULL,
-a3 BIT NOT NULL,
-a4 DECIMAL(8,3),
-a5 INT NOT NULL,
-a6 INT,
-PRIMARY KEY(a1))
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB
-PARTITION BY LIST (a1)
-(PARTITION p0 VALUES IN (1,2,3,4,5),
-PARTITION p1 VALUES IN (6,7,8,9, 10),
-PARTITION p2 VALUES IN (11, 12, 13, 14, 15));
-ALTER TABLE test.t1 DROP COLUMN a6;
-ALTER TABLE test.t1 ADD COLUMN a6 VARCHAR(255);
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-15
-ALTER TABLE test.t1 DROP COLUMN a4;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-15
-DROP TABLE t1;
-CREATE TABLE test.t1 (
-a1 INT,
-a2 TEXT NOT NULL,
-a3 BIT NOT NULL,
-a4 DECIMAL(8,3),
-a5 INT NOT NULL,
-a6 VARCHAR(255),
-PRIMARY KEY(a1))
-TABLESPACE ts1 STORAGE DISK ENGINE=NDB
-PARTITION BY HASH(a1)
-PARTITIONS 4;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-15
-ALTER TABLE test.t1 DROP COLUMN a4;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-15
-DROP TABLE t1;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-DROP TABLESPACE ts1 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
-CREATE TABLE t1
-(id MEDIUMINT NOT NULL,
-b1 BIT(8),
-vc VARCHAR(255),
-bc CHAR(255),
-d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0,
-total BIGINT UNSIGNED,
-y YEAR,
-t DATE) ENGINE=NDB
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
-INSERT INTO t1 VALUES (2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-SELECT * FROM t1;
-id b1 vc bc d f total y t
-2 NULL NULL NULL NULL NULL NULL NULL NULL
-ALTER TABLE t1 ADD PARTITION
-(PARTITION p2 VALUES IN (412));
-SELECT * FROM t1;
-id b1 vc bc d f total y t
-2 NULL NULL NULL NULL NULL NULL NULL NULL
-DROP TABLE t1;
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null)
-partition by list(a)
-partitions 2
-(partition x123 values in (1,5,6),
-partition x234 values in (4,7,8));
-INSERT into t1 VALUES (5,1,1);
-select * from t1;
-a b c
-5 1 1
-UPDATE t1 SET a=8 WHERE a=5 AND b=1;
-select * from t1;
-a b c
-8 1 1
-drop table t1;
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) engine=ndb
-PARTITION BY RANGE(f1)
-( PARTITION part1 VALUES LESS THAN (2),
-PARTITION part2 VALUES LESS THAN (1000));
-INSERT INTO t1 VALUES(1, '---1---');
-INSERT INTO t1 VALUES(2, '---2---');
-select * from t1 order by f1;
-f1 f2
-1 ---1---
-2 ---2---
-UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 2;
-select * from t1 order by f1;
-f1 f2
-1 ---1---
-6 ---2---
-UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 1;
-select * from t1 order by f1;
-f1 f2
-5 ---1---
-6 ---2---
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_read_multi_range.result b/mysql-test/suite/ndb/r/ndb_read_multi_range.result
deleted file mode 100644
index 113fb28bb78..00000000000
--- a/mysql-test/suite/ndb/r/ndb_read_multi_range.result
+++ /dev/null
@@ -1,494 +0,0 @@
-DROP TABLE IF EXISTS t1, t2, r1;
-create table t1 (
-a int primary key,
-b int not null,
-c int not null,
-index(b), unique index using hash(c)
-) engine = ndb;
-insert into t1 values
-(1,2,1),(2,3,2),(3,4,3),(4,5,4),
-(5,2,12),(6,3,11),(7,4,10),(8,5,9),
-(9,2,8),(10,3,7),(11,4,6),(12,5,5);
-create table r1 as select * from t1 where a in (2,8,12);
-select * from r1 order by a;
-a b c
-2 3 2
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where b in (1,2,5);
-select * from r1 order by a;
-a b c
-1 2 1
-4 5 4
-5 2 12
-8 5 9
-9 2 8
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where c in (2,8,12);
-select * from r1 order by a;
-a b c
-2 3 2
-5 2 12
-9 2 8
-drop table r1;
-create table r1 as select * from t1 where a in (2,8) or (a > 11) or (a <= 1);
-select * from r1 order by a;
-a b c
-1 2 1
-2 3 2
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where a in (33,8,12);
-select * from r1 order by a;
-a b c
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where a in (2,33,8,12,34);
-select * from r1 order by a;
-a b c
-2 3 2
-8 5 9
-12 5 5
-drop table r1;
-create table r1 as select * from t1 where b in (1,33,5);
-select * from r1 order by a;
-a b c
-4 5 4
-8 5 9
-12 5 5
-drop table r1;
-select * from t1 where b in (1,33,5) order by a;
-a b c
-4 5 4
-8 5 9
-12 5 5
-create table r1 as select * from t1 where b in (45,1,33,5,44);
-select * from r1 order by a;
-a b c
-4 5 4
-8 5 9
-12 5 5
-drop table r1;
-select * from t1 where b in (45,22) order by a;
-a b c
-create table r1 as select * from t1 where c in (2,8,33);
-select * from r1 order by a;
-a b c
-2 3 2
-9 2 8
-drop table r1;
-create table r1 as select * from t1 where c in (13,2,8,33,12);
-select * from r1 order by a;
-a b c
-2 3 2
-5 2 12
-9 2 8
-drop table r1;
-select * from t1 where a in (33,8,12) order by a;
-a b c
-8 5 9
-12 5 5
-select * from t1 where a in (33,34,35) order by a;
-a b c
-select * from t1 where a in (2,8) or (a > 11) or (a <= 1) order by a;
-a b c
-1 2 1
-2 3 2
-8 5 9
-12 5 5
-select * from t1 where b in (6,7) or (b <= 5) or (b >= 10) order by b,a;
-a b c
-1 2 1
-5 2 12
-9 2 8
-2 3 2
-6 3 11
-10 3 7
-3 4 3
-7 4 10
-11 4 6
-4 5 4
-8 5 9
-12 5 5
-select * from t1 where c in (13,2,8,33,12) order by c,a;
-a b c
-2 3 2
-9 2 8
-5 2 12
-drop table t1;
-create table t1 (
-a int not null,
-b int not null,
-c int not null,
-d int not null,
-e int not null,
-primary key (a,b,c,d), index (d)
-) engine = ndb;
-insert into t1 values
-(1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1),
-(5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1),
-(9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1),
-(1,2,1,2,1),
-(1,2,1,3,1),
-(1,2,1,4,1),
-(1,2,1,5,1);
-create table r1 as select * from t1
-where a=1 and b=2 and c=1 and d in (1,4,3,2);
-select * from r1 order by a,b,c,d;
-a b c d e
-1 2 1 1 1
-1 2 1 2 1
-1 2 1 3 1
-1 2 1 4 1
-drop table r1;
-update t1 set e = 100
-where d in (12,6,7);
-select * from t1 where d in (12,6,7) order by a,b,c,d;
-a b c d e
-4 5 4 7 100
-5 2 12 12 100
-9 2 8 6 100
-select * from t1 where d not in (12,6,7) and e = 100;
-a b c d e
-update t1
-set e = 101
-where a=1 and
-b=2 and
-c=1 and
-d in (1,4,3,2);
-select *
-from t1
-where a=1 and b=2 and c=1 and d in (1,4,3,2)
-order by a,b,c,d;
-a b c d e
-1 2 1 1 101
-1 2 1 2 101
-1 2 1 3 101
-1 2 1 4 101
-select *
-from t1
-where not (a=1 and b=2 and c=1 and d in (1,4,3,2))
-and e=101;
-a b c d e
-update t1
-set e =
-(case d
-when 12 then 112
-when 6 then 106
-when 7 then 107
-end)
-where d in (12,6,7);
-select * from t1 where d in (12,6,7) order by a,b,c,d;
-a b c d e
-4 5 4 7 107
-5 2 12 12 112
-9 2 8 6 106
-update t1
-set e =
-(case d
-when 1 then 111
-when 4 then 444
-when 3 then 333
-when 2 then 222
-end)
-where a=1 and
-b=2 and
-c=1 and
-d in (1,4,3,2);
-select *
-from t1
-where a=1 and b=2 and c=1 and d in (1,4,3,2)
-order by a,b,c,d;
-a b c d e
-1 2 1 1 111
-1 2 1 2 222
-1 2 1 3 333
-1 2 1 4 444
-delete from t1 where d in (12,6,7);
-select * from t1 where d in (12,6,7);
-a b c d e
-drop table t1;
-create table t1 (
-a int not null primary key,
-b int,
-c int,
-d int,
-unique index (b),
-index(c)
-) engine = ndb;
-insert into t1 values
-(1,null,1,1),
-(2,2,2,2),
-(3,null,null,3),
-(4,4,null,4),
-(5,null,5,null),
-(6,6,6,null),
-(7,null,null,null),
-(8,8,null,null),
-(9,null,9,9),
-(10,10,10,10),
-(11,null,null,11),
-(12,12,null,12),
-(13,null,13,null),
-(14,14,14,null),
-(15,null,null,null),
-(16,16,null,null);
-create table t2 as select * from t1 where a in (5,6,7,8,9,10);
-select * from t2 order by a;
-a b c d
-5 NULL 5 NULL
-6 6 6 NULL
-7 NULL NULL NULL
-8 8 NULL NULL
-9 NULL 9 9
-10 10 10 10
-drop table t2;
-create table t2 as select * from t1 where b in (5,6,7,8,9,10);
-select * from t2 order by a;
-a b c d
-6 6 6 NULL
-8 8 NULL NULL
-10 10 10 10
-drop table t2;
-create table t2 as select * from t1 where c in (5,6,7,8,9,10);
-select * from t2 order by a;
-a b c d
-5 NULL 5 NULL
-6 6 6 NULL
-9 NULL 9 9
-10 10 10 10
-drop table t2;
-drop table t1;
-CREATE TABLE t1 (
-a int(11) NOT NULL,
-b int(11) NOT NULL,
-c datetime default NULL,
-PRIMARY KEY (a),
-KEY idx_bc (b,c)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES
-(406989,67,'2006-02-23 17:08:46'), (150078,67,'2005-10-26 11:17:45'),
-(406993,67,'2006-02-27 11:20:57'), (245655,67,'2005-12-08 15:59:08'),
-(406994,67,'2006-02-27 11:26:46'), (256,67,NULL),
-(398341,67,'2006-02-20 04:48:44'), (254,67,NULL),(1120,67,NULL),
-(406988,67,'2006-02-23 17:07:22'), (255,67,NULL),
-(398340,67,'2006-02-20 04:38:53'),(406631,67,'2006-02-23 10:49:42'),
-(245653,67,'2005-12-08 15:59:07'),(406992,67,'2006-02-24 16:47:18'),
-(245654,67,'2005-12-08 15:59:08'),(406995,67,'2006-02-28 11:55:00'),
-(127261,67,'2005-10-13 12:17:58'),(406991,67,'2006-02-24 16:42:32'),
-(245652,67,'2005-12-08 15:58:27'),(398545,67,'2006-02-20 04:53:13'),
-(154504,67,'2005-10-28 11:53:01'),(9199,67,NULL),(1,67,'2006-02-23 15:01:35'),
-(223456,67,NULL),(4101,67,NULL),(1133,67,NULL),
-(406990,67,'2006-02-23 18:01:45'),(148815,67,'2005-10-25 15:34:17'),
-(148812,67,'2005-10-25 15:30:01'),(245651,67,'2005-12-08 15:58:27'),
-(154503,67,'2005-10-28 11:52:38');
-create table t11 engine = ndbcluster select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 asc;
-create table t12 engine = ndbcluster select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 desc;
-create table t21 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 asc;
-create table t22 engine = ndbcluster select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 desc;
-select * from t11 order by 1,2,3;
-a b c
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-select * from t12 order by 1,2,3;
-a b c
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-select * from t21 order by 1,2,3;
-a b c
-1 67 2006-02-23 15:01:35
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-245651 67 2005-12-08 15:58:27
-245652 67 2005-12-08 15:58:27
-245653 67 2005-12-08 15:59:07
-245654 67 2005-12-08 15:59:08
-245655 67 2005-12-08 15:59:08
-398340 67 2006-02-20 04:38:53
-398341 67 2006-02-20 04:48:44
-398545 67 2006-02-20 04:53:13
-406631 67 2006-02-23 10:49:42
-406988 67 2006-02-23 17:07:22
-406989 67 2006-02-23 17:08:46
-406990 67 2006-02-23 18:01:45
-406991 67 2006-02-24 16:42:32
-406992 67 2006-02-24 16:47:18
-406993 67 2006-02-27 11:20:57
-406994 67 2006-02-27 11:26:46
-406995 67 2006-02-28 11:55:00
-select * from t22 order by 1,2,3;
-a b c
-1 67 2006-02-23 15:01:35
-254 67 NULL
-255 67 NULL
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-245651 67 2005-12-08 15:58:27
-245652 67 2005-12-08 15:58:27
-245653 67 2005-12-08 15:59:07
-245654 67 2005-12-08 15:59:08
-245655 67 2005-12-08 15:59:08
-398340 67 2006-02-20 04:38:53
-398341 67 2006-02-20 04:48:44
-398545 67 2006-02-20 04:53:13
-406631 67 2006-02-23 10:49:42
-406988 67 2006-02-23 17:07:22
-406989 67 2006-02-23 17:08:46
-406990 67 2006-02-23 18:01:45
-406991 67 2006-02-24 16:42:32
-406992 67 2006-02-24 16:47:18
-406993 67 2006-02-27 11:20:57
-406994 67 2006-02-27 11:26:46
-406995 67 2006-02-28 11:55:00
-select t12.a from t11, t12 where t11.a in(255,256) and t11.a = t12.a and t11.c is null order by t12.a;
-a
-255
-256
-update t22 set c = '2005-12-08 15:58:27' where a = 255;
-select * from t22 order by 1,2,3;
-a b c
-1 67 2006-02-23 15:01:35
-254 67 NULL
-255 67 2005-12-08 15:58:27
-256 67 NULL
-1120 67 NULL
-1133 67 NULL
-4101 67 NULL
-9199 67 NULL
-223456 67 NULL
-245651 67 2005-12-08 15:58:27
-245652 67 2005-12-08 15:58:27
-245653 67 2005-12-08 15:59:07
-245654 67 2005-12-08 15:59:08
-245655 67 2005-12-08 15:59:08
-398340 67 2006-02-20 04:38:53
-398341 67 2006-02-20 04:48:44
-398545 67 2006-02-20 04:53:13
-406631 67 2006-02-23 10:49:42
-406988 67 2006-02-23 17:07:22
-406989 67 2006-02-23 17:08:46
-406990 67 2006-02-23 18:01:45
-406991 67 2006-02-24 16:42:32
-406992 67 2006-02-24 16:47:18
-406993 67 2006-02-27 11:20:57
-406994 67 2006-02-27 11:26:46
-406995 67 2006-02-28 11:55:00
-select t21.* from t21,t22 where t21.a = t22.a and
-t22.a in (select t12.a from t11, t12 where t11.a in(255,256) and t11.a = t12.a and t11.c is null) and t22.c is null order by t21.a;
-a b c
-256 67 NULL
-delete from t22 where a > 245651;
-update t22 set b = a + 1;
-select * from t22 order by 1,2,3;
-a b c
-1 2 2006-02-23 15:01:35
-254 255 NULL
-255 256 2005-12-08 15:58:27
-256 257 NULL
-1120 1121 NULL
-1133 1134 NULL
-4101 4102 NULL
-9199 9200 NULL
-223456 223457 NULL
-245651 245652 2005-12-08 15:58:27
-select t21.c, count(*)
-from t21
-inner join t22 using (a)
-where t22.b in (2,256,257,1121,1134,4102,9200,223457,245652)
-group by t21.c
-order by t21.c;
-c count(*)
-NULL 7
-2005-12-08 15:58:27 1
-2006-02-23 15:01:35 1
-DROP TABLE t1, t11, t12, t21, t22;
-CREATE TABLE t1 (id varchar(255) NOT NULL,
-tag int(11) NOT NULL,
-doc text NOT NULL,
-type varchar(150) NOT NULL,
-modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
-PRIMARY KEY (id)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES ('sakila',1,'Some text goes here','text',CURRENT_TIMESTAMP);
-SELECT id, tag, doc, type FROM t1 WHERE id IN ('flipper','orka');
-id tag doc type
-SELECT id, tag, doc, type FROM t1 WHERE id IN ('flipper','sakila');
-id tag doc type
-sakila 1 Some text goes here text
-DROP TABLE t1;
-CREATE TABLE t1 (
-var1 int(2) NOT NULL,
-var2 int(2) NOT NULL,
-PRIMARY KEY (var1)
-) ENGINE=ndbcluster DEFAULT CHARSET=ascii CHECKSUM=1;
-CREATE TABLE t2 (
-var1 int(2) NOT NULL,
-var2 int(2) NOT NULL,
-PRIMARY KEY (var1)
-) ENGINE=ndbcluster DEFAULT CHARSET=ascii CHECKSUM=1;
-CREATE TRIGGER testtrigger
-AFTER UPDATE ON t1 FOR EACH ROW BEGIN
-REPLACE INTO t2 SELECT * FROM t1 WHERE t1.var1 = NEW.var1;END|
-INSERT INTO t1 VALUES (1,1),(2,2),(3,3);
-UPDATE t1 SET var2 = 9 WHERE var1 IN(1,2,3);
-DROP TRIGGER testtrigger;
-DROP TABLE t1, t2;
-create table t1 (a int, b int, primary key (a), key ab (a,b)) engine=ndbcluster;
-insert into t1 values (1,1), (10,10);
-select * from t1 use index (ab) where a in(1,10) order by a;
-a b
-1 1
-10 10
-create table t2 (a int, b int, primary key (a,b)) engine=ndbcluster
-partition by key(a);
-insert into t2 values (1,1), (10,10);
-select * from t2 where a in (1,10) order by a;
-a b
-1 1
-10 10
-drop table t1, t2;
-create table t1 (id int primary key) engine ndb;
-insert into t1 values (1), (2), (3);
-create table t2 (id int primary key) engine ndb;
-insert into t2 select id from t1;
-create trigger kaboom after delete on t1
-for each row begin
-delete from t2 where id=old.id;
-end|
-select * from t1 order by id;
-id
-1
-2
-3
-delete from t1 where id in (1,2);
-select * from t2 order by id;
-id
-3
-drop trigger kaboom;
-drop table t1, t2;
diff --git a/mysql-test/suite/ndb/r/ndb_rename.result b/mysql-test/suite/ndb/r/ndb_rename.result
deleted file mode 100644
index 2cc2dfb3ff1..00000000000
--- a/mysql-test/suite/ndb/r/ndb_rename.result
+++ /dev/null
@@ -1,24 +0,0 @@
-DROP TABLE IF EXISTS t1,t2;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL,
-attr2 INT,
-attr3 VARCHAR(10),
-INDEX i1(attr1)
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0,0,0,"zero"),(1,1,1,"one"),(2,2,2,"two");
-SELECT * FROM t1 WHERE attr1 = 1;
-pk1 attr1 attr2 attr3
-1 1 1 one
-alter table t1 rename t2;
-SELECT * FROM t2 WHERE attr1 = 1;
-pk1 attr1 attr2 attr3
-1 1 1 one
-create database ndbtest;
-alter table t2 rename ndbtest.t2;
-SELECT * FROM ndbtest.t2 WHERE attr1 = 1;
-pk1 attr1 attr2 attr3
-1 1 1 one
-drop table ndbtest.t2;
-drop database ndbtest;
diff --git a/mysql-test/suite/ndb/r/ndb_replace.result b/mysql-test/suite/ndb/r/ndb_replace.result
deleted file mode 100644
index ba78017ef7b..00000000000
--- a/mysql-test/suite/ndb/r/ndb_replace.result
+++ /dev/null
@@ -1,99 +0,0 @@
-drop table if exists t1,t2;
-CREATE TABLE t1 (
-gesuchnr int(11) DEFAULT '0' NOT NULL,
-benutzer_id int(11) DEFAULT '0' NOT NULL,
-PRIMARY KEY (gesuchnr,benutzer_id)
-) engine=ndbcluster;
-replace into t1 (gesuchnr,benutzer_id) values (2,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-insert into t1 (gesuchnr, benutzer_id) value (3,2);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-insert into t1 (gesuchnr,benutzer_id) values (1,1);
-ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-select * from t1 order by gesuchnr;
-gesuchnr benutzer_id
-1 1
-2 1
-3 2
-drop table t1;
-CREATE TABLE t1(i INT PRIMARY KEY AUTO_INCREMENT,
-j INT,
-k INT,
-UNIQUE INDEX(j)
-) ENGINE = ndb;
-INSERT INTO t1 VALUES (1,1,23),(2,2,24);
-REPLACE INTO t1 (j,k) VALUES (1,42);
-REPLACE INTO t1 (i,j) VALUES (17,2);
-SELECT * from t1 ORDER BY i;
-i j k
-3 1 42
-17 2 NULL
-DROP TABLE t1;
-CREATE TABLE t2 (a INT(11) NOT NULL,
-b INT(11) NOT NULL,
-c INT(11) NOT NULL,
-x TEXT,
-y TEXT,
-z TEXT,
-id INT(10) unsigned NOT NULL AUTO_INCREMENT,
-i INT(11) DEFAULT NULL,
-PRIMARY KEY (id),
-UNIQUE KEY a (a,b,c)
-) ENGINE=ndbcluster;
-REPLACE INTO t2 (a,b,c,x,y,z,i) VALUES (1,1,1,'a','a','a',1),(1,1,1,'b','b','b',2), (1,1,1,'c','c','c',3);
-SELECT * FROM t2 ORDER BY id;
-a b c x y z id i
-1 1 1 c c c 3 3
-REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'a','a','a',1);
-REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'b','b','b',2);
-SELECT * FROM t2 ORDER BY id;
-a b c x y z id i
-1 1 1 b b b 5 2
-DROP TABLE t2;
-drop table if exists t1;
-create table t1 (pk int primary key, apk int unique, data int) engine=ndbcluster;
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) values (4, 1), (5, 2);
-select * from t1 order by pk;
-pk apk data
-3 3 3
-4 1 NULL
-5 2 NULL
-delete from t1;
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) values (1, 4), (2, 5);
-select * from t1 order by pk;
-pk apk data
-1 4 NULL
-2 5 NULL
-3 3 3
-delete from t1;
-insert into t1 values (1, 1, 1), (4, 4, 4), (6, 6, 6);
-load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
-select * from t1 order by pk;
-pk apk data
-1 1 1
-3 4 NULL
-5 6 NULL
-delete from t1;
-insert into t1 values (1, 1, 1), (3, 3, 3), (5, 5, 5);
-load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
-select * from t1 order by pk;
-pk apk data
-1 1 1
-3 4 NULL
-5 6 NULL
-delete from t1;
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) select 4, 1;
-replace into t1 (pk, apk) select 2, 4;
-select * from t1 order by pk;
-pk apk data
-2 4 NULL
-3 3 3
-4 1 NULL
-drop table t1;
-End of 5.0 tests.
diff --git a/mysql-test/suite/ndb/r/ndb_restore.result b/mysql-test/suite/ndb/r/ndb_restore.result
deleted file mode 100644
index 186cbb71f5e..00000000000
--- a/mysql-test/suite/ndb/r/ndb_restore.result
+++ /dev/null
@@ -1,501 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-CREATE TABLE `t1_c` (
-`capgoaledatta` mediumint(5) unsigned NOT NULL auto_increment,
-`goaledatta` char(2) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-PRIMARY KEY (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(400,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3000,'20','threetrees.qt');
-CREATE TABLE `t2_c` (
-`capgotod` smallint(5) unsigned NOT NULL auto_increment,
-`gotod` smallint(5) unsigned NOT NULL default '0',
-`goaledatta` char(2) default NULL,
-`maturegarbagefa` varchar(32) default NULL,
-`descrpooppo` varchar(64) default NULL,
-`svcutonsa` varchar(64) NOT NULL default '',
-PRIMARY KEY (`capgotod`),
-KEY `i quadaddsvr` (`gotod`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2_c` VALUES (500,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST'),(5,0,'',NULL,NULL,'');
-CREATE TABLE `t3_c` (
-`CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
-`capgotod` smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (`capgotod`,`CapGoaledatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;
-INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
-CREATE TABLE `t4_c` (
-`capfa` bigint(20) unsigned NOT NULL auto_increment,
-`realm` varchar(32) NOT NULL default '',
-`authpwchap` varchar(32) default NULL,
-`fa` varchar(32) NOT NULL default '',
-`payyingatta` tinyint(4) NOT NULL default '0',
-`status` char(1) default NULL,
-PRIMARY KEY (`fa`,`realm`),
-KEY `capfa` (`capfa`),
-KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(2200,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32000,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(290000000,'436642900034','sqasdt.q3.net','N/A',0,'6'),(25,'contind','armerde.qt','acne',1,NULL);
-CREATE TABLE `t5_c` (
-`capfa` bigint(20) unsigned NOT NULL default '0',
-`gotod` smallint(5) unsigned NOT NULL default '0',
-`orderutonsa` varchar(64) NOT NULL default '',
-PRIMARY KEY (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
-CREATE TABLE `t6_c` (
-`capfa_parent` bigint(20) unsigned NOT NULL default '0',
-`capfa_child` bigint(20) unsigned NOT NULL default '0',
-`relatta` smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
-CREATE TABLE `t7_c` (
-`dardpo` char(15) NOT NULL default '',
-`dardtestard` tinyint(3) unsigned NOT NULL auto_increment,
-`FastFA` char(5) NOT NULL default '',
-`FastCode` char(6) NOT NULL default '',
-`Fastca` char(1) NOT NULL default '',
-`Fastmag` char(1) NOT NULL default '',
-`Beareratta` char(2) NOT NULL default '',
-PRIMARY KEY (`dardpo`,`dardtestard`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
-CREATE TABLE `t8_c` (
-`kattjame` varchar(32) NOT NULL default '',
-`realm` varchar(32) NOT NULL default '',
-`realm_entered` varchar(32) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
-`kattjame_entered` varchar(32) NOT NULL default '',
-`hunderaaarbagefa` varchar(32) NOT NULL default '',
-`gest` varchar(16) default NULL,
-`hassetino` varchar(16) NOT NULL default '',
-`aaaproxysessfa` varchar(255) default NULL,
-`autologonallowed` char(1) default NULL,
-`squardporoot` varchar(15) NOT NULL default '',
-`naspo` varchar(15) default NULL,
-`beareratta` char(2) default NULL,
-`fastCode` varchar(6) default NULL,
-`fastFA` varchar(5) default NULL,
-`fastca` char(1) default NULL,
-`fastmag` char(1) default NULL,
-`lastupdate` datetime default NULL,
-`hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
-`accthassetitime` int(10) unsigned default NULL,
-`acctoutputoctets` bigint(20) unsigned default NULL,
-`acctinputoctets` bigint(20) unsigned default NULL,
-PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
-KEY `squardporoot` (`squardporoot`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
-CREATE TABLE `t9_c` (
-`kattjame` varchar(32) NOT NULL default '',
-`kattjame_entered` varchar(32) NOT NULL default '',
-`realm` varchar(32) NOT NULL default '',
-`realm_entered` varchar(32) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
-`gest` varchar(16) default NULL,
-`hassetino` varchar(16) NOT NULL default '',
-`squardporoot` varchar(15) NOT NULL default '',
-`naspo` varchar(15) default NULL,
-`beareratta` char(2) default NULL,
-`fastCode` varchar(6) default NULL,
-`fastFA` varchar(5) default NULL,
-`fastca` char(1) default NULL,
-`fastmag` char(1) default NULL,
-`lastupdate` datetime default NULL,
-`hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
-`accthassetitime` int(10) unsigned default NULL,
-`actcoutpuocttets` bigint(20) unsigned default NULL,
-`actinputocctets` bigint(20) unsigned default NULL,
-`terminateraste` tinyint(3) unsigned default NULL,
-PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
-CREATE TABLE t10_c (a INT AUTO_INCREMENT KEY) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO t10_c VALUES (1),(2),(3);
-insert into t10_c values (10000),(2000),(3000);
-create table t1 engine=myisam as select * from t1_c;
-create table t2 engine=myisam as select * from t2_c;
-create table t3 engine=myisam as select * from t3_c;
-create table t4 engine=myisam as select * from t4_c;
-create table t5 engine=myisam as select * from t5_c;
-create table t6 engine=myisam as select * from t6_c;
-create table t7 engine=myisam as select * from t7_c;
-create table t8 engine=myisam as select * from t8_c;
-create table t9 engine=myisam as select * from t9_c;
-create table t10 engine=myisam as select * from t10_c;
-ForceVarPart: 0
-ForceVarPart: 1
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-ForceVarPart: 0
-ForceVarPart: 1
-select * from information_schema.columns where table_name = "t1_c";
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
-def test t1_c capgoaledatta 1 NULL NO mediumint NULL NULL 7 0 NULL NULL mediumint(5) unsigned PRI auto_increment select,insert,update,references
-def test t1_c goaledatta 2 NO char 2 2 NULL NULL latin1 latin1_swedish_ci char(2) PRI select,insert,update,references
-def test t1_c maturegarbagefa 3 NO varchar 32 32 NULL NULL latin1 latin1_swedish_ci varchar(32) PRI select,insert,update,references
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-7
-select count(*) from t2_c;
-count(*)
-7
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-7
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-select * from t10_c order by a;
-a
-1
-2
-3
-2000
-3000
-10000
-select max(capgoaledatta) from t1_c;
-max(capgoaledatta)
-3000
-select auto_increment from information_schema.tables
-where table_name = 't1_c';
-auto_increment
-3001
-select max(capgotod) from t2_c;
-max(capgotod)
-500
-select auto_increment from information_schema.tables
-where table_name = 't2_c';
-auto_increment
-501
-select max(capfa) from t4_c;
-max(capfa)
-290000000
-select auto_increment from information_schema.tables
-where table_name = 't4_c';
-auto_increment
-290000001
-select max(dardtestard) from t7_c;
-max(dardtestard)
-28
-select auto_increment from information_schema.tables
-where table_name = 't7_c';
-auto_increment
-29
-select max(a) from t10_c;
-max(a)
-10000
-select auto_increment from information_schema.tables
-where table_name = 't10_c';
-auto_increment
-10001
-ALTER TABLE t7_c
-PARTITION BY LINEAR KEY (`dardtestard`);
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-7
-select count(*) from t2_c;
-count(*)
-7
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-7
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-7
-select count(*) from t2_c;
-count(*)
-7
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-7
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-drop table t1_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-drop table if exists t2_c;
-520093696,<the_backup_id>
diff --git a/mysql-test/suite/ndb/r/ndb_restore_compat.result b/mysql-test/suite/ndb/r/ndb_restore_compat.result
deleted file mode 100644
index f2630573220..00000000000
--- a/mysql-test/suite/ndb/r/ndb_restore_compat.result
+++ /dev/null
@@ -1,119 +0,0 @@
-DROP DATABASE IF EXISTS BANK;
-CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin;
-USE BANK;
-SHOW TABLES;
-Tables_in_BANK
-ACCOUNT
-GL
-ACCOUNT_TYPE
-TRANSACTION
-SYSTEM_VALUES
-SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE;
-TIME ACCOUNT_TYPE BALANCE DEPOSIT_COUNT DEPOSIT_SUM WITHDRAWAL_COUNT WITHDRAWAL_SUM PURGED
-0 0 10000000 0 0 0 0 1
-0 1 30000 0 0 0 0 1
-0 2 20000 0 0 0 0 1
-0 3 20000 0 0 0 0 1
-0 4 20000 0 0 0 0 1
-1 0 10000000 0 0 0 0 0
-1 1 30000 0 0 0 0 0
-1 2 20000 0 0 0 0 0
-1 3 20000 0 0 0 0 0
-1 4 20000 0 0 0 0 0
-2 0 9981761 17 80457 19 98696 0
-2 1 17823 55 203688 46 215865 0
-2 2 47056 33 159275 33 132219 0
-2 3 15719 26 126833 29 131114 0
-2 4 27641 32 133459 36 125818 0
-SELECT * FROM ACCOUNT ORDER BY ACCOUNT_ID;
-ACCOUNT_ID OWNER BALANCE ACCOUNT_TYPE
-0 0 9863546 0
-1 3001 12885 1
-2 3002 11012 2
-3 3003 32789 3
-4 3004 10992 4
-5 3005 2247 1
-6 3006 3170 1
-7 3007 60321 2
-8 3008 30508 3
-9 3009 62530 4
-SELECT COUNT(*) FROM TRANSACTION;
-COUNT(*)
-3444
-SELECT * FROM SYSTEM_VALUES ORDER BY SYSTEM_VALUES_ID;
-SYSTEM_VALUES_ID VALUE
-0 2039
-1 3
-SELECT * FROM mysql.ndb_apply_status WHERE server_id=0;
-server_id epoch log_name start_pos end_pos
-0 151 0 0
-ForceVarPart: 1
-ForceVarPart: 1
-ForceVarPart: 1
-ForceVarPart: 1
-ForceVarPart: 1
-TRUNCATE GL;
-TRUNCATE ACCOUNT;
-TRUNCATE TRANSACTION;
-TRUNCATE SYSTEM_VALUES;
-TRUNCATE ACCOUNT_TYPE;
-ForceVarPart: 1
-ForceVarPart: 1
-ForceVarPart: 1
-ForceVarPart: 1
-ForceVarPart: 1
-SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE;
-TIME ACCOUNT_TYPE BALANCE DEPOSIT_COUNT DEPOSIT_SUM WITHDRAWAL_COUNT WITHDRAWAL_SUM PURGED
-0 0 10000000 0 0 0 0 1
-0 1 30000 0 0 0 0 1
-0 2 20000 0 0 0 0 1
-0 3 20000 0 0 0 0 1
-0 4 20000 0 0 0 0 1
-1 0 10000000 0 0 0 0 1
-1 1 30000 0 0 0 0 1
-1 2 20000 0 0 0 0 1
-1 3 20000 0 0 0 0 1
-1 4 20000 0 0 0 0 1
-2 0 10000000 0 0 0 0 1
-2 1 30000 0 0 0 0 1
-2 2 20000 0 0 0 0 1
-2 3 20000 0 0 0 0 1
-2 4 20000 0 0 0 0 1
-3 0 9963591 14 59111 19 95520 0
-3 1 44264 49 255559 53 241295 0
-3 2 25515 39 177806 36 172291 0
-3 3 16779 26 129200 29 132421 0
-3 4 39851 43 182771 34 162920 0
-4 0 9733661 141 632616 162 862546 0
-4 1 63853 426 2005337 415 1985748 0
-4 2 140473 314 1548632 297 1433674 0
-4 3 13481 310 1528043 324 1531341 0
-4 4 138532 316 1540206 309 1441525 0
-SELECT * FROM ACCOUNT ORDER BY ACCOUNT_ID;
-ACCOUNT_ID OWNER BALANCE ACCOUNT_TYPE
-0 0 9679579 0
-1 3001 18130 1
-2 3002 12318 2
-3 3003 3049 3
-4 3004 39517 4
-5 3005 37051 1
-6 3006 144497 1
-7 3007 130670 2
-8 3008 13747 3
-9 3009 11442 4
-SELECT COUNT(*) FROM TRANSACTION;
-COUNT(*)
-4056
-SELECT * FROM SYSTEM_VALUES ORDER BY SYSTEM_VALUES_ID;
-SYSTEM_VALUES_ID VALUE
-0 2297
-1 5
-SELECT * FROM mysql.ndb_apply_status WHERE server_id=0;
-server_id epoch log_name start_pos end_pos
-0 331 0 0
-SELECT * FROM DESCRIPTION ORDER BY USERNAME;
-USERNAME ADDRESS
-Guangbao Ni Suite 503, 5F NCI Tower, A12 Jianguomenwai Avenue Chaoyang District, Beijing, 100022 PRC
-USERNAME Varchar(255;latin1_swedish_ci) NULL AT=SHORT_VAR ST=MEMORY
-ADDRESS Longvarchar(2002;latin1_swedish_ci) NULL AT=MEDIUM_VAR ST=MEMORY
-DROP DATABASE BANK;
diff --git a/mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result b/mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result
deleted file mode 100644
index b101c93d156..00000000000
--- a/mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result
+++ /dev/null
@@ -1,200 +0,0 @@
-USE test;
-DROP TABLE IF EXISTS t_num,t_datetime,t_string_1,t_string_2,t_gis;
-SHOW TABLES;
-Tables_in_test
-t_gis
-t_string_1
-t_datetime
-t_num
-t_string_2
-SHOW CREATE TABLE t_num;
-Table Create Table
-t_num CREATE TABLE `t_num` (
- `t_pk` int(11) NOT NULL,
- `t_bit` bit(64) DEFAULT NULL,
- `t_tinyint` tinyint(4) DEFAULT NULL,
- `t_bool` tinyint(1) DEFAULT NULL,
- `t_smallint` smallint(6) DEFAULT NULL,
- `t_mediumint` mediumint(9) DEFAULT NULL,
- `t_int` int(11) DEFAULT NULL,
- `t_bigint` bigint(20) DEFAULT NULL,
- `t_float` float DEFAULT NULL,
- `t_double` double DEFAULT NULL,
- `t_decimal` decimal(37,16) DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_datetime;
-Table Create Table
-t_datetime CREATE TABLE `t_datetime` (
- `t_pk` int(11) NOT NULL,
- `t_date` date DEFAULT NULL,
- `t_datetime` datetime DEFAULT NULL,
- `t_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `t_time` time DEFAULT NULL,
- `t_year` year(4) DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_string_1;
-Table Create Table
-t_string_1 CREATE TABLE `t_string_1` (
- `t_pk` int(11) NOT NULL,
- `t_char` char(255) DEFAULT NULL,
- `t_varchar` varchar(655) DEFAULT NULL,
- `t_binary` binary(255) DEFAULT NULL,
- `t_varbinary` varbinary(6553) DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_string_2;
-Table Create Table
-t_string_2 CREATE TABLE `t_string_2` (
- `t_pk` int(11) NOT NULL,
- `t_tinyblob` tinyblob,
- `t_tinytext` tinytext,
- `t_blob` blob,
- `t_text` text,
- `t_mediumblob` mediumblob,
- `t_mediumtext` mediumtext,
- `t_longblob` longblob,
- `t_longtext` longtext,
- `t_enum` enum('001001','001004','001010','001018','001019','001020','001021','001027','001028','001029','001030','001031','001100','002003','002004','002005','002007') NOT NULL DEFAULT '001001',
- `t_set` set('a','B') DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_gis;
-Table Create Table
-t_gis CREATE TABLE `t_gis` (
- `t_pk` int(11) NOT NULL,
- `t_point` point DEFAULT NULL,
- `t_linestring` linestring DEFAULT NULL,
- `t_polygon` polygon DEFAULT NULL,
- `t_multipoint` multipoint DEFAULT NULL,
- `t_multilinestring` multilinestring DEFAULT NULL,
- `t_multipolygon` multipolygon DEFAULT NULL,
- `t_geometrycollection` geometrycollection DEFAULT NULL,
- `t_geometry` geometry DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM t_datetime;
-t_pk t_date t_datetime t_timestamp t_time t_year
-1 1998-01-01 2006-08-10 10:11:12 2002-10-29 16:51:06 19:38:34 2155
-SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num;
-t_pk hex(t_bit) t_tinyint t_bool t_smallint t_mediumint t_int t_bigint t_float t_double t_decimal
-1 AAAAAAAAAAAAAAAA 125 1 32765 8388606 2147483647 9223372036854775807 1e20 1e150 331.0000000000000000
-SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1;
-t_pk t_char t_varchar hex(t_binary) hex(t_varbinary)
-1 abcdefghijklmn abcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmn 612020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 4100
-SELECT * FROM t_string_2;
-t_pk t_tinyblob t_tinytext t_blob t_text t_mediumblob t_mediumtext t_longblob t_longtext t_enum t_set
-1 abcdefghijklmnabcdefghijklmn abcdefghijklmnabcdefghijklmn a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 001001 a
-SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk;
-AsText(t_point) AsText(t_linestring) AsText(t_polygon)
-POINT(10 10) LINESTRING(10 10,20 10,20 20,10 20,10 10) POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-POINT(10 20) LINESTRING(10 10,40 10) POLYGON((0 0,30 0,30 30,0 0))
-SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk;
-AsText(t_multipoint) AsText(t_multilinestring) AsText(t_multipolygon)
-MULTIPOINT(1 1,11 11,11 21,21 21) MULTILINESTRING((10 48,10 21,10 0)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-MULTIPOINT(3 6,4 10) MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk;
-AsText(t_geometrycollection) AsText(t_geometry)
-GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis;
-SHOW TABLES;
-Tables_in_test
-t_gis
-t_string_1
-t_datetime
-t_num
-t_string_2
-SHOW CREATE TABLE t_num;
-Table Create Table
-t_num CREATE TABLE `t_num` (
- `t_pk` int(11) NOT NULL,
- `t_bit` bit(64) DEFAULT NULL,
- `t_tinyint` tinyint(4) DEFAULT NULL,
- `t_bool` tinyint(1) DEFAULT NULL,
- `t_smallint` smallint(6) DEFAULT NULL,
- `t_mediumint` mediumint(9) DEFAULT NULL,
- `t_int` int(11) DEFAULT NULL,
- `t_bigint` bigint(20) DEFAULT NULL,
- `t_float` float DEFAULT NULL,
- `t_double` double DEFAULT NULL,
- `t_decimal` decimal(37,16) DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_datetime;
-Table Create Table
-t_datetime CREATE TABLE `t_datetime` (
- `t_pk` int(11) NOT NULL,
- `t_date` date DEFAULT NULL,
- `t_datetime` datetime DEFAULT NULL,
- `t_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `t_time` time DEFAULT NULL,
- `t_year` year(4) DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_string_1;
-Table Create Table
-t_string_1 CREATE TABLE `t_string_1` (
- `t_pk` int(11) NOT NULL,
- `t_char` char(255) DEFAULT NULL,
- `t_varchar` varchar(655) DEFAULT NULL,
- `t_binary` binary(255) DEFAULT NULL,
- `t_varbinary` varbinary(6553) DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_string_2;
-Table Create Table
-t_string_2 CREATE TABLE `t_string_2` (
- `t_pk` int(11) NOT NULL,
- `t_tinyblob` tinyblob,
- `t_tinytext` tinytext,
- `t_blob` blob,
- `t_text` text,
- `t_mediumblob` mediumblob,
- `t_mediumtext` mediumtext,
- `t_longblob` longblob,
- `t_longtext` longtext,
- `t_enum` enum('001001','001004','001010','001018','001019','001020','001021','001027','001028','001029','001030','001031','001100','002003','002004','002005','002007') NOT NULL DEFAULT '001001',
- `t_set` set('a','B') DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE t_gis;
-Table Create Table
-t_gis CREATE TABLE `t_gis` (
- `t_pk` int(11) NOT NULL,
- `t_point` point DEFAULT NULL,
- `t_linestring` linestring DEFAULT NULL,
- `t_polygon` polygon DEFAULT NULL,
- `t_multipoint` multipoint DEFAULT NULL,
- `t_multilinestring` multilinestring DEFAULT NULL,
- `t_multipolygon` multipolygon DEFAULT NULL,
- `t_geometrycollection` geometrycollection DEFAULT NULL,
- `t_geometry` geometry DEFAULT NULL,
- PRIMARY KEY (`t_pk`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM t_datetime;
-t_pk t_date t_datetime t_timestamp t_time t_year
-1 1998-01-01 2006-08-10 10:11:12 2002-10-29 16:51:06 19:38:34 2155
-SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num;
-t_pk hex(t_bit) t_tinyint t_bool t_smallint t_mediumint t_int t_bigint t_float t_double t_decimal
-1 AAAAAAAAAAAAAAAA 125 1 32765 8388606 2147483647 9223372036854775807 1e20 1e150 331.0000000000000000
-SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1;
-t_pk t_char t_varchar hex(t_binary) hex(t_varbinary)
-1 abcdefghijklmn abcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmn 612020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 4100
-SELECT * FROM t_string_2;
-t_pk t_tinyblob t_tinytext t_blob t_text t_mediumblob t_mediumtext t_longblob t_longtext t_enum t_set
-1 abcdefghijklmnabcdefghijklmn abcdefghijklmnabcdefghijklmn a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 001001 a
-SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk;
-AsText(t_point) AsText(t_linestring) AsText(t_polygon)
-POINT(10 10) LINESTRING(10 10,20 10,20 20,10 20,10 10) POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))
-POINT(10 20) LINESTRING(10 10,40 10) POLYGON((0 0,30 0,30 30,0 0))
-SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk;
-AsText(t_multipoint) AsText(t_multilinestring) AsText(t_multipolygon)
-MULTIPOINT(1 1,11 11,11 21,21 21) MULTILINESTRING((10 48,10 21,10 0)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-MULTIPOINT(3 6,4 10) MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) MULTIPOLYGON(((0 3,3 3,3 0,0 3)))
-SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk;
-AsText(t_geometrycollection) AsText(t_geometry)
-GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))
-GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))
-DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis;
diff --git a/mysql-test/suite/ndb/r/ndb_restore_partition.result b/mysql-test/suite/ndb/r/ndb_restore_partition.result
deleted file mode 100644
index b984c76a91d..00000000000
--- a/mysql-test/suite/ndb/r/ndb_restore_partition.result
+++ /dev/null
@@ -1,460 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
-CREATE TABLE `t1_c` (
-`capgoaledatta` smallint(5) unsigned NOT NULL auto_increment,
-`goaledatta` char(2) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-PRIMARY KEY (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(4,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3,'20','threetrees.qt');
-CREATE TABLE `t2_c` (
-`capgotod` smallint(5) unsigned NOT NULL auto_increment,
-`gotod` smallint(5) unsigned NOT NULL default '0',
-`goaledatta` char(2) default NULL,
-`maturegarbagefa` varchar(32) default NULL,
-`descrpooppo` varchar(64) default NULL,
-`svcutonsa` varchar(64) NOT NULL default '',
-PRIMARY KEY (`capgotod`),
-KEY `i_quadaddsvr` (`gotod`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2_c` VALUES (5,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
-CREATE TABLE `t3_c` (
-`CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
-`capgotod` smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (`capgotod`,`CapGoaledatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
-CREATE TABLE `t4_c` (
-`capfa` bigint(20) unsigned NOT NULL auto_increment,
-`realm` varchar(32) NOT NULL default '',
-`authpwchap` varchar(32) default NULL,
-`fa` varchar(32) NOT NULL default '',
-`payyingatta` tinyint(4) NOT NULL default '0',
-`status` char(1) default NULL,
-PRIMARY KEY (`fa`,`realm`),
-KEY `capfa` (`capfa`),
-KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(22,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(29,'436642900034','sqasdt.q3.net','N/A',0,'6'),(25,'contind','armerde.qt','acne',1,NULL);
-CREATE TABLE `t5_c` (
-`capfa` bigint(20) unsigned NOT NULL default '0',
-`gotod` smallint(5) unsigned NOT NULL default '0',
-`orderutonsa` varchar(64) NOT NULL default '',
-PRIMARY KEY (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
-CREATE TABLE `t6_c` (
-`capfa_parent` bigint(20) unsigned NOT NULL default '0',
-`capfa_child` bigint(20) unsigned NOT NULL default '0',
-`relatta` smallint(5) unsigned NOT NULL default '0',
-PRIMARY KEY (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
-CREATE TABLE `t7_c` (
-`dardpo` char(15) NOT NULL default '',
-`dardtestard` tinyint(3) unsigned NOT NULL default '0',
-`FastFA` char(5) NOT NULL default '',
-`FastCode` char(6) NOT NULL default '',
-`Fastca` char(1) NOT NULL default '',
-`Fastmag` char(1) NOT NULL default '',
-`Beareratta` char(2) NOT NULL default '',
-PRIMARY KEY (`dardpo`,`dardtestard`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
-CREATE TABLE `t8_c` (
-`kattjame` varchar(32) NOT NULL default '',
-`realm` varchar(32) NOT NULL default '',
-`realm_entered` varchar(32) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
-`kattjame_entered` varchar(32) NOT NULL default '',
-`hunderaaarbagefa` varchar(32) NOT NULL default '',
-`gest` varchar(16) default NULL,
-`hassetino` varchar(16) NOT NULL default '',
-`aaaproxysessfa` varchar(255) default NULL,
-`autologonallowed` char(1) default NULL,
-`squardporoot` varchar(15) NOT NULL default '',
-`naspo` varchar(15) default NULL,
-`beareratta` char(2) default NULL,
-`fastCode` varchar(6) default NULL,
-`fastFA` varchar(5) default NULL,
-`fastca` char(1) default NULL,
-`fastmag` char(1) default NULL,
-`lastupdate` datetime default NULL,
-`hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
-`accthassetitime` int(10) unsigned default NULL,
-`acctoutputoctets` bigint(20) unsigned default NULL,
-`acctinputoctets` bigint(20) unsigned default NULL,
-PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
-KEY `squardporoot` (`squardporoot`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
-CREATE TABLE `t9_c` (
-`kattjame` varchar(32) NOT NULL default '',
-`kattjame_entered` varchar(32) NOT NULL default '',
-`realm` varchar(32) NOT NULL default '',
-`realm_entered` varchar(32) NOT NULL default '',
-`maturegarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa` varchar(32) NOT NULL default '',
-`hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
-`gest` varchar(16) default NULL,
-`hassetino` varchar(16) NOT NULL default '',
-`squardporoot` varchar(15) NOT NULL default '',
-`naspo` varchar(15) default NULL,
-`beareratta` char(2) default NULL,
-`fastCode` varchar(6) default NULL,
-`fastFA` varchar(5) default NULL,
-`fastca` char(1) default NULL,
-`fastmag` char(1) default NULL,
-`lastupdate` datetime default NULL,
-`hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
-`accthassetitime` int(10) unsigned default NULL,
-`actcoutpuocttets` bigint(20) unsigned default NULL,
-`actinputocctets` bigint(20) unsigned default NULL,
-`terminateraste` tinyint(3) unsigned default NULL,
-PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
-create table t1 engine=myisam as select * from t1_c;
-create table t2 engine=myisam as select * from t2_c;
-create table t3 engine=myisam as select * from t3_c;
-create table t4 engine=myisam as select * from t4_c;
-create table t5 engine=myisam as select * from t5_c;
-create table t6 engine=myisam as select * from t6_c;
-create table t7 engine=myisam as select * from t7_c;
-create table t8 engine=myisam as select * from t8_c;
-create table t9 engine=myisam as select * from t9_c;
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-6
-select count(*) from t2_c;
-count(*)
-6
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-6
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-ALTER TABLE t1_c
-PARTITION BY RANGE (`capgoaledatta`)
-(PARTITION p0 VALUES LESS THAN MAXVALUE);
-ALTER TABLE t2_c
-PARTITION BY LIST(`capgotod`)
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6));
-ALTER TABLE t3_c
-PARTITION BY HASH (`CapGoaledatta`);
-ALTER TABLE t5_c
-PARTITION BY HASH (`capfa`)
-PARTITIONS 4;
-ALTER TABLE t6_c
-PARTITION BY LINEAR HASH (`relatta`)
-PARTITIONS 4;
-ALTER TABLE t7_c
-PARTITION BY LINEAR KEY (`dardtestard`);
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-6
-select count(*) from t2_c;
-count(*)
-6
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-6
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
-select count(*) from t1;
-count(*)
-5
-select count(*) from t1_c;
-count(*)
-5
-select count(*)
-from (select * from t1 union
-select * from t1_c) a;
-count(*)
-5
-select count(*) from t2;
-count(*)
-6
-select count(*) from t2_c;
-count(*)
-6
-select count(*)
-from (select * from t2 union
-select * from t2_c) a;
-count(*)
-6
-select count(*) from t3;
-count(*)
-4
-select count(*) from t3_c;
-count(*)
-4
-select count(*)
-from (select * from t3 union
-select * from t3_c) a;
-count(*)
-4
-select count(*) from t4;
-count(*)
-22
-select count(*) from t4_c;
-count(*)
-22
-select count(*)
-from (select * from t4 union
-select * from t4_c) a;
-count(*)
-22
-select count(*) from t5;
-count(*)
-3
-select count(*) from t5_c;
-count(*)
-3
-select count(*)
-from (select * from t5 union
-select * from t5_c) a;
-count(*)
-3
-select count(*) from t6;
-count(*)
-8
-select count(*) from t6_c;
-count(*)
-8
-select count(*)
-from (select * from t6 union
-select * from t6_c) a;
-count(*)
-8
-select count(*) from t7;
-count(*)
-5
-select count(*) from t7_c;
-count(*)
-5
-select count(*)
-from (select * from t7 union
-select * from t7_c) a;
-count(*)
-5
-select count(*) from t8;
-count(*)
-3
-select count(*) from t8_c;
-count(*)
-3
-select count(*)
-from (select * from t8 union
-select * from t8_c) a;
-count(*)
-3
-select count(*) from t9;
-count(*)
-3
-select count(*) from t9_c;
-count(*)
-3
-select count(*)
-from (select * from t9 union
-select * from t9_c) a;
-count(*)
-3
-drop table t1_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-Create table test/def/t2_c failed: Translate frm error
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-drop table if exists t2_c;
-520093696,<the_backup_id>
diff --git a/mysql-test/suite/ndb/r/ndb_restore_print.result b/mysql-test/suite/ndb/r/ndb_restore_print.result
deleted file mode 100644
index fa52513e7d0..00000000000
--- a/mysql-test/suite/ndb/r/ndb_restore_print.result
+++ /dev/null
@@ -1,312 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-create table t1
-(pk int key
-,a1 BIT(1), a2 BIT(5), a3 BIT(33), a4 BIT(63), a5 BIT(64)
-,b1 TINYINT, b2 TINYINT UNSIGNED
-,c1 SMALLINT, c2 SMALLINT UNSIGNED
-,d1 INT, d2 INT UNSIGNED
-,e1 BIGINT, e2 BIGINT UNSIGNED
-,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
-,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
-,h1 BINARY(1), h2 BINARY(8), h3 BINARY(255)
-,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
-) engine myisam;
-insert into t1 values
-(1
-,0x1, 0x17, 0x789a, 0x789abcde, 0xfedc0001
-,127, 255
-,32767, 65535
-,2147483647, 4294967295
-,9223372036854775807, 18446744073709551615
-,'1','12345678901234567890123456789012','123456789'
- ,'1','12345678901234567890123456789012','123456789'
- ,0x12,0x123456789abcdef0, 0x012345
-,0x12,0x123456789abcdef0, 0x00123450
-);
-insert into t1 values
-(2
-,0, 0, 0, 0, 0
-,-128, 0
-,-32768, 0
-,-2147483648, 0
-,-9223372036854775808, 0
-,'','',''
- ,'','',''
- ,0x0,0x0,0x0
-,0x0,0x0,0x0
-);
-insert into t1 values
-(3
-,NULL,NULL,NULL,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-);
-select pk
-,hex(a1), hex(a2), hex(a3), hex(a4), hex(a5)
-,b1, b2
-,c1 , c2
-,d1 , d2
-,e1 , e2
-,f1 , f2, f3
-,g1 , g2, g3
-,hex(h1), hex(h2), hex(h3)
-,hex(i1), hex(i2), hex(i3)
-from t1 order by pk;
-pk 1
-hex(a1) 1
-hex(a2) 17
-hex(a3) 789A
-hex(a4) 789ABCDE
-hex(a5) FEDC0001
-b1 127
-b2 255
-c1 32767
-c2 65535
-d1 2147483647
-d2 4294967295
-e1 9223372036854775807
-e2 18446744073709551615
-f1 1
-f2 12345678901234567890123456789012
-f3 123456789
-g1 1
-g2 12345678901234567890123456789012
-g3 123456789
-hex(h1) 12
-hex(h2) 123456789ABCDEF0
-hex(h3) 012345000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 12
-hex(i2) 123456789ABCDEF0
-hex(i3) 00123450
-pk 2
-hex(a1) 0
-hex(a2) 0
-hex(a3) 0
-hex(a4) 0
-hex(a5) 0
-b1 -128
-b2 0
-c1 -32768
-c2 0
-d1 -2147483648
-d2 0
-e1 -9223372036854775808
-e2 0
-f1
-f2
-f3
-g1
-g2
-g3
-hex(h1) 00
-hex(h2) 0000000000000000
-hex(h3) 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 00
-hex(i2) 00
-hex(i3) 00
-pk 3
-hex(a1) NULL
-hex(a2) NULL
-hex(a3) NULL
-hex(a4) NULL
-hex(a5) NULL
-b1 NULL
-b2 NULL
-c1 NULL
-c2 NULL
-d1 NULL
-d2 NULL
-e1 NULL
-e2 NULL
-f1 NULL
-f2 NULL
-f3 NULL
-g1 NULL
-g2 NULL
-g3 NULL
-hex(h1) NULL
-hex(h2) NULL
-hex(h3) NULL
-hex(i1) NULL
-hex(i2) NULL
-hex(i3) NULL
-alter table t1 engine ndb;
-select pk
-,hex(a1), hex(a2), hex(a3), hex(a4), hex(a5)
-,b1, b2
-,c1 , c2
-,d1 , d2
-,e1 , e2
-,f1 , f2, f3
-,g1 , g2, g3
-,hex(h1), hex(h2), hex(h3)
-,hex(i1), hex(i2), hex(i3)
-from t1 order by pk;
-pk 1
-hex(a1) 1
-hex(a2) 17
-hex(a3) 789A
-hex(a4) 789ABCDE
-hex(a5) FEDC0001
-b1 127
-b2 255
-c1 32767
-c2 65535
-d1 2147483647
-d2 4294967295
-e1 9223372036854775807
-e2 18446744073709551615
-f1 1
-f2 12345678901234567890123456789012
-f3 123456789
-g1 1
-g2 12345678901234567890123456789012
-g3 123456789
-hex(h1) 12
-hex(h2) 123456789ABCDEF0
-hex(h3) 012345000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 12
-hex(i2) 123456789ABCDEF0
-hex(i3) 00123450
-pk 2
-hex(a1) 0
-hex(a2) 0
-hex(a3) 0
-hex(a4) 0
-hex(a5) 0
-b1 -128
-b2 0
-c1 -32768
-c2 0
-d1 -2147483648
-d2 0
-e1 -9223372036854775808
-e2 0
-f1
-f2
-f3
-g1
-g2
-g3
-hex(h1) 00
-hex(h2) 0000000000000000
-hex(h3) 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-hex(i1) 00
-hex(i2) 00
-hex(i3) 00
-pk 3
-hex(a1) NULL
-hex(a2) NULL
-hex(a3) NULL
-hex(a4) NULL
-hex(a5) NULL
-b1 NULL
-b2 NULL
-c1 NULL
-c2 NULL
-d1 NULL
-d2 NULL
-e1 NULL
-e2 NULL
-f1 NULL
-f2 NULL
-f3 NULL
-g1 NULL
-g2 NULL
-g3 NULL
-hex(h1) NULL
-hex(h2) NULL
-hex(h3) NULL
-hex(i1) NULL
-hex(i2) NULL
-hex(i3) NULL
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-1;0x1;0x17;0x789A;0x789ABCDE;0xFEDC0001;127;255;32767;65535;2147483647;4294967295;9223372036854775807;18446744073709551615;1;12345678901234567890123456789012;123456789;1;12345678901234567890123456789012;123456789;0x12;0x123456789ABCDEF0;0x012345;0x12;0x123456789ABCDEF0;0x00123450
-2;0x0;0x0;0x0;0x0;0x0;-128;0;-32768;0;-2147483648;0;-9223372036854775808;0;;;;;;;0x0;0x0;0x0;0x0;0x0;0x0
-3;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N;\N
-1,0x1,0x17,0x789A,0x789ABCDE,0xFEDC0001,127,255,32767,65535,2147483647,4294967295,9223372036854775807,18446744073709551615,'1','12345678901234567890123456789012','123456789','1','12345678901234567890123456789012','123456789',0x12,0x123456789ABCDEF0,0x012345,0x12,0x123456789ABCDEF0,0x00123450
-2,0x0,0x0,0x0,0x0,0x0,-128,0,-32768,0,-2147483648,0,-9223372036854775808,0,'','','','','','',0x0,0x0,0x0,0x0,0x0,0x0
-3,,,,,,,,,,,,,,,,,,,,,,,,,
-drop table t1;
-create table t1
-(pk int key
-,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
-,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
-,h1 BINARY(1), h2 BINARY(9), h3 BINARY(255)
-,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
-) engine ndb;
-insert into t1 values
-(1
-,'1','12345678901234567890123456789012','123456789 '
- ,'1 ','12345678901234567890123456789012 ','123456789 '
- ,0x20,0x123456789abcdef020, 0x012345000020
-,0x1200000020,0x123456789abcdef000000020, 0x00123450000020
-);
-create table t2 (pk int key, a int) engine ndb;
-create table t3 (pk int key, a int) engine ndb;
-create table t4 (pk int key, a int) engine ndb;
-insert into t2 values (1,11),(2,12),(3,13),(4,14),(5,15);
-insert into t3 values (1,21),(2,22),(3,23),(4,24),(5,25);
-insert into t4 values (1,31),(2,32),(3,33),(4,34),(5,35);
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-'1' '1' '12345678901234567890123456789012' '123456789' '1' '12345678901234567890123456789012' '123456789' '0x20' '0x123456789ABCDEF020' '0x012345000020' '0x1200000020' '0x123456789ABCDEF000000020' '0x00123450000020'
-
-t1
---
-1 1 12345678901234567890123456789012 123456789 1 12345678901234567890123456789012 123456789 0x20 0x123456789ABCDEF020 0x012345000020 0x1200000020 0x123456789ABCDEF000000020 0x00123450000020
-
-t2
---
-1 11
-2 12
-3 13
-4 14
-5 15
-
-t3
---
-1 21
-2 22
-3 23
-4 24
-5 25
-
-t4
---
-1 31
-2 32
-3 33
-4 34
-5 35
-drop table t1;
-create table t1
-(pk int key
-,a1 MEDIUMINT, a2 MEDIUMINT UNSIGNED
-) engine ndb;
-insert into t1 values(1, 8388607, 16777215);
-insert into t1 values(2, -8388608, 0);
-insert into t1 values(3, -1, 1);
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-1;8388607;16777215
-2;-8388608;0
-3;-1;1
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
diff --git a/mysql-test/suite/ndb/r/ndb_row_format.result b/mysql-test/suite/ndb/r/ndb_row_format.result
deleted file mode 100644
index 48a314c2fe9..00000000000
--- a/mysql-test/suite/ndb/r/ndb_row_format.result
+++ /dev/null
@@ -1,65 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
-CREATE TABLE t1
-( a INT KEY,
-b VARCHAR(10) )
-ROW_FORMAT=FIXED
-ENGINE=NDB;
-ERROR HY000: Can't create table 'test.t1' (errno: 138)
-SHOW WARNINGS;
-Level Code Message
-Warning 1478 Table storage engine 'ndbcluster' does not support the create option 'Row format FIXED incompatible with variable sized attribute'
-Error 1005 Can't create table 'test.t1' (errno: 138)
-CREATE TABLE t1
-( a INT KEY,
-b INT )
-ENGINE=NDB;
-ForceVarPart: 1
-DROP TABLE t1;
-CREATE TABLE t1
-( a INT KEY,
-b INT )
-ROW_FORMAT=DEFAULT
-ENGINE=NDB;
-ForceVarPart: 1
-DROP TABLE t1;
-CREATE TABLE t1
-( a INT KEY,
-b INT )
-ROW_FORMAT=FIXED
-ENGINE=NDB;
-ForceVarPart: 0
-DROP TABLE t1;
-CREATE TABLE t1
-( a INT KEY,
-b INT )
-ROW_FORMAT=DYNAMIC
-ENGINE=NDB;
-ForceVarPart: 1
-DROP TABLE t1;
-create table t1 (a int auto_increment primary key, b varchar(1000)) engine = ndb;
-insert into t1(b) values ('0123456789');
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-select count(*) from t1;
-count(*)
-1024
-begin;
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-rollback;
-select count(*),b from t1 group by b;
-count(*) b
-1024 0123456789
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_single_user.result b/mysql-test/suite/ndb/r/ndb_single_user.result
deleted file mode 100644
index 1d5f3041adb..00000000000
--- a/mysql-test/suite/ndb/r/ndb_single_user.result
+++ /dev/null
@@ -1,119 +0,0 @@
-drop table if exists t1,t2;
-create table t1 (a int key, b int unique, c int) engine ndb;
-ERROR HY000: Can't create table 'test.t1' (errno: 299)
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-ERROR HY000: Failed to create LOGFILE GROUP
-show warnings;
-Level Code Message
-Warning 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1528 Failed to create LOGFILE GROUP
-create table t1 (a int key, b int unique, c int) engine ndb;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-ERROR HY000: Failed to create TABLESPACE
-show warnings;
-Level Code Message
-Warning 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1528 Failed to create TABLESPACE
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-ERROR HY000: Failed to drop LOGFILE GROUP
-show warnings;
-Level Code Message
-Warning 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1529 Failed to drop LOGFILE GROUP
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE NDB;
-ERROR HY000: Failed to alter: DROP DATAFILE
-show warnings;
-Level Code Message
-Warning 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1533 Failed to alter: DROP DATAFILE
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE NDB;
-DROP TABLESPACE ts1
-ENGINE NDB;
-ERROR HY000: Failed to drop TABLESPACE
-show warnings;
-Level Code Message
-Warning 1296 Got error 299 'Operation not allowed or aborted due to single user mode' from NDB
-Error 1529 Failed to drop TABLESPACE
-DROP TABLESPACE ts1
-ENGINE NDB;
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0);
-create table t2 as select * from t1;
-select * from t1 where a = 1;
-a b c
-1 1 0
-select * from t1 where b = 4;
-a b c
-4 4 0
-select * from t1 where a > 4 order by a;
-a b c
-5 5 0
-6 6 0
-7 7 0
-8 8 0
-9 9 0
-10 10 0
-update t1 set b=102 where a = 2;
-update t1 set b=103 where b = 3;
-update t1 set b=b+100;
-update t1 set b=b+100 where a > 7;
-delete from t1;
-insert into t1 select * from t2;
-create unique index new_index on t1 (b,c);
-drop table t2;
-drop table t1;
-ERROR 42S02: Unknown table 't1'
-create index new_index_fail on t1 (c);
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-insert into t1 values (21,21,0),(22,22,0),(23,23,0),(24,24,0),(25,25,0),(26,26,0),(27,27,0),(28,28,0),(29,29,0),(210,210,0);
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-select * from t1 where a = 1;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-select * from t1 where b = 4;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-update t1 set b=102 where a = 2;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-update t1 set b=103 where b = 3;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-update t1 set b=b+100;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-update t1 set b=b+100 where a > 7;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-BEGIN;
-update t1 set b=b+100 where a=1;
-BEGIN;
-update t1 set b=b+100 where a=2;
-update t1 set b=b+100 where a=3;
-COMMIT;
-update t1 set b=b+100 where a=4;
-ERROR HY000: Got error 299 'Operation not allowed or aborted due to single user mode' from NDBCLUSTER
-COMMIT;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-create table t2 (a int) engine myisam;
-alter table t2 add column (b int);
-drop table t2;
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_sp.result b/mysql-test/suite/ndb/r/ndb_sp.result
deleted file mode 100644
index dbd0325044d..00000000000
--- a/mysql-test/suite/ndb/r/ndb_sp.result
+++ /dev/null
@@ -1,44 +0,0 @@
-drop table if exists t1;
-create table t1 (
-a int not null primary key,
-b int not null
-) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,100), (4, 100);
-create procedure test_proc1 (in var_in int)
-begin
-select * from t1 where a = var_in;
-end;
-create procedure test_proc2 (out var_out int)
-begin
-select b from t1 where a = 1 into var_out;
-end;
-create procedure test_proc3 (inout var_inout int)
-begin
-select b from t1 where a = var_inout into var_inout;
-end;
-//
-call test_proc1(1);
-a b
-1 10
-call test_proc2(@test_var);
-select @test_var;
-@test_var
-10
-set @test_var = 1;
-call test_proc3(@test_var);
-select @test_var;
-@test_var
-10
-alter procedure test_proc1 comment 'new comment';
-show create procedure test_proc1;
-Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
-test_proc1 CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc1`(in var_in int)
- COMMENT 'new comment'
-begin
-select * from t1 where a = var_in;
-end latin1 latin1_swedish_ci latin1_swedish_ci
-drop procedure test_proc1;
-drop procedure test_proc2;
-drop procedure test_proc3;
-drop table t1;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_subquery.result b/mysql-test/suite/ndb/r/ndb_subquery.result
deleted file mode 100644
index 45662882d3a..00000000000
--- a/mysql-test/suite/ndb/r/ndb_subquery.result
+++ /dev/null
@@ -1,92 +0,0 @@
-drop table if exists t1, t2, t3, t4;
-create table t1 (p int not null primary key, u int not null, o int not null,
-unique (u), key(o)) engine=ndb;
-create table t2 (p int not null primary key, u int not null, o int not null,
-unique (u), key(o)) engine=ndb;
-create table t3 (a int not null primary key, b int not null) engine=ndb;
-create table t4 (c int not null primary key, d int not null) engine=ndb;
-insert into t1 values (1,1,1),(2,2,2),(3,3,3);
-insert into t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5);
-insert into t3 values (1,10), (2,10), (3,30), (4, 30);
-insert into t4 values (1,10), (2,10), (3,30), (4, 30);
-explain select * from t2 where p NOT IN (select p from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
-2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func #
-select * from t2 where p NOT IN (select p from t1) order by p;
-p u o
-4 4 4
-5 5 5
-explain select * from t2 where p NOT IN (select u from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
-2 DEPENDENT SUBQUERY t1 unique_subquery u u 4 func #
-select * from t2 where p NOT IN (select u from t1) order by p;
-p u o
-4 4 4
-5 5 5
-explain select * from t2 where p NOT IN (select o from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
-2 DEPENDENT SUBQUERY t1 index_subquery o o 4 func #
-select * from t2 where p NOT IN (select o from t1) order by p;
-p u o
-4 4 4
-5 5 5
-explain select * from t2 where p NOT IN (select p+0 from t1);
-id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t2 ALL NULL NULL NULL NULL # Using where
-2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL # Using where
-select * from t2 where p NOT IN (select p+0 from t1) order by p;
-p u o
-4 4 4
-5 5 5
-drop table t1;
-drop table t2;
-create table t1 (p int not null primary key, u int not null) engine=ndb;
-insert into t1 values (1,1),(2,2),(3,3);
-create table t2 as
-select t1.*
-from t1 as t1, t1 as t2, t1 as t3, t1 as t4, t1 as t5, t1 as t6, t1 as t7, t1 as t8
-where t1.u = t2.u
-and t2.u = t3.u
-and t3.u = t4.u
-and t4.u = t5.u
-and t5.u = t6.u
-and t6.u = t7.u
-and t7.u = t8.u;
-select * from t2 order by 1;
-p u
-1 1
-2 2
-3 3
-select * from t3 where a = any (select c from t4 where c = 1) order by a;
-a b
-1 10
-select * from t3 where a in (select c from t4 where c = 1) order by a;
-a b
-1 10
-select * from t3 where a <> some (select c from t4 where c = 1) order by a;
-a b
-2 10
-3 30
-4 30
-select * from t3 where a > all (select c from t4 where c = 1) order by a;
-a b
-2 10
-3 30
-4 30
-select * from t3 where row(1,10) = (select c,d from t4 where c = 1) order by a;
-a b
-1 10
-2 10
-3 30
-4 30
-select * from t3 where exists (select * from t4 where c = 1) order by a;
-a b
-1 10
-2 10
-3 30
-4 30
-drop table if exists t1, t2, t3, t4;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_temporary.result b/mysql-test/suite/ndb/r/ndb_temporary.result
deleted file mode 100644
index 7b7740003af..00000000000
--- a/mysql-test/suite/ndb/r/ndb_temporary.result
+++ /dev/null
@@ -1,21 +0,0 @@
-DROP TABLE IF EXISTS t1;
-create temporary table t1 (a int key) engine=ndb;
-ERROR HY000: Table storage engine 'ndbcluster' does not support the create option 'TEMPORARY'
-create temporary table t1 (a int key) engine=myisam;
-alter table t1 engine=ndb;
-ERROR HY000: Table storage engine 'ndbcluster' does not support the create option 'TEMPORARY'
-drop table t1;
-SET SESSION storage_engine=NDBCLUSTER;
-create table t1 (a int key);
-select engine from information_schema.tables where table_name = 't1';
-engine
-ndbcluster
-drop table t1;
-create temporary table t1 (a int key);
-show create table t1;
-Table Create Table
-t1 CREATE TEMPORARY TABLE `t1` (
- `a` int(11) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_tmp_table_and_DDL.result b/mysql-test/suite/ndb/r/ndb_tmp_table_and_DDL.result
deleted file mode 100644
index 1b0f718ad65..00000000000
--- a/mysql-test/suite/ndb/r/ndb_tmp_table_and_DDL.result
+++ /dev/null
@@ -1,90 +0,0 @@
-CREATE TEMPORARY TABLE t1 (a INT);
-CREATE TABLE t2 (a INT, b INT) ENGINE= NDB;
-INSERT INTO t1 VALUES (1);
-CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
-INSERT INTO t1 VALUES (1);
-ALTER EVENT e1 ON SCHEDULE EVERY 20 HOUR DO SELECT 1;
-INSERT INTO t1 VALUES (1);
-DROP EVENT IF EXISTS e1;
-INSERT INTO t1 VALUES (1);
-CREATE PROCEDURE p1() SELECT 1;
-INSERT INTO t1 VALUES (1);
-ALTER PROCEDURE p1 SQL SECURITY INVOKER;
-INSERT INTO t1 VALUES (1);
-CREATE FUNCTION f1() RETURNS INT RETURN 123;
-INSERT INTO t1 VALUES (1);
-ALTER FUNCTION f1 SQL SECURITY INVOKER;
-INSERT INTO t1 VALUES (1);
-CREATE DATABASE mysqltest1;
-INSERT INTO t1 VALUES (1);
-DROP DATABASE mysqltest1;
-INSERT INTO t1 VALUES (1);
-CREATE USER test_1@localhost;
-INSERT INTO t1 VALUES (1);
-GRANT SELECT ON t2 TO test_1@localhost;
-INSERT INTO t1 VALUES (1);
-GRANT ALL ON f1 TO test_1@localhost;
-INSERT INTO t1 VALUES (1);
-GRANT ALL ON p1 TO test_1@localhost;
-INSERT INTO t1 VALUES (1);
-GRANT USAGE ON *.* TO test_1@localhost;
-INSERT INTO t1 VALUES (1);
-REVOKE ALL PRIVILEGES ON f1 FROM test_1@localhost;
-INSERT INTO t1 VALUES (1);
-REVOKE ALL PRIVILEGES ON p1 FROM test_1@localhost;
-INSERT INTO t1 VALUES (1);
-REVOKE ALL PRIVILEGES ON t2 FROM test_1@localhost;
-INSERT INTO t1 VALUES (1);
-REVOKE USAGE ON *.* FROM test_1@localhost;
-INSERT INTO t1 VALUES (1);
-RENAME USER test_1@localhost TO test_2@localhost;
-INSERT INTO t1 VALUES (1);
-DROP USER test_2@localhost;
-INSERT INTO t1 VALUES (1);
-CREATE PROCEDURE p2()
-BEGIN
-# CREATE USER when a temporary table is open.
-CREATE TEMPORARY TABLE t3 (a INT);
-CREATE USER test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# GRANT select on table to user when a temporary table is open.
-GRANT SELECT ON t2 TO test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# GRANT all on function to user when a temporary table is open.
-GRANT ALL ON f1 TO test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# GRANT all on procedure to user when a temporary table is open.
-GRANT ALL ON p1 TO test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# GRANT usage on *.* to user when a temporary table is open.
-GRANT USAGE ON *.* TO test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# REVOKE ALL PRIVILEGES on function to user when a temporary table is open.
-REVOKE ALL PRIVILEGES ON f1 FROM test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# REVOKE ALL PRIVILEGES on procedure to user when a temporary table is open.
-REVOKE ALL PRIVILEGES ON p1 FROM test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# REVOKE ALL PRIVILEGES on table to user when a temporary table is open.
-REVOKE ALL PRIVILEGES ON t2 FROM test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# REVOKE usage on *.* from user when a temporary table is open.
-REVOKE USAGE ON *.* FROM test_2@localhost;
-INSERT INTO t1 VALUES (1);
-# RENAME USER when a temporary table is open.
-RENAME USER test_2@localhost TO test_3@localhost;
-INSERT INTO t1 VALUES (1);
-# DROP USER when a temporary table is open.
-DROP USER test_3@localhost;
-INSERT INTO t1 VALUES (1);
-DROP TEMPORARY TABLE t3;
-END |
-DROP PROCEDURE p1;
-INSERT INTO t1 VALUES (1);
-DROP PROCEDURE p2;
-INSERT INTO t1 VALUES (1);
-DROP FUNCTION f1;
-INSERT INTO t1 VALUES (1);
-DROP TABLE t2;
-INSERT INTO t1 VALUES (1);
-DROP TEMPORARY TABLE t1;
diff --git a/mysql-test/suite/ndb/r/ndb_transaction.result b/mysql-test/suite/ndb/r/ndb_transaction.result
deleted file mode 100644
index 691b91b1d36..00000000000
--- a/mysql-test/suite/ndb/r/ndb_transaction.result
+++ /dev/null
@@ -1,257 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=ndbcluster;
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 1
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-attr1
-2
-rollback;
-select count(*) from t1;
-count(*)
-0
-select * from t1 where pk1 = 1;
-pk1 attr1
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-attr1
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-commit;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 1
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-attr1
-2
-begin;
-update t1 set attr1 = attr1 * 2;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 2
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-2 4 1 2
-rollback;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 1
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-begin;
-update t1 set attr1 = attr1 * 2;
-commit;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 2
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-2 4 1 2
-begin;
-delete from t1 where attr1 = 2;
-select count(*) from t1;
-count(*)
-1
-select * from t1 where pk1 = 1;
-pk1 attr1
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-rollback;
-select count(*) from t1;
-count(*)
-2
-select * from t1 where pk1 = 1;
-pk1 attr1
-1 2
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-2 4 1 2
-begin;
-delete from t1 where attr1 = 2;
-commit;
-select count(*) from t1;
-count(*)
-1
-select * from t1 where pk1 = 1;
-pk1 attr1
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-pk1 attr1 pk1 attr1
-DROP TABLE t1;
-CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-select sum(id) from t1;
-sum(id)
-3
-select * from t1 where id = 1;
-id id2
-1 1
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-id
-2
-rollback;
-select sum(id) from t1;
-sum(id)
-NULL
-select * from t1 where id = 1;
-id id2
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-id
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-commit;
-select sum(id) from t1;
-sum(id)
-3
-select * from t1 where id = 1;
-id id2
-1 1
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-id
-2
-begin;
-update t1 set id = id * 2;
-select sum(id) from t1;
-sum(id)
-6
-select * from t1 where id = 2;
-id id2
-2 1
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-id id2 id id2
-4 2 2 1
-rollback;
-select sum(id) from t1;
-sum(id)
-3
-select * from t1 where id = 2;
-id id2
-2 2
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-id id2 id id2
-begin;
-update t1 set id = id * 2;
-commit;
-select sum(id) from t1;
-sum(id)
-6
-select * from t1 where id = 2;
-id id2
-2 1
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-id id2 id id2
-4 2 2 1
-DROP TABLE t1;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-CREATE TABLE t3 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned,
-PRIMARY KEY(a)
-) engine=ndbcluster;
-CREATE TABLE t4 (
-a bigint unsigned NOT NULL,
-b bigint unsigned not null,
-c bigint unsigned NOT NULL,
-d int unsigned,
-PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-select count(*) from t2;
-count(*)
-0
-select count(*) from t3;
-count(*)
-0
-select count(*) from t4;
-count(*)
-0
-select count(*) from t2;
-count(*)
-100
-select count(*) from t3;
-count(*)
-100
-select count(*) from t4;
-count(*)
-100
-begin;
-begin;
-drop table t2;
-drop table t3;
-drop table t4;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-attr1 INT NOT NULL
-) ENGINE=ndbcluster;
-create database mysqltest;
-use mysqltest;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-begin;
-insert into test.t1 values(1,1);
-insert into t2 values(1,1,1);
-insert into test.t1 values(2,2);
-insert into t2 values(2,2,2);
-select count(*) from test.t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-2
-select * from test.t1 where pk1 = 1;
-pk1 attr1
-1 1
-select * from t2 where a = 1;
-a b c
-1 1 1
-select test.t1.attr1
-from test.t1, test.t1 as t1x where test.t1.pk1 = t1x.pk1 + 1;
-attr1
-2
-select t2.a
-from t2, t2 as t2x where t2.a = t2x.a + 1;
-a
-2
-select test.t1.pk1, a from test.t1,t2 where b > test.t1.attr1;
-pk1 a
-1 2
-rollback;
-select count(*) from test.t1;
-count(*)
-0
-select count(*) from t2;
-count(*)
-0
-drop table test.t1, t2;
-drop database mysqltest;
diff --git a/mysql-test/suite/ndb/r/ndb_trigger.result b/mysql-test/suite/ndb/r/ndb_trigger.result
deleted file mode 100644
index cc3e27df852..00000000000
--- a/mysql-test/suite/ndb/r/ndb_trigger.result
+++ /dev/null
@@ -1,315 +0,0 @@
-drop table if exists t1, t2, t3, t4, t5;
-create table t1 (id int primary key, a int not null, b decimal (63,30) default 0) engine=ndb;
-create table t2 (op char(1), a int not null, b decimal (63,30)) engine=ndb;
-create table t3 engine=ndb select 1 as i;
-create table t4 (a int not null primary key, b int) engine=ndb;
-create table t5 (a int not null primary key, b int) engine=ndb;
-create trigger t1_bu before update on t1 for each row
-begin
-insert into t2 values ("u", old.a, old.b);
-set new.b = old.b + 10;
-end;//
-create trigger t1_bd before delete on t1 for each row
-begin
-insert into t2 values ("d", old.a, old.b);
-end;//
-create trigger t4_au after update on t4
-for each row begin
-update t5 set b = b+1;
-end;
-//
-create trigger t4_ad after delete on t4
-for each row begin
-update t5 set b = b+1;
-end;
-//
-insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (3, 3, 3.05), (4, 4, 4.05);
-insert into t4 values (1,1), (2,2), (3,3), (4, 4);
-insert into t5 values (1,0);
-update t1 set a=5 where a != 3;
-select * from t1 order by id;
-id a b
-1 5 11.050000000000000000000000000000
-2 5 12.050000000000000000000000000000
-3 3 3.050000000000000000000000000000
-4 5 14.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 1 1.050000000000000000000000000000
-u 2 2.050000000000000000000000000000
-u 4 4.050000000000000000000000000000
-delete from t2;
-update t1, t3 set a=6 where a = 5;
-select * from t1 order by id;
-id a b
-1 6 21.050000000000000000000000000000
-2 6 22.050000000000000000000000000000
-3 3 3.050000000000000000000000000000
-4 6 24.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 5 11.050000000000000000000000000000
-u 5 12.050000000000000000000000000000
-u 5 14.050000000000000000000000000000
-delete from t2;
-delete from t1 where a != 3;
-select * from t1 order by id;
-id a b
-3 3 3.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 6 21.050000000000000000000000000000
-d 6 22.050000000000000000000000000000
-d 6 24.050000000000000000000000000000
-delete from t2;
-insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (4, 4, 4.05);
-delete t1 from t1, t3 where a != 3;
-select * from t1 order by id;
-id a b
-3 3 3.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 1 1.050000000000000000000000000000
-d 2 2.050000000000000000000000000000
-d 4 4.050000000000000000000000000000
-delete from t2;
-insert into t1 values (4, 4, 4.05);
-insert into t1 (id, a) values (4, 1), (3, 1) on duplicate key update a= a + 1;
-select * from t1 order by id;
-id a b
-3 4 13.050000000000000000000000000000
-4 5 14.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 3 3.050000000000000000000000000000
-u 4 4.050000000000000000000000000000
-delete from t2;
-delete from t3;
-insert into t3 values (4), (3);
-insert into t1 (id, a) (select i, 1 from t3) on duplicate key update a= a + 1;
-select * from t1 order by id;
-id a b
-3 5 23.050000000000000000000000000000
-4 6 24.050000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-u 4 13.050000000000000000000000000000
-u 5 14.050000000000000000000000000000
-delete from t2;
-replace into t1 (id, a) values (4, 1), (3, 1);
-select * from t1 order by id;
-id a b
-3 1 0.000000000000000000000000000000
-4 1 0.000000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 5 23.050000000000000000000000000000
-d 6 24.050000000000000000000000000000
-delete from t1;
-delete from t2;
-insert into t1 values (3, 1, 1.05), (4, 1, 2.05);
-replace into t1 (id, a) (select i, 2 from t3);
-select * from t1 order by id;
-id a b
-3 2 0.000000000000000000000000000000
-4 2 0.000000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 1 1.050000000000000000000000000000
-d 1 2.050000000000000000000000000000
-delete from t1;
-delete from t2;
-insert into t1 values (3, 1, 1.05), (5, 2, 2.05);
-load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (id, a);
-select * from t1 order by id;
-id a b
-3 4 0.000000000000000000000000000000
-5 6 0.000000000000000000000000000000
-select * from t2 order by op, a, b;
-op a b
-d 1 1.050000000000000000000000000000
-d 2 2.050000000000000000000000000000
-update t4 set b = 10 where a = 1;
-select * from t5 order by a;
-a b
-1 1
-update t5 set b = 0;
-delete from t4 where a = 1;
-select * from t5 order by a;
-a b
-1 1
-drop trigger t4_au;
-drop trigger t4_ad;
-drop table t1, t2, t3, t4, t5;
-CREATE TABLE t1 (
-id INT NOT NULL PRIMARY KEY,
-xy INT
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (1, 0);
-CREATE TRIGGER t1_update AFTER UPDATE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id = NEW.id; END //
-CREATE TABLE t2 (
-id INT NOT NULL PRIMARY KEY,
-xy INT
-) ENGINE=ndbcluster;
-INSERT INTO t2 VALUES (2, 0);
-CREATE TABLE t3 (id INT NOT NULL PRIMARY KEY) ENGINE=ndbcluster;
-INSERT INTO t3 VALUES (1);
-CREATE TABLE t4 LIKE t1;
-CREATE TRIGGER t4_update AFTER UPDATE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id = NEW.id; END //
-CREATE TABLE t5 LIKE t2;
-UPDATE t1 SET xy = 3 WHERE id = 1;
-SELECT xy FROM t1 where id = 1;
-xy
-3
-SELECT xy FROM t2 where id = 1;
-xy
-3
-UPDATE t1 SET xy = 4 WHERE id IN (SELECT id FROM t3 WHERE id = 1);
-SELECT xy FROM t1 where id = 1;
-xy
-4
-SELECT xy FROM t2 where id = 1;
-xy
-4
-INSERT INTO t4 SELECT * FROM t1;
-INSERT INTO t5 SELECT * FROM t2;
-UPDATE t1,t4 SET t1.xy = 3, t4.xy = 3 WHERE t1.id = 1 AND t4.id = 1;
-SELECT xy FROM t1 where id = 1;
-xy
-3
-SELECT xy FROM t2 where id = 1;
-xy
-3
-SELECT xy FROM t4 where id = 1;
-xy
-3
-SELECT xy FROM t5 where id = 1;
-xy
-3
-UPDATE t1,t4 SET t1.xy = 4, t4.xy = 4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 1) AND t4.id IN (SELECT id FROM t3 WHERE id = 1);
-SELECT xy FROM t1 where id = 1;
-xy
-4
-SELECT xy FROM t2 where id = 1;
-xy
-4
-SELECT xy FROM t4 where id = 1;
-xy
-4
-SELECT xy FROM t5 where id = 1;
-xy
-4
-INSERT INTO t1 VALUES (1,0) ON DUPLICATE KEY UPDATE xy = 5;
-SELECT xy FROM t1 where id = 1;
-xy
-5
-SELECT xy FROM t2 where id = 1;
-xy
-5
-DROP TRIGGER t1_update;
-DROP TRIGGER t4_update;
-CREATE TRIGGER t1_delete AFTER DELETE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id > 4; END //
-CREATE TRIGGER t4_delete AFTER DELETE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id > 4; END //
-INSERT INTO t1 VALUES (5, 0),(6,0);
-INSERT INTO t2 VALUES (5, 1),(6,1);
-INSERT INTO t3 VALUES (5);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-DELETE FROM t1 WHERE id IN (SELECT id FROM t3 WHERE id = 5);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-INSERT INTO t1 VALUES (5,0);
-UPDATE t2 SET xy = 1 WHERE id = 6;
-TRUNCATE t4;
-INSERT INTO t4 SELECT * FROM t1;
-TRUNCATE t5;
-INSERT INTO t5 SELECT * FROM t2;
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-SELECT * FROM t4 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t5 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-DELETE FROM t1,t4 USING t1,t3,t4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 5) AND t4.id IN (SELECT id FROM t3 WHERE id = 5);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-SELECT * FROM t4 order by id;
-id xy
-1 5
-6 0
-SELECT * FROM t5 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-INSERT INTO t1 VALUES (5, 0);
-REPLACE INTO t2 VALUES (6,1);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 0
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 1
-REPLACE INTO t1 VALUES (5, 1);
-SELECT * FROM t1 order by id;
-id xy
-1 5
-5 1
-6 0
-SELECT * FROM t2 order by id;
-id xy
-1 5
-2 0
-5 1
-6 0
-DROP TRIGGER t1_delete;
-DROP TRIGGER t4_delete;
-DROP TABLE t1, t2, t3, t4, t5;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_truncate.result b/mysql-test/suite/ndb/r/ndb_truncate.result
deleted file mode 100644
index 811e5e3afeb..00000000000
--- a/mysql-test/suite/ndb/r/ndb_truncate.result
+++ /dev/null
@@ -1,23 +0,0 @@
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (
-a bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
-b int unsigned not null,
-c int unsigned
-) engine=ndbcluster;
-select count(*) from t1;
-count(*)
-5000
-select * from t1 order by a limit 2;
-a b c
-1 509 2500
-2 510 7
-truncate table t1;
-select count(*) from t1;
-count(*)
-0
-insert into t1 values(NULL,1,1),(NULL,2,2);
-select * from t1 order by a;
-a b c
-1 1 1
-2 2 2
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_types.result b/mysql-test/suite/ndb/r/ndb_types.result
deleted file mode 100644
index ec2858d818a..00000000000
--- a/mysql-test/suite/ndb/r/ndb_types.result
+++ /dev/null
@@ -1,76 +0,0 @@
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-auto int(5) unsigned NOT NULL auto_increment,
-string char(10) default "hello",
-vstring varchar(10) default "hello",
-bin binary(2),
-vbin varbinary(7),
-tiny tinyint(4) DEFAULT '0' NOT NULL ,
-short smallint(6) DEFAULT '1' NOT NULL ,
-medium mediumint(8) DEFAULT '0' NOT NULL,
-long_int int(11) DEFAULT '0' NOT NULL,
-longlong bigint(13) DEFAULT '0' NOT NULL,
-real_float float(13,1) DEFAULT 0.0 NOT NULL,
-real_double double(16,4),
-real_decimal decimal(16,4),
-utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
-ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
-umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
-ulong int(11) unsigned DEFAULT '0' NOT NULL,
-ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
-bits bit(3),
-options enum('one','two','tree') not null,
-flags set('one','two','tree') not null,
-date_field date,
-year_field year,
-time_field time,
-date_time datetime,
-time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
-PRIMARY KEY (auto),
-KEY (utiny),
-KEY (tiny),
-KEY (short),
-KEY any_name (medium),
-KEY (longlong),
-KEY (real_float),
-KEY (ushort),
-KEY (umedium),
-KEY (ulong),
-KEY (ulonglong,ulong),
-KEY (options,flags)
-);
-set @now = now();
-insert into t1
-(string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
-real_float,real_double, real_decimal,utiny, ushort, umedium,ulong,ulonglong,
-bits,options,flags,date_field,year_field,time_field,date_time)
-values
-("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
-b'001','one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01');
-select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
-real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
-bits,options,flags,date_field,year_field,time_field,date_time
-from t1;
-auto string vstring bin vbin tiny short medium long_int longlong real_float real_double real_decimal utiny ushort umedium ulong ulonglong bits options flags date_field year_field time_field date_time
-1 aaaa aaaa ªª ªª -1 -1 -1 -1 -1 1.1 1.1000 1.1000 1 00001 1 1 1  one one 1901-01-01 1901 01:01:01 1901-01-01 01:01:01
-select time_stamp>@now from t1;
-time_stamp>@now
-1
-set @now = now();
-update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB,
-tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2,
-real_double=2.2,real_decimal=2.2,utiny=2,ushort=2,umedium=2,ulong=2,
-ulonglong=2, bits=b'010',
-options='one',flags='one', date_field='1902-02-02',year_field='1902',
-time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1;
-select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
-real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
-bits,options,flags,date_field,year_field,time_field,date_time
-from t1;
-auto string vstring bin vbin tiny short medium long_int longlong real_float real_double real_decimal utiny ushort umedium ulong ulonglong bits options flags date_field year_field time_field date_time
-1 bbbb bbbb »» »» -2 -2 -2 -2 -2 2.2 2.2000 2.2000 2 00002 2 2 2  one one 1902-02-02 1902 02:02:02 1902-02-02 02:02:02
-select time_stamp>@now from t1;
-time_stamp>@now
-1
-drop table t1;
-End of 4.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_update.result b/mysql-test/suite/ndb/r/ndb_update.result
deleted file mode 100644
index fa083587956..00000000000
--- a/mysql-test/suite/ndb/r/ndb_update.result
+++ /dev/null
@@ -1,96 +0,0 @@
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
-CREATE TABLE t1 (
-pk1 INT NOT NULL PRIMARY KEY,
-b INT NOT NULL,
-c INT NOT NULL UNIQUE
-) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (0, 1, 0),(1,2,1),(2,3,2);
-UPDATE t1 set b = c;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-1 1 1
-2 2 2
-UPDATE t1 set pk1 = 4 where pk1 = 1;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-2 2 2
-4 1 1
-UPDATE t1 set pk1 = 4 where pk1 = 2;
-ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
-UPDATE IGNORE t1 set pk1 = 4 where pk1 = 2;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-2 2 2
-4 1 1
-UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
-ERROR 23000: Duplicate entry '2' for key 'c'
-UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4;
-select * from t1 order by pk1;
-pk1 b c
-0 0 0
-2 2 2
-4 1 1
-UPDATE t1 set pk1 = pk1 + 10;
-select * from t1 order by pk1;
-pk1 b c
-10 0 0
-12 2 2
-14 1 1
-create unique index ib on t1(b);
-update t1 set c = 4 where pk1 = 12;
-update ignore t1 set b = 55 where pk1 = 14;
-select * from t1 order by pk1;
-pk1 b c
-10 0 0
-12 2 4
-14 55 1
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (a int, b int, KEY (a, b)) ENGINE=ndbcluster;
-CREATE TABLE t2 (a int, b int, UNIQUE KEY (a, b)) ENGINE=ndbcluster;
-CREATE TABLE t3 (a int, b int, PRIMARY KEY (a, b)) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES (1, 2);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t2 VALUES (1, 2);
-INSERT INTO t2 VALUES (2, 2);
-INSERT INTO t3 VALUES (1, 2);
-INSERT INTO t3 VALUES (2, 2);
-UPDATE t1 SET a = 1;
-UPDATE t1 SET a = 1 ORDER BY a;
-UPDATE t2 SET a = 1;
-ERROR 23000: Duplicate entry '1-2' for key 'a'
-UPDATE t2 SET a = 1 ORDER BY a;
-ERROR 23000: Duplicate entry '1-2' for key 'a'
-UPDATE t3 SET a = 1;
-ERROR 23000: Duplicate entry '1-2' for key 'PRIMARY'
-UPDATE t3 SET a = 1 ORDER BY a;
-ERROR 23000: Duplicate entry '1-2' for key 'PRIMARY'
-SELECT count(*) FROM t1;
-count(*)
-2
-SELECT count(*) FROM t2;
-count(*)
-2
-SELECT count(*) FROM t3;
-count(*)
-2
-SELECT * FROM t1 ORDER by a;
-a b
-1 2
-1 2
-SELECT * FROM t2 ORDER by a;
-a b
-1 2
-2 2
-SELECT * FROM t3 ORDER by a;
-a b
-1 2
-2 2
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
-End of 5.1 tests
diff --git a/mysql-test/suite/ndb/r/ndb_update_no_read.result b/mysql-test/suite/ndb/r/ndb_update_no_read.result
deleted file mode 100644
index 4373800d338..00000000000
--- a/mysql-test/suite/ndb/r/ndb_update_no_read.result
+++ /dev/null
@@ -1,75 +0,0 @@
-DROP TABLE IF EXISTS t1;
-create table t1 (a int not null primary key, b int not null, c int,
-unique index_b (b) using hash)
-engine ndb;
-insert into t1 values (1,10,1),(2,9,1),(3,8,1),(4,7,1),(5,6,1),(6,5,2),(7,4,2),(8,3,2),
-(9,2,2),(10,1,2);
-update t1 set c = 111, b = 20 where a = 1;
-select * from t1 where a = 1 order by a;
-a b c
-1 20 111
-delete from t1 where a = 1;
-select * from t1 where a = 1 order by a;
-a b c
-update t1 set c = 12, b = 19 where b = 2;
-select * from t1 where b = 2 order by a;
-a b c
-delete from t1 where b = 19;
-select * from t1 where b = 19 order by a;
-a b c
-update t1 set c = 22 where a = 10 or a >= 10;
-select * from t1 order by a;
-a b c
-2 9 1
-3 8 1
-4 7 1
-5 6 1
-6 5 2
-7 4 2
-8 3 2
-10 1 22
-update t1 set c = 23 where a in (8,10);
-select * from t1 order by a;
-a b c
-2 9 1
-3 8 1
-4 7 1
-5 6 1
-6 5 2
-7 4 2
-8 3 23
-10 1 23
-update t1 set c = 23 where a in (7,8) or a >= 10;
-select * from t1 order by a;
-a b c
-2 9 1
-3 8 1
-4 7 1
-5 6 1
-6 5 2
-7 4 23
-8 3 23
-10 1 23
-update t1 set c = 11 where a = 3 or b = 7;
-select * from t1 where a = 3 or b = 7 order by a;
-a b c
-3 8 11
-4 7 11
-update t1 set a = 13, b = 20 where a = 3;
-select * from t1 where a = 13 order by a;
-a b c
-13 20 11
-update t1 set a = 12, b = 19 where b = 7;
-select * from t1 where b = 19 order by a;
-a b c
-12 19 11
-select * from t1 where b = 7 order by a;
-a b c
-update t1 set c = 12, b = 29 where a = 5 and b = 6;
-select * from t1 where b = 19 order by a;
-a b c
-12 19 11
-delete from t1 where b = 6 and c = 12;
-select * from t1 where b = 6 order by a;
-a b c
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndb_view.result b/mysql-test/suite/ndb/r/ndb_view.result
deleted file mode 100644
index b7d1b6860c8..00000000000
--- a/mysql-test/suite/ndb/r/ndb_view.result
+++ /dev/null
@@ -1,24 +0,0 @@
-DROP TABLE IF EXISTS t1,t2,t3;
-DROP VIEW IF EXISTS v1,v2,v3;
-create table t1 (a int, b int, c int, d int) engine=ndb;
-insert into t1 values (1,2,3,4),(5,6,7,8);
-create view v1 as select t1.c as a, t1.a as b, t1.d as c, t1.a+t1.b+t1.c as d from t1;
-select * from v1 order by a,b,c;
-a b c d
-3 1 4 6
-7 5 8 18
-update v1 set a=a+100 where b=1;
-select * from v1 order by a,b,c;
-a b c d
-7 5 8 18
-103 1 4 106
-drop view v1;
-create view v1 as select t1.c as a from t1;
-insert into v1 values (200);
-select * from t1 order by a,b,c,d;
-a b c d
-NULL NULL 200 NULL
-1 2 103 4
-5 6 7 8
-drop view v1;
-drop table t1;
diff --git a/mysql-test/suite/ndb/r/ndbapi.result b/mysql-test/suite/ndb/r/ndbapi.result
deleted file mode 100644
index 8e680391a81..00000000000
--- a/mysql-test/suite/ndb/r/ndbapi.result
+++ /dev/null
@@ -1,22 +0,0 @@
-DROP TABLE IF EXISTS t0;
-drop database if exists mysqltest;
-Running ndbapi_simple
-Running ndbapi_simple_index
-Running ndbapi_scan
-Running ndbapi_retries
-Running ndbapi_async
-Running ndbapi_async1
-use TEST_DB;
-create table t0(c0 int, c1 int, c2 char(4), c3 char(4), c4 text,
-primary key(c0, c2)) engine ndb charset latin1;
-insert into t0 values (1, 2, 'a', 'b', null);
-insert into t0 values (3, 4, 'c', 'd', null);
-update t0 set c3 = 'e' where c0 = 1 and c2 = 'a';
-update t0 set c3 = 'f';
-update t0 set c3 = 'F';
-update t0 set c2 = 'g' where c0 = 1;
-update t0 set c2 = 'G' where c0 = 1;
-update t0 set c0 = 5, c2 = 'H' where c0 = 3;
-delete from t0;
-drop table t0;
-Running mgmapi_logevent
diff --git a/mysql-test/suite/ndb/r/ps_7ndb.result b/mysql-test/suite/ndb/r/ps_7ndb.result
deleted file mode 100644
index 724ae721e9a..00000000000
--- a/mysql-test/suite/ndb/r/ps_7ndb.result
+++ /dev/null
@@ -1,3122 +0,0 @@
-use test;
-drop table if exists t1, t9 ;
-create table t1
-(
-a int, b varchar(30),
-primary key(a)
-) engine = 'NDB' ;
-create table t9
-(
-c1 tinyint, c2 smallint, c3 mediumint, c4 int,
-c5 integer, c6 bigint, c7 float, c8 double,
-c9 double precision, c10 real, c11 decimal(7, 4), c12 numeric(8, 4),
-c13 date, c14 datetime, c15 timestamp, c16 time,
-c17 year, c18 tinyint, c19 bool, c20 char,
-c21 char(10), c22 varchar(30), c23 tinyblob, c24 tinytext,
-c25 blob, c26 text, c27 mediumblob, c28 mediumtext,
-c29 longblob, c30 longtext, c31 enum('one', 'two', 'three'),
-c32 set('monday', 'tuesday', 'wednesday'),
-primary key(c1)
-) engine = 'NDB' ;
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-test_sequence
------- simple select tests ------
-prepare stmt1 from ' select * from t9 order by c1 ' ;
-execute stmt1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t9 t9 c1 c1 1 4 1 N 49155 0 63
-def test t9 t9 c2 c2 2 6 1 Y 32768 0 63
-def test t9 t9 c3 c3 9 9 1 Y 32768 0 63
-def test t9 t9 c4 c4 3 11 1 Y 32768 0 63
-def test t9 t9 c5 c5 3 11 1 Y 32768 0 63
-def test t9 t9 c6 c6 8 20 1 Y 32768 0 63
-def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
-def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
-def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
-def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
-def test t9 t9 c11 c11 246 9 6 Y 32768 4 63
-def test t9 t9 c12 c12 246 10 6 Y 32768 4 63
-def test t9 t9 c13 c13 10 10 10 Y 128 0 63
-def test t9 t9 c14 c14 12 19 19 Y 128 0 63
-def test t9 t9 c15 c15 7 19 19 N 9441 0 63
-def test t9 t9 c16 c16 11 8 8 Y 128 0 63
-def test t9 t9 c17 c17 13 4 4 Y 32864 0 63
-def test t9 t9 c18 c18 1 4 1 Y 32768 0 63
-def test t9 t9 c19 c19 1 1 1 Y 32768 0 63
-def test t9 t9 c20 c20 254 1 1 Y 0 0 8
-def test t9 t9 c21 c21 254 10 10 Y 0 0 8
-def test t9 t9 c22 c22 253 30 30 Y 0 0 8
-def test t9 t9 c23 c23 252 255 8 Y 144 0 63
-def test t9 t9 c24 c24 252 255 8 Y 16 0 8
-def test t9 t9 c25 c25 252 65535 4 Y 144 0 63
-def test t9 t9 c26 c26 252 65535 4 Y 16 0 8
-def test t9 t9 c27 c27 252 16777215 10 Y 144 0 63
-def test t9 t9 c28 c28 252 16777215 10 Y 16 0 8
-def test t9 t9 c29 c29 252 4294967295 8 Y 144 0 63
-def test t9 t9 c30 c30 252 4294967295 8 Y 16 0 8
-def test t9 t9 c31 c31 254 5 3 Y 256 0 8
-def test t9 t9 c32 c32 254 24 7 Y 2048 0 8
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
-set @arg00='SELECT' ;
-@arg00 a from t1 where a=1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 a from t1 where a=1' at line 1
-prepare stmt1 from ' ? a from t1 where a=1 ';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? a from t1 where a=1' at line 1
-set @arg00=1 ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-1 one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-1 one
-set @arg00='lion' ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-lion one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-lion one
-set @arg00=NULL ;
-select @arg00, b from t1 where a=1 ;
-@arg00 b
-NULL one
-prepare stmt1 from ' select ?, b from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-? b
-NULL one
-set @arg00=1 ;
-select b, a - @arg00 from t1 where a=1 ;
-b a - @arg00
-one 0
-prepare stmt1 from ' select b, a - ? from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-b a - ?
-one 0
-set @arg00=null ;
-select @arg00 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select ? as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-select @arg00 + 1 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select ? + 1 as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-select 1 + @arg00 as my_col ;
-my_col
-NULL
-prepare stmt1 from ' select 1 + ? as my_col';
-execute stmt1 using @arg00 ;
-my_col
-NULL
-set @arg00='MySQL' ;
-select substr(@arg00,1,2) from t1 where a=1 ;
-substr(@arg00,1,2)
-My
-prepare stmt1 from ' select substr(?,1,2) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr(?,1,2)
-My
-set @arg00=3 ;
-select substr('MySQL',@arg00,5) from t1 where a=1 ;
-substr('MySQL',@arg00,5)
-SQL
-prepare stmt1 from ' select substr(''MySQL'',?,5) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr('MySQL',?,5)
-SQL
-select substr('MySQL',1,@arg00) from t1 where a=1 ;
-substr('MySQL',1,@arg00)
-MyS
-prepare stmt1 from ' select substr(''MySQL'',1,?) from t1 where a=1 ' ;
-execute stmt1 using @arg00 ;
-substr('MySQL',1,?)
-MyS
-set @arg00='MySQL' ;
-select a , concat(@arg00,b) from t1 order by a;
-a concat(@arg00,b)
-1 MySQLone
-2 MySQLtwo
-3 MySQLthree
-4 MySQLfour
-prepare stmt1 from ' select a , concat(?,b) from t1 order by a ' ;
-execute stmt1 using @arg00;
-a concat(?,b)
-1 MySQLone
-2 MySQLtwo
-3 MySQLthree
-4 MySQLfour
-select a , concat(b,@arg00) from t1 order by a ;
-a concat(b,@arg00)
-1 oneMySQL
-2 twoMySQL
-3 threeMySQL
-4 fourMySQL
-prepare stmt1 from ' select a , concat(b,?) from t1 order by a ' ;
-execute stmt1 using @arg00;
-a concat(b,?)
-1 oneMySQL
-2 twoMySQL
-3 threeMySQL
-4 fourMySQL
-set @arg00='MySQL' ;
-select group_concat(@arg00,b order by a) from t1
-group by 'a' ;
-group_concat(@arg00,b order by a)
-MySQLone,MySQLtwo,MySQLthree,MySQLfour
-prepare stmt1 from ' select group_concat(?,b order by a) from t1
-group by ''a'' ' ;
-execute stmt1 using @arg00;
-group_concat(?,b order by a)
-MySQLone,MySQLtwo,MySQLthree,MySQLfour
-select group_concat(b,@arg00 order by a) from t1
-group by 'a' ;
-group_concat(b,@arg00 order by a)
-oneMySQL,twoMySQL,threeMySQL,fourMySQL
-prepare stmt1 from ' select group_concat(b,? order by a) from t1
-group by ''a'' ' ;
-execute stmt1 using @arg00;
-group_concat(b,? order by a)
-oneMySQL,twoMySQL,threeMySQL,fourMySQL
-set @arg00='first' ;
-set @arg01='second' ;
-set @arg02=NULL;
-select @arg00, @arg01 from t1 where a=1 ;
-@arg00 @arg01
-first second
-prepare stmt1 from ' select ?, ? from t1 where a=1 ' ;
-execute stmt1 using @arg00, @arg01 ;
-? ?
-first second
-execute stmt1 using @arg02, @arg01 ;
-? ?
-NULL second
-execute stmt1 using @arg00, @arg02 ;
-? ?
-first NULL
-execute stmt1 using @arg02, @arg02 ;
-? ?
-NULL NULL
-drop table if exists t5 ;
-create table t5 (id1 int(11) not null default '0',
-value2 varchar(100), value1 varchar(100)) ;
-insert into t5 values (1,'hh','hh'),(2,'hh','hh'),
-(1,'ii','ii'),(2,'ii','ii') ;
-prepare stmt1 from ' select id1,value1 from t5 where id1=? or value1=? order by id1,value1 ' ;
-set @arg00=1 ;
-set @arg01='hh' ;
-execute stmt1 using @arg00, @arg01 ;
-id1 value1
-1 hh
-1 ii
-2 hh
-drop table t5 ;
-drop table if exists t5 ;
-create table t5(session_id char(9) not null) ;
-insert into t5 values ('abc') ;
-prepare stmt1 from ' select * from t5
-where ?=''1111'' and session_id = ''abc'' ' ;
-set @arg00='abc' ;
-execute stmt1 using @arg00 ;
-session_id
-set @arg00='1111' ;
-execute stmt1 using @arg00 ;
-session_id
-abc
-set @arg00='abc' ;
-execute stmt1 using @arg00 ;
-session_id
-drop table t5 ;
-set @arg00='FROM' ;
-select a @arg00 t1 where a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 t1 where a=1' at line 1
-prepare stmt1 from ' select a ? t1 where a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? t1 where a=1' at line 1
-set @arg00='t1' ;
-select a from @arg00 where a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 where a=1' at line 1
-prepare stmt1 from ' select a from ? where a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? where a=1' at line 1
-set @arg00='WHERE' ;
-select a from t1 @arg00 a=1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 a=1' at line 1
-prepare stmt1 from ' select a from t1 ? a=1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? a=1' at line 1
-set @arg00=1 ;
-select a FROM t1 where a=@arg00 ;
-a
-1
-prepare stmt1 from ' select a FROM t1 where a=? ' ;
-execute stmt1 using @arg00 ;
-a
-1
-set @arg00=1000 ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=NULL ;
-select a FROM t1 where a=@arg00 ;
-a
-prepare stmt1 from ' select a FROM t1 where a=? ' ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=4 ;
-select a FROM t1 where a=sqrt(@arg00) ;
-a
-2
-prepare stmt1 from ' select a FROM t1 where a=sqrt(?) ' ;
-execute stmt1 using @arg00 ;
-a
-2
-set @arg00=NULL ;
-select a FROM t1 where a=sqrt(@arg00) ;
-a
-prepare stmt1 from ' select a FROM t1 where a=sqrt(?) ' ;
-execute stmt1 using @arg00 ;
-a
-set @arg00=2 ;
-set @arg01=3 ;
-select a FROM t1 where a in (@arg00,@arg01) order by a;
-a
-2
-3
-prepare stmt1 from ' select a FROM t1 where a in (?,?) order by a ';
-execute stmt1 using @arg00, @arg01;
-a
-2
-3
-set @arg00= 'one' ;
-set @arg01= 'two' ;
-set @arg02= 'five' ;
-prepare stmt1 from ' select b FROM t1 where b in (?,?,?) order by b ' ;
-execute stmt1 using @arg00, @arg01, @arg02 ;
-b
-one
-two
-prepare stmt1 from ' select b FROM t1 where b like ? ';
-set @arg00='two' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00='tw%' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00='%wo' ;
-execute stmt1 using @arg00 ;
-b
-two
-set @arg00=null ;
-insert into t9 set c1= 0, c5 = NULL ;
-select c5 from t9 where c5 > NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 > ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 < NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 < ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 = NULL ;
-c5
-prepare stmt1 from ' select c5 from t9 where c5 = ? ';
-execute stmt1 using @arg00 ;
-c5
-select c5 from t9 where c5 <=> NULL ;
-c5
-NULL
-prepare stmt1 from ' select c5 from t9 where c5 <=> ? ';
-execute stmt1 using @arg00 ;
-c5
-NULL
-delete from t9 where c1= 0 ;
-set @arg00='>' ;
-select a FROM t1 where a @arg00 1 ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@arg00 1' at line 1
-prepare stmt1 from ' select a FROM t1 where a ? 1 ' ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? 1' at line 1
-set @arg00=1 ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL group by a - @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL group by a - ? ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00='two' ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL having b <> @arg00 order by a ;
-a b
-1 one
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL having b <> ? order by a ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-3 three
-4 four
-set @arg00=1 ;
-select a,b FROM t1 where a is not NULL
-AND b is not NULL order by a - @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' select a,b FROM t1 where a is not NULL
-AND b is not NULL order by a - ? ' ;
-execute stmt1 using @arg00 ;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=2 ;
-select a,b from t1 order by 2 ;
-a b
-4 four
-1 one
-3 three
-2 two
-prepare stmt1 from ' select a,b from t1
-order by ? ';
-execute stmt1 using @arg00;
-a b
-4 four
-1 one
-3 three
-2 two
-set @arg00=1 ;
-execute stmt1 using @arg00;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=0 ;
-execute stmt1 using @arg00;
-ERROR 42S22: Unknown column '?' in 'order clause'
-set @arg00=1;
-prepare stmt1 from ' select a,b from t1 order by a
-limit 1 ';
-execute stmt1 ;
-a b
-1 one
-prepare stmt1 from ' select a,b from t1 order by a limit ? ';
-execute stmt1 using @arg00;
-a b
-1 one
-set @arg00='b' ;
-set @arg01=0 ;
-set @arg02=2 ;
-set @arg03=2 ;
-select sum(a), @arg00 from t1 where a > @arg01
-and b is not null group by substr(b,@arg02)
-having sum(a) <> @arg03 ;
-sum(a) @arg00
-3 b
-1 b
-4 b
-prepare stmt1 from ' select sum(a), ? from t1 where a > ?
-and b is not null group by substr(b,?)
-having sum(a) <> ? ';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03;
-sum(a) ?
-3 b
-1 b
-4 b
-test_sequence
------- join tests ------
-select first.a as a1, second.a as a2
-from t1 first, t1 second
-where first.a = second.a order by a1 ;
-a1 a2
-1 1
-2 2
-3 3
-4 4
-prepare stmt1 from ' select first.a as a1, second.a as a2
- from t1 first, t1 second
- where first.a = second.a order by a1 ';
-execute stmt1 ;
-a1 a2
-1 1
-2 2
-3 3
-4 4
-set @arg00='ABC';
-set @arg01='two';
-set @arg02='one';
-select first.a, @arg00, second.a FROM t1 first, t1 second
-where @arg01 = first.b or first.a = second.a or second.b = @arg02
-order by second.a, first.a;
-a @arg00 a
-1 ABC 1
-2 ABC 1
-3 ABC 1
-4 ABC 1
-2 ABC 2
-2 ABC 3
-3 ABC 3
-2 ABC 4
-4 ABC 4
-prepare stmt1 from ' select first.a, ?, second.a FROM t1 first, t1 second
- where ? = first.b or first.a = second.a or second.b = ?
- order by second.a, first.a';
-execute stmt1 using @arg00, @arg01, @arg02;
-a ? a
-1 ABC 1
-2 ABC 1
-3 ABC 1
-4 ABC 1
-2 ABC 2
-2 ABC 3
-3 ABC 3
-2 ABC 4
-4 ABC 4
-drop table if exists t2 ;
-create table t2 as select * from t1 ;
-set @query1= 'SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a ' ;
-set @query2= 'SELECT * FROM t2 natural join t1 order by t2.a ' ;
-set @query3= 'SELECT * FROM t2 join t1 using(a) order by t2.a ' ;
-set @query4= 'SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a ' ;
-set @query5= 'SELECT * FROM t2 natural left join t1 order by t2.a ' ;
-set @query6= 'SELECT * FROM t2 left join t1 using(a) order by t2.a ' ;
-set @query7= 'SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a ' ;
-set @query8= 'SELECT * FROM t2 natural right join t1 order by t2.a ' ;
-set @query9= 'SELECT * FROM t2 right join t1 using(a) order by t2.a ' ;
-the join statement is:
-SELECT * FROM t2 right join t1 using(a) order by t2.a
-prepare stmt1 from @query9 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural right join t1 order by t2.a
-prepare stmt1 from @query8 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a
-prepare stmt1 from @query7 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-the join statement is:
-SELECT * FROM t2 left join t1 using(a) order by t2.a
-prepare stmt1 from @query6 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural left join t1 order by t2.a
-prepare stmt1 from @query5 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a
-prepare stmt1 from @query4 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-the join statement is:
-SELECT * FROM t2 join t1 using(a) order by t2.a
-prepare stmt1 from @query3 ;
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-execute stmt1 ;
-a b b
-1 one one
-2 two two
-3 three three
-4 four four
-the join statement is:
-SELECT * FROM t2 natural join t1 order by t2.a
-prepare stmt1 from @query2 ;
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-the join statement is:
-SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a
-prepare stmt1 from @query1 ;
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-execute stmt1 ;
-a b a b
-1 one 1 one
-2 two 2 two
-3 three 3 three
-4 four 4 four
-drop table t2 ;
-test_sequence
------- subquery tests ------
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ''two'') ';
-execute stmt1 ;
-a b
-2 two
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = 'two' ) and b=@arg00 ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ''two'') and b=? ';
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = @arg00 ) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = ? ) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=3 ;
-set @arg01='three' ;
-select a,b FROM t1 where (a,b) in (select 3, 'three');
-a b
-3 three
-select a FROM t1 where (a,b) in (select @arg00,@arg01);
-a
-3
-prepare stmt1 from ' select a FROM t1 where (a,b) in (select ?, ?) ';
-execute stmt1 using @arg00, @arg01;
-a
-3
-set @arg00=1 ;
-set @arg01='two' ;
-set @arg02=2 ;
-set @arg03='two' ;
-select a, @arg00, b FROM t1 outer_table where
-b=@arg01 and a = (select @arg02 from t1 where b = @arg03 ) ;
-a @arg00 b
-2 1 two
-prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
- b=? and a = (select ? from t1 where b = ? ) ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-a ? b
-2 1 two
-prepare stmt1 from 'select c4 FROM t9 where
- c13 = (select MAX(b) from t1 where a = ?) and c22 = ? ' ;
-execute stmt1 using @arg01, @arg02;
-c4
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = outer_table.b ) order by a ';
-execute stmt1 ;
-a b
-1 one
-2 two
-3 three
-4 four
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-prepare stmt1 from ' SELECT a as ccc from t1 outr where a+1=
- (SELECT 1+outr.a from t1 where outr.a+1=a+1 and a=1) ';
-execute stmt1 ;
-ccc
-1
-deallocate prepare stmt1 ;
-set @arg00='two' ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where b = outer_table.b ) and b=@arg00 ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where b = outer_table.b) and b=? ';
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=2 ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where a = @arg00 and b = outer_table.b) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where a = ? and b = outer_table.b) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=2 ;
-select a, b FROM t1 outer_table where
-a = (select a from t1 where outer_table.a = @arg00 and a=2) and b='two' ;
-a b
-2 two
-prepare stmt1 from ' select a, b FROM t1 outer_table where
- a = (select a from t1 where outer_table.a = ? and a=2) and b=''two'' ' ;
-execute stmt1 using @arg00;
-a b
-2 two
-set @arg00=1 ;
-set @arg01='two' ;
-set @arg02=2 ;
-set @arg03='two' ;
-select a, @arg00, b FROM t1 outer_table where
-b=@arg01 and a = (select @arg02 from t1 where outer_table.b = @arg03
-and outer_table.a=a ) ;
-a @arg00 b
-2 1 two
-prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
- b=? and a = (select ? from t1 where outer_table.b = ?
- and outer_table.a=a ) ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-a ? b
-2 1 two
-set @arg00=1 ;
-set @arg01=0 ;
-select a, @arg00
-from ( select a - @arg00 as a from t1 where a=@arg00 ) as t2
-where a=@arg01;
-a @arg00
-0 1
-prepare stmt1 from ' select a, ?
- from ( select a - ? as a from t1 where a=? ) as t2
- where a=? ';
-execute stmt1 using @arg00, @arg00, @arg00, @arg01 ;
-a ?
-0 1
-drop table if exists t2 ;
-create table t2 as select * from t1;
-prepare stmt1 from ' select a in (select a from t2) from t1 ' ;
-execute stmt1 ;
-a in (select a from t2)
-1
-1
-1
-1
-drop table if exists t5, t6, t7 ;
-create table t5 (a int , b int) ;
-create table t6 like t5 ;
-create table t7 like t5 ;
-insert into t5 values (0, 100), (1, 2), (1, 3), (2, 2), (2, 7),
-(2, -1), (3, 10) ;
-insert into t6 values (0, 0), (1, 1), (2, 1), (3, 1), (4, 1) ;
-insert into t7 values (3, 3), (2, 2), (1, 1) ;
-prepare stmt1 from ' select a, (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1) from t7 ' ;
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-execute stmt1 ;
-a (select count(distinct t5.b) as sum from t5, t6
- where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
- group by t5.a order by sum limit 1)
-3 1
-2 2
-1 2
-drop table t5, t6, t7 ;
-drop table if exists t2 ;
-create table t2 as select * from t9;
-set @stmt= ' SELECT
- (SELECT SUM(c1 + c12 + 0.0) FROM t2
- where (t9.c2 - 0e-3) = t2.c2
- GROUP BY t9.c15 LIMIT 1) as scalar_s,
- exists (select 1.0e+0 from t2
- where t2.c3 * 9.0000000000 = t9.c4) as exists_s,
- c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s,
- (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s
-FROM t9,
-(select c25 x, c32 y from t2) tt WHERE x = c25 ' ;
-prepare stmt1 from @stmt ;
-execute stmt1 ;
-execute stmt1 ;
-set @stmt= concat('explain ',@stmt);
-prepare stmt1 from @stmt ;
-execute stmt1 ;
-execute stmt1 ;
-set @stmt= ' SELECT
- (SELECT SUM(c1+c12+?) FROM t2 where (t9.c2-?)=t2.c2
- GROUP BY t9.c15 LIMIT 1) as scalar_s,
- exists (select ? from t2
- where t2.c3*?=t9.c4) as exists_s,
- c5*? in (select c6+? from t2) as in_s,
- (c7-?, c8-?) in (select c9+?, c10+? from t2) as in_row_s
-FROM t9,
-(select c25 x, c32 y from t2) tt WHERE x =c25 ' ;
-set @arg00= 0.0 ;
-set @arg01= 0e-3 ;
-set @arg02= 1.0e+0 ;
-set @arg03= 9.0000000000 ;
-set @arg04= 4 ;
-set @arg05= 0.3e+1 ;
-set @arg06= 4 ;
-set @arg07= 4 ;
-set @arg08= 4.0 ;
-set @arg09= 40e-1 ;
-prepare stmt1 from @stmt ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-set @stmt= concat('explain ',@stmt);
-prepare stmt1 from @stmt ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
-@arg07, @arg08, @arg09 ;
-drop table t2 ;
-select 1 < (select a from t1) ;
-ERROR 21000: Subquery returns more than 1 row
-prepare stmt1 from ' select 1 < (select a from t1) ' ;
-execute stmt1 ;
-ERROR 21000: Subquery returns more than 1 row
-select 1 as my_col ;
-my_col
-1
-test_sequence
------- union tests ------
-prepare stmt1 from ' select a FROM t1 where a=1
- union distinct
- select a FROM t1 where a=1 ';
-execute stmt1 ;
-a
-1
-execute stmt1 ;
-a
-1
-prepare stmt1 from ' select a FROM t1 where a=1
- union all
- select a FROM t1 where a=1 ';
-execute stmt1 ;
-a
-1
-1
-prepare stmt1 from ' SELECT 1, 2 union SELECT 1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT 1 union SELECT 1, 2 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT * from t1 union SELECT 1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-prepare stmt1 from ' SELECT 1 union SELECT * from t1 ' ;
-ERROR 21000: The used SELECT statements have a different number of columns
-set @arg00=1 ;
-select @arg00 FROM t1 where a=1
-union distinct
-select 1 FROM t1 where a=1;
-@arg00
-1
-prepare stmt1 from ' select ? FROM t1 where a=1
- union distinct
- select 1 FROM t1 where a=1 ' ;
-execute stmt1 using @arg00;
-?
-1
-set @arg00=1 ;
-select 1 FROM t1 where a=1
-union distinct
-select @arg00 FROM t1 where a=1;
-1
-1
-prepare stmt1 from ' select 1 FROM t1 where a=1
- union distinct
- select ? FROM t1 where a=1 ' ;
-execute stmt1 using @arg00;
-1
-1
-set @arg00='a' ;
-select @arg00 FROM t1 where a=1
-union distinct
-select @arg00 FROM t1 where a=1;
-@arg00
-a
-prepare stmt1 from ' select ? FROM t1 where a=1
- union distinct
- select ? FROM t1 where a=1 ';
-execute stmt1 using @arg00, @arg00;
-?
-a
-prepare stmt1 from ' select ?
- union distinct
- select ? ';
-execute stmt1 using @arg00, @arg00;
-?
-a
-set @arg00='a' ;
-set @arg01=1 ;
-set @arg02='a' ;
-set @arg03=2 ;
-select @arg00 FROM t1 where a=@arg01
-union distinct
-select @arg02 FROM t1 where a=@arg03;
-@arg00
-a
-prepare stmt1 from ' select ? FROM t1 where a=?
- union distinct
- select ? FROM t1 where a=? ' ;
-execute stmt1 using @arg00, @arg01, @arg02, @arg03;
-?
-a
-set @arg00=1 ;
-prepare stmt1 from ' select sum(a) + 200, ? from t1
-union distinct
-select sum(a) + 200, 1 from t1
-group by b ' ;
-execute stmt1 using @arg00;
-sum(a) + 200 ?
-210 1
-204 1
-201 1
-203 1
-202 1
-set @Oporto='Oporto' ;
-set @Lisboa='Lisboa' ;
-set @0=0 ;
-set @1=1 ;
-set @2=2 ;
-set @3=3 ;
-set @4=4 ;
-select @Oporto,@Lisboa,@0,@1,@2,@3,@4 ;
-@Oporto @Lisboa @0 @1 @2 @3 @4
-Oporto Lisboa 0 1 2 3 4
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-group by b
-union distinct
-select sum(a) + 200, @Lisboa from t1
-group by b ;
-the_sum the_town
-204 Oporto
-201 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-201 Lisboa
-203 Lisboa
-202 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- group by b
- union distinct
- select sum(a) + 200, ? from t1
- group by b ' ;
-execute stmt1 using @Oporto, @Lisboa;
-the_sum the_town
-204 Oporto
-201 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-201 Lisboa
-203 Lisboa
-202 Lisboa
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-where a > @1
-group by b
-union distinct
-select sum(a) + 200, @Lisboa from t1
-where a > @2
-group by b ;
-the_sum the_town
-204 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-203 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- where a > ?
- group by b
- union distinct
- select sum(a) + 200, ? from t1
- where a > ?
- group by b ' ;
-execute stmt1 using @Oporto, @1, @Lisboa, @2;
-the_sum the_town
-204 Oporto
-203 Oporto
-202 Oporto
-204 Lisboa
-203 Lisboa
-select sum(a) + 200 as the_sum, @Oporto as the_town from t1
-where a > @1
-group by b
-having avg(a) > @2
-union distinct
-select sum(a) + 200, @Lisboa from t1
-where a > @2
-group by b
-having avg(a) > @3;
-the_sum the_town
-204 Oporto
-203 Oporto
-204 Lisboa
-prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
- where a > ?
- group by b
- having avg(a) > ?
- union distinct
- select sum(a) + 200, ? from t1
- where a > ?
- group by b
- having avg(a) > ? ';
-execute stmt1 using @Oporto, @1, @2, @Lisboa, @2, @3;
-the_sum the_town
-204 Oporto
-203 Oporto
-204 Lisboa
-test_sequence
------- explain select tests ------
-prepare stmt1 from ' explain select * from t9 ' ;
-execute stmt1;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def id 8 3 1 N 32929 0 63
-def select_type 253 19 6 N 1 31 8
-def table 253 64 2 Y 0 31 8
-def type 253 10 3 Y 0 31 8
-def possible_keys 253 4096 0 Y 0 31 8
-def key 253 64 0 Y 0 31 8
-def key_len 253 4096 0 Y 0 31 8
-def ref 253 1024 0 Y 0 31 8
-def rows 8 10 1 Y 32928 0 63
-def Extra 253 255 0 N 1 31 8
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t9 ALL NULL NULL NULL NULL 2
-test_sequence
------- delete tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'delete from t1 where a=2' ;
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-execute stmt1;
-insert into t1 values(0,NULL);
-set @arg00=NULL;
-prepare stmt1 from 'delete from t1 where b=?' ;
-execute stmt1 using @arg00;
-select a,b from t1 where b is NULL ;
-a b
-0 NULL
-set @arg00='one';
-execute stmt1 using @arg00;
-select a,b from t1 where b=@arg00;
-a b
-prepare stmt1 from 'truncate table t1' ;
-test_sequence
------- update tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'update t1 set b=''a=two'' where a=2' ;
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-2 a=two
-execute stmt1;
-select a,b from t1 where a=2;
-a b
-2 a=two
-set @arg00=NULL;
-prepare stmt1 from 'update t1 set b=? where a=2' ;
-execute stmt1 using @arg00;
-select a,b from t1 where a=2;
-a b
-2 NULL
-set @arg00='two';
-execute stmt1 using @arg00;
-select a,b from t1 where a=2;
-a b
-2 two
-set @arg00=2;
-prepare stmt1 from 'update t1 set b=NULL where a=?' ;
-execute stmt1 using @arg00;
-select a,b from t1 where a=@arg00;
-a b
-2 NULL
-update t1 set b='two' where a=@arg00;
-set @arg00=2000;
-execute stmt1 using @arg00;
-select a,b from t1 where a=@arg00;
-a b
-set @arg00=2;
-set @arg01=22;
-prepare stmt1 from 'update t1 set a=? where a=?' ;
-execute stmt1 using @arg00, @arg00;
-select a,b from t1 where a=@arg00;
-a b
-2 two
-execute stmt1 using @arg01, @arg00;
-select a,b from t1 where a=@arg01;
-a b
-22 two
-execute stmt1 using @arg00, @arg01;
-select a,b from t1 where a=@arg00;
-a b
-2 two
-set @arg00=NULL;
-set @arg01=2;
-execute stmt1 using @arg00, @arg01;
-Warnings:
-Warning 1048 Column 'a' cannot be null
-select a,b from t1 order by a;
-a b
-0 two
-1 one
-3 three
-4 four
-set @arg00=0;
-execute stmt1 using @arg01, @arg00;
-select a,b from t1 order by a;
-a b
-1 one
-2 two
-3 three
-4 four
-set @arg00=23;
-set @arg01='two';
-set @arg02=2;
-set @arg03='two';
-set @arg04=2;
-drop table if exists t2;
-create table t2 as select a,b from t1 ;
-prepare stmt1 from 'update t1 set a=? where b=?
- and a in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 where a = @arg00 ;
-a b
-23 two
-prepare stmt1 from 'update t1 set a=? where b=?
- and a not in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 order by a ;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t2 ;
-create table t2
-(
-a int, b varchar(30),
-primary key(a)
-) engine = 'NDB' ;
-insert into t2(a,b) select a, b from t1 ;
-prepare stmt1 from 'update t1 set a=? where b=?
- and a in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 where a = @arg00 ;
-a b
-23 two
-prepare stmt1 from 'update t1 set a=? where b=?
- and a not in (select ? from t2
- where b = ? or a = ?)';
-execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
-affected rows: 1
-info: Rows matched: 1 Changed: 1 Warnings: 0
-select a,b from t1 order by a ;
-a b
-1 one
-2 two
-3 three
-4 four
-drop table t2 ;
-set @arg00=1;
-prepare stmt1 from 'update t1 set b=''bla''
-where a=2
-limit 1';
-execute stmt1 ;
-select a,b from t1 where b = 'bla' ;
-a b
-2 bla
-prepare stmt1 from 'update t1 set b=''bla'' where a=2 limit ?';
-execute stmt1 using @arg00;
-test_sequence
------- insert tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-prepare stmt1 from 'insert into t1 values(5, ''five'' )';
-execute stmt1;
-select a,b from t1 where a = 5;
-a b
-5 five
-set @arg00='six' ;
-prepare stmt1 from 'insert into t1 values(6, ? )';
-execute stmt1 using @arg00;
-select a,b from t1 where b = @arg00;
-a b
-6 six
-execute stmt1 using @arg00;
-ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
-set @arg00=NULL ;
-prepare stmt1 from 'insert into t1 values(0, ? )';
-execute stmt1 using @arg00;
-select a,b from t1 where b is NULL;
-a b
-0 NULL
-set @arg00=8 ;
-set @arg01='eight' ;
-prepare stmt1 from 'insert into t1 values(?, ? )';
-execute stmt1 using @arg00, @arg01 ;
-select a,b from t1 where b = @arg01;
-a b
-8 eight
-set @NULL= null ;
-set @arg00= 'abc' ;
-execute stmt1 using @NULL, @NULL ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @NULL ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @arg00 ;
-ERROR 23000: Column 'a' cannot be null
-execute stmt1 using @NULL, @arg00 ;
-ERROR 23000: Column 'a' cannot be null
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @arg00 ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @arg00 ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 abc
-10002 abc
-delete from t1 where a > 10000 ;
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @NULL ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @NULL ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 NULL
-10002 NULL
-delete from t1 where a > 10000 ;
-set @arg01= 10000 + 10 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 9 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 8 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 7 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 6 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 5 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 4 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 3 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 2 ;
-execute stmt1 using @arg01, @arg01 ;
-set @arg01= 10000 + 1 ;
-execute stmt1 using @arg01, @arg01 ;
-select * from t1 where a > 10000 order by a ;
-a b
-10001 10001
-10002 10002
-10003 10003
-10004 10004
-10005 10005
-10006 10006
-10007 10007
-10008 10008
-10009 10009
-10010 10010
-delete from t1 where a > 10000 ;
-set @arg00=81 ;
-set @arg01='8-1' ;
-set @arg02=82 ;
-set @arg03='8-2' ;
-prepare stmt1 from 'insert into t1 values(?,?),(?,?)';
-execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
-select a,b from t1 where a in (@arg00,@arg02) ;
-a b
-81 8-1
-82 8-2
-set @arg00=9 ;
-set @arg01='nine' ;
-prepare stmt1 from 'insert into t1 set a=?, b=? ';
-execute stmt1 using @arg00, @arg01 ;
-select a,b from t1 where a = @arg00 ;
-a b
-9 nine
-set @arg00=6 ;
-set @arg01=1 ;
-prepare stmt1 from 'insert into t1 set a=?, b=''sechs''
- on duplicate key update a=a + ?, b=concat(b,''modified'') ';
-execute stmt1 using @arg00, @arg01;
-select * from t1 order by a;
-a b
-0 NULL
-1 one
-2 two
-3 three
-4 four
-5 five
-7 sixmodified
-8 eight
-9 nine
-81 8-1
-82 8-2
-set @arg00=81 ;
-set @arg01=1 ;
-execute stmt1 using @arg00, @arg01;
-ERROR 23000: Duplicate entry '82' for key 'PRIMARY'
-drop table if exists t2 ;
-create table t2 (id int auto_increment primary key)
-ENGINE= 'NDB' ;
-prepare stmt1 from ' select last_insert_id() ' ;
-insert into t2 values (NULL) ;
-execute stmt1 ;
-last_insert_id()
-1
-insert into t2 values (NULL) ;
-execute stmt1 ;
-last_insert_id()
-2
-drop table t2 ;
-set @1000=1000 ;
-set @x1000_2="x1000_2" ;
-set @x1000_3="x1000_3" ;
-set @x1000="x1000" ;
-set @1100=1100 ;
-set @x1100="x1100" ;
-set @100=100 ;
-set @updated="updated" ;
-insert into t1 values(1000,'x1000_1') ;
-insert into t1 values(@1000,@x1000_2),(@1000,@x1000_3)
-on duplicate key update a = a + @100, b = concat(b,@updated) ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 x1000_3
-1100 x1000_1updated
-delete from t1 where a >= 1000 ;
-insert into t1 values(1000,'x1000_1') ;
-prepare stmt1 from ' insert into t1 values(?,?),(?,?)
- on duplicate key update a = a + ?, b = concat(b,?) ';
-execute stmt1 using @1000, @x1000_2, @1000, @x1000_3, @100, @updated ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 x1000_3
-1100 x1000_1updated
-delete from t1 where a >= 1000 ;
-insert into t1 values(1000,'x1000_1') ;
-execute stmt1 using @1000, @x1000_2, @1100, @x1000_3, @100, @updated ;
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1200 x1000_1updatedupdated
-delete from t1 where a >= 1000 ;
-prepare stmt1 from ' replace into t1 (a,b) select 100, ''hundred'' ';
-execute stmt1;
-execute stmt1;
-execute stmt1;
-test_sequence
------- multi table tests ------
-delete from t1 ;
-delete from t9 ;
-insert into t1(a,b) values (1, 'one'), (2, 'two'), (3, 'three') ;
-insert into t9 (c1,c21)
-values (1, 'one'), (2, 'two'), (3, 'three') ;
-prepare stmt_delete from " delete t1, t9
- from t1, t9 where t1.a=t9.c1 and t1.b='updated' ";
-prepare stmt_update from " update t1, t9
- set t1.b='updated', t9.c21='updated'
- where t1.a=t9.c1 and t1.a=? ";
-prepare stmt_select1 from " select a, b from t1 order by a" ;
-prepare stmt_select2 from " select c1, c21 from t9 order by c1" ;
-set @arg00= 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-2 two
-3 three
-execute stmt_select2 ;
-c1 c21
-2 two
-3 three
-set @arg00= @arg00 + 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-3 three
-execute stmt_select2 ;
-c1 c21
-3 three
-set @arg00= @arg00 + 1 ;
-execute stmt_update using @arg00 ;
-execute stmt_delete ;
-execute stmt_select1 ;
-a b
-execute stmt_select2 ;
-c1 c21
-set @arg00= @arg00 + 1 ;
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-insert into t1 values(0,NULL) ;
-set @duplicate='duplicate ' ;
-set @1000=1000 ;
-set @5=5 ;
-select a,b from t1 where a < 5 order by a ;
-a b
-0 NULL
-1 one
-2 two
-3 three
-4 four
-insert into t1 select a + @1000, concat(@duplicate,b) from t1
-where a < @5 ;
-affected rows: 5
-info: Records: 5 Duplicates: 0 Warnings: 0
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 NULL
-1001 duplicate one
-1002 duplicate two
-1003 duplicate three
-1004 duplicate four
-delete from t1 where a >= 1000 ;
-prepare stmt1 from ' insert into t1 select a + ?, concat(?,b) from t1
-where a < ? ' ;
-execute stmt1 using @1000, @duplicate, @5;
-affected rows: 5
-info: Records: 5 Duplicates: 0 Warnings: 0
-select a,b from t1 where a >= 1000 order by a ;
-a b
-1000 NULL
-1001 duplicate one
-1002 duplicate two
-1003 duplicate three
-1004 duplicate four
-delete from t1 where a >= 1000 ;
-set @1=1 ;
-set @2=2 ;
-set @100=100 ;
-set @float=1.00;
-set @five='five' ;
-drop table if exists t2;
-create table t2 like t1 ;
-insert into t2 (b,a)
-select @duplicate, sum(first.a) from t1 first, t1 second
-where first.a <> @5 and second.b = first.b
-and second.b <> @five
-group by second.b
-having sum(second.a) > @2
-union
-select b, a + @100 from t1
-where (a,b) in ( select sqrt(a+@1)+CAST(@float AS signed),b
-from t1);
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
-select a,b from t2 order by a ;
-a b
-3 duplicate
-4 duplicate
-103 three
-delete from t2 ;
-prepare stmt1 from ' insert into t2 (b,a)
-select ?, sum(first.a)
- from t1 first, t1 second
- where first.a <> ? and second.b = first.b and second.b <> ?
- group by second.b
- having sum(second.a) > ?
-union
-select b, a + ? from t1
- where (a,b) in ( select sqrt(a+?)+CAST(? AS signed),b
- from t1 ) ' ;
-execute stmt1 using @duplicate, @5, @five, @2, @100, @1, @float ;
-affected rows: 3
-info: Records: 3 Duplicates: 0 Warnings: 0
-select a,b from t2 order by a ;
-a b
-3 duplicate
-4 duplicate
-103 three
-drop table t2;
-drop table if exists t5 ;
-set @arg01= 8;
-set @arg02= 8.0;
-set @arg03= 80.00000000000e-1;
-set @arg04= 'abc' ;
-set @arg05= CAST('abc' as binary) ;
-set @arg06= '1991-08-05' ;
-set @arg07= CAST('1991-08-05' as date);
-set @arg08= '1991-08-05 01:01:01' ;
-set @arg09= CAST('1991-08-05 01:01:01' as datetime) ;
-set @arg10= unix_timestamp('1991-01-01 01:01:01');
-set @arg11= YEAR('1991-01-01 01:01:01');
-set @arg12= 8 ;
-set @arg12= NULL ;
-set @arg13= 8.0 ;
-set @arg13= NULL ;
-set @arg14= 'abc';
-set @arg14= NULL ;
-set @arg15= CAST('abc' as binary) ;
-set @arg15= NULL ;
-create table t5 engine = MyISAM as select
-8 as const01, @arg01 as param01,
-8.0 as const02, @arg02 as param02,
-80.00000000000e-1 as const03, @arg03 as param03,
-'abc' as const04, @arg04 as param04,
-CAST('abc' as binary) as const05, @arg05 as param05,
-'1991-08-05' as const06, @arg06 as param06,
-CAST('1991-08-05' as date) as const07, @arg07 as param07,
-'1991-08-05 01:01:01' as const08, @arg08 as param08,
-CAST('1991-08-05 01:01:01' as datetime) as const09, @arg09 as param09,
-unix_timestamp('1991-01-01 01:01:01') as const10, @arg10 as param10,
-YEAR('1991-01-01 01:01:01') as const11, @arg11 as param11,
-NULL as const12, @arg12 as param12,
-@arg13 as param13,
-@arg14 as param14,
-@arg15 as param15;
-show create table t5 ;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `const01` int(1) NOT NULL DEFAULT '0',
- `param01` bigint(20) DEFAULT NULL,
- `const02` decimal(2,1) NOT NULL DEFAULT '0.0',
- `param02` decimal(65,30) DEFAULT NULL,
- `const03` double NOT NULL DEFAULT '0',
- `param03` double DEFAULT NULL,
- `const04` varchar(3) NOT NULL DEFAULT '',
- `param04` longtext,
- `const05` varbinary(3) NOT NULL DEFAULT '',
- `param05` longblob,
- `const06` varchar(10) NOT NULL DEFAULT '',
- `param06` longtext,
- `const07` date DEFAULT NULL,
- `param07` longtext,
- `const08` varchar(19) NOT NULL DEFAULT '',
- `param08` longtext,
- `const09` datetime DEFAULT NULL,
- `param09` longtext,
- `const10` int(10) NOT NULL DEFAULT '0',
- `param10` bigint(20) DEFAULT NULL,
- `const11` int(4) DEFAULT NULL,
- `param11` bigint(20) DEFAULT NULL,
- `const12` binary(0) DEFAULT NULL,
- `param12` bigint(20) DEFAULT NULL,
- `param13` decimal(65,30) DEFAULT NULL,
- `param14` longtext,
- `param15` longblob
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select * from t5 ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def test t5 t5 const01 const01 3 1 1 N 32769 0 63
-def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
-def test t5 t5 const02 const02 246 4 3 N 32769 1 63
-def test t5 t5 param02 param02 246 67 32 Y 32768 30 63
-def test t5 t5 const03 const03 5 17 1 N 32769 31 63
-def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
-def test t5 t5 const04 const04 253 3 3 N 1 0 8
-def test t5 t5 param04 param04 252 4294967295 3 Y 16 0 8
-def test t5 t5 const05 const05 253 3 3 N 129 0 63
-def test t5 t5 param05 param05 252 4294967295 3 Y 144 0 63
-def test t5 t5 const06 const06 253 10 10 N 1 0 8
-def test t5 t5 param06 param06 252 4294967295 10 Y 16 0 8
-def test t5 t5 const07 const07 10 10 10 Y 128 0 63
-def test t5 t5 param07 param07 252 4294967295 10 Y 16 0 8
-def test t5 t5 const08 const08 253 19 19 N 1 0 8
-def test t5 t5 param08 param08 252 4294967295 19 Y 16 0 8
-def test t5 t5 const09 const09 12 19 19 Y 128 0 63
-def test t5 t5 param09 param09 252 4294967295 19 Y 16 0 8
-def test t5 t5 const10 const10 3 10 9 N 32769 0 63
-def test t5 t5 param10 param10 8 20 9 Y 32768 0 63
-def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
-def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
-def test t5 t5 const12 const12 254 0 0 Y 128 0 63
-def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
-def test t5 t5 param13 param13 246 67 0 Y 32768 30 63
-def test t5 t5 param14 param14 252 4294967295 0 Y 16 0 8
-def test t5 t5 param15 param15 252 4294967295 0 Y 144 0 63
-const01 8
-param01 8
-const02 8.0
-param02 8.000000000000000000000000000000
-const03 8
-param03 8
-const04 abc
-param04 abc
-const05 abc
-param05 abc
-const06 1991-08-05
-param06 1991-08-05
-const07 1991-08-05
-param07 1991-08-05
-const08 1991-08-05 01:01:01
-param08 1991-08-05 01:01:01
-const09 1991-08-05 01:01:01
-param09 1991-08-05 01:01:01
-const10 662680861
-param10 662680861
-const11 1991
-param11 1991
-const12 NULL
-param12 NULL
-param13 NULL
-param14 NULL
-param15 NULL
-drop table t5 ;
-test_sequence
------- data type conversion tests ------
-delete from t1 ;
-insert into t1 values (1,'one');
-insert into t1 values (2,'two');
-insert into t1 values (3,'three');
-insert into t1 values (4,'four');
-commit ;
-delete from t9 ;
-insert into t9
-set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
-c10= 1, c11= 1, c12 = 1,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=true, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
-insert into t9
-set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
-c10= 9, c11= 9, c12 = 9,
-c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
-c16= '11:11:11', c17= '2004',
-c18= 1, c19=false, c20= 'a', c21= '123456789a',
-c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
-c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
-c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
-commit ;
-insert into t9 set c1= 0, c15= '1991-01-01 01:01:01' ;
-select * from t9 order by c1 ;
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30 c31 c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-9 9 9 9 9 9 9 9 9 9 9.0000 9.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 0 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext two tuesday
-test_sequence
------- select @parameter:= column ------
-prepare full_info from "select @arg01, @arg02, @arg03, @arg04,
- @arg05, @arg06, @arg07, @arg08,
- @arg09, @arg10, @arg11, @arg12,
- @arg13, @arg14, @arg15, @arg16,
- @arg17, @arg18, @arg19, @arg20,
- @arg21, @arg22, @arg23, @arg24,
- @arg25, @arg26, @arg27, @arg28,
- @arg29, @arg30, @arg31, @arg32" ;
-select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
-@arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
-@arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
-@arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
-@arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
-@arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
-@arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
-@arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= 1 ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 1 Y 32896 0 63
-def @arg03 8 20 1 Y 32896 0 63
-def @arg04 8 20 1 Y 32896 0 63
-def @arg05 8 20 1 Y 32896 0 63
-def @arg06 8 20 1 Y 32896 0 63
-def @arg07 5 23 1 Y 32896 31 63
-def @arg08 5 23 1 Y 32896 31 63
-def @arg09 5 23 1 Y 32896 31 63
-def @arg10 5 23 1 Y 32896 31 63
-def @arg11 246 83 6 Y 32896 30 63
-def @arg12 246 83 6 Y 32896 30 63
-def @arg13 50 16777215 10 Y 0 31 8
-def @arg14 50 16777215 19 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 8 Y 0 31 8
-def @arg17 8 20 4 Y 32928 0 63
-def @arg18 8 20 1 Y 32896 0 63
-def @arg19 8 20 1 Y 32896 0 63
-def @arg20 250 16777215 1 Y 0 31 8
-def @arg21 250 16777215 10 Y 0 31 8
-def @arg22 250 16777215 30 Y 0 31 8
-def @arg23 250 16777215 8 Y 128 31 63
-def @arg24 250 16777215 8 Y 0 31 8
-def @arg25 250 16777215 4 Y 128 31 63
-def @arg26 250 16777215 4 Y 0 31 8
-def @arg27 250 16777215 10 Y 128 31 63
-def @arg28 250 16777215 10 Y 0 31 8
-def @arg29 250 16777215 8 Y 128 31 63
-def @arg30 250 16777215 8 Y 0 31 8
-def @arg31 250 16777215 3 Y 0 31 8
-def @arg32 250 16777215 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
-@arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
-@arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
-@arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
-@arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
-@arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
-@arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
-@arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= 0 ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 0 Y 32896 0 63
-def @arg03 8 20 0 Y 32896 0 63
-def @arg04 8 20 0 Y 32896 0 63
-def @arg05 8 20 0 Y 32896 0 63
-def @arg06 8 20 0 Y 32896 0 63
-def @arg07 5 23 0 Y 32896 31 63
-def @arg08 5 23 0 Y 32896 31 63
-def @arg09 5 23 0 Y 32896 31 63
-def @arg10 5 23 0 Y 32896 31 63
-def @arg11 246 83 0 Y 32896 30 63
-def @arg12 246 83 0 Y 32896 30 63
-def @arg13 50 16777215 0 Y 0 31 8
-def @arg14 50 16777215 0 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 0 Y 0 31 8
-def @arg17 8 20 0 Y 32928 0 63
-def @arg18 8 20 0 Y 32896 0 63
-def @arg19 8 20 0 Y 32896 0 63
-def @arg20 250 16777215 0 Y 0 31 8
-def @arg21 250 16777215 0 Y 0 31 8
-def @arg22 250 16777215 0 Y 0 31 8
-def @arg23 250 16777215 0 Y 128 31 63
-def @arg24 250 16777215 0 Y 0 31 8
-def @arg25 250 16777215 0 Y 128 31 63
-def @arg26 250 16777215 0 Y 0 31 8
-def @arg27 250 16777215 0 Y 128 31 63
-def @arg28 250 16777215 0 Y 0 31 8
-def @arg29 250 16777215 0 Y 128 31 63
-def @arg30 250 16777215 0 Y 0 31 8
-def @arg31 250 16777215 0 Y 0 31 8
-def @arg32 250 16777215 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select
- @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
- @arg05:= c5, @arg06:= c6, @arg07:= c7, @arg08:= c8,
- @arg09:= c9, @arg10:= c10, @arg11:= c11, @arg12:= c12,
- @arg13:= c13, @arg14:= c14, @arg15:= c15, @arg16:= c16,
- @arg17:= c17, @arg18:= c18, @arg19:= c19, @arg20:= c20,
- @arg21:= c21, @arg22:= c22, @arg23:= c23, @arg24:= c24,
- @arg25:= c25, @arg26:= c26, @arg27:= c27, @arg28:= c28,
- @arg29:= c29, @arg30:= c30, @arg31:= c31, @arg32:= c32
-from t9 where c1= ?" ;
-set @my_key= 1 ;
-execute stmt1 using @my_key ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 1 Y 32896 0 63
-def @arg03 8 20 1 Y 32896 0 63
-def @arg04 8 20 1 Y 32896 0 63
-def @arg05 8 20 1 Y 32896 0 63
-def @arg06 8 20 1 Y 32896 0 63
-def @arg07 5 23 1 Y 32896 31 63
-def @arg08 5 23 1 Y 32896 31 63
-def @arg09 5 23 1 Y 32896 31 63
-def @arg10 5 23 1 Y 32896 31 63
-def @arg11 246 83 6 Y 32896 30 63
-def @arg12 246 83 6 Y 32896 30 63
-def @arg13 50 16777215 10 Y 0 31 8
-def @arg14 50 16777215 19 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 8 Y 0 31 8
-def @arg17 8 20 4 Y 32928 0 63
-def @arg18 8 20 1 Y 32896 0 63
-def @arg19 8 20 1 Y 32896 0 63
-def @arg20 250 16777215 1 Y 0 31 8
-def @arg21 250 16777215 10 Y 0 31 8
-def @arg22 250 16777215 30 Y 0 31 8
-def @arg23 250 16777215 8 Y 128 31 63
-def @arg24 250 16777215 8 Y 0 31 8
-def @arg25 250 16777215 4 Y 128 31 63
-def @arg26 250 16777215 4 Y 0 31 8
-def @arg27 250 16777215 10 Y 128 31 63
-def @arg28 250 16777215 10 Y 0 31 8
-def @arg29 250 16777215 8 Y 128 31 63
-def @arg30 250 16777215 8 Y 0 31 8
-def @arg31 250 16777215 3 Y 0 31 8
-def @arg32 250 16777215 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-set @my_key= 0 ;
-execute stmt1 using @my_key ;
-@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 0 Y 32896 0 63
-def @arg03 8 20 0 Y 32896 0 63
-def @arg04 8 20 0 Y 32896 0 63
-def @arg05 8 20 0 Y 32896 0 63
-def @arg06 8 20 0 Y 32896 0 63
-def @arg07 5 23 0 Y 32896 31 63
-def @arg08 5 23 0 Y 32896 31 63
-def @arg09 5 23 0 Y 32896 31 63
-def @arg10 5 23 0 Y 32896 31 63
-def @arg11 246 83 0 Y 32896 30 63
-def @arg12 246 83 0 Y 32896 30 63
-def @arg13 50 16777215 0 Y 0 31 8
-def @arg14 50 16777215 0 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 0 Y 0 31 8
-def @arg17 8 20 0 Y 32928 0 63
-def @arg18 8 20 0 Y 32896 0 63
-def @arg19 8 20 0 Y 32896 0 63
-def @arg20 250 16777215 0 Y 0 31 8
-def @arg21 250 16777215 0 Y 0 31 8
-def @arg22 250 16777215 0 Y 0 31 8
-def @arg23 250 16777215 0 Y 128 31 63
-def @arg24 250 16777215 0 Y 0 31 8
-def @arg25 250 16777215 0 Y 128 31 63
-def @arg26 250 16777215 0 Y 0 31 8
-def @arg27 250 16777215 0 Y 128 31 63
-def @arg28 250 16777215 0 Y 0 31 8
-def @arg29 250 16777215 0 Y 128 31 63
-def @arg30 250 16777215 0 Y 0 31 8
-def @arg31 250 16777215 0 Y 0 31 8
-def @arg32 250 16777215 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':= c1 from t9 where c1= 1' at line 1
-test_sequence
------- select column, .. into @parm,.. ------
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
-c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
-c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
-@arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
-@arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
-@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= 1 ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 1 Y 32896 0 63
-def @arg03 8 20 1 Y 32896 0 63
-def @arg04 8 20 1 Y 32896 0 63
-def @arg05 8 20 1 Y 32896 0 63
-def @arg06 8 20 1 Y 32896 0 63
-def @arg07 5 23 1 Y 32896 31 63
-def @arg08 5 23 1 Y 32896 31 63
-def @arg09 5 23 1 Y 32896 31 63
-def @arg10 5 23 1 Y 32896 31 63
-def @arg11 246 83 6 Y 32896 30 63
-def @arg12 246 83 6 Y 32896 30 63
-def @arg13 50 16777215 10 Y 0 31 8
-def @arg14 50 16777215 19 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 8 Y 0 31 8
-def @arg17 8 20 4 Y 32928 0 63
-def @arg18 8 20 1 Y 32896 0 63
-def @arg19 8 20 1 Y 32896 0 63
-def @arg20 250 16777215 1 Y 0 31 8
-def @arg21 250 16777215 10 Y 0 31 8
-def @arg22 250 16777215 30 Y 0 31 8
-def @arg23 250 16777215 8 Y 128 31 63
-def @arg24 250 16777215 8 Y 0 31 8
-def @arg25 250 16777215 4 Y 128 31 63
-def @arg26 250 16777215 4 Y 0 31 8
-def @arg27 250 16777215 10 Y 128 31 63
-def @arg28 250 16777215 10 Y 0 31 8
-def @arg29 250 16777215 8 Y 128 31 63
-def @arg30 250 16777215 8 Y 0 31 8
-def @arg31 250 16777215 3 Y 0 31 8
-def @arg32 250 16777215 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
-c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
-c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
-@arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
-@arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
-@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= 0 ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 0 Y 32896 0 63
-def @arg03 8 20 0 Y 32896 0 63
-def @arg04 8 20 0 Y 32896 0 63
-def @arg05 8 20 0 Y 32896 0 63
-def @arg06 8 20 0 Y 32896 0 63
-def @arg07 5 23 0 Y 32896 31 63
-def @arg08 5 23 0 Y 32896 31 63
-def @arg09 5 23 0 Y 32896 31 63
-def @arg10 5 23 0 Y 32896 31 63
-def @arg11 246 83 0 Y 32896 30 63
-def @arg12 246 83 0 Y 32896 30 63
-def @arg13 50 16777215 0 Y 0 31 8
-def @arg14 50 16777215 0 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 0 Y 0 31 8
-def @arg17 8 20 0 Y 32928 0 63
-def @arg18 8 20 0 Y 32896 0 63
-def @arg19 8 20 0 Y 32896 0 63
-def @arg20 250 16777215 0 Y 0 31 8
-def @arg21 250 16777215 0 Y 0 31 8
-def @arg22 250 16777215 0 Y 0 31 8
-def @arg23 250 16777215 0 Y 128 31 63
-def @arg24 250 16777215 0 Y 0 31 8
-def @arg25 250 16777215 0 Y 128 31 63
-def @arg26 250 16777215 0 Y 0 31 8
-def @arg27 250 16777215 0 Y 128 31 63
-def @arg28 250 16777215 0 Y 0 31 8
-def @arg29 250 16777215 0 Y 128 31 63
-def @arg30 250 16777215 0 Y 0 31 8
-def @arg31 250 16777215 0 Y 0 31 8
-def @arg32 250 16777215 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
- c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24,
- c25, c26, c27, c28, c29, c30, c31, c32
-into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
- @arg09, @arg10, @arg11, @arg12, @arg13, @arg14, @arg15, @arg16,
- @arg17, @arg18, @arg19, @arg20, @arg21, @arg22, @arg23, @arg24,
- @arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
-from t9 where c1= ?" ;
-set @my_key= 1 ;
-execute stmt1 using @my_key ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 1 Y 32896 0 63
-def @arg03 8 20 1 Y 32896 0 63
-def @arg04 8 20 1 Y 32896 0 63
-def @arg05 8 20 1 Y 32896 0 63
-def @arg06 8 20 1 Y 32896 0 63
-def @arg07 5 23 1 Y 32896 31 63
-def @arg08 5 23 1 Y 32896 31 63
-def @arg09 5 23 1 Y 32896 31 63
-def @arg10 5 23 1 Y 32896 31 63
-def @arg11 246 83 6 Y 32896 30 63
-def @arg12 246 83 6 Y 32896 30 63
-def @arg13 50 16777215 10 Y 0 31 8
-def @arg14 50 16777215 19 Y 0 31 8
-def @arg15 50 16777215 19 Y 0 31 8
-def @arg16 50 16777215 8 Y 0 31 8
-def @arg17 8 20 4 Y 32928 0 63
-def @arg18 8 20 1 Y 32896 0 63
-def @arg19 8 20 1 Y 32896 0 63
-def @arg20 250 16777215 1 Y 0 31 8
-def @arg21 250 16777215 10 Y 0 31 8
-def @arg22 250 16777215 30 Y 0 31 8
-def @arg23 250 16777215 8 Y 128 31 63
-def @arg24 250 16777215 8 Y 0 31 8
-def @arg25 250 16777215 4 Y 128 31 63
-def @arg26 250 16777215 4 Y 0 31 8
-def @arg27 250 16777215 10 Y 128 31 63
-def @arg28 250 16777215 10 Y 0 31 8
-def @arg29 250 16777215 8 Y 128 31 63
-def @arg30 250 16777215 8 Y 0 31 8
-def @arg31 250 16777215 3 Y 0 31 8
-def @arg32 250 16777215 6 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
-set @my_key= 0 ;
-execute stmt1 using @my_key ;
-execute full_info ;
-Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def @arg01 8 20 1 Y 32896 0 63
-def @arg02 8 20 0 Y 32896 0 63
-def @arg03 8 20 0 Y 32896 0 63
-def @arg04 8 20 0 Y 32896 0 63
-def @arg05 8 20 0 Y 32896 0 63
-def @arg06 8 20 0 Y 32896 0 63
-def @arg07 5 23 0 Y 32896 31 63
-def @arg08 5 23 0 Y 32896 31 63
-def @arg09 5 23 0 Y 32896 31 63
-def @arg10 5 23 0 Y 32896 31 63
-def @arg17 8 20 0 Y 32928 0 63
-def @arg18 8 20 0 Y 32896 0 63
-def @arg19 8 20 0 Y 32896 0 63
-def @arg20 250 16777215 0 Y 0 31 8
-def @arg21 250 16777215 0 Y 0 31 8
-def @arg22 250 16777215 0 Y 0 31 8
-def @arg23 250 16777215 0 Y 128 31 63
-def @arg24 250 16777215 0 Y 0 31 8
-def @arg25 250 16777215 0 Y 128 31 63
-def @arg26 250 16777215 0 Y 0 31 8
-def @arg27 250 16777215 0 Y 128 31 63
-def @arg28 250 16777215 0 Y 0 31 8
-def @arg29 250 16777215 0 Y 128 31 63
-def @arg30 250 16777215 0 Y 0 31 8
-def @arg31 250 16777215 0 Y 0 31 8
-def @arg32 250 16777215 0 Y 0 31 8
-@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
-0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? from t9 where c1= 1' at line 1
-test_sequence
--- insert into numeric columns --
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 ) ;
-set @arg00= 21 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22 )" ;
-execute stmt1 ;
-set @arg00= 23;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
-30.0, 30.0, 30.0 ) ;
-set @arg00= 31.0 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0,
- 32.0, 32.0, 32.0 )" ;
-execute stmt1 ;
-set @arg00= 33.0;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( '40', '40', '40', '40', '40', '40', '40', '40',
-'40', '40', '40' ) ;
-set @arg00= '41' ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( '42', '42', '42', '42', '42', '42', '42', '42',
- '42', '42', '42' )" ;
-execute stmt1 ;
-set @arg00= '43';
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary),
-CAST('50' as binary), CAST('50' as binary), CAST('50' as binary) ) ;
-set @arg00= CAST('51' as binary) ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary),
- CAST('52' as binary), CAST('52' as binary), CAST('52' as binary) )" ;
-execute stmt1 ;
-set @arg00= CAST('53' as binary) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 2 ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 60, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-NULL, NULL, NULL ) ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 61, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt1 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 62, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL )" ;
-execute stmt1 ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 63, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 8.0 ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 71, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 73, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-set @arg00= 'abc' ;
-set @arg00= NULL ;
-insert into t9
-( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
-( 81, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ) ;
-prepare stmt2 from "insert into t9
- ( c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 83, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-execute stmt2 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12
-from t9 where c1 >= 20
-order by c1 ;
-c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c12
-20 20 20 20 20 20 20 20 20 20 20.0000
-21 21 21 21 21 21 21 21 21 21 21.0000
-22 22 22 22 22 22 22 22 22 22 22.0000
-23 23 23 23 23 23 23 23 23 23 23.0000
-30 30 30 30 30 30 30 30 30 30 30.0000
-31 31 31 31 31 31 31 31 31 31 31.0000
-32 32 32 32 32 32 32 32 32 32 32.0000
-33 33 33 33 33 33 33 33 33 33 33.0000
-40 40 40 40 40 40 40 40 40 40 40.0000
-41 41 41 41 41 41 41 41 41 41 41.0000
-42 42 42 42 42 42 42 42 42 42 42.0000
-43 43 43 43 43 43 43 43 43 43 43.0000
-50 50 50 50 50 50 50 50 50 50 50.0000
-51 51 51 51 51 51 51 51 51 51 51.0000
-52 52 52 52 52 52 52 52 52 52 52.0000
-53 53 53 53 53 53 53 53 53 53 53.0000
-60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-62 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-63 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-71 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-73 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-81 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-83 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-test_sequence
--- select .. where numeric column = .. --
-set @arg00= 20;
-select 'true' as found from t9
-where c1= 20 and c2= 20 and c3= 20 and c4= 20 and c5= 20 and c6= 20 and c7= 20
-and c8= 20 and c9= 20 and c10= 20 and c12= 20;
-found
-true
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c2= 20 and c3= 20 and c4= 20 and c5= 20 and c6= 20 and c7= 20
- and c8= 20 and c9= 20 and c10= 20 and c12= 20 ";
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20.0;
-select 'true' as found from t9
-where c1= 20.0 and c2= 20.0 and c3= 20.0 and c4= 20.0 and c5= 20.0 and c6= 20.0
-and c7= 20.0 and c8= 20.0 and c9= 20.0 and c10= 20.0 and c12= 20.0;
-found
-true
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20.0 and c2= 20.0 and c3= 20.0 and c4= 20.0 and c5= 20.0 and c6= 20.0
- and c7= 20.0 and c8= 20.0 and c9= 20.0 and c10= 20.0 and c12= 20.0 ";
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-select 'true' as found from t9
-where c1= '20' and c2= '20' and c3= '20' and c4= '20' and c5= '20' and c6= '20'
- and c7= '20' and c8= '20' and c9= '20' and c10= '20' and c12= '20';
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= '20' and c2= '20' and c3= '20' and c4= '20' and c5= '20' and c6= '20'
- and c7= '20' and c8= '20' and c9= '20' and c10= '20' and c12= '20' ";
-execute stmt1 ;
-found
-true
-set @arg00= '20';
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-select 'true' as found from t9
-where c1= CAST('20' as binary) and c2= CAST('20' as binary) and
-c3= CAST('20' as binary) and c4= CAST('20' as binary) and
-c5= CAST('20' as binary) and c6= CAST('20' as binary) and
-c7= CAST('20' as binary) and c8= CAST('20' as binary) and
-c9= CAST('20' as binary) and c10= CAST('20' as binary) and
-c12= CAST('20' as binary);
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= CAST('20' as binary) and c2= CAST('20' as binary) and
- c3= CAST('20' as binary) and c4= CAST('20' as binary) and
- c5= CAST('20' as binary) and c6= CAST('20' as binary) and
- c7= CAST('20' as binary) and c8= CAST('20' as binary) and
- c9= CAST('20' as binary) and c10= CAST('20' as binary) and
- c12= CAST('20' as binary) ";
-execute stmt1 ;
-found
-true
-set @arg00= CAST('20' as binary) ;
-select 'true' as found from t9
-where c1= @arg00 and c2= @arg00 and c3= @arg00 and c4= @arg00 and c5= @arg00
-and c6= @arg00 and c7= @arg00 and c8= @arg00 and c9= @arg00 and c10= @arg00
-and c12= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= ? and c2= ? and c3= ? and c4= ? and c5= ?
- and c6= ? and c7= ? and c8= ? and c9= ? and c10= ?
- and c12= ? ";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00 ;
-found
-true
-delete from t9 ;
-test_sequence
--- some numeric overflow experiments --
-prepare my_insert from "insert into t9
- ( c21, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12 )
-values
- ( 'O', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )" ;
-prepare my_select from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c12
-from t9 where c21 = 'O' ";
-prepare my_delete from "delete from t9 where c21 = 'O' ";
-set @arg00= 9223372036854775807 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 9.22337e18
-c8 9.223372036854776e18
-c9 9.223372036854776e18
-c10 9.223372036854776e18
-c12 9999.9999
-execute my_delete ;
-set @arg00= '9223372036854775807' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 9.22337e18
-c8 9.223372036854776e18
-c9 9.223372036854776e18
-c10 9.223372036854776e18
-c12 9999.9999
-execute my_delete ;
-set @arg00= -9223372036854775808 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -9.22337e18
-c8 -9.223372036854776e18
-c9 -9.223372036854776e18
-c10 -9.223372036854776e18
-c12 -9999.9999
-execute my_delete ;
-set @arg00= '-9223372036854775808' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -9.22337e18
-c8 -9.223372036854776e18
-c9 -9.223372036854776e18
-c10 -9.223372036854776e18
-c12 -9999.9999
-execute my_delete ;
-set @arg00= 1.11111111111111111111e+50 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c6' at row 1
-Warning 1264 Out of range value for column 'c7' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 3.40282e38
-c8 1.111111111111111e50
-c9 1.111111111111111e50
-c10 1.111111111111111e50
-c12 9999.9999
-execute my_delete ;
-set @arg00= '1.11111111111111111111e+50' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c6' at row 1
-Warning 1264 Out of range value for column 'c7' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 127
-c2 32767
-c3 8388607
-c4 2147483647
-c5 2147483647
-c6 9223372036854775807
-c7 3.40282e38
-c8 1.111111111111111e50
-c9 1.111111111111111e50
-c10 1.111111111111111e50
-c12 9999.9999
-execute my_delete ;
-set @arg00= -1.11111111111111111111e+50 ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c6' at row 1
-Warning 1264 Out of range value for column 'c7' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -3.40282e38
-c8 -1.111111111111111e50
-c9 -1.111111111111111e50
-c10 -1.111111111111111e50
-c12 -9999.9999
-execute my_delete ;
-set @arg00= '-1.11111111111111111111e+50' ;
-execute my_insert using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-Warning 1264 Out of range value for column 'c2' at row 1
-Warning 1264 Out of range value for column 'c3' at row 1
-Warning 1264 Out of range value for column 'c4' at row 1
-Warning 1264 Out of range value for column 'c5' at row 1
-Warning 1264 Out of range value for column 'c6' at row 1
-Warning 1264 Out of range value for column 'c7' at row 1
-Warning 1264 Out of range value for column 'c12' at row 1
-execute my_select ;
-c1 -128
-c2 -32768
-c3 -8388608
-c4 -2147483648
-c5 -2147483648
-c6 -9223372036854775808
-c7 -3.40282e38
-c8 -1.111111111111111e50
-c9 -1.111111111111111e50
-c10 -1.111111111111111e50
-c12 -9999.9999
-execute my_delete ;
-test_sequence
--- insert into string columns --
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c20' at row 1
-select c1, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29, c30
-from t9 where c1 >= 20
-order by c1 ;
-c1 c20 c21 c22 c23 c24 c25 c26 c27 c28 c29 c30
-20 2 20 20 20 20 20 20 20 20 20 20
-21 2 21 21 21 21 21 21 21 21 21 21
-22 2 22 22 22 22 22 22 22 22 22 22
-23 2 23 23 23 23 23 23 23 23 23 23
-30 3 30 30 30 30 30 30 30 30 30 30
-31 3 31 31 31 31 31 31 31 31 31 31
-32 3 32 32 32 32 32 32 32 32 32 32
-33 3 33 33 33 33 33 33 33 33 33 33
-40 4 40 40 40 40 40 40 40 40 40 40
-41 4 41 41 41 41 41 41 41 41 41 41
-42 4 42 42 42 42 42 42 42 42 42 42
-43 4 43 43 43 43 43 43 43 43 43 43
-50 5 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0 50.0
-51 5 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0 51.0
-52 5 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0 52.0
-53 5 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0 53.0
-54 5 54 54 54 54 54 54 54 54 54 54
-55 6 55 55 55 55 55 55 55 55 55 55
-56 6 56 56 56 56 56 56 56 56 56 56
-57 6 57 57 57 57 57 57 57 57 57 57
-60 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-61 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-62 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-63 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-71 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-73 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-81 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-83 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
-test_sequence
--- select .. where string column = .. --
-set @arg00= '20';
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr('20',1+length(c20)))= '20' and c21= '20' and
-c22= '20' and c23= '20' and c24= '20' and c25= '20' and c26= '20' and
-c27= '20' and c28= '20' and c29= '20' and c30= '20' ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr('20',1+length(c20)))= '20' and c21= '20' and
- c22= '20' and c23= '20' and c24= '20' and c25= '20' and c26= '20' and
- c27= '20' and c28= '20' and c29= '20' and c30= '20'" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= CAST('20' as binary);
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(CAST('20' as binary),1+length(c20)))
-= CAST('20' as binary) and c21= CAST('20' as binary)
-and c22= CAST('20' as binary) and c23= CAST('20' as binary) and
-c24= CAST('20' as binary) and c25= CAST('20' as binary) and
-c26= CAST('20' as binary) and c27= CAST('20' as binary) and
-c28= CAST('20' as binary) and c29= CAST('20' as binary) and
-c30= CAST('20' as binary) ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20))) = @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and
-c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(CAST('20' as binary),1+length(c20)))
- = CAST('20' as binary) and c21= CAST('20' as binary)
- and c22= CAST('20' as binary) and c23= CAST('20' as binary) and
- c24= CAST('20' as binary) and c25= CAST('20' as binary) and
- c26= CAST('20' as binary) and c27= CAST('20' as binary) and
- c28= CAST('20' as binary) and c29= CAST('20' as binary) and
- c30= CAST('20' as binary)" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20))) = ? and c21= ? and
- c22= ? and c23= ? and c25= ? and c26= ? and c27= ? and c28= ? and
- c29= ? and c30= ?";
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20;
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20,1+length(c20)))= 20 and c21= 20 and
-c22= 20 and c23= 20 and c24= 20 and c25= 20 and c26= 20 and
-c27= 20 and c28= 20 and c29= 20 and c30= 20 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20,1+length(c20)))= 20 and c21= 20 and
- c22= 20 and c23= 20 and c24= 20 and c25= 20 and c26= 20 and
- c27= 20 and c28= 20 and c29= 20 and c30= 20" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 20.0;
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20.0,1+length(c20)))= 20.0 and c21= 20.0 and
-c22= 20.0 and c23= 20.0 and c24= 20.0 and c25= 20.0 and c26= 20.0 and
-c27= 20.0 and c28= 20.0 and c29= 20.0 and c30= 20.0 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and concat(c20,substr(@arg00,1+length(c20)))= @arg00 and
-c21= @arg00 and c22= @arg00 and c23= @arg00 and c25= @arg00 and
-c26= @arg00 and c27= @arg00 and c28= @arg00 and c29= @arg00 and c30= @arg00;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(20.0,1+length(c20)))= 20.0 and c21= 20.0 and
- c22= 20.0 and c23= 20.0 and c24= 20.0 and c25= 20.0 and c26= 20.0 and
- c27= 20.0 and c28= 20.0 and c29= 20.0 and c30= 20.0" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and concat(c20,substr(?,1+length(c20)))= ? and
- c21= ? and c22= ? and c23= ? and c25= ? and
- c26= ? and c27= ? and c28= ? and c29= ? and c30= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00, @arg00,
-@arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-delete from t9 ;
-test_sequence
--- insert into date/time columns --
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Note 1265 Data truncated for column 'c13' at row 1
-Warning 1265 Data truncated for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value for column 'c13' at row 1
-Warning 1264 Out of range value for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value for column 'c13' at row 1
-Warning 1264 Out of range value for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value for column 'c13' at row 1
-Warning 1264 Out of range value for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1264 Out of range value for column 'c13' at row 1
-Warning 1264 Out of range value for column 'c14' at row 1
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-Warnings:
-Warning 1265 Data truncated for column 'c15' at row 1
-Warning 1264 Out of range value for column 'c16' at row 1
-Warning 1264 Out of range value for column 'c17' at row 1
-select c1, c13, c14, c15, c16, c17 from t9 order by c1 ;
-c1 c13 c14 c15 c16 c17
-20 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-21 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-22 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-23 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-30 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-31 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-32 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-33 1991-01-01 1991-01-01 01:01:01 1991-01-01 01:01:01 01:01:01 1991
-40 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-41 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-42 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-43 0000-00-00 0000-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-50 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-51 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-52 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-53 2001-00-00 2001-00-00 00:00:00 0000-00-00 00:00:00 838:59:59 0000
-60 NULL NULL 1991-01-01 01:01:01 NULL NULL
-61 NULL NULL 1991-01-01 01:01:01 NULL NULL
-62 NULL NULL 1991-01-01 01:01:01 NULL NULL
-63 NULL NULL 1991-01-01 01:01:01 NULL NULL
-71 NULL NULL 1991-01-01 01:01:01 NULL NULL
-73 NULL NULL 1991-01-01 01:01:01 NULL NULL
-81 NULL NULL 1991-01-01 01:01:01 NULL NULL
-83 NULL NULL 1991-01-01 01:01:01 NULL NULL
-test_sequence
--- select .. where date/time column = .. --
-set @arg00= '1991-01-01 01:01:01' ;
-select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
-c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
-c17= '1991-01-01 01:01:01' ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
-and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
- c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
- c17= '1991-01-01 01:01:01'" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= CAST('1991-01-01 01:01:01' as datetime) ;
-select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and
-c14= CAST('1991-01-01 01:01:01' as datetime) and
-c15= CAST('1991-01-01 01:01:01' as datetime) and
-c16= CAST('1991-01-01 01:01:01' as datetime) and
-c17= CAST('1991-01-01 01:01:01' as datetime) ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
-and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST('1991-01-01 00:00:00' as datetime) and
- c14= CAST('1991-01-01 01:01:01' as datetime) and
- c15= CAST('1991-01-01 01:01:01' as datetime) and
- c16= CAST('1991-01-01 01:01:01' as datetime) and
- c17= CAST('1991-01-01 01:01:01' as datetime)" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
-execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
-found
-true
-set @arg00= 1991 ;
-select 'true' as found from t9
-where c1= 20 and c17= 1991 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and c17= @arg00 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c17= 1991" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and c17= ?" ;
-execute stmt1 using @arg00 ;
-found
-true
-set @arg00= 1.991e+3 ;
-select 'true' as found from t9
-where c1= 20 and abs(c17 - 1.991e+3) < 0.01 ;
-found
-true
-select 'true' as found from t9
-where c1= 20 and abs(c17 - @arg00) < 0.01 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and abs(c17 - 1.991e+3) < 0.01" ;
-execute stmt1 ;
-found
-true
-prepare stmt1 from "select 'true' as found from t9
-where c1= 20 and abs(c17 - ?) < 0.01" ;
-execute stmt1 using @arg00 ;
-found
-true
-drop table t1, t9;
diff --git a/mysql-test/suite/ndb/r/strict_autoinc_5ndb.result b/mysql-test/suite/ndb/r/strict_autoinc_5ndb.result
deleted file mode 100644
index ea6e5ffc741..00000000000
--- a/mysql-test/suite/ndb/r/strict_autoinc_5ndb.result
+++ /dev/null
@@ -1,28 +0,0 @@
-drop table if exists t1;
-set @org_mode=@@sql_mode;
-create table t1
-(
-`a` tinyint(4) NOT NULL auto_increment,
-primary key (`a`)
-) engine = 'NDB' ;
-set @@sql_mode='strict_all_tables';
-insert into t1 values(1000);
-ERROR 22003: Out of range value for column 'a' at row 1
-select count(*) from t1;
-count(*)
-0
-set auto_increment_increment=1000;
-set auto_increment_offset=700;
-insert into t1 values(null);
-ERROR 22003: Out of range value for column 'a' at row 1
-select count(*) from t1;
-count(*)
-0
-set @@sql_mode=@org_mode;
-insert into t1 values(null);
-Warnings:
-Warning 1264 Out of range value for column 'a' at row 1
-select * from t1;
-a
-127
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/disabled.def b/mysql-test/suite/ndb/t/disabled.def
deleted file mode 100644
index c3c046e7ece..00000000000
--- a/mysql-test/suite/ndb/t/disabled.def
+++ /dev/null
@@ -1,18 +0,0 @@
-##############################################################################
-#
-# List the test cases that are to be disabled temporarily.
-#
-# Separate the test case name and the comment with ':'.
-#
-# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
-#
-# Do not use any TAB characters for whitespace.
-#
-##############################################################################
-
-ndb_binlog_discover : Bug#54851 2010-07-02 alik ndb.ndb_binlog_discover crashes the server
-ndb_partition_error2 : Bug#40989 ndb_partition_error2 needs maintenance
-
-
-# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
-ndb_alter_table3 : Bug#45621 2009-06-10 alik A few test files are disabled due to WL#4284
diff --git a/mysql-test/suite/ndb/t/loaddata_autocom_ndb.test b/mysql-test/suite/ndb/t/loaddata_autocom_ndb.test
deleted file mode 100644
index f4a6743aabe..00000000000
--- a/mysql-test/suite/ndb/t/loaddata_autocom_ndb.test
+++ /dev/null
@@ -1,4 +0,0 @@
---source include/have_ndb.inc
-let $engine_type=ndbcluster;
-
---source include/loaddata_autocom.inc
diff --git a/mysql-test/suite/ndb/t/ndb_alter_table.test b/mysql-test/suite/ndb/t/ndb_alter_table.test
deleted file mode 100644
index bf0f8a540bb..00000000000
--- a/mysql-test/suite/ndb/t/ndb_alter_table.test
+++ /dev/null
@@ -1,458 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1, t2;
-drop database if exists mysqltest;
---enable_warnings
-
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-
-connection con2;
--- sleep 2
-connection con1;
-
-#
-# Basic test to show that the ALTER TABLE
-# is working
-#
-CREATE TABLE t1 (
- a INT NOT NULL,
- b INT NOT NULL
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (9410,9412);
-
-ALTER TABLE t1 ADD COLUMN c int not null;
-SELECT * FROM t1;
-
-DROP TABLE t1;
-
-#
-# Verfify changing table names between databases
-#
-CREATE DATABASE mysqltest;
-USE mysqltest;
-CREATE TABLE t1 (
- a INT NOT NULL,
- b INT NOT NULL
-) ENGINE=ndbcluster;
-RENAME TABLE t1 TO test.t1;
-SHOW TABLES;
-DROP DATABASE mysqltest;
-USE test;
-SHOW TABLES;
-DROP TABLE t1;
-
-#
-# More advanced test
-#
-create table t1 (
-col1 int not null auto_increment primary key,
-col2 varchar(30) not null,
-col3 varchar (20) not null,
-col4 varchar(4) not null,
-col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
-col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
---replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
-show table status;
-SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
-insert into t1 values
-(0,4,3,5,"PENDING",1,7),(NULL,4,3,5,"PENDING",1,7),(31,4,3,5,"PENDING",1,7), (7,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7), (100,4,3,5,"PENDING",1,7), (99,4,3,5,"PENDING",1,7), (8,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7);
---replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
-show table status;
-select * from t1 order by col1;
-alter table t1
-add column col4_5 varchar(20) not null after col4,
-add column col7 varchar(30) not null after col5,
-add column col8 datetime not null, drop column to_be_deleted,
-change column col2 fourth varchar(30) not null after col3,
-modify column col6 int not null first;
---replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
-show table status;
-select * from t1 order by col1;
-insert into t1 values (2, NULL,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
---replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
-show table status;
-select * from t1 order by col1;
-delete from t1;
-insert into t1 values (0,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-SET SQL_MODE='';
-insert into t1 values (1,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
-select * from t1 order by col1;
-alter table t1 drop column col4_5;
-insert into t1 values (2,0,4,3,5,"PENDING","EXTRA",'2004-01-01 00:00:00');
-select * from t1 order by col1;
-drop table t1;
-
-
-#
-# Check that invalidating dictionary cache works
-#
-
-CREATE TABLE t1 (
- a INT NOT NULL,
- b INT NOT NULL
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (9410,9412);
-
-ALTER TABLE t1 ADD COLUMN c int not null;
-select * from t1 order by a;
-
-connection con2;
-select * from t1 order by a;
-alter table t1 drop c;
-
-connection con1;
-select * from t1 order by a;
-drop table t1;
-
-connection con2;
---error 1146
-select * from t1 order by a;
-
-CREATE TABLE t1 (
- a INT NOT NULL PRIMARY KEY,
- b INT NOT NULL
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (0,1),(17,18);
-select * from t1 order by a;
-SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
-alter table t1 modify column a int not null auto_increment;
-SET SQL_MODE='';
-select * from t1 order by a;
-INSERT INTO t1 VALUES (0,19),(20,21);
-select * from t1 order by a;
-drop table t1;
-
-CREATE TABLE t1 (
- a INT NOT NULL PRIMARY KEY,
- b INT NOT NULL
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (0,1),(17,18);
-select * from t1 order by a;
-alter table t1 add c int not null unique auto_increment;
-select c from t1 order by c;
-INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
-select c from t1 order by c;
-drop table t1;
-
-## Test moved to ndb_alter_table_row|stmt respectively as behaviour differs
-#create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
-#engine=ndb;
-#insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
-#create index c on t1(c);
-#connection server2;
-#select * from t1 where c = 'two';
-#connection server1;
-#alter table t1 drop index c;
-#connection server2;
-#select * from t1 where c = 'two';
-#connection server1;
-#drop table t1;
-
-#--disable_warnings
-#DROP TABLE IF EXISTS t2;
-#--enable_warnings
-
-#create table t2 (a int NOT NULL PRIMARY KEY) engine=myisam;
-#let $1=12001;
-#disable_query_log;
-#while ($1)
-#{
-# eval insert into t2 values($1);
-# dec $1;
-#}
-#enable_query_log;
-#alter table t2 engine=ndbcluster;
-#alter table t2 add c int;
-#--error 1297
-#delete from t2;
-#to make sure we do a full table scan
-#select count(*) from t2 where a+0 > 0;
-#truncate table t2;
-#select count(*) from t2;
-#drop table t2;
-
-## Test moved to ndb_alter_table_row|stmt respectively as behaviour differs
-#connection server1;
-#create table t3 (a int primary key) engine=ndbcluster;
-
-#connection server2;
-#begin;
-#insert into t3 values (1);
-
-#connection server1;
-#alter table t3 rename t4;
-
-#connection server2;
-## with rbr the below will not work as the "alter" event
-## explicitly invalidates the dictionary cache.
-### This should work as transaction is ongoing...
-##delete from t3;
-##insert into t3 values (1);
-#commit;
-
-## This should fail as its a new transaction
-#--error 1146
-#select * from t3;
-#select * from t4;
-#drop table t4;
-#show tables;
-#connection server1;
-
-create table t1 (
-ai bigint auto_increment,
-c001 int(11) not null,
-c002 int(11) not null,
-c003 int(11) not null,
-c004 int(11) not null,
-c005 int(11) not null,
-c006 int(11) not null,
-c007 int(11) not null,
-c008 int(11) not null,
-c009 int(11) not null,
-c010 int(11) not null,
-c011 int(11) not null,
-c012 int(11) not null,
-c013 int(11) not null,
-c014 int(11) not null,
-c015 int(11) not null,
-c016 int(11) not null,
-c017 int(11) not null,
-c018 int(11) not null,
-c019 int(11) not null,
-c020 int(11) not null,
-c021 int(11) not null,
-c022 int(11) not null,
-c023 int(11) not null,
-c024 int(11) not null,
-c025 int(11) not null,
-c026 int(11) not null,
-c027 int(11) not null,
-c028 int(11) not null,
-c029 int(11) not null,
-c030 int(11) not null,
-c031 int(11) not null,
-c032 int(11) not null,
-c033 int(11) not null,
-c034 int(11) not null,
-c035 int(11) not null,
-c036 int(11) not null,
-c037 int(11) not null,
-c038 int(11) not null,
-c039 int(11) not null,
-c040 int(11) not null,
-c041 int(11) not null,
-c042 int(11) not null,
-c043 int(11) not null,
-c044 int(11) not null,
-c045 int(11) not null,
-c046 int(11) not null,
-c047 int(11) not null,
-c048 int(11) not null,
-c049 int(11) not null,
-c050 int(11) not null,
-c051 int(11) not null,
-c052 int(11) not null,
-c053 int(11) not null,
-c054 int(11) not null,
-c055 int(11) not null,
-c056 int(11) not null,
-c057 int(11) not null,
-c058 int(11) not null,
-c059 int(11) not null,
-c060 int(11) not null,
-c061 int(11) not null,
-c062 int(11) not null,
-c063 int(11) not null,
-c064 int(11) not null,
-c065 int(11) not null,
-c066 int(11) not null,
-c067 int(11) not null,
-c068 int(11) not null,
-c069 int(11) not null,
-c070 int(11) not null,
-c071 int(11) not null,
-c072 int(11) not null,
-c073 int(11) not null,
-c074 int(11) not null,
-c075 int(11) not null,
-c076 int(11) not null,
-c077 int(11) not null,
-c078 int(11) not null,
-c079 int(11) not null,
-c080 int(11) not null,
-c081 int(11) not null,
-c082 int(11) not null,
-c083 int(11) not null,
-c084 int(11) not null,
-c085 int(11) not null,
-c086 int(11) not null,
-c087 int(11) not null,
-c088 int(11) not null,
-c089 int(11) not null,
-c090 int(11) not null,
-c091 int(11) not null,
-c092 int(11) not null,
-c093 int(11) not null,
-c094 int(11) not null,
-c095 int(11) not null,
-c096 int(11) not null,
-c097 int(11) not null,
-c098 int(11) not null,
-c099 int(11) not null,
-c100 int(11) not null,
-c101 int(11) not null,
-c102 int(11) not null,
-c103 int(11) not null,
-c104 int(11) not null,
-c105 int(11) not null,
-c106 int(11) not null,
-c107 int(11) not null,
-c108 int(11) not null,
-c109 int(11) not null,
-primary key (ai),
-unique key tx1 (c002, c003, c004, c005)) engine=ndb;
-
-create index tx2
-on t1 (c010, c011, c012, c013);
-
-drop table t1;
-
-# End of 4.1 tests
-
-# On-line alter table
-
-
-CREATE TABLE t1 (
- auto int(5) unsigned NOT NULL auto_increment,
- string char(10),
- vstring varchar(10),
- bin binary(2),
- vbin varbinary(7),
- tiny tinyint(4) DEFAULT '0' NOT NULL ,
- short smallint(6) DEFAULT '1' NOT NULL ,
- medium mediumint(8) DEFAULT '0' NOT NULL,
- long_int int(11) DEFAULT '0' NOT NULL,
- longlong bigint(13) DEFAULT '0' NOT NULL,
- real_float float(13,1) DEFAULT 0.0 NOT NULL,
- real_double double(16,4),
- real_decimal decimal(16,4),
- utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
- ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
- umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
- ulong int(11) unsigned DEFAULT '0' NOT NULL,
- ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
- bits bit(3),
- options enum('zero','one','two','three','four') not null,
- flags set('zero','one','two','three','four') not null,
- date_field date,
- year_field year,
- time_field time,
- date_time datetime,
- time_stamp timestamp,
- PRIMARY KEY (auto)
-) engine=ndb;
-
-CREATE TEMPORARY TABLE ndb_show_tables (id INT, type VARCHAR(20), state VARCHAR(20), logging VARCHAR(20), _database VARCHAR(255), _schema VARCHAR(20), name VARCHAR(255));
-
---disable_warnings
-let $MYSQLD_DATADIR= `select @@datadir`;
---exec $NDB_TOOLS_DIR/ndb_show_tables --p > $MYSQLD_DATADIR/test/tmp.dat
-LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
---enable_warnings
-
-# Ndb doesn't support renaming attributes on-line
-set @t1_id = (select id from ndb_show_tables where name like '%t1%');
-truncate ndb_show_tables;
-
-alter table t1 change tiny new_tiny tinyint(4) DEFAULT '0' NOT NULL;
---disable_warnings
---exec $NDB_TOOLS_DIR/ndb_show_tables --p > $MYSQLD_DATADIR/test/tmp.dat
-LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
---enable_warnings
-
-select 'no_copy' from ndb_show_tables where id = @t1_id and name like '%t1%';
-
-set @t1_id = (select id from ndb_show_tables where name like '%t1%');
-truncate ndb_show_tables;
-
-create index i1 on t1(medium);
-alter table t1 add index i2(new_tiny);
-drop index i1 on t1;
-
---disable_warnings
---exec $NDB_TOOLS_DIR/ndb_show_tables --p > $MYSQLD_DATADIR/test/tmp.dat
-LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
---exec rm $MYSQLD_DATADIR/test/tmp.dat || true
---enable_warnings
-
-select 'no_copy' from ndb_show_tables where id = @t1_id and name like '%t1%';
-
-DROP TABLE t1, ndb_show_tables;
-
-# simple test that auto incr is not lost at rename or alter
-create table t1 (a int primary key auto_increment, b int) engine=ndb;
-insert into t1 (b) values (101),(102),(103);
-select * from t1 where a = 3;
-alter table t1 rename t2;
-insert into t2 (b) values (201),(202),(203);
-select * from t2 where a = 6;
-alter table t2 add c int;
-insert into t2 (b) values (301),(302),(303);
-select * from t2 where a = 9;
-alter table t2 rename t1;
-insert into t1 (b) values (401),(402),(403);
-select * from t1 where a = 12;
-drop table t1;
-
-# some other ALTER combinations
-# Check add/drop primary key (not supported on-line)
-create table t1(a int not null) engine=ndb;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep PRIMARY
-insert into t1 values (1),(2),(3);
-alter table t1 add primary key (a);
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep PRIMARY
-update t1 set a = 17 where a = 1;
-select * from t1 order by a;
-alter table t1 drop primary key;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep PRIMARY
-update t1 set a = 1 where a = 17;
-select * from t1 order by a;
-drop table t1;
-
-# bug#31233 mysql_alter_table() fails to drop UNIQUE KEY
-create table t1(a int not null) engine=ndb;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep PRIMARY
-insert into t1 values (1),(2),(3);
-create unique index pk on t1(a);
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep PRIMARY
-update t1 set a = 17 where a = 1;
-select * from t1 order by a;
-alter table t1 drop index pk;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep PRIMARY
-update t1 set a = 1 where a = 17;
-select * from t1 order by a;
-drop table t1;
-
-# alter .. alter
-create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
-show create table t1;
-alter table t1 alter b set default 1;
-show create table t1;
-drop table t1;
-
-# alter .. order by
-create table t1 (a int not null, b int not null) engine=ndb;
-insert into t1 values (1, 300), (2, 200), (3, 100);
-select * from t1 order by a;
-alter table t1 order by b;
-select * from t1 order by b;
-drop table t1;
-
---echo End of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_alter_table2.test b/mysql-test/suite/ndb/t/ndb_alter_table2.test
deleted file mode 100644
index f078ed6b479..00000000000
--- a/mysql-test/suite/ndb/t/ndb_alter_table2.test
+++ /dev/null
@@ -1,84 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-connect (con3,localhost,root,,test);
-connect (con4,localhost,root,,test);
-connect (con5,localhost,root,,test);
-connect (con6,localhost,root,,test);
-
-CREATE TABLE t1 (
- a INT NOT NULL PRIMARY KEY,
- b INT NOT NULL
-) ENGINE=ndbcluster;
-
-connection con1;
-BEGIN;
-INSERT INTO t1 VALUES (9410,9412);
-connection con2;
-BEGIN;
---send
-INSERT INTO t1 VALUES (9411,9412);
-connection con3;
-BEGIN;
---send
-INSERT INTO t1 VALUES (9412,9412);
-connection con4;
-BEGIN;
---send
-INSERT INTO t1 VALUES (9413,9412);
-connection con5;
-BEGIN;
---send
-INSERT INTO t1 VALUES (9414,9412);
-connection con6;
-BEGIN;
---send
-INSERT INTO t1 VALUES (9415,9412);
-connection con1;
-sleep 1;
-
-ROLLBACK;
-connection con2;
-reap;
-ROLLBACK;
-connection con3;
-reap;
-ROLLBACK;
-connection con4;
-reap;
-ROLLBACK;
-connection con5;
-reap;
-ROLLBACK;
-connection con6;
-reap;
-ROLLBACK;
-
-connection server2;
-
-drop table t1;
-CREATE TABLE t1 (
- a INT NOT NULL PRIMARY KEY,
- b INT NOT NULL,
- c INT NOT NULL
-) ENGINE=ndbcluster;
-
-connection server1;
-
---disable_result_log
---error 0,1412
-select * from t1;
---enable_result_log
-select * from t1;
-select * from t1;
-select * from t1;
-select * from t1;
-select * from t1;
-
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_alter_table3.test b/mysql-test/suite/ndb/t/ndb_alter_table3.test
deleted file mode 100644
index 86e664b23b0..00000000000
--- a/mysql-test/suite/ndb/t/ndb_alter_table3.test
+++ /dev/null
@@ -1,48 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-connection server1;
-create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
-engine=ndb;
-insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
-create index c on t1(c);
-connection server2;
-show indexes from t1;
-select * from t1 where c = 'two';
-connection server1;
-alter table t1 drop index c;
-connection server2;
-show indexes from t1;
-select * from t1 where c = 'two';
-connection server1;
-drop table t1;
-
-connection server1;
-create table t3 (a int primary key) engine=ndbcluster;
-
-connection server2;
-begin;
-insert into t3 values (1);
-
-connection server1;
-alter table t3 rename t4;
-
-connection server2;
-# with rbr the below will not work as the "alter" event
-# explicitly invalidates the dictionary cache.
-## This should work as transaction is ongoing...
-#delete from t3;
-#insert into t3 values (1);
-commit;
-
-# This should fail as its a new transaction
---error 1146
-select * from t3;
-select * from t4;
-drop table t4;
-show tables;
-connection server1;
diff --git a/mysql-test/suite/ndb/t/ndb_auto_increment.test b/mysql-test/suite/ndb/t/ndb_auto_increment.test
deleted file mode 100644
index 33021331e44..00000000000
--- a/mysql-test/suite/ndb/t/ndb_auto_increment.test
+++ /dev/null
@@ -1,293 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-connection server1;
-DROP TABLE IF EXISTS t1,t2;
-connection server2;
-DROP TABLE IF EXISTS t1;
-connection server1;
---enable_warnings
-
-set @old_auto_increment_offset = @@session.auto_increment_offset;
-set @old_auto_increment_increment = @@session.auto_increment_increment;
-set @old_ndb_autoincrement_prefetch_sz = @@session.ndb_autoincrement_prefetch_sz;
-
-flush status;
-
-create table t1 (a int not null auto_increment primary key) engine ndb;
-
-# Step 1: Verify simple insert
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 2: Verify simple update with higher than highest value causes
-# next insert to use updated_value + 1
-update t1 set a = 5 where a = 1;
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 3: Verify insert that inserts higher than highest value causes
-# next insert to use inserted_value + 1
-insert into t1 values (7);
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 4: Verify that insert into hole, lower than highest value doesn't
-# affect next insert
-insert into t1 values (2);
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 5: Verify that update into hole, lower than highest value doesn't
-# affect next insert
-update t1 set a = 4 where a = 2;
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 6: Verify that delete of highest value doesn't cause the next
-# insert to reuse this value
-delete from t1 where a = 10;
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 7: Verify that REPLACE has the same effect as INSERT
-replace t1 values (NULL);
-select * from t1 order by a;
-replace t1 values (15);
-select * from t1 order by a;
-replace into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 8: Verify that REPLACE has the same effect as UPDATE
-replace t1 values (15);
-select * from t1 order by a;
-
-# Step 9: Verify that IGNORE doesn't affect auto_increment
-insert ignore into t1 values (NULL);
-select * from t1 order by a;
-insert ignore into t1 values (15), (NULL);
-select * from t1 order by a;
-
-# Step 10: Verify that on duplicate key as UPDATE behaves as an
-# UPDATE
-insert into t1 values (15)
-on duplicate key update a = 20;
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-# Step 11: Verify that on duplicate key as INSERT behaves as INSERT
-insert into t1 values (NULL) on duplicate key update a = 30;
-select * from t1 order by a;
-insert into t1 values (30) on duplicate key update a = 40;
-select * from t1 order by a;
-
-#Step 12: Vefify INSERT IGNORE (bug#32055)
-insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
-select * from t1 order by a;
-drop table t1;
-
-#Step 13: Verify auto_increment of unique key
-create table t1 (a int not null primary key,
- b int not null unique auto_increment) engine ndb;
-insert into t1 values (1, NULL);
-insert into t1 values (3, NULL);
-update t1 set b = 3 where a = 3;
-insert into t1 values (4, NULL);
-select * from t1 order by a;
-drop table t1;
-
-#Step 14: Verify that auto_increment_increment and auto_increment_offset
-# work as expected
-
-CREATE TABLE t1 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER;
-
-CREATE TABLE t2 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=MYISAM;
-
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-TRUNCATE t1;
-TRUNCATE t2;
-SET @@session.auto_increment_offset=5;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t1 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-TRUNCATE t1;
-TRUNCATE t2;
-SET @@session.auto_increment_increment=2;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-DROP TABLE t1, t2;
-
-CREATE TABLE t1 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
-
-CREATE TABLE t2 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 7;
-
-SET @@session.auto_increment_offset=1;
-SET @@session.auto_increment_increment=1;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-DROP TABLE t1, t2;
-
-CREATE TABLE t1 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 3;
-
-CREATE TABLE t2 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 3;
-
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-DROP TABLE t1, t2;
-
-CREATE TABLE t1 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7;
-
-CREATE TABLE t2 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 7;
-
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-DROP TABLE t1, t2;
-
-CREATE TABLE t1 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 5;
-
-CREATE TABLE t2 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 5;
-
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-DROP TABLE t1, t2;
-
-CREATE TABLE t1 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=NDBCLUSTER AUTO_INCREMENT = 100;
-
-CREATE TABLE t2 (
- pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=MYISAM AUTO_INCREMENT = 100;
-
-SET @@session.auto_increment_offset=5;
-SET @@session.auto_increment_increment=10;
-INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2);
-INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2);
-SELECT * FROM t1 ORDER BY pk;
-SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c;
-DROP TABLE t1, t2;
-
-#Step 15: Now verify that behaviour on multiple MySQL Servers behave
-# properly. Start by dropping table and recreating it to start
-# counters and id caches from zero again.
---disable_warnings
-connection server2;
-SET @@session.auto_increment_offset=1;
-SET @@session.auto_increment_increment=1;
-set ndb_autoincrement_prefetch_sz = 32;
-drop table if exists t1;
-connection server1;
-SET @@session.auto_increment_offset=1;
-SET @@session.auto_increment_increment=1;
-set ndb_autoincrement_prefetch_sz = 32;
---enable_warnings
-
-
-create table t1 (a int not null auto_increment primary key) engine ndb;
-# Basic test, ensure that the second server gets a new range.
-#Generate record with key = 1
-insert into t1 values (NULL);
-connection server2;
-#Generate record with key = 33
-insert into t1 values (NULL);
-connection server1;
-select * from t1 order by a;
-
-#This insert should not affect the range of the second server
-insert into t1 values (20);
-connection server2;
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-connection server1;
-#This insert should remove cached values but also skip values already
-#taken by server2, given that there is no method of communicating with
-#the other server it should also cause a conflict
-connection server1;
-
-insert into t1 values (35);
-insert into t1 values (NULL);
-connection server2;
---error ER_DUP_ENTRY, ER_DUP_KEY
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-insert into t1 values (100);
-insert into t1 values (NULL);
-connection server1;
-insert into t1 values (NULL);
-select * from t1 order by a;
-
-set auto_increment_offset = @old_auto_increment_offset;
-set auto_increment_increment = @old_auto_increment_increment;
-set ndb_autoincrement_prefetch_sz = @old_ndb_autoincrement_prefetch_sz;
-
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_autoinc.test b/mysql-test/suite/ndb/t/ndb_autoinc.test
deleted file mode 100644
index a5ae52c88d7..00000000000
--- a/mysql-test/suite/ndb/t/ndb_autoinc.test
+++ /dev/null
@@ -1,45 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3;
---enable_warnings
-
-USE test;
-
-CREATE TABLE t1 (
- id INT AUTO_INCREMENT,
- PRIMARY KEY(id)
-) ENGINE=NDBCLUSTER;
-
-# Test For bug#30417
---error 1005
-
-CREATE TABLE t2 (
- id INT AUTO_INCREMENT,
- KEY(id)
-) ENGINE=NDBCLUSTER;
-
-SHOW TABLES;
-
-CREATE TABLE t3 (
- id INT AUTO_INCREMENT,
- KEY(id)
-) ENGINE=MYISAM;
-
---disable_result_log
---error 1005
-ALTER TABLE t3
-ENGINE NDBCLUSTER;
---enable_result_log
-
-SHOW CREATE TABLE t3;
-
-ALTER TABLE t3
-ADD PRIMARY KEY (id);
-
-SHOW CREATE TABLE t3;
-
-DROP TABLE t1, t3;
-
---echo End of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_basic.test b/mysql-test/suite/ndb/t/ndb_basic.test
deleted file mode 100644
index 2fc140288ca..00000000000
--- a/mysql-test/suite/ndb/t/ndb_basic.test
+++ /dev/null
@@ -1,861 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
---enable_warnings
-
-# workaround for bug#16445
-# remove to reproduce bug and run tests from ndb start
-# and with ndb_autodiscover disabled. Fails on Linux 50 % of the times
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL,
- attr2 INT,
- attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-drop table t1;
-
-#
-# Basic test to show that the NDB
-# table handler is working
-#
-
-#
-# Show status and variables
-#
---replace_column 2 #
-SHOW GLOBAL STATUS LIKE 'ndb%';
---replace_column 2 #
-SHOW GLOBAL VARIABLES LIKE 'ndb%';
-
-#
-# Create a normal table with primary key
-#
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL,
- attr2 INT,
- attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-
-SHOW INDEX FROM t1;
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
-SHOW INDEX FROM t1;
-SELECT pk1 FROM t1 ORDER BY pk1;
-SELECT * FROM t1 ORDER BY pk1;
-SELECT t1.* FROM t1 ORDER BY pk1;
-
-# Update on record by primary key
-UPDATE t1 SET attr1=1 WHERE pk1=9410;
-SELECT * FROM t1 ORDER BY pk1;
-
-# Update primary key
-UPDATE t1 SET pk1=2 WHERE attr1=1;
-SELECT * FROM t1 ORDER BY pk1;
-UPDATE t1 SET pk1=pk1 + 1;
-SELECT * FROM t1 ORDER BY pk1;
-UPDATE t1 SET pk1=4 WHERE pk1 = 3;
-SELECT * FROM t1 ORDER BY pk1;
-
-# Delete the record
-DELETE FROM t1;
-SELECT * FROM t1;
-
-# Insert more records and update them all at once
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9408, 8765, NULL, '8765'),
-(7,8, NULL, NULL), (8,9, NULL, NULL), (9,10, NULL, NULL), (10,11, NULL, NULL), (11,12, NULL, NULL), (12,13, NULL, NULL), (13,14, NULL, NULL);
-UPDATE t1 SET attr1 = 9999;
-SELECT * FROM t1 ORDER BY pk1;
-
-UPDATE t1 SET attr1 = 9998 WHERE pk1 < 1000;
-SELECT * FROM t1 ORDER BY pk1;
-
-UPDATE t1 SET attr1 = 9997 WHERE attr1 = 9999;
-SELECT * FROM t1 ORDER BY pk1;
-
-# Delete one record by specifying pk
-DELETE FROM t1 WHERE pk1 = 9410;
-SELECT * FROM t1 ORDER BY pk1;
-
-# Delete all from table
-DELETE FROM t1;
-SELECT * FROM t1;
-
-# Insert three records with attr1=4 and two with attr1=5
-# Delete all with attr1=4
-INSERT INTO t1 values (1, 4, NULL, NULL), (2, 4, NULL, NULL), (3, 5, NULL, NULL), (4, 4, NULL, NULL), (5, 5, NULL, NULL);
-DELETE FROM t1 WHERE attr1=4;
-SELECT * FROM t1 order by pk1;
-DELETE FROM t1;
-
-# Insert two records and delete one
-INSERT INTO t1 VALUES (9410,9412, NULL, NULL), (9411, 9413, NULL, NULL);
-DELETE FROM t1 WHERE pk1 = 9410;
-SELECT * FROM t1;
-DROP TABLE t1;
-
-#
-# Create table without primary key
-# a hidden primary key column is created by handler
-#
-CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
-INSERT INTO t1 values(3456, 7890);
-SELECT * FROM t1;
-UPDATE t1 SET id=2 WHERE id2=12;
-SELECT * FROM t1;
-UPDATE t1 SET id=1234 WHERE id2=7890;
-SELECT * FROM t1;
-DELETE FROM t1;
-
-INSERT INTO t1 values(3456, 7890), (3456, 7890), (3456, 7890), (3454, 7890);
-SELECT * FROM t1 ORDER BY id;
-DELETE FROM t1 WHERE id = 3456;
-SELECT * FROM t1 ORDER BY id;
-
-DROP TABLE t1;
-
-# test create with the keyword "engine=NDBCLUSTER"
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL
-) ENGINE=NDBCLUSTER;
-
-INSERT INTO t1 values(1, 9999);
-
-DROP TABLE t1;
-
-# test create with the keyword "engine=NDB"
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL
-) ENGINE=NDB;
-
-INSERT INTO t1 values(1, 9999);
-
-DROP TABLE t1;
-
-
-#
-# A more extensive test with a lot more records
-#
-
-CREATE TABLE t2 (
- a bigint unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-CREATE TABLE t3 (
- a bigint unsigned NOT NULL,
- b bigint unsigned not null,
- c bigint unsigned,
- PRIMARY KEY(a)
-) engine=ndbcluster;
-
-CREATE TABLE t4 (
- a bigint unsigned NOT NULL,
- b bigint unsigned not null,
- c bigint unsigned NOT NULL,
- d int unsigned,
- PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-
-
-#
-# insert more records into tables
-#
-let $1=1000;
-disable_query_log;
-while ($1)
-{
- eval insert into t2 values($1, $1+9, 5);
- eval insert into t3 values($1, $1+9, 5);
- eval insert into t4 values($1, $1+9, 5, $1+26000);
- dec $1;
-}
-enable_query_log;
-
-
-#
-# delete every other record in the tables
-#
-let $1=1000;
-disable_query_log;
-while ($1)
-{
- eval delete from t2 where a=$1;
- eval delete from t3 where a=$1;
- eval delete from t4 where a=$1 and b=$1+9 and c=5;
- dec $1;
- dec $1;
-}
-enable_query_log;
-
-
-select * from t2 where a = 7 order by b;
-select * from t2 where a = 7 order by a;
-select * from t2 where a = 7 order by 2;
-select * from t2 where a = 7 order by c;
-
-select * from t2 where a = 7 and b = 16 order by b;
-select * from t2 where a = 7 and b = 16 order by a;
-select * from t2 where a = 7 and b = 17 order by a;
-select * from t2 where a = 7 and b != 16 order by b;
-
-select * from t2 where a = 7 and b = 16 and c = 5 order by b;
-select * from t2 where a = 7 and b = 16 and c = 5 order by a;
-select * from t2 where a = 7 and b = 16 and c = 6 order by a;
-select * from t2 where a = 7 and b != 16 and c = 5 order by b;
-
-select * from t3 where a = 7 order by b;
-select * from t3 where a = 7 order by a;
-select * from t3 where a = 7 order by 2;
-select * from t3 where a = 7 order by c;
-
-select * from t3 where a = 7 and b = 16 order by b;
-select * from t3 where a = 7 and b = 16 order by a;
-select * from t3 where a = 7 and b = 17 order by a;
-select * from t3 where a = 7 and b != 16 order by b;
-
-select * from t4 where a = 7 order by b;
-select * from t4 where a = 7 order by a;
-select * from t4 where a = 7 order by 2;
-select * from t4 where a = 7 order by c;
-
-select * from t4 where a = 7 and b = 16 order by b;
-select * from t4 where a = 7 and b = 16 order by a;
-select * from t4 where a = 7 and b = 17 order by a;
-select * from t4 where a = 7 and b != 16 order by b;
-
-#
-# update records
-#
-let $1=1000;
-disable_query_log;
-while ($1)
-{
- eval update t2 set c=$1 where a=$1;
- eval update t3 set c=7 where a=$1 and b=$1+9 and c=5;
- eval update t4 set d=$1+21987 where a=$1 and b=$1+9 and c=5;
- dec $1;
- dec $1;
-}
-enable_query_log;
-
-delete from t2 where a > 5;
-select x1.a, x1.b from t2 x1, t2 x2 where x1.b = x2.b order by x1.a;
-select a, b FROM t2 outer_table where
-a = (select a from t2 where b = outer_table.b ) order by a;
-
-
-delete from t2;
-delete from t3;
-delete from t4;
-
-drop table t2;
-drop table t3;
-drop table t4;
-
-#
-# Test delete and update from table with 3 keys
-#
-
-CREATE TABLE t5 (
- a bigint unsigned NOT NULL,
- b bigint unsigned not null,
- c bigint unsigned NOT NULL,
- d int unsigned,
- PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-
-insert into t5 values(10, 19, 5, 26010);
-
-delete from t5 where a=10 and b=19 and c=5;
-
-select * from t5;
-
-insert into t5 values(10, 19, 5, 26010);
-
-update t5 set d=21997 where a=10 and b=19 and c=5;
-
-select * from t5;
-
-delete from t5;
-
-drop table t5;
-
-#
-# Test using table with a char(255) column first in table
-#
-
-CREATE TABLE t6 (
- adress char(255),
- a int NOT NULL PRIMARY KEY,
- b int
-) engine = NDB;
-
-insert into t6 values
- ("Nice road 3456", 1, 23),
- ("Street Road 78", 3, 92),
- ("Road street 89C", 5, 71),
- (NULL, 7, NULL);
-select * from t6 order by a;
-select a, b from t6 order by a;
-
-update t6 set adress="End of road 09" where a=3;
-update t6 set b=181, adress="Street 76" where a=7;
-select * from t6 order by a;
-select * from t6 where a=1;
-delete from t6 where a=1;
-select * from t6 order by a;
-delete from t6 where b=71;
-select * from t6 order by a;
-
-drop table t6;
-
-#
-# Test using table with a char(255) column first in table and a
-# primary key consisting of two columns
-#
-
-CREATE TABLE t7 (
- adress char(255),
- a int NOT NULL,
- b int,
- c int NOT NULL,
- PRIMARY KEY(a, c)
-) engine = NDB;
-
-insert into t7 values
- ("Highway 3456", 1, 23, 2),
- ("Street Road 78", 3, 92, 3),
- ("Main street 89C", 5, 71, 4),
- (NULL, 8, NULL, 12);
-select * from t7 order by a;
-select a, b from t7 order by a;
-
-update t7 set adress="End of road 09" where a=3;
-update t7 set adress="Gatuvägen 90C" where a=5 and c=4;
-update t7 set adress="No adress" where adress is NULL;
-select * from t7 order by a;
-select * from t7 where a=1 and c=2;
-delete from t7 where a=1;
-delete from t7 where a=3 and c=3;
-delete from t7 where a=5 and c=4;
-select * from t7;
-delete from t7 where b=23;
-select * from t7;
-
-drop table t7;
-
-#
-# Test multiple databases in one statement
-#
-
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL,
- attr2 INT,
- attr3 VARCHAR(10)
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
-
-create database mysqltest;
-use mysqltest;
-
-CREATE TABLE t2 (
- a bigint unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-insert into t2 select pk1,attr1,attr2 from test.t1;
-select * from t2 order by a;
-select b from test.t1, t2 where c = test.t1.attr2;
-select b,test.t1.attr1 from test.t1, t2 where test.t1.pk1 < a;
-
-drop table test.t1, t2;
-drop database mysqltest;
-
-#
-# BUG#6031 - DROP DATABASE doesn't drop database on first try
-#
-
---disable_warnings
-drop database if exists ndbtest1;
---enable_warnings
-
-create database ndbtest1;
-use ndbtest1;
-create table t1(id int) engine=ndbcluster;
-drop database ndbtest1;
---error 1008
-drop database ndbtest1;
-
-#
-# test support of char(0)
-#
-
-use test;
-create table t1 (a int primary key, b char(0));
-insert into t1 values (1,"");
-insert into t1 values (2,NULL);
-select * from t1 order by a;
-select * from t1 order by b;
-select * from t1 where b IS NULL;
-select * from t1 where b IS NOT NULL;
-drop table t1;
-
-#
-# test the limit of no of attributes in one table
-#
-# also tests bug#17179, more than 31 attributes in
-# a partitioned table
-#
-create table t1 (
-c1 int,
-c2 int,
-c3 int,
-c4 int,
-c5 int,
-c6 int,
-c7 int,
-c8 int,
-c9 int,
-c10 int,
-c11 int,
-c12 int,
-c13 int,
-c14 int,
-c15 int,
-c16 int,
-c17 int,
-c18 int,
-c19 int,
-c20 int,
-c21 int,
-c22 int,
-c23 int,
-c24 int,
-c25 int,
-c26 int,
-c27 int,
-c28 int,
-c29 int,
-c30 int,
-c31 int,
-c32 int,
-c33 int,
-c34 int,
-c35 int,
-c36 int,
-c37 int,
-c38 int,
-c39 int,
-c40 int,
-c41 int,
-c42 int,
-c43 int,
-c44 int,
-c45 int,
-c46 int,
-c47 int,
-c48 int,
-c49 int,
-c50 int,
-c51 int,
-c52 int,
-c53 int,
-c54 int,
-c55 int,
-c56 int,
-c57 int,
-c58 int,
-c59 int,
-c60 int,
-c61 int,
-c62 int,
-c63 int,
-c64 int,
-c65 int,
-c66 int,
-c67 int,
-c68 int,
-c69 int,
-c70 int,
-c71 int,
-c72 int,
-c73 int,
-c74 int,
-c75 int,
-c76 int,
-c77 int,
-c78 int,
-c79 int,
-c80 int,
-c81 int,
-c82 int,
-c83 int,
-c84 int,
-c85 int,
-c86 int,
-c87 int,
-c88 int,
-c89 int,
-c90 int,
-c91 int,
-c92 int,
-c93 int,
-c94 int,
-c95 int,
-c96 int,
-c97 int,
-c98 int,
-c99 int,
-c100 int,
-c101 int,
-c102 int,
-c103 int,
-c104 int,
-c105 int,
-c106 int,
-c107 int,
-c108 int,
-c109 int,
-c110 int,
-c111 int,
-c112 int,
-c113 int,
-c114 int,
-c115 int,
-c116 int,
-c117 int,
-c118 int,
-c119 int,
-c120 int,
-c121 int,
-c122 int,
-c123 int,
-c124 int,
-c125 int,
-c126 int,
-c127 int,
-c128 int,
-primary key using hash(c1)) engine=ndb partition by key(c1);
-drop table t1;
-
-#
-# test max size of attribute name and truncation
-#
-
-create table t1 (
-a1234567890123456789012345678901234567890 int primary key,
-a12345678901234567890123456789a1234567890 int,
-index(a12345678901234567890123456789a1234567890)
-) engine=ndb;
-show tables;
-insert into t1 values (1,1),(2,1),(3,1),(4,1),(5,2),(6,1),(7,1);
---replace_column 9 #
-explain select * from t1 where a12345678901234567890123456789a1234567890=2;
-select * from t1 where a12345678901234567890123456789a1234567890=2;
-drop table t1;
-
-#
-# test fragment creation
-#
-# first a table with _many_ fragments per node group
-# then a table with just one fragment per node group
-#
-create table t1
- (a bigint, b bigint, c bigint, d bigint,
- primary key (a,b,c,d))
- engine=ndb
- max_rows=800000000;
-insert into t1 values
- (1,2,3,4),(2,3,4,5),(3,4,5,6),
- (3,2,3,4),(1,3,4,5),(2,4,5,6),
- (1,2,3,5),(2,3,4,8),(3,4,5,9),
- (3,2,3,5),(1,3,4,8),(2,4,5,9),
- (1,2,3,6),(2,3,4,6),(3,4,5,7),
- (3,2,3,6),(1,3,4,6),(2,4,5,7),
- (1,2,3,7),(2,3,4,7),(3,4,5,8),
- (3,2,3,7),(1,3,4,7),(2,4,5,8),
- (1,3,3,4),(2,4,4,5),(3,5,5,6),
- (3,3,3,4),(1,4,4,5),(2,5,5,6),
- (1,3,3,5),(2,4,4,8),(3,5,5,9),
- (3,3,3,5),(1,4,4,8),(2,5,5,9),
- (1,3,3,6),(2,4,4,6),(3,5,5,7),
- (3,3,3,6),(1,4,4,6),(2,5,5,7),
- (1,3,3,7),(2,4,4,7),(3,5,5,8),
- (3,3,3,7),(1,4,4,7),(2,5,5,8);
-select count(*) from t1;
-drop table t1;
-
-create table t1
- (a bigint, b bigint, c bigint, d bigint,
- primary key (a))
- engine=ndb
- max_rows=1;
-drop table t1;
-
-#
-# Test auto_increment
-#
-
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-
-create table t1
- (counter int(64) NOT NULL auto_increment,
- datavalue char(40) default 'XXXX',
- primary key (counter)
- ) ENGINE=ndbcluster;
-
-connection con1;
-insert into t1 (datavalue) values ('newval');
-insert into t1 (datavalue) values ('newval');
-select * from t1 order by counter;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-select * from t1 order by counter;
-connection con2;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-insert into t1 (datavalue) select datavalue from t1 where counter < 100;
-select * from t1 order by counter;
-
-drop table t1;
-
-#
-# bug#27437
-connection con1;
-create table t1 (a int primary key auto_increment) engine = ndb;
-insert into t1() values (),(),(),(),(),(),(),(),(),(),(),();
-connection con2;
-insert into t1(a) values (20),(28);
-connection con1;
-insert into t1() values (),(),(),(),(),(),(),(),(),(),(),();
-connection con2;
-insert into t1() values (21), (22);
-connection con1;
-
-drop table t1;
-
-#
-# BUG#14514 Creating table with packed key fails silently
-#
-
-CREATE TABLE t1 ( b INT ) PACK_KEYS = 0 ENGINE = ndb;
-select * from t1;
-drop table t1;
-
-#
-# Bug #17249 delete statement with join where clause fails
-# when table do not have pk
- #
-
-create table t1 (a int) engine=ndb;
-create table t2 (a int) engine=ndb;
-insert into t1 values (1);
-insert into t2 values (1);
-delete t1.* from t1, t2 where t1.a = t2.a;
-select * from t1;
-select * from t2;
-drop table t1;
-drop table t2;
-
-#
-# Bug #17257 update fails for inner joins if tables
-# do not have Primary Key
-#
-
-CREATE TABLE t1 (
- i INT,
- j INT,
- x INT,
- y INT,
- z INT
-) engine=ndb;
-
-CREATE TABLE t2 (
- i INT,
- k INT,
- x INT,
- y INT,
- z INT
-) engine=ndb;
-
-CREATE TABLE t3 (
- j INT,
- k INT,
- x INT,
- y INT,
- z INT
-) engine=ndb;
-
-INSERT INTO t1 VALUES ( 1, 2,13,14,15);
-INSERT INTO t2 VALUES ( 1, 3,23,24,25);
-INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);
-
-UPDATE t1 AS a
-INNER JOIN t2 AS b
- ON a.i = b.i
-INNER JOIN t3 AS c
- ON a.j = c.j AND b.k = c.k
-SET a.x = b.x,
- a.y = b.y,
- a.z = (
- SELECT sum(z)
- FROM t3
- WHERE y = 34
- )
-WHERE b.x = 23;
-select * from t1;
-drop table t1;
-drop table t2;
-drop table t3;
-
-# End of 4.1 tests
-
-#
-# Test long table name
-#
-create table atablewithareallylongandirritatingname (a int);
-insert into atablewithareallylongandirritatingname values (2);
-select * from atablewithareallylongandirritatingname;
-drop table atablewithareallylongandirritatingname;
-
-#
-# Bug#15682
-#
-create table t1 (f1 varchar(50), f2 text,f3 int, primary key(f1)) engine=NDB;
-insert into t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
-insert into t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
-select * from t1 order by f1;
-select * from t1 order by f2;
-select * from t1 order by f3;
-drop table t1;
-# Bug#16561 Unknown ERROR msg "ERROR 1186 (HY000): Binlog closed" by perror
-#
-
-# As long there is no error code 1186 defined by NDB
-# we should get a message "Illegal ndb error code: 1186"
---error 1
---exec $MY_PERROR --ndb 1186 2>&1
-
-#
-# Bug #25746 - VARCHAR UTF8 PK issue
-# - prior to bugfix 4209, illegal length parameter would be
-# returned in SELECT *
-
-CREATE TABLE t1 (
-a VARBINARY(40) NOT NULL,
-b VARCHAR (256) CHARACTER SET UTF8 NOT NULL,
-c VARCHAR(256) CHARACTER SET UTF8 NOT NULL,
-PRIMARY KEY (b,c)) ENGINE=ndbcluster;
-INSERT INTO t1 VALUES
-("a","ab","abc"),("b","abc","abcd"),("c","abc","ab"),("d","ab","ab"),("e","abc","abc");
-SELECT * FROM t1 ORDER BY a;
-DROP TABLE t1;
-
-# delete
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-create table t2 (a int not null primary key, b int not null) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30);
-insert into t2 values (1,10), (2,20), (3,30);
-select * from t1 order by a;
-delete from t1 where a > 0 order by a desc limit 1;
-select * from t1 order by a;
-delete from t1,t2 using t1,t2 where t1.a = t2.a;
-select * from t2 order by a;
-drop table t1,t2;
-
-# insert ignore
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,30);
---error ER_DUP_ENTRY
-insert into t1 set a=1, b=100;
-insert ignore into t1 set a=1, b=100;
-select * from t1 order by a;
-insert into t1 set a=1, b=1000 on duplicate key update b=b+1;
-select * from t1 order by a;
-drop table t1;
-
-# update
-create table t1 (a int not null primary key, b int not null) engine=ndb;
-create table t2 (c int not null primary key, d int not null) engine=ndb;
-insert into t1 values (1,10), (2,10), (3,30), (4, 30);
-insert into t2 values (1,10), (2,10), (3,30), (4, 30);
---error ER_DUP_ENTRY
-update t1 set a = 1 where a = 3;
-select * from t1 order by a;
-update t1 set b = 1 where a > 1 order by a desc limit 1;
-select * from t1 order by a;
---error ER_DUP_ENTRY
-update t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
-select * from t1 order by a;
-update ignore t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
-select * from t1 order by a;
-drop table t1,t2;
-
-#
-# Bug#31635
-#
-create table t1 (a varchar(100) primary key, b varchar(100)) engine = NDB;
-insert into t1 values
- ('a', 'a'),('b','b'),('c', 'c'),('aa', 'aa'),('bb', 'bb'),('cc', 'cc');
-replace into t1 values ('a', '-a');
-replace into t1 values ('b', '-b');
-replace into t1 values ('c', '-c');
-
-replace into t1 values ('aa', '-aa');
-replace into t1 values ('bb', '-bb');
-replace into t1 values ('cc', '-cc');
-
-replace into t1 values ('aaa', '-aaa');
-replace into t1 values ('bbb', '-bbb');
-replace into t1 values ('ccc', '-ccc');
-select * from t1 order by 1,2;
-drop table t1;
-
---echo End of 5.0 tests
-
-#
-# Bug #18483 Cannot create table with FK constraint
-# ndb does not support foreign key constraint, it is silently ignored
-# in line with other storage engines
-#
-CREATE TABLE t1 (a VARCHAR(255) NOT NULL,
- CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb;
-CREATE TABLE t2(a VARCHAR(255) NOT NULL,
- b VARCHAR(255) NOT NULL,
- c VARCHAR(255) NOT NULL,
- CONSTRAINT pk_b_c_id PRIMARY KEY (b,c),
- CONSTRAINT fk_a FOREIGN KEY(a) REFERENCES t1(a))engine=ndb;
-drop table t1, t2;
-
-# bug#24301
-create table t1 (a int not null primary key, b int) engine=ndb;
-insert into t1 values(1,1),(2,2),(3,3);
-create table t2 like t1;
-insert into t2 select * from t1;
-select * from t1 order by a;
-select * from t2 order by a;
-drop table t1, t2;
-
-# create table if not exists
---disable_warnings
-create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
-create table if not exists t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
---enable_warnings
-
-# create like
-create table t2 like t1;
-
-# multi rename
-rename table t1 to t10, t2 to t20;
-drop table t10,t20;
-
---echo End of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_basic.test b/mysql-test/suite/ndb/t/ndb_binlog_basic.test
deleted file mode 100644
index 4d8b7a8b127..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_basic.test
+++ /dev/null
@@ -1,80 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
---disable_warnings
-drop table if exists t1, t2;
-drop database if exists mysqltest;
-create database mysqltest;
-use mysqltest;
-drop database mysqltest;
-use test;
---enable_warnings
-
-#
-# basic insert, update, delete test, alter, rename, drop
-# check that ndb_binlog_index gets the right info
-#
-
-create table t1 (a int primary key) engine=ndb;
-insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
-save_master_pos;
---replace_column 1 #
-select @max_epoch:=max(epoch)-1 from mysql.ndb_binlog_index;
-
-delete from t1;
-alter table t1 add (b int);
-insert into t1 values (3,3),(4,4);
-alter table t1 rename t2;
-
-# get all in one epoch
-begin;
-insert into t2 values (1,1),(2,2);
-update t2 set b=1 where a=3;
-delete from t2 where a=4;
-commit;
-drop table t2;
-
-# check that above is ok
-# (save_master_pos waits for last gcp to complete, ensuring that we have
-# the expected data in the binlog)
-save_master_pos;
-select inserts from mysql.ndb_binlog_index where epoch > @max_epoch and inserts > 5;
-select deletes from mysql.ndb_binlog_index where epoch > @max_epoch and deletes > 5;
-select inserts,updates,deletes from
- mysql.ndb_binlog_index where epoch > @max_epoch and updates > 0;
-
-#
-# check that purge clears the ndb_binlog_index
-#
-# TODO: make this deterministic
-# This test is disabled until we can make this determistic under load.
-# The problem is that in some cases, the binlog writing thread gets
-# scheduled after the purge, writes pending things, then the select
-# gets scheduled
-#
-flush logs;
---sleep 1
-purge master logs before now();
---disable_parsing
-select count(*) from mysql.ndb_binlog_index;
---enable_parsing
-
-#
-# several tables in different databases
-# check that same table name in different databases don't mix up
-#
-create table t1 (a int primary key, b int) engine=ndb;
-create database mysqltest;
-use mysqltest;
-create table t1 (c int, d int primary key) engine=ndb;
-use test;
-
-insert into mysqltest.t1 values (2,1),(2,2);
-save_master_pos;
---replace_column 1 #
-select @max_epoch:=max(epoch)-1 from mysql.ndb_binlog_index;
-
-drop table t1;
-drop database mysqltest;
-select inserts,updates,deletes from
- mysql.ndb_binlog_index where epoch > @max_epoch and inserts > 0;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test b/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test
deleted file mode 100644
index a70dbe2011f..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test
+++ /dev/null
@@ -1,190 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
---disable_warnings
-connection server2;
-drop database if exists mysqltest;
-drop table if exists t1,t2,t3;
-connection server1;
-drop database if exists mysqltest;
-drop table if exists t1,t2,t3;
---connection server1
-reset master;
---connection server2
-reset master;
---enable_warnings
-
-#
-# basic test to see if ddl distribution works across
-# multiple binlogs
-#
-
-# create database
---connection server1
-create database mysqltest;
-
-# create table
---connection server1
-use mysqltest;
-create table t1 (a int primary key) engine=ndb;
-
---connection server2
-create table t2 (a int primary key) engine=ndb;
---source include/show_binlog_events2.inc
-
---connection server1
---source include/show_binlog_events2.inc
-
-# alter table
---connection server1
-reset master;
---connection server2
-reset master;
-
---connection server2
-alter table t2 add column (b int);
-
---connection server1
---source include/show_binlog_events2.inc
-
-# alter database
---connection server1
-reset master;
---connection server2
-reset master;
-
---connection server2
-ALTER DATABASE mysqltest CHARACTER SET latin1;
-
-
-# having drop here instead of below sometimes triggers bug#18976
-## drop table and drop should come after data events
---connection server2
-drop table mysqltest.t1;
-
---connection server1
---source include/show_binlog_events2.inc
-# to track down bug#18976
---real_sleep 10
---source include/show_binlog_events2.inc
-
-#--connection server2
-#drop table mysqltest.t1;
-
-# drop database and drop should come after data events
---connection server1
-reset master;
---connection server2
-reset master;
-
---connection server1
-use test;
-insert into t2 values (1,2);
-drop database mysqltest;
-create table t1 (a int primary key) engine=ndb;
-
---connection server2
---source include/show_binlog_events2.inc
-
---connection server2
-drop table t2;
-
-# logfile groups and table spaces
---connection server1
-reset master;
---connection server2
-reset master;
-
---connection server1
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE ts1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-
-# having drop here instead of below sometimes triggers bug#18976
-#drop table t1;
-
---connection server2
---source include/show_binlog_events2.inc
-# to track down bug#18976
---real_sleep 10
---source include/show_binlog_events2.inc
-
-drop table t1;
-
-#
-# Bug #17827 cluster: rename of several tables in one statement,
-# gets multiply logged
-#
---connection server1
-reset master;
-show tables;
---connection server2
-reset master;
-show tables;
-
---connection server1
-create table t1 (a int key) engine=ndb;
-create table t2 (a int key) engine=ndb;
-create table t3 (a int key) engine=ndb;
-rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
---connection server2
---source include/show_binlog_events2.inc
-
-drop table t1;
-drop table t2;
-drop table t3;
-
-#
-# Bug #17838 binlog not setup on seconday master after rename
-#
-#
---connection server1
-reset master;
-show tables;
---connection server2
-reset master;
-show tables;
-
---connection server1
-create table t1 (a int key) engine=ndb;
-insert into t1 values(1);
-rename table t1 to t2;
-insert into t2 values(2);
-
-# now we should see data in table t1 _and_ t2
-# prior to bug fix, data was missing for t2
---connection server2
-drop table t2;
---source include/show_binlog_events2.inc
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_discover.test b/mysql-test/suite/ndb/t/ndb_binlog_discover.test
deleted file mode 100644
index dc8275a8a39..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_discover.test
+++ /dev/null
@@ -1,36 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# Bug #14516 Restart of cluster can cause NDB API replication failure
-#
-create table t1 (a int key) engine=ndb;
-reset master;
---exec $NDB_MGM --no-defaults -e "all restart -n" > /dev/null
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults --not-started > /dev/null
---exec $NDB_MGM --no-defaults -e "all start" > /dev/null
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults > /dev/null
-
---disable_query_log
-let $mysql_errno= 1;
-while ($mysql_errno)
-{
- # Table t1 is readonly until the mysqld has reconnected properly
- --error 0,1036,1296
- insert into t1 values(1);
- if ($mysql_errno)
- {
- --sleep 0.1
- }
-}
---enable_query_log
-
---source include/show_binlog_events2.inc
-PURGE MASTER LOGS TO 'mysqld-bin.000002';
-
---source include/show_binlog_events2.inc
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_format.test b/mysql-test/suite/ndb/t/ndb_binlog_format.test
deleted file mode 100644
index e240a33a20e..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_format.test
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# test different behavior of ndb using different binlog formats
-#
-
--- source include/have_blackhole.inc
--- source include/have_ndb.inc
--- source include/have_log_bin.inc
-
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
---disable_warnings
-drop table if exists t1, t2, t3;
---enable_warnings
-
-#
-# Bug #29222 Statement mode replicates both statement and
-# rows when writing to an NDB table
-#
-CREATE TABLE t1 (m INT, n INT) ENGINE=MYISAM;
-CREATE TABLE t2 (b INT, c INT) ENGINE=BLACKHOLE;
-CREATE TABLE t3 (e INT, f INT) ENGINE=NDB;
-RESET MASTER;
-SET SESSION BINLOG_FORMAT=STATEMENT;
-INSERT INTO t1 VALUES (1,1), (1,2), (2,1), (2,2);
-INSERT INTO t2 VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1, t2 SET m = 2, b = 3 WHERE n = c;
-# A transaction here is not necessary, but I wanted to group the bad statements
-START TRANSACTION;
-INSERT INTO t3 VALUES (1,1), (1,2), (2,1), (2,2);
-UPDATE t1, t3 SET m = 2, e = 3 WHERE n = f;
-UPDATE t3, t2 SET e = 2, b = 3 WHERE f = c;
-COMMIT;
---source include/show_binlog_events.inc
-DROP TABLE t1, t2, t3;
-
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_ignore_db-master.opt b/mysql-test/suite/ndb/t/ndb_binlog_ignore_db-master.opt
deleted file mode 100644
index e3947c0eeed..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_ignore_db-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---binlog-ignore-db=mysqltest
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test b/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test
deleted file mode 100644
index 013df54a76a..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_ignore_db.test
+++ /dev/null
@@ -1,16 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
-reset master;
-
---disable_warnings
-drop table if exists t1;
-drop database if exists mysqltest;
---enable_warnings
-
-create database mysqltest;
-use mysqltest;
-create table t1 (a int primary key, b int) engine=ndb;
-insert into t1 values (1, 1);
--- source include/show_binlog_events2.inc
-
-drop database mysqltest;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test b/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test
deleted file mode 100644
index 75ac766fd25..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_log_bin.test
+++ /dev/null
@@ -1,49 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
---disable_warnings
-connection server2;
-drop table if exists t1,t2,t3;
-reset master;
-connection server1;
-drop table if exists t1,t2,t3;
-reset master;
---enable_warnings
-
-# basic SQL_LOG_BIN functionality
-# see updates from one thread but not the other
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-# do some stuff with SQL_LOG_BIN=0
-connection con2;
-set SQL_LOG_BIN=0;
-create database mysqltest;
-use mysqltest;
-create table t1 (a int key, b int) engine=ndb;
-create table t2 (a int key, b int) engine=ndb;
-insert into t1 values (1,1);
-alter table t1 add c int;
-# we should not see it in the local server
--- source include/show_binlog_events2.inc
-reset master;
-# we should not see it in another server
-connection server2;
-use mysqltest;
-insert into t2 values (1,1);
--- source include/show_binlog_events2.inc
-reset master;
-# but if you do stuff in "default" client setting
-connection con1;
-use mysqltest;
-drop table t1;
-drop table t2;
-create table t1 (d int key, e int) engine=ndb;
-create table t2 (d int key, e int) engine=ndb;
-insert into t1 values (1,1);
--- source include/show_binlog_events2.inc
-# and in another server
-connection server2;
-use mysqltest;
-insert into t2 values (1,1);
--- source include/show_binlog_events2.inc
-drop database mysqltest;
diff --git a/mysql-test/suite/ndb/t/ndb_binlog_multi.test b/mysql-test/suite/ndb/t/ndb_binlog_multi.test
deleted file mode 100644
index c39034c71f6..00000000000
--- a/mysql-test/suite/ndb/t/ndb_binlog_multi.test
+++ /dev/null
@@ -1,82 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
---disable_warnings
-connection server2;
-drop table if exists t1,t2,t3;
-connection server1;
-drop table if exists t1,t2,t3;
---enable_warnings
-
-# Dummy table create/drop to avoid a race where table is created
-# before event subscription is set up, causing test failure (BUG#20677).
-connection server2;
-CREATE TABLE t3 (dummy INT PRIMARY KEY) ENGINE = NDB;
-connection server1;
-DROP TABLE t3;
-
-# reset for test
-connection server1;
-reset master;
-connection server2;
-reset master;
-
-#
-# basic test to see if one server sees the table from the other
-# and sets up the replication correctly
-#
-
-# create table on the other server
-connection server2;
-CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
-
-# insert something on server2
-INSERT INTO t2 VALUES (1,1),(2,2);
-# verify that we get the data in the binlog
---source include/show_binlog_events2.inc
-select * from t2 order by a;
---replace_column 1 <the_epoch>
-SELECT @the_epoch:=epoch,inserts,updates,deletes,schemaops FROM
- mysql.ndb_binlog_index ORDER BY epoch DESC LIMIT 1;
-let $the_epoch= `SELECT @the_epoch`;
-
-# see if we got something on server1
-connection server1;
-SELECT * FROM t2 ORDER BY a;
-# doing drop table will ensure that all the events have been received
-DROP TABLE t2;
-# verify thar we have table and data in binlog
---source include/show_binlog_events2.inc
---replace_result $the_epoch <the_epoch>
-eval SELECT inserts,updates,deletes,schemaops FROM
- mysql.ndb_binlog_index WHERE epoch=$the_epoch;
-
-# reset for next test
-connection server1;
-reset master;
-connection server2;
-reset master;
-
-# single schema ops will not show
-connection server2;
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
-INSERT INTO t1 VALUES (1),(2);
---source include/show_binlog_events2.inc
---replace_column 1 <the_epoch2>
-SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
- mysql.ndb_binlog_index ORDER BY epoch DESC LIMIT 1;
-let $the_epoch2= `SELECT @the_epoch2`;
-
---replace_result $the_epoch <the_epoch> $the_epoch2 <the_epoch2>
-eval SELECT inserts,updates,deletes,schemaops FROM
- mysql.ndb_binlog_index WHERE epoch > $the_epoch AND epoch <= $the_epoch2;
-
-# now see that we have the events on the other server
-connection server2;
-# doing drop table will ensure that all the events have been received
-drop table t1;
-# verify thar we have table and data in binlog
---source include/show_binlog_events2.inc
---replace_result $the_epoch <the_epoch> $the_epoch2 <the_epoch2>
-eval SELECT inserts,updates,deletes,schemaops FROM
- mysql.ndb_binlog_index WHERE epoch > $the_epoch AND epoch <= $the_epoch2;
diff --git a/mysql-test/suite/ndb/t/ndb_bitfield.test b/mysql-test/suite/ndb/t/ndb_bitfield.test
deleted file mode 100644
index de0ae23bfe6..00000000000
--- a/mysql-test/suite/ndb/t/ndb_bitfield.test
+++ /dev/null
@@ -1,124 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-create table t1 (
- pk1 int not null primary key,
- b bit(64)
-) engine=ndbcluster;
-
-show create table t1;
-insert into t1 values
-(0,b'1111111111111111111111111111111111111111111111111111111111111111'),
-(1,b'1000000000000000000000000000000000000000000000000000000000000000'),
-(2,b'0000000000000000000000000000000000000000000000000000000000000001'),
-(3,b'1010101010101010101010101010101010101010101010101010101010101010'),
-(4,b'0101010101010101010101010101010101010101010101010101010101010101');
-select hex(b) from t1 order by pk1;
-drop table t1;
-
-create table t1 (
- pk1 int not null primary key,
- b bit(9)
-) engine=ndbcluster;
-insert into t1 values
-(0,b'000000000'),
-(1,b'000000001'),
-(2,b'000000010'),
-(3,b'000000011'),
-(4,b'000000100');
-select hex(b) from t1 order by pk1;
-update t1 set b = b + b'101010101';
-select hex(b) from t1 order by pk1;
-drop table t1;
-
-create table t1 (a bit(7), b bit(9)) engine = ndbcluster;
-insert into t1 values
-(94, 46), (31, 438), (61, 152), (78, 123), (88, 411), (122, 118), (0, 177),
-(75, 42), (108, 67), (79, 349), (59, 188), (68, 206), (49, 345), (118, 380),
-(111, 368), (94, 468), (56, 379), (77, 133), (29, 399), (9, 363), (23, 36),
-(116, 390), (119, 368), (87, 351), (123, 411), (24, 398), (34, 202), (28, 499),
-(30, 83), (5, 178), (60, 343), (4, 245), (104, 280), (106, 446), (127, 403),
-(44, 307), (68, 454), (57, 135);
-select a+0 from t1 order by a;
-select b+0 from t1 order by b;
-drop table t1;
-
-create table t1 (
- dummyKey INTEGER NOT NULL,
- a001 TINYINT,
- a010 TINYINT,
- a012 TINYINT,
- a015 TINYINT,
- a016 TINYINT,
- a017 TINYINT,
- a019 TINYINT,
- a029 TINYINT,
- a030 TINYINT,
- a031 TINYINT,
- a032 TINYINT,
- a042 TINYINT,
- a043 TINYINT,
- a044 TINYINT,
- a3001 TINYINT,
- a3002 TINYINT,
- a3003 TINYINT,
- a3004 TINYINT,
- a3005 TINYINT,
- a3021 TINYINT,
- a3022 TINYINT,
- a BIT(6),
- b BIT(6),
- c BIT(6),
- d TINYINT,
- e TINYINT,
- f TINYINT,
- g TINYINT,
- h TINYINT,
- i TINYINT,
- j TINYINT,
- k TINYINT,
- l TINYINT,
- m TINYINT,
- n TINYINT,
- o TINYINT,
- a034 TINYINT,
-PRIMARY KEY USING HASH (dummyKey) ) engine=ndb;
-INSERT INTO `t1` VALUES
-(1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000001',b'111111',b'111110',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000010',b'000000',b'111101',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000100',b'001111',b'111011',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(4,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'001000',b'110000',b'110111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(5,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'010000',b'100001',b'101111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(6,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(7,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
-(8,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
---exec $MYSQL_DUMP --hex-blob --compact --order-by-primary --skip-extended-insert --no-create-info test t1
-drop table t1;
-
---error 1005
-create table t1 (
- pk1 bit(9) not null primary key,
- b int
-) engine=ndbcluster;
-show warnings;
-
---error 1005
-create table t1 (
- pk1 int not null primary key,
- b bit(9),
- key(b)
-) engine=ndbcluster;
-show warnings;
-
-# bug#16125
-create table t1 (
- pk1 int primary key,
- b bit(32) not null
-) engine=ndbcluster;
-
-insert into t1 values (1,1);
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_blob.test b/mysql-test/suite/ndb/t/ndb_blob.test
deleted file mode 100644
index 0388913df8b..00000000000
--- a/mysql-test/suite/ndb/t/ndb_blob.test
+++ /dev/null
@@ -1,519 +0,0 @@
---source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
-drop database if exists test2;
---enable_warnings
-
-#
-# Minimal NDB blobs test.
-#
-# On NDB API level there is an extensive test program "testBlobs".
-# A prerequisite for this handler test is that "testBlobs" succeeds.
-#
-
-# -- general test starts --
-
-# make test harder with autocommit off
-set autocommit=0;
-
-create table t1 (
- a int not null primary key,
- b text not null,
- c int not null,
- d longblob,
- key (c)
-) engine=ndbcluster;
-
-# -- values --
-
-# x0 size 256 (current inline size)
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-
-# b1 length 2000+256 (blob part aligned)
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-# d1 length 3000
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-
-# b2 length 20000
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-# d2 length 30000
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-
-select length(@x0),length(@b1),length(@d1) from dual;
-select length(@x0),length(@b2),length(@d2) from dual;
-
-# -- pk ops --
-
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
---replace_column 9 #
-explain select * from t1 where a = 1;
-
-# pk read
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=1;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=2;
-
-# pk update
-update t1 set b=@b2,d=@d2 where a=1;
-update t1 set b=@b1,d=@d1 where a=2;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=1;
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=2;
-
-# pk update
-update t1 set b=concat(b,b),d=concat(d,d) where a=1;
-update t1 set b=concat(b,b),d=concat(d,d) where a=2;
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where a=1;
-select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
-from t1 where a=2;
-
-# pk update to null
-update t1 set d=null where a=1;
-commit;
-select a from t1 where d is null;
-
-# bug#24028 - does not occur on MySQL level
-# bug#17986 - not seen by us anymore but could show as warning here
-delete from t1 where a=45567;
-commit;
-
-# pk delete
-delete from t1 where a=1;
-delete from t1 where a=2;
-commit;
-select count(*) from t1;
-
-# -- replace ( bug-6018 ) --
-
-# insert
-replace t1 set a=1,b=@b1,c=111,d=@d1;
-replace t1 set a=2,b=@b2,c=222,d=@d2;
-commit;
---replace_column 9 #
-explain select * from t1 where a = 1;
-
-# pk read
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=1;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=2;
-
-# update
-replace t1 set a=1,b=@b2,c=111,d=@d2;
-replace t1 set a=2,b=@b1,c=222,d=@d1;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where a=1;
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a=2;
-
-# update
-replace t1 set a=1,b=concat(@b2,@b2),c=111,d=concat(@d2,@d2);
-replace t1 set a=2,b=concat(@b1,@b1),c=222,d=concat(@d1,@d1);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where a=1;
-select a,length(b),substr(b,1+4*900,2),length(d),substr(d,1+6*900,3)
-from t1 where a=2;
-
-# update to null
-replace t1 set a=1,b='xyz',c=111,d=null;
-commit;
-select a,b from t1 where d is null;
-
-# pk delete
-delete from t1 where a=1;
-delete from t1 where a=2;
-commit;
-select count(*) from t1;
-
-# -- hash index ops --
-
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
---replace_column 9 #
-explain select * from t1 where c = 111;
-
-# hash key read
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c=111;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where c=222;
-
-# hash key update
-update t1 set b=@b2,d=@d2 where c=111;
-update t1 set b=@b1,d=@d1 where c=222;
-commit;
-select a,length(b),substr(b,1+2*9000,2),length(d),substr(d,1+3*9000,3)
-from t1 where c=111;
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c=222;
-
-# hash key update to null
-update t1 set d=null where c=111;
-commit;
-select a from t1 where d is null;
-
-# hash key delete
-delete from t1 where c=111;
-delete from t1 where c=222;
-commit;
-select count(*) from t1;
-
-# -- table scan ops, short values --
-
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
---replace_column 9 #
-explain select * from t1;
-
-# table scan read
-select * from t1 order by a;
-
-# table scan update
-update t1 set b=concat(a,'x',b),d=concat(a,'x',d);
-commit;
-select * from t1 order by a;
-
-# table scan delete
-delete from t1;
-commit;
-select count(*) from t1;
-
-# -- table scan ops, long values --
-
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
---replace_column 9 #
-explain select * from t1;
-
-# table scan read
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 order by a;
-
-# table scan update
-update t1 set b=concat(b,b),d=concat(d,d);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 order by a;
-
-# table scan delete
-delete from t1;
-commit;
-select count(*) from t1;
-
-# -- range scan ops, short values --
-
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
---replace_column 9 #
-explain select * from t1 where c >= 100 order by a;
-
-# range scan read
-select * from t1 where c >= 100 order by a;
-
-# range scan update
-update t1 set b=concat(a,'x',b),d=concat(a,'x',d)
-where c >= 100;
-commit;
-select * from t1 where c >= 100 order by a;
-
-# range scan delete
-delete from t1 where c >= 100;
-commit;
-select count(*) from t1;
-
-# -- range scan ops, long values --
-
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-commit;
---replace_column 9 #
-explain select * from t1 where c >= 100 order by a;
-
-# range scan read
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where c >= 100 order by a;
-
-# range scan update
-update t1 set b=concat(b,b),d=concat(d,d);
-commit;
-select a,length(b),substr(b,1+4*9000,2),length(d),substr(d,1+6*9000,3)
-from t1 where c >= 100 order by a;
-
-# range scan delete
-delete from t1 where c >= 100;
-commit;
-select count(*) from t1;
-
-# -- rollback --
-
-insert into t1 values(1,@b1,111,@d1);
-insert into t1 values(2,@b2,222,@d2);
-# 626
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 0;
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 1;
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 where a = 2;
-select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
-from t1 order by a;
-rollback;
-select count(*) from t1;
-
-# -- alter table and multi db --
-
-insert into t1 values(1,'b1',111,'dd1');
-insert into t1 values(2,'b2',222,'dd2');
-insert into t1 values(3,'b3',333,'dd3');
-insert into t1 values(4,'b4',444,'dd4');
-insert into t1 values(5,'b5',555,'dd5');
-insert into t1 values(6,'b6',666,'dd6');
-insert into t1 values(7,'b7',777,'dd7');
-insert into t1 values(8,'b8',888,'dd8');
-insert into t1 values(9,'b9',999,'dd9');
-commit;
-
-select * from t1 order by a;
-alter table t1 add x int;
-select * from t1 order by a;
-alter table t1 drop x;
-select * from t1 order by a;
-
-create database test2;
-use test2;
-
-CREATE TABLE t2 (
- a bigint unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-insert into t2 values (1,1,1),(2,2,2);
-select * from test.t1,t2 where test.t1.a = t2.a order by test.t1.a;
-
-drop table t2;
-use test;
-
-select * from t1 order by a;
-alter table t1 add x int;
-select * from t1 order by a;
-alter table t1 drop x;
-select * from t1 order by a;
-
-# -- end general test --
-
-drop table t1;
-drop database test2;
-
-# -- bug-5252 tinytext crashes + no-commit result + replace --
-
-set autocommit=0;
-create table t1 (
- a int not null primary key,
- b tinytext
-) engine=ndbcluster;
-
-insert into t1 values(1, 'x');
-update t1 set b = 'y';
-select * from t1;
-delete from t1;
-select * from t1;
-commit;
-replace t1 set a=2, b='y';
-select * from t1;
-delete from t1;
-select * from t1;
-drop table t1;
-
-# -- bug-5013 insert empty string to text --
-
-set autocommit=0;
-create table t1 (
- a int not null primary key,
- b text not null
-) engine=ndbcluster;
-
-insert into t1 values(1, '');
-select * from t1;
-commit;
-drop table t1;
-
-# -- bug #5349 --
-set autocommit=1;
-use test;
-CREATE TABLE t1 (
- a int,
- b text,
- PRIMARY KEY (a)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
-INSERT INTO t1 VALUES
-(1,'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
-INSERT INTO t1 VALUES
-(2,'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB');
-
-select * from t1 order by a;
-alter table t1 engine=ndb;
-select * from t1 order by a;
-
-# -- bug #5872 --
-set autocommit=1;
-alter table t1 engine=myisam;
-select * from t1 order by a;
-drop table t1;
-
-# -- bug #7340 --
-create table t1 (
- id int(11) unsigned primary key NOT NULL auto_increment,
- msg text NOT NULL
-) engine=ndbcluster default charset=utf8;
-insert into t1 (msg) values(
-'Tries to validate (8 byte length + inline bytes) as UTF8 :(
-Fast fix: removed validation for Text. It is not yet indexable
-so bad data will not crash kernel.');
-select * from t1;
-drop table t1;
-
-# -- bug #19201
-create table t1 (
- a int primary key not null auto_increment,
- b text
-) engine=ndbcluster;
---disable_query_log
-set autocommit=1;
-# more rows than batch size (64)
-# for this bug no blob parts would be necessary
-let $1 = 500;
-while ($1)
-{
- insert into t1 (b) values (repeat('x',4000));
- dec $1;
-}
---enable_query_log
-select count(*) from t1;
-truncate t1;
-select count(*) from t1;
-drop table t1;
-
-# -- bug#19956 - var* key, complex key
-
-create table t1 (
- a varchar(40) not null,
- b mediumint not null,
- t text,
- c varchar(2) not null,
- d bigint not null,
- primary key (a,b,c),
- key (c,a),
- unique key (d)
-) engine=ndb;
-
---disable_query_log
-set @s1 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau';
-set @s2 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz';
-set @s3 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah';
-set @v1 = repeat(@s1,123);
-set @v2 = repeat(@s2,234);
-set @v3 = repeat(@s3,345);
-set @v4 = NULL;
---enable_query_log
-
-insert into t1 (a,b,c,d,t) values ('a',1110,'a',1,@v1);
-insert into t1 (a,b,c,d,t) values ('b',1110,'a',2,@v2);
-insert into t1 (a,b,c,d,t) values ('a',1110,'b',3,@v3);
-insert into t1 (a,b,c,d,t) values ('b',1110,'b',4,@v4);
-select a,b,c,d,sha1(t) from t1 order by c,a;
-
-select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='a';
-select a,b,c,d,sha1(t) from t1 where a='a' and b=1110 and c='b';
-
-update t1 set t=@v4 where a='b' and b=1110 and c='a';
-update t1 set t=@v2 where a='b' and b=1110 and c='b';
-select a,b,c,d,sha1(t) from t1 order by c,a;
-
-update t1 set t=@v2 where d=2;
-update t1 set t=@v4 where d=4;
-select a,b,c,d,sha1(t) from t1 order by c,a;
-
-update t1 set t=@v4 where a='b' and c='a';
-update t1 set t=@v2 where a='b' and c='b';
-select a,b,c,d,sha1(t) from t1 order by c,a;
-
-update t1 set t=@v2 where b+d=1112;
-update t1 set t=@v4 where b+d=1114;
-select a,b,c,d,sha1(t) from t1 order by c,a;
-
-delete from t1 where a='a' and b=1110 and c='a';
-delete from t1 where a='b' and c='a';
-delete from t1 where d=3;
-delete from t1 where b+d=1114;
-select count(*) from t1;
-
-drop table t1;
-
-# End of 4.1 tests
-
-
-# bug # 30674 :
-# NOT NULL Blobs should default to zero-length. Not NULL TEXT
-# should default to zero-chars
-create table t1(
- a int,
- blob_nn blob not null,
- text_nn text not null,
- blob_nl blob,
- text_nl text,
- primary key(a)
-) engine=ndb;
-
-insert into t1(a) values (1);
-insert into t1(a, text_nl) values (2, 'MySQL Cluster NDB');
-
-select a, length(blob_nn), length(text_nn), blob_nl, text_nl from t1 order by a;
-
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_blob_partition.test b/mysql-test/suite/ndb/t/ndb_blob_partition.test
deleted file mode 100644
index 35df57b96ba..00000000000
--- a/mysql-test/suite/ndb/t/ndb_blob_partition.test
+++ /dev/null
@@ -1,97 +0,0 @@
---source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_query_log
-set new=on;
---enable_query_log
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# Minimal NDB blobs test with range partitions.
-#
-
-create table t1 (
- a mediumint not null,
- b text not null,
- c int not null,
- d longblob,
- primary key using hash (a,c),
- unique key (c)
-)
- engine=ndb
- partition by range (c)
- partitions 3
- ( partition p1 values less than (200),
- partition p2 values less than (300),
- partition p3 values less than (400));
-
---disable_query_log
-sleep 1;
-
-# length 61
-set @s0 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau';
-set @s1 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz';
-set @s2 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah';
-
-set @v1 = repeat(@s0, 100); # 1d42dd9090cf78314a06665d4ea938c35cc760f4
-set @v2 = repeat(@s1, 200); # 10d3c783026b310218d10b7188da96a2401648c6
-set @v3 = repeat(@s2, 300); # a33549d9844092289a58ac348dd59f09fc28406a
-set @v4 = repeat(@s0, 400); # daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
-set @v5 = repeat(@s1, 500); # 70fc9a7d08beebc522258bfb02000a30c77a8f1d
-set @v6 = repeat(@s2, 600); # 090565c580809efed3d369481a4bbb168b20713e
-set @v7 = repeat(@s0, 700); # 1e0070bec426871a46291de27b9bd6e4255ab4e5
-set @v8 = repeat(@s1, 800); # acbaba01bc2e682f015f40e79d9cbe475db3002e
-set @v9 = repeat(@s2, 900); # 9ee30d99162574f79c66ae95cdf132dcf9cbc259
---enable_query_log
-
-# -- insert --
-insert into t1 values (1, @v1, 101, @v2);
-insert into t1 values (1, @v2, 102, @v3);
-insert into t1 values (1, @v3, 103, @v4);
-insert into t1 values (2, @v4, 201, @v5);
-insert into t1 values (2, @v5, 202, @v6);
-insert into t1 values (2, @v6, 203, @v7);
-insert into t1 values (3, @v7, 301, @v8);
-insert into t1 values (3, @v8, 302, @v9);
-insert into t1 values (3, @v9, 303, @v1);
-select a, sha1(b), c, sha1(d) from t1 order by a;
-
-# -- pk read --
-select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101;
-select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201;
-select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301;
-
-# -- pk update --
-update t1 set b = @v3, d = @v4 where a = 1 and c = 102;
-update t1 set b = @v6, d = @v7 where a = 2 and c = 202;
-update t1 set b = @v9, d = @v1 where a = 3 and c = 302;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-
-# -- hash index update --
-update t1 set b = @v4, d = @v5 where c = 103;
-update t1 set b = @v7, d = @v8 where c = 203;
-update t1 set b = @v1, d = @v2 where c = 303;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-
-# -- full scan update --
-update t1 set b = @v5, d = @v6;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-
-# -- range scan update
-update t1 set b = @v1, d = @v2 where 100 < c and c < 200;
-update t1 set b = @v4, d = @v5 where 200 < c and c < 300;
-update t1 set b = @v7, d = @v8 where 300 < c and c < 400;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-
-# -- delete --
-delete from t1 where a = 1 and c = 101;
-delete from t1 where c = 102;
-# delete from t1 where c < 300; # XXX coredump
-delete from t1;
-select a, sha1(b), c, sha1(d) from t1 order by a;
-
-# -- clean up --
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_bug26793.test b/mysql-test/suite/ndb/t/ndb_bug26793.test
deleted file mode 100644
index f35d8808c1a..00000000000
--- a/mysql-test/suite/ndb/t/ndb_bug26793.test
+++ /dev/null
@@ -1,35 +0,0 @@
--- source include/have_ndb.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-CREATE TABLE `test` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`t` VARCHAR( 10 ) NOT NULL
-) ENGINE = ndbcluster;
-
-# Add user1@localhost with a specific password
-# and connect as that user
-GRANT USAGE ON *.* TO user1@localhost IDENTIFIED BY 'pass';
-connect (user1,localhost,user1,pass,*NO-ONE*);
-
-# Run the query 100 times
-disable_query_log;
-disable_result_log;
-let $i= 100;
-while ($i)
-{
-select count(*) from information_schema.tables union all select count(*) from information_schema.tables union all select count(*) from information_schema.tables;
-dec $i;
-}
-enable_query_log;
-enable_result_log;
-
-disconnect user1;
-
-# Switch back to the default connection and cleanup
-connection default;
-DROP TABLE `test`.`test`;
-drop user user1@localhost;
-
diff --git a/mysql-test/suite/ndb/t/ndb_bug31477.test b/mysql-test/suite/ndb/t/ndb_bug31477.test
deleted file mode 100644
index 41c519e56fd..00000000000
--- a/mysql-test/suite/ndb/t/ndb_bug31477.test
+++ /dev/null
@@ -1,109 +0,0 @@
---source include/have_ndb.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-# setup
-
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-
-# unique index
-connection con1;
-create table t1(a int primary key, b int, c int, unique(b)) engine = ndb;
-insert into t1 values (2,2,2);
-insert into t1 values (3,3,3);
-insert into t1 values (4,4,4);
-
-begin;
-insert into t1 values (1,1,1);
-
-connection con2;
-begin;
---error 1205
-update t1 set c = 2 where b = 1;
-rollback;
-
-connection con1;
-rollback;
-drop table t1;
-# ordered index
-
-connection con1;
-create table t1(a int primary key, b int, c int, key(b)) engine = ndb;
-insert into t1 values (2,2,2);
-insert into t1 values (3,3,3);
-insert into t1 values (4,4,4);
-
-begin;
-insert into t1 values (1,1,1);
-
-connection con2;
-begin;
---error 1205
-update t1 set c = 2 where b = 1;
-rollback;
-
-connection con1;
-rollback;
-drop table t1;
-
-# multiple versions
-
---echo --con1
-connection con1;
-create table t1(a int primary key, b int, c int, key(b)) engine = ndb;
-insert into t1 values (1,1,1);
-insert into t1 values (2,2,2);
-insert into t1 values (3,3,3);
-insert into t1 values (4,4,4);
-
-begin;
-update t1 set c = 10 where a = 1;
-update t1 set c = 20 where a = 1;
-update t1 set c = 30 where a = 1;
-
---echo --con1 c=30
-select * from t1 where b >= 1 order by b;
---echo --con2 c=1
-connection con2;
-select * from t1 where b >= 1 order by b;
-
---echo --con1
-connection con1;
-delete from t1 where a = 1;
-
---echo --con1 c=none
-select * from t1 where b >= 1 order by b;
---echo --con2 c=1
-connection con2;
-select * from t1 where b >= 1 order by b;
-
---echo --con1
-connection con1;
-commit;
-
---echo --con1 c=none
-select * from t1 where b >= 1 order by b;
---echo --con2 c=none
-connection con2;
-select * from t1 where b >= 1 order by b;
-
---echo --con1
-connection con1;
-begin;
-insert into t1 values (1,1,1);
-update t1 set c = 10 where a = 1;
-update t1 set c = 20 where a = 1;
-update t1 set c = 30 where a = 1;
-
---echo --con1 c=30
-select * from t1 where b >= 1 order by b;
---echo --con2 c=none
-connection con2;
-select * from t1 where b >= 1 order by b;
-
-# this fails with "no such table" via con2 ???
-connection con1;
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_cache.test b/mysql-test/suite/ndb/t/ndb_cache.test
deleted file mode 100644
index 9c299b61c24..00000000000
--- a/mysql-test/suite/ndb/t/ndb_cache.test
+++ /dev/null
@@ -1,122 +0,0 @@
--- source include/have_query_cache.inc
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-# Turn on and reset query cache
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-
-# Create test table in NDB
-CREATE TABLE t1 ( pk int not null primary key,
- a int, b int not null, c varchar(20)) ENGINE=ndbcluster;
-insert into t1 value (1, 2, 3, 'First row');
-
-# Perform one query which should be inerted in query cache
-select * from t1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-# Perform the same query and make sure the query cache is hit
-select * from t1;
-show status like "Qcache_hits";
-
-# Update the table and make sure the correct data is returned
-update t1 set a=3 where pk=1;
-select * from t1;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-# Insert a new record and make sure the correct data is returned
-insert into t1 value (2, 7, 8, 'Second row');
-insert into t1 value (4, 5, 6, 'Fourth row');
-select * from t1 order by pk;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-select * from t1 order by pk;
-show status like "Qcache_hits";
-
-# Perform a "new" query and make sure the query cache is not hit
-select * from t1 where b=3;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_hits";
-
-# Same query again...
-select * from t1 where b=3;
-show status like "Qcache_hits";
-
-# Delete from the table
-delete from t1 where c='Fourth row';
-show status like "Qcache_queries_in_cache";
-select * from t1 where b=3;
-show status like "Qcache_hits";
-
-# Start another connection and check that the query cache is hit
-connect (con1,localhost,root,,);
-connection con1;
-use test;
-select * from t1 order by pk;
-select * from t1 where b=3;
-show status like "Qcache_hits";
-
-# Update the table and switch to other connection
-update t1 set a=4 where b=3;
-connect (con2,localhost,root,,);
-connection con2;
-use test;
-show status like "Qcache_queries_in_cache";
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-# Use transactions and make sure the query cache is not updated until
-# transaction is commited
-begin;
-update t1 set a=5 where pk=1;
-# Note!! the below test shows that table is invalidated
-# before transaction is committed
-# TODO Fix so that cache is not invalidated HERE!
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-commit;
-# TODO Here query is invalidated once again, commit count in NDB has changed
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-drop table t1;
-
-show status like "Qcache_queries_in_cache";
-
-SET GLOBAL query_cache_size=0;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_cache2.test b/mysql-test/suite/ndb/t/ndb_cache2.test
deleted file mode 100644
index 352b01ef73f..00000000000
--- a/mysql-test/suite/ndb/t/ndb_cache2.test
+++ /dev/null
@@ -1,361 +0,0 @@
--- source include/have_query_cache.inc
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, t2, t3, t4, t5;
---enable_warnings
-
-
-# Turn on and reset query cache
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-# Turn on thread that will fetch commit count for open tables
-set GLOBAL ndb_cache_check_time=100;
-reset query cache;
-flush status;
-
-# Create test tables in NDB
-CREATE TABLE t1 (
- pk int not null primary key,
- a1 int,
- b1 int not null,
- c1 varchar(20)
-) ENGINE=ndb;
-CREATE TABLE t2 (
- pk int not null primary key,
- a2 int,
- b2 int not null
-) ENGINE=ndb;
-CREATE TABLE t3 (
- pk int not null primary key,
- a3 int,
- b3 int not null,
- c3 int not null,
- d3 varchar(20)
-) ENGINE=ndb;
-CREATE TABLE t4 (
- a4 int,
- b4 int not null,
- c4 char(20)
-) ENGINE=ndbcluster;
-CREATE TABLE t5 (
- pk int not null primary key,
- a5 int,
- b5 int not null,
- c5 varchar(255)
-) ENGINE=ndbcluster;
-insert into t1 value (1, 2, 3, 'First row');
-insert into t2 value (1, 2, 3);
-insert into t3 value (1, 2, 3, 4, '3 - First row');
-insert into t4 value (2, 3, '4 - First row');
-insert into t5 value (1, 2, 3, '5 - First row');
-
-# Perform one query which should be inserted in query cache
-select * from t1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-# Perform the same query and make sure the query cache is hit
-select * from t1;
-show status like "Qcache_hits";
-
-# Update the table and make sure the correct data is returned
-update t1 set a1=3 where pk=1;
-select * from t1;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-# Insert a new record and make sure the correct data is returned
-insert into t1 value (2, 7, 8, 'Second row');
-insert into t1 value (4, 5, 6, 'Fourth row');
-select * from t1 order by pk desc;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-select * from t1 order by pk desc;
-show status like "Qcache_hits";
-
-# Perform a "new" query and make sure the query cache is not hit
-select * from t1 where b1=3;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_hits";
-
-# Same query again...
-select * from t1 where b1=3;
-show status like "Qcache_hits";
-
-# Delete from the table
-delete from t1 where c1='Fourth row';
-show status like "Qcache_queries_in_cache";
-select * from t1 where b1=3;
-show status like "Qcache_hits";
-
-# Start another connection and check that the query cache is hit
-connect (con1,localhost,root,,);
-connection con1;
-use test;
-select * from t1 order by pk desc;
-select * from t1 where b1=3;
-show status like "Qcache_hits";
-
-# Update the table and switch to other connection
-update t1 set a1=4 where b1=3;
-connect (con2,localhost,root,,);
-connection con2;
-use test;
-show status like "Qcache_queries_in_cache";
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-# Load all tables into cache
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-
-#####################################################################
-# Start transaction and perform update
-# Switch to other transaction and check that update does not show up
-# Switch back and commit transaction
-# Switch to other transaction and check that update shows up
-#####################################################################
-connection con1;
-flush status;
-begin;
-update t1 set a1=5 where pk=1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-commit;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-#####################################################################
-# Start transaction and perform update
-# Switch to other transaction and check that update does not show up
-# Switch back, perform selects and commit transaction
-# Switch to other transaction and check that update shows up
-#####################################################################
-connection con1;
-flush status;
-begin;
-update t1 set a1=6 where pk=1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-# The two queries below will not hit cache since transaction is ongoing
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-commit;
-
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-#####################################################################
-# Start transaction and perform insert
-# Switch to other transaction and check that insert does not show up
-# Switch back, perform selects and commit transaction
-# Switch to other transaction and check that update shows up
-#####################################################################
-connection con1;
-flush status;
-begin;
-insert into t1 set pk=5, a1=6, b1=3, c1="New row";
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 where pk=5;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-# The below four queries will not be cached, trans is ongoing
-select * from t1 where pk=5;
-select * from t1 where pk=5;
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-commit;
-
-connection con2;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-connection con1;
-
-#####################################################################
-# Start transaction and perform delete
-# Switch to other transaction and check that delete does not show up
-# Switch back, perform selects and commit transaction
-# Switch to other transaction and check that update shows up
-#####################################################################
-connection con1;
-flush status;
-begin;
-delete from t1 where pk=2;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 where pk=2;
-select * from t1 order by pk desc;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-# The below four queries will not be cached, trans is ongoing
-select * from t1 where pk=2;
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-select * from t1 where pk=2;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-commit;
-
-connection con2;
-select * from t1 order by pk desc;
-select * from t1 where pk=2;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-connection con1;
-
-#####################################################################
-# Start a transaction which updates all tables
-# Switch to other transaction and check updates does not show up
-# Switch back, perform selects and commit transaction
-# Switch to other transaction and check that update shows up
-#####################################################################
-flush status;
-begin;
-update t1 set a1=9 where pk=1;
-update t2 set a2=9 where pk=1;
-update t3 set a3=9 where pk=1;
-update t4 set a4=9 where a4=2;
-update t5 set a5=9 where pk=1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con2;
-select * from t1 order by pk desc;
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-connection con1;
-# The below five queries will not be cached, trans is ongoing
-select * from t1 order by pk desc;
-select * from t1 order by pk desc;
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-commit;
-
-connection con2;
-select * from t1 order by pk desc;
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-connection con1;
-select * from t1 order by pk desc;
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-select * from t1 order by pk desc;
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-connection con2;
-select * from t1 order by pk desc;
-select * from t2;
-select * from t3;
-select * from t4;
-select * from t5;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-drop table t1, t2, t3, t4, t5;
-
-# There should be no queries in cache, when tables have been dropped
-show status like "Qcache_queries_in_cache";
-
-SET GLOBAL query_cache_size=0;
-SET GLOBAL ndb_cache_check_time=0;
-
-
diff --git a/mysql-test/suite/ndb/t/ndb_cache_multi.test b/mysql-test/suite/ndb/t/ndb_cache_multi.test
deleted file mode 100644
index 8c7f186b866..00000000000
--- a/mysql-test/suite/ndb/t/ndb_cache_multi.test
+++ /dev/null
@@ -1,71 +0,0 @@
--- source include/have_query_cache.inc
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-
-
-# Turn on and reset query cache on server1
-connection server1;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-
-# Turn on and reset query cache on server2
-connection server2;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-reset query cache;
-flush status;
-
-
-
-# Create test tables in NDB and load them into cache
-# on server1
-connection server1;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-select * from t2;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-
-# Connect server2, load table in to cache, then update the table
-connection server2;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-select * from t1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-update t1 set a=3 where a=2;
-
-# Connect to server1 and check that cache is invalidated
-# and correct data is returned
-connection server1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-select * from t1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-drop table t1, t2;
-
-
-# Turn off query cache on server1
-connection server1;
-set GLOBAL query_cache_size=0;
-
-# Turn off query cache on server2
-connection server2;
-set GLOBAL query_cache_size=0;
diff --git a/mysql-test/suite/ndb/t/ndb_cache_multi2.test b/mysql-test/suite/ndb/t/ndb_cache_multi2.test
deleted file mode 100644
index 853e4090193..00000000000
--- a/mysql-test/suite/ndb/t/ndb_cache_multi2.test
+++ /dev/null
@@ -1,125 +0,0 @@
--- source include/have_query_cache.inc
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-
-
-# Turn on and reset query cache on server1
-connection server1;
-echo == Connected to server1 ==;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=1;
-reset query cache;
-flush status;
-
-# Turn on and reset query cache on server2
-connection server2;
-echo == Connected to server2 ==;
-set GLOBAL query_cache_type=on;
-set GLOBAL query_cache_size=1355776;
-set GLOBAL ndb_cache_check_time=1;
-reset query cache;
-flush status;
-
-# Create test tables in NDB and load them into cache
-# on server1
-connection server1;
-echo == Connected to server1 ==;
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-# Run the check query once to load it into qc on server1
-# See at the end of this test why we need to disable ps-protocol for
-# this query (*)
---disable_ps_protocol
-select a != 3 from t1;
---enable_ps_protocol
-select * from t2;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-
-
-# Connect server2, load table in to cache, then update the table
-connection server2;
-echo == Connected to server2 ==;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-select * from t1;
-show status like "Qcache_queries_in_cache";
-show status like "Qcache_inserts";
-show status like "Qcache_hits";
-update t1 set a=3 where a=2;
-
-# Connect to server1 and check that cache is invalidated
-# and correct data is returned
-connection server1;
-echo == Connected to server1 ==;
-
-# Loop and wait for max 10 seconds until query cache thread
-# has invalidated the cache and the column a in t1 is equal to 3
-let $retries=20;
-while (`select a != 3 from t1`)
-{
- dec $retries;
- if (!$retries)
- {
- The query_cache thread failed to invalidate query_cache in 10 seconds;
- }
- sleep 0.5;
-}
-
-# Select from t1 one last time for the result file
-# Column a should be 3
-select * from t1;
-
-# There should now be three queries in the cache
-show status like "Qcache_queries_in_cache";
-
-drop table t1, t2;
-
-# Turn off and reset query cache on server1 and server2
-connection server1;
-set GLOBAL query_cache_size=0;
-set GLOBAL ndb_cache_check_time=0;
-reset query cache;
-flush status;
-connection server2;
-set GLOBAL query_cache_size=0;
-set GLOBAL ndb_cache_check_time=0;
-reset query cache;
-flush status;
-
-# (*) Why we need to execute the query in non-ps mode.
-# The principle of this test is: two mysqlds connected to one cluster,
-# both using their query cache. Queries are cached in server1
-# ("select a!=3 from t1", "select * from t1"),
-# table t1 is modified in server2, we want to see that this invalidates
-# the query cache of server1. Invalidation with NDB works like this:
-# when a query is found in the query cache, NDB is asked if the tables
-# have changed. In this test, ha_ndbcluster calls NDB every millisecond
-# to collect change information about tables.
-# Due to this millisecond delay, there is need for a loop ("while...")
-# in this test, which waits until a query1 ("select a!=3 from t1") is
-# invalidated (which is equivalent to it returning
-# up-to-date results), and then expects query2 ("select * from t1")
-# to have been invalidated (see up-to-date results).
-# But when enabling --ps-protocol in this test, the logic breaks,
-# because query1 is still done via mysql_real_query() (see mysqltest.c:
-# eval_expr() always uses mysql_real_query()). So, query1 returning
-# up-to-date results is not a sign of it being invalidated in the cache,
-# because it was NOT in the cache ("select a!=3 from t1" on line 39
-# was done with prep stmts, while `select a!=3 from t1` is not,
-# thus the second does not see the first in the cache). Thus, we may run
-# query2 when cache still has not been invalidated.
-# The solution is to make the initial "select a!=3 from t1" run
-# as a normal query, this repairs the broken logic.
-# But note, "select * from t1" is still using prepared statements
-# which was the goal of this test with --ps-protocol.
diff --git a/mysql-test/suite/ndb/t/ndb_charset.test b/mysql-test/suite/ndb/t/ndb_charset.test
deleted file mode 100644
index 2d9f66564bc..00000000000
--- a/mysql-test/suite/ndb/t/ndb_charset.test
+++ /dev/null
@@ -1,257 +0,0 @@
---source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# Minimal NDB charset test.
-#
-
-# pk - binary
-
-create table t1 (
- a char(3) character set latin1 collate latin1_bin primary key
-) engine=ndb;
-# ok
-insert into t1 values('aAa');
-insert into t1 values('aaa');
-insert into t1 values('AAA');
-# 3
-select * from t1 order by a;
-# 1
-select * from t1 where a = 'aAa';
-# 1
-select * from t1 where a = 'aaa';
-# 0
-select * from t1 where a = 'AaA';
-# 1
-select * from t1 where a = 'AAA';
-drop table t1;
-
-# pk - case insensitive
-
-create table t1 (
- a char(3) character set latin1 collate latin1_swedish_ci primary key
-) engine=ndb;
-# ok
-insert into t1 values('aAa');
-# fail
---error ER_DUP_ENTRY
-insert into t1 values('aaa');
---error ER_DUP_ENTRY
-insert into t1 values('AAA');
-# 1
-select * from t1 order by a;
-# 1
-select * from t1 where a = 'aAa';
-# 1
-select * from t1 where a = 'aaa';
-# 1
-select * from t1 where a = 'AaA';
-# 1
-select * from t1 where a = 'AAA';
-drop table t1;
-
-# pk - varchar
-
-create table t1 (
- a varchar(20) character set latin1 collate latin1_swedish_ci primary key
-) engine=ndb;
-#
-insert into t1 values ('A'),('b '),('C '),('d '),('E'),('f');
--- error ER_DUP_ENTRY
-insert into t1 values('b');
--- error ER_DUP_ENTRY
-insert into t1 values('a ');
-#
-select a,length(a) from t1 order by a;
-select a,length(a) from t1 order by a desc;
-select * from t1 where a = 'a';
-select * from t1 where a = 'a ';
-select * from t1 where a = 'd';
-drop table t1;
-
-# unique hash index - binary
-
-create table t1 (
- p int primary key,
- a char(3) character set latin1 collate latin1_bin not null,
- unique key(a)
-) engine=ndb;
-# ok
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-# 3
-select * from t1 order by p;
-# 1
-select * from t1 where a = 'aAa';
-# 1
-select * from t1 where a = 'aaa';
-# 0
-select * from t1 where a = 'AaA';
-# 1
-select * from t1 where a = 'AAA';
-drop table t1;
-
-# unique hash index - case insensitive
-
-create table t1 (
- p int primary key,
- a char(3) character set latin1 collate latin1_swedish_ci not null,
- unique key(a)
-) engine=ndb;
-# ok
-insert into t1 values(1, 'aAa');
-# fail
---error ER_DUP_ENTRY
-insert into t1 values(2, 'aaa');
---error ER_DUP_ENTRY
-insert into t1 values(3, 'AAA');
-# 1
-select * from t1 order by p;
-# 1
-select * from t1 where a = 'aAa';
-# 1
-select * from t1 where a = 'aaa';
-# 1
-select * from t1 where a = 'AaA';
-# 1
-select * from t1 where a = 'AAA';
-drop table t1;
-
-# unique hash index - varchar
-
-create table t1 (
- p int primary key,
- a varchar(20) character set latin1 collate latin1_swedish_ci not null,
- unique key(a)
-) engine=ndb;
-#
-insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
--- error ER_DUP_ENTRY
-insert into t1 values(99,'b');
--- error ER_DUP_ENTRY
-insert into t1 values(99,'a ');
-#
-select a,length(a) from t1 order by a;
-select a,length(a) from t1 order by a desc;
-select * from t1 where a = 'a';
-select * from t1 where a = 'a ';
-select * from t1 where a = 'd';
-drop table t1;
-
-# ordered index - binary
-
-create table t1 (
- p int primary key,
- a char(3) character set latin1 collate latin1_bin not null,
- index(a)
-) engine=ndb;
-# ok
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-insert into t1 values(4, 'aAa');
-insert into t1 values(5, 'aaa');
-insert into t1 values(6, 'AAA');
-# 6
-select * from t1 order by p;
-# plan too flaky
-#--replace_column 9 #
-#explain select * from t1 where a = 'zZz' order by p;
-# 2
-select * from t1 where a = 'aAa' order by p;
-# 2
-select * from t1 where a = 'aaa' order by p;
-# 0
-select * from t1 where a = 'AaA' order by p;
-# 2
-select * from t1 where a = 'AAA' order by p;
-drop table t1;
-
-# ordered index - case insensitive
-
-create table t1 (
- p int primary key,
- a char(3) character set latin1 collate latin1_swedish_ci not null,
- index(a)
-) engine=ndb;
-# ok
-insert into t1 values(1, 'aAa');
-insert into t1 values(2, 'aaa');
-insert into t1 values(3, 'AAA');
-insert into t1 values(4, 'aAa');
-insert into t1 values(5, 'aaa');
-insert into t1 values(6, 'AAA');
-# 6
-select * from t1 order by p;
-# plan too flaky
-#--replace_column 9 #
-#explain select * from t1 where a = 'zZz' order by p;
-# 6
-select * from t1 where a = 'aAa' order by p;
-# 6
-select * from t1 where a = 'aaa' order by p;
-# 6
-select * from t1 where a = 'AaA' order by p;
-# 6
-select * from t1 where a = 'AAA' order by p;
-drop table t1;
-
-# ordered index - varchar
-
-create table t1 (
- p int primary key,
- a varchar(20) character set latin1 collate latin1_swedish_ci not null,
- index(a, p)
-) engine=ndb;
-#
-insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
-insert into t1 values (7,'a'),(8,'B '),(9,'c '),(10,'D'),(11,'e'),(12,'F ');
-select p,a,length(a) from t1 order by a, p;
-select * from t1 where a = 'a ' order by a desc, p desc;
-select * from t1 where a >= 'D' order by a, p;
-select * from t1 where a < 'D' order by a, p;
-#
-select count(*) from t1 x, t1 y, t1 z where x.a = y.a and y.a = z.a;
-drop table t1;
-
-# minimal multi-byte test
-# removed by jonas as this requires a configure --with-extra-charsets
-#create table t1 (
-# a char(5) character set ucs2,
-# b varchar(7) character set utf8,
-# primary key(a, b)
-#) engine=ndb;
-#
-#insert into t1 values
-# ('a','A '),('B ','b'),('c','C '),('D','d'),('e ','E'),('F','f '),
-# ('A','b '),('b ','C'),('C','d '),('d','E'),('E ','f'),
-# ('a','C '),('B ','d'),('c','E '),('D','f');
-#-- error ER_DUP_ENTRY
-#insert into t1 values('d','f');
-#
-#select a,b,length(a),length(b) from t1 order by a,b limit 3;
-#select a,b,length(a),length(b) from t1 order by a desc, b desc limit 3;
-#select a,b,length(a),length(b) from t1 where a='c' and b='c';
-#drop table t1;
-
-# bug#14007
-create table t1 (
- a char(10) primary key
-) engine=ndbcluster default charset=latin1;
-
-insert into t1 values ('aaabb');
-select * from t1;
-replace into t1 set a = 'AAABB';
-select * from t1;
-replace into t1 set a = 'aAaBb';
-select * from t1;
-replace into t1 set a = 'aaabb';
-select * from t1;
-drop table t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_condition_pushdown.test b/mysql-test/suite/ndb/t/ndb_condition_pushdown.test
deleted file mode 100644
index a6ab06eae31..00000000000
--- a/mysql-test/suite/ndb/t/ndb_condition_pushdown.test
+++ /dev/null
@@ -1,2054 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4;
---enable_warnings
-
-#
-# Test of condition pushdown to storage engine
-#
-CREATE TABLE t1 (
- auto int(5) unsigned NOT NULL auto_increment,
- string char(10),
- vstring varchar(10),
- bin binary(2),
- vbin varbinary(7),
- tiny tinyint(4) DEFAULT '0' NOT NULL ,
- short smallint(6) DEFAULT '1' NOT NULL ,
- medium mediumint(8) DEFAULT '0' NOT NULL,
- long_int int(11) DEFAULT '0' NOT NULL,
- longlong bigint(13) DEFAULT '0' NOT NULL,
- real_float float(13,1) DEFAULT 0.0 NOT NULL,
- real_double double(16,4),
- real_decimal decimal(16,4),
- utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
- ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
- umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
- ulong int(11) unsigned DEFAULT '0' NOT NULL,
- ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
- bits bit(3),
- options enum('zero','one','two','three','four') not null,
- flags set('zero','one','two','three','four') not null,
- date_field date,
- year_field year,
- time_field time,
- date_time datetime,
- time_stamp timestamp,
- PRIMARY KEY (auto)
-) engine=ndb;
-
-insert into t1 values
-(NULL,"aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
- b'001','one','one',
- '1901-01-01','1901',
-'01:01:01','1901-01-01 01:01:01',NULL),
-(NULL,"bbbb","bbbb",0xBBBB,0xBBBB,-2,-2,-2,-2,-2,2.2,2.2,2.2,2,2,2,2,2,
- b'010','two','one,two',
- '1902-02-02','1902',
-'02:02:02','1902-02-02 02:02:02',NULL),
-(NULL,"cccc","cccc",0xCCCC,0xCCCC,-3,-3,-3,-3,-3,3.3,3.3,3.3,3,3,3,3,3,
- b'011','three','one,two,three',
- '1903-03-03','1903',
-'03:03:03','1903-03-03 03:03:03',NULL),
-(NULL,"dddd","dddd",0xDDDD,0xDDDD,-4,-4,-4,-4,-4,4.4,4.4,4.4,4,4,4,4,4,
- b'100','four','one,two,three,four',
- '1904-04-04','1904',
-'04:04:04','1904-04-04 04:04:04',NULL);
-
-CREATE TABLE t2 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 int unsigned, attr3 VARCHAR(10) ) ENGINE=ndbcluster;
-
-insert into t2 values (0,0,0, "a"),(1,1,1,"b"),(2,2,NULL,NULL),(3,3,3,"d"),(4,4,4,"e"),(5,5,5,"f");
-
-CREATE TABLE t3 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) ) ENGINE=ndbcluster;
-
-insert into t3 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
-
-CREATE TABLE t4 (pk1 int unsigned NOT NULL PRIMARY KEY, attr1 int unsigned NOT NULL, attr2 bigint unsigned, attr3 tinyint unsigned, attr4 VARCHAR(10) , KEY (attr1)) ENGINE=ndbcluster;
-
-insert into t4 values (0,0,0,0,"a"),(1,1,9223372036854775803,1,"b"),(2,2,9223372036854775804,2,"c"),(3,3,9223372036854775805,3,"d"),(4,4,9223372036854775806,4,"e"),(5,5,9223372036854775807,5,"f");
-
-set @old_optimizer_switch = @@session.optimizer_switch;
-set optimizer_switch = "engine_condition_pushdown=off";
-
-# Test all types and compare operators
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-bits = b'001' and
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-bits != b'001' and
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-bits > b'001' and
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-bits >= b'001' and
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-bits < b'100' and
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 and
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-bits <= b'100' and
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-
-# Test LIKE/NOT LIKE
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-
-# BETWEEN
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-(bits between b'001' and b'011') and
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-(b'001' between bits and bits) and
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-
-# NOT BETWEEN
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-(bits not between b'001' and b'011') and
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-(b'001' not between bits and bits) and
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-
-# IN
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-bits in(b'001',b'011') and
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in(short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-b'001' in(bits) and
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-
-# NOT IN
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-bits not in(b'001',b'011') and
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-b'001' not in(bits) and
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-
-# Various tests
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-
-set optimizer_switch = "engine_condition_pushdown=on";
-
-# Test all types and compare operators
---replace_column 9 #
-explain
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-
-# Test index scan with filter
-create index medium_index on t1(medium);
-
-# Test all types and compare operators
---replace_column 9 #
-explain
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string != "aaaa" and
-vstring != "aaaa" and
-bin != 0xAAAA and
-vbin != 0xAAAA and
-tiny != -1 and
-short != -1 and
-medium != -1 and
-long_int != -1 and
-longlong != -1 and
-(real_float < 1.0 or real_float > 2.0) and
-(real_double < 1.0 or real_double > 2.0) and
-(real_decimal < 1.0 or real_decimal > 2.0) and
-utiny != 1 and
-ushort != 1 and
-umedium != 1 and
-ulong != 1 and
-ulonglong != 1 and
-/* bits != b'001' and */
-options != 'one' and
-flags != 'one' and
-date_field != '1901-01-01' and
-year_field != '1901' and
-time_field != '01:01:01' and
-date_time != '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string > "aaaa" and
-vstring > "aaaa" and
-bin > 0xAAAA and
-vbin > 0xAAAA and
-tiny < -1 and
-short < -1 and
-medium < -1 and
-long_int < -1 and
-longlong < -1 and
-real_float > 1.1 and
-real_double > 1.1 and
-real_decimal > 1.1 and
-utiny > 1 and
-ushort > 1 and
-umedium > 1 and
-ulong > 1 and
-ulonglong > 1 and
-/* bits > b'001' and */
-(options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field > '1901-01-01' and
-year_field > '1901' and
-time_field > '01:01:01' and
-date_time > '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-
-select auto from t1 where
-string >= "aaaa" and
-vstring >= "aaaa" and
-bin >= 0xAAAA and
-vbin >= 0xAAAA and
-tiny <= -1 and
-short <= -1 and
-medium <= -1 and
-long_int <= -1 and
-longlong <= -1 and
-real_float >= 1.0 and
-real_double >= 1.0 and
-real_decimal >= 1.0 and
-utiny >= 1 and
-ushort >= 1 and
-umedium >= 1 and
-ulong >= 1 and
-ulonglong >= 1 and
-/* bits >= b'001' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field >= '1901-01-01' and
-year_field >= '1901' and
-time_field >= '01:01:01' and
-date_time >= '1901-01-01 01:01:01'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-
-select auto from t1 where
-string < "dddd" and
-vstring < "dddd" and
-bin < 0xDDDD and
-vbin < 0xDDDD and
-tiny > -4 and
-short > -4 and
-medium > -4 and
-long_int > -4 and
-longlong > -4 and
-real_float < 4.4 and
-real_double < 4.4 and
-real_decimal < 4.4 and
-utiny < 4 and
-ushort < 4 and
-umedium < 4 and
-ulong < 4 and
-ulonglong < 4 and
-/* bits < b'100' and */
-(options = 'one' or options = 'two' or options = 'three') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and
-date_field < '1904-01-01' and
-year_field < '1904' and
-time_field < '04:04:04' and
-date_time < '1904-04-04 04:04:04'
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-
-select auto from t1 where
-string <= "dddd" and
-vstring <= "dddd" and
-bin <= 0xDDDD and
-vbin <= 0xDDDD and
-tiny >= -4 and
-short >= -4 and
-medium >= -4 and
-long_int >= -4 and
-longlong >= -4 and
-real_float <= 4.5 and
-real_double <= 4.5 and
-real_decimal <= 4.5 and
-utiny <= 4 - 1 + 1 and /* Checking function composition */
-ushort <= 4 and
-umedium <= 4 and
-ulong <= 4 and
-ulonglong <= 4 and
-/* bits <= b'100' and */
-(options = 'one' or options = 'two' or options = 'three' or options = 'four') and
-(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and
-date_field <= '1904-04-04' and
-year_field <= '1904' and
-time_field <= '04:04:04' and
-date_time <= '1904-04-04 04:04:04'
-order by auto;
-
-# Test LIKE/NOT LIKE
---replace_column 9 #
-explain
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-
-select auto from t1 where
-string like "b%" and
-vstring like "b%" and
-bin like concat(0xBB, '%') and
-vbin like concat(0xBB, '%')
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-
-select auto from t1 where
-string not like "b%" and
-vstring not like "b%" and
-bin not like concat(0xBB, '%') and
-vbin not like concat(0xBB, '%')
-order by auto;
-
-# BETWEEN
---replace_column 9 #
-explain
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-/* (bits between b'001' and b'011') and */
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-(string between "aaaa" and "cccc") and
-(vstring between "aaaa" and "cccc") and
-(bin between 0xAAAA and 0xCCCC) and
-(vbin between 0xAAAA and 0xCCCC) and
-(tiny between -3 and -1) and
-(short between -3 and -1) and
-(medium between -3 and -1) and
-(long_int between -3 and -1) and
-(longlong between -3 and -1) and
-(utiny between 1 and 3) and
-(ushort between 1 and 3) and
-(umedium between 1 and 3) and
-(ulong between 1 and 3) and
-(ulonglong between 1 and 3) and
-/* (bits between b'001' and b'011') and */
-(options between 'one' and 'three') and
-(flags between 'one' and 'one,two,three') and
-(date_field between '1901-01-01' and '1903-03-03') and
-(year_field between '1901' and '1903') and
-(time_field between '01:01:01' and '03:03:03') and
-(date_time between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-/* (b'001' between bits and bits) and */
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-
-select auto from t1 where
-("aaaa" between string and string) and
-("aaaa" between vstring and vstring) and
-(0xAAAA between bin and bin) and
-(0xAAAA between vbin and vbin) and
-(-1 between tiny and tiny) and
-(-1 between short and short) and
-(-1 between medium and medium) and
-(-1 between long_int and long_int) and
-(-1 between longlong and longlong) and
-(1 between utiny and utiny) and
-(1 between ushort and ushort) and
-(1 between umedium and umedium) and
-(1 between ulong and ulong) and
-(1 between ulonglong and ulonglong) and
-/* (b'001' between bits and bits) and */
-('one' between options and options) and
-('one' between flags and flags) and
-('1901-01-01' between date_field and date_field) and
-('1901' between year_field and year_field) and
-('01:01:01' between time_field and time_field) and
-('1901-01-01 01:01:01' between date_time and date_time)
-order by auto;
-
-# NOT BETWEEN
---replace_column 9 #
-explain
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-/* (bits not between b'001' and b'011') and */
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-(string not between "aaaa" and "cccc") and
-(vstring not between "aaaa" and "cccc") and
-(bin not between 0xAAAA and 0xCCCC) and
-(vbin not between 0xAAAA and 0xCCCC) and
-(tiny not between -3 and -1) and
-(short not between -3 and -1) and
-(medium not between -3 and -1) and
-(long_int not between -3 and -1) and
-(longlong not between -3 and -1) and
-(utiny not between 1 and 3) and
-(ushort not between 1 and 3) and
-(umedium not between 1 and 3) and
-(ulong not between 1 and 3) and
-(ulonglong not between 1 and 3) and
-/* (bits not between b'001' and b'011') and */
-(options not between 'one' and 'three') and
-(flags not between 'one' and 'one,two,three') and
-(date_field not between '1901-01-01' and '1903-03-03') and
-(year_field not between '1901' and '1903') and
-(time_field not between '01:01:01' and '03:03:03') and
-(date_time not between '1901-01-01 01:01:01' and '1903-03-03 03:03:03')
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-/* (b'001' not between bits and bits) and */
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-
-select auto from t1 where
-("aaaa" not between string and string) and
-("aaaa" not between vstring and vstring) and
-(0xAAAA not between bin and bin) and
-(0xAAAA not between vbin and vbin) and
-(-1 not between tiny and tiny) and
-(-1 not between short and short) and
-(-1 not between medium and medium) and
-(-1 not between long_int and long_int) and
-(-1 not between longlong and longlong) and
-(1 not between utiny and utiny) and
-(1 not between ushort and ushort) and
-(1 not between umedium and umedium) and
-(1 not between ulong and ulong) and
-(1 not between ulonglong and ulonglong) and
-/* (b'001' not between bits and bits) and */
-('one' not between options and options) and
-('one' not between flags and flags) and
-('1901-01-01' not between date_field and date_field) and
-('1901' not between year_field and year_field) and
-('01:01:01' not between time_field and time_field) and
-('1901-01-01 01:01:01' not between date_time and date_time)
-order by auto;
-
-# IN
---replace_column 9 #
-explain
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-/* bits in(b'001',b'011') and */
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-string in("aaaa","cccc") and
-vstring in("aaaa","cccc") and
-bin in(0xAAAA,0xCCCC) and
-vbin in(0xAAAA,0xCCCC) and
-tiny in(-1,-3) and
-short in(-1,-3) and
-medium in(-1,-3) and
-long_int in(-1,-3) and
-longlong in(-1,-3) and
-utiny in(1,3) and
-ushort in(1,3) and
-umedium in(1,3) and
-ulong in(1,3) and
-ulonglong in(1,3) and
-/* bits in(b'001',b'011') and */
-options in('one','three') and
-flags in('one','one,two,three') and
-date_field in('1901-01-01','1903-03-03') and
-year_field in('1901','1903') and
-time_field in('01:01:01','03:03:03') and
-date_time in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in (short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-/* b'001' in(bits) and */
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-
-select auto from t1 where
-"aaaa" in(string) and
-"aaaa" in(vstring) and
-0xAAAA in(bin) and
-0xAAAA in(vbin) and
-(-1 in(tiny)) and
-(-1 in (short)) and
-(-1 in(medium)) and
-(-1 in(long_int)) and
-(-1 in(longlong)) and
-1 in(utiny) and
-1 in(ushort) and
-1 in(umedium) and
-1 in(ulong) and
-1 in(ulonglong) and
-/* b'001' in(bits) and */
-'one' in(options) and
-'one' in(flags) and
-'1901-01-01' in(date_field) and
-'1901' in(year_field) and
-'01:01:01' in(time_field) and
-'1901-01-01 01:01:01' in(date_time)
-order by auto;
-
-# NOT IN
---replace_column 9 #
-explain
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-/* bits not in(b'001',b'011') and */
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-
-select auto from t1 where
-string not in("aaaa","cccc") and
-vstring not in("aaaa","cccc") and
-bin not in(0xAAAA,0xCCCC) and
-vbin not in(0xAAAA,0xCCCC) and
-tiny not in(-1,-3) and
-short not in(-1,-3) and
-medium not in(-1,-3) and
-long_int not in(-1,-3) and
-longlong not in(-1,-3) and
-utiny not in(1,3) and
-ushort not in(1,3) and
-umedium not in(1,3) and
-ulong not in(1,3) and
-ulonglong not in(1,3) and
-/* bits not in(b'001',b'011') and */
-options not in('one','three') and
-flags not in('one','one,two,three') and
-date_field not in('1901-01-01','1903-03-03') and
-year_field not in('1901','1903') and
-time_field not in('01:01:01','03:03:03') and
-date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
-order by auto;
-
---replace_column 9 #
-explain
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-/* b'001' not in(bits) and */
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-
-select auto from t1 where
-"aaaa" not in(string) and
-"aaaa" not in(vstring) and
-0xAAAA not in(bin) and
-0xAAAA not in(vbin) and
-(-1 not in(tiny)) and
-(-1 not in(short)) and
-(-1 not in(medium)) and
-(-1 not in(long_int)) and
-(-1 not in(longlong)) and
-1 not in(utiny) and
-1 not in(ushort) and
-1 not in(umedium) and
-1 not in(ulong) and
-1 not in(ulonglong) and
-/* b'001' not in(bits) and */
-'one' not in(options) and
-'one' not in(flags) and
-'1901-01-01' not in(date_field) and
-'1901' not in(year_field) and
-'01:01:01' not in(time_field) and
-'1901-01-01 01:01:01' not in(date_time)
-order by auto;
-
-# Update test
-update t1
-set medium = 17
-where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = -1 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01';
-
-# Delete test
-delete from t1
-where
-string = "aaaa" and
-vstring = "aaaa" and
-bin = 0xAAAA and
-vbin = 0xAAAA and
-tiny = -1 and
-short = -1 and
-medium = 17 and
-long_int = -1 and
-longlong = -1 and
-real_float > 1.0 and real_float < 2.0 and
-real_double > 1.0 and real_double < 2.0 and
-real_decimal > 1.0 and real_decimal < 2.0 and
-utiny = 1 and
-ushort = 1 and
-umedium = 1 and
-ulong = 1 and
-ulonglong = 1 and
-/* bits = b'001' and */
-options = 'one' and
-flags = 'one' and
-date_field = '1901-01-01' and
-year_field = '1901' and
-time_field = '01:01:01' and
-date_time = '1901-01-01 01:01:01';
-
-select count(*) from t1;
-
-# Various tests
---replace_column 9 #
-explain
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1;
-
---replace_column 9 #
-explain
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-select * from t2 where attr3 is not null and attr1 > 2 order by pk1;
-
---replace_column 9 #
-explain
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1;
-
---replace_column 9 #
-explain
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1;
-
---replace_column 9 #
-explain
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1;
-
---replace_column 9 #
-explain
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1;
-
-# Some tests that are currently not supported and should not push condition
---replace_column 9 #
-explain
-select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto;
---replace_column 9 #
-explain
-select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1;
---replace_column 9 #
-explain
-select * from t3 left join t4 on t4.attr2 = t3.attr2 where t4.attr1 > 1 and t4.attr3 < 5 or t4.attr1 is null order by t4.pk1;
-
-# bug#15722
-create table t5 (a int primary key auto_increment, b tinytext not null)
-engine = ndb;
-insert into t5 (b) values ('jonas'), ('jensing'), ('johan');
-set optimizer_switch = "engine_condition_pushdown=off";
-select * from t5 where b like '%jo%' order by a;
-set optimizer_switch = "engine_condition_pushdown=on";
---replace_column 9 #
-explain select * from t5 where b like '%jo%';
-select * from t5 where b like '%jo%' order by a;
-
-# bug#21056 ndb pushdown equal/setValue error on datetime
-set optimizer_switch = "engine_condition_pushdown=off";
-select auto from t1 where date_time like '1902-02-02 %' order by auto;
-select auto from t1 where date_time not like '1902-02-02 %' order by auto;
-set optimizer_switch = "engine_condition_pushdown=on";
---replace_column 9 #
-explain select auto from t1 where date_time like '1902-02-02 %';
-select auto from t1 where date_time like '1902-02-02 %' order by auto;
---replace_column 9 #
-explain select auto from t1 where date_time not like '1902-02-02 %';
-select auto from t1 where date_time not like '1902-02-02 %' order by auto;
-
-# bug#17421 -1
-drop table t1;
-create table t1 (a int, b varchar(3), primary key using hash(a))
-engine=ndb;
-insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
-# in TUP the constants 'ab' 'abc' were expected in varchar format
-# "like" returned error which became "false"
-# scan filter negates "or" which exposes the bug
-set optimizer_switch = "engine_condition_pushdown=off";
-select * from t1 where b like 'ab';
-select * from t1 where b like 'ab' or b like 'ab';
-select * from t1 where b like 'abc';
-select * from t1 where b like 'abc' or b like 'abc';
-set optimizer_switch = "engine_condition_pushdown=on";
-select * from t1 where b like 'ab';
-select * from t1 where b like 'ab' or b like 'ab';
-select * from t1 where b like 'abc';
-select * from t1 where b like 'abc' or b like 'abc';
-
-# bug#17421 -2
-drop table t1;
-create table t1 (a int, b char(3), primary key using hash(a))
-engine=ndb;
-insert into t1 values (1,'a'), (2,'ab'), (3,'abc');
-# test that incorrect MySQL behaviour is preserved
-# 'ab ' LIKE 'ab' is true in MySQL
-set optimizer_switch = "engine_condition_pushdown=off";
-select * from t1 where b like 'ab';
-select * from t1 where b like 'ab' or b like 'ab';
-select * from t1 where b like 'abc';
-select * from t1 where b like 'abc' or b like 'abc';
-set optimizer_switch = "engine_condition_pushdown=on";
-select * from t1 where b like 'ab';
-select * from t1 where b like 'ab' or b like 'ab';
-select * from t1 where b like 'abc';
-select * from t1 where b like 'abc' or b like 'abc';
-
-# bug#20406 (maybe same as bug#17421 -1, not seen on 32-bit x86)
-drop table t1;
-create table t1 ( fname varchar(255), lname varchar(255) )
-engine=ndbcluster;
-insert into t1 values ("Young","Foo");
-
-set optimizer_switch = "engine_condition_pushdown=off";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-set optimizer_switch = "engine_condition_pushdown=on";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-
-# make sure optimizer does not do some crazy shortcut
-insert into t1 values ("aaa", "aaa");
-insert into t1 values ("bbb", "bbb");
-insert into t1 values ("ccc", "ccc");
-insert into t1 values ("ddd", "ddd");
-
-set optimizer_switch = "engine_condition_pushdown=off";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-set optimizer_switch = "engine_condition_pushdown=on";
-SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
-
-# bug#29390 (scan filter is too large, discarded)
-# bug#34107 (previous limit was too large for TUP)
-
-drop table t1;
-
-create table t1 (a int, b int, c int, d int, primary key using hash(a))
- engine=ndbcluster;
-
-insert into t1 values (10,1,100,0+0x1111);
-insert into t1 values (20,2,200,0+0x2222);
-insert into t1 values (30,3,300,0+0x3333);
-insert into t1 values (40,4,400,0+0x4444);
-insert into t1 values (50,5,500,0+0x5555);
-
-set optimizer_switch = "engine_condition_pushdown=on";
-
-select a,b,d from t1
- where b in (0,1,2,5)
- order by b;
-
---echo -- big filter just below limit
---disable_query_log
-select a,b,d from t1
- where b in (
-0,1,2,5,0,1,2,5,0,1,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2)
- order by b;
---enable_query_log
-
---echo -- big filter just above limit
---disable_query_log
-select a,b,d from t1
- where b in (
-0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,
-0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2,5,0,1,2)
- order by b;
---enable_query_log
-
-set optimizer_switch = @old_optimizer_switch;
-DROP TABLE t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/ndb/t/ndb_config.test b/mysql-test/suite/ndb/t/ndb_config.test
deleted file mode 100644
index 08d1226953c..00000000000
--- a/mysql-test/suite/ndb/t/ndb_config.test
+++ /dev/null
@@ -1,23 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=type,nodeid,host 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=nodeid,host,DataMemory,IndexMemory --type=ndbd 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults -r \\\n -f " " --query=nodeid,host,DataMemory,IndexMemory --type=ndbd 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=nodeid --type=ndbd --host=localhost 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=type,nodeid,host --config-file=$MYSQL_TEST_DIR/std_data/ndb_config_config.ini 2> /dev/null
-
-# End of 4.1 tests
-
---exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.jonas --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf1.cnf --query=type,nodeid,host,IndexMemory,DataMemory --mycnf 2> /dev/null
-
---exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.cluster0 --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf2.cnf --query=type,nodeid,host --mycnf 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.cluster1 --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf2.cnf --query=type,nodeid,host --mycnf 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.cluster2 --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf2.cnf --query=type,nodeid,host --mycnf 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.cluster2 --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf2.cnf --ndb-shm --connections --query=type,nodeid1,nodeid2,group,nodeidserver --mycnf 2> /dev/null
-
-
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=nodeid --host=localhost --config-file=$MYSQL_TEST_DIR/std_data/ndb_config_config.ini 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=nodeid --host=1.2.3.4 --config-file=$MYSQL_TEST_DIR/std_data/ndb_config_config.ini 2> /dev/null
---exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=nodeid --host=127.0.0.1 --config-file=$MYSQL_TEST_DIR/std_data/ndb_config_config.ini 2> /dev/null
diff --git a/mysql-test/suite/ndb/t/ndb_config2.test b/mysql-test/suite/ndb/t/ndb_config2.test
deleted file mode 100644
index 170f1b2e5e7..00000000000
--- a/mysql-test/suite/ndb/t/ndb_config2.test
+++ /dev/null
@@ -1,7 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
-# Following doesn't work in all configurations (if shm is not defined)
-
---exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.cluster2 --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf2.cnf --ndb-shm --connections --query=type,nodeid1,nodeid2,group,nodeidserver --mycnf 2> /dev/null
diff --git a/mysql-test/suite/ndb/t/ndb_cursor.test b/mysql-test/suite/ndb/t/ndb_cursor.test
deleted file mode 100644
index 406f8629cfe..00000000000
--- a/mysql-test/suite/ndb/t/ndb_cursor.test
+++ /dev/null
@@ -1,47 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
-drop table if exists t2;
---enable_warnings
-
-create table t1 (
- a int not null primary key,
- b int not null
-) engine=ndb;
-
-create table t2 (
- a int not null primary key,
- b int not null
-) engine=ndb;
-
-insert into t1 values (1,10), (2,20), (3,30), (4, 40);
-
-delimiter //;
-create procedure test_cursor ()
-begin
- declare done int default 0;
- declare temp_a int;
- declare temp_b int;
- declare cur1 cursor for select a,b from t1;
- declare continue handler for sqlstate '02000' set done = 1;
- open cur1;
- repeat
- fetch cur1 into temp_a, temp_b;
- if not done then
- insert into t2 values (temp_a, temp_b);
- end if;
- until done end repeat;
- close cur1;
-end;
-//
-delimiter ;//
-
-select * from t2 order by a;
-call test_cursor();
-select * from t2 order by a;
-drop procedure test_cursor;
-drop table t1,t2;
-
---echo end of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_database.test b/mysql-test/suite/ndb/t/ndb_database.test
deleted file mode 100644
index 8bfdf40de88..00000000000
--- a/mysql-test/suite/ndb/t/ndb_database.test
+++ /dev/null
@@ -1,24 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop database if exists mysqltest;
---enable_warnings
-
-#
-# Check that all tables in a database are dropped when database is dropped
-#
-
-create database mysqltest;
-create table mysqltest.t1 (a int primary key, b int) engine=ndb;
-use mysqltest;
-show tables;
-
-drop database mysqltest;
-create database mysqltest;
-use mysqltest;
-show tables;
-
-drop database mysqltest;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_dd_alter.test b/mysql-test/suite/ndb/t/ndb_dd_alter.test
deleted file mode 100644
index 7635a8944da..00000000000
--- a/mysql-test/suite/ndb/t/ndb_dd_alter.test
+++ /dev/null
@@ -1,274 +0,0 @@
-##############################################################
-# Author: JBM
-# Date: 2006-01-12
-# Purpose: To test using ndb memory and disk tables together.
-##############################################################
-
-##############################################################
-# Author: Nikolay
-# Date: 2006-05-12
-# Purpose: To test using ndb memory and disk tables together.
-#
-# Select from disk into memory table
-# Select from disk into memory table
-# Create test that loads data, use mysql dump to dump data, drop table,
-# create table and load from mysql dump.
-# Use group by asc and dec; Use having; Use order by
-# ALTER Tests (Meta data testing):
-# ALTER from InnoDB to Cluster Disk Data
-# ALTER from MyISAM to Cluster Disk Data
-# ALTER from Cluster Disk Data to InnoDB
-# ALTER from Cluster Disk Data to MyISAM
-# ALTER DD Tables and add columns
-# ALTER DD Tables and add Indexes
-# ALTER DD Tables and drop columns
-#
-##############################################################
-# Author: Jonathan
-# Date 2006-08-28
-# Purpose: To take out some of the test that are already
-# Covered by other tests. Per Jonas
-# The new purpose of this test is testing "Alter"
-# Statements. Therefore the name is changed to
-# ndb_dd_alter.test
-# Removed tests include:
-# Select from disk into memory table
-# Select from disk into memory table
-# Create test that loads data, use mysql dump to dump data, drop table,
-# create table and load from mysql dump.
-# Use group by asc and dec; Use having; Use order by
-##############################################################
-
--- source include/have_ndb.inc
--- source include/have_innodb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
---enable_warnings
-
-############ Test Setup Section #############
--- echo **** Test Setup Section ****
-################## ALTER Tests (Meta data testing) ####################
-
- CREATE LOGFILE GROUP lg
- ADD UNDOFILE './lg_group/undofile.dat'
- INITIAL_SIZE 16M
- UNDO_BUFFER_SIZE = 1M
- ENGINE=NDB;
-
- CREATE TABLESPACE ts
- ADD DATAFILE './table_space/datafile.dat'
- USE LOGFILE GROUP lg
- INITIAL_SIZE 12M
- ENGINE NDB;
-
-#### Try to ALTER from InnoDB to Cluster Disk Data
-
-CREATE TABLE test.t1 (
- a1 smallint NOT NULL,
- a2 int NOT NULL,
- a3 bigint NOT NULL,
- a4 char(10),
- a5 decimal(5,1),
- a6 time,
- a7 date,
- a8 datetime,
- a9 VARCHAR(255),
- a10 blob,
- PRIMARY KEY(a1)
-) ENGINE=InnoDB;
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval insert into test.t1 values($1, $1+1, $1+2000000000, "aaa$1", 34.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
- dec $1;
-}
-enable_query_log;
-
-SHOW CREATE TABLE test.t1;
-SELECT * FROM test.t1 ORDER BY a1;
-ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-SELECT * FROM test.t1 ORDER BY a1;
-DROP TABLE test.t1;
-
-#### Try to ALTER from MyISAM to Cluster Disk Data
-
-CREATE TABLE test.t1 (
- a1 smallint NOT NULL,
- a2 int NOT NULL,
- a3 bigint NOT NULL,
- a4 char(10),
- a5 decimal(5,1),
- a6 time,
- a7 date,
- a8 datetime,
- a9 VARCHAR(255),
- a10 blob,
- PRIMARY KEY(a1)
-) ENGINE=MyISAM;
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval insert into test.t1 values($1, $1+1, $1+2000000000, "aaa$1", 34.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
- dec $1;
-}
-enable_query_log;
-
-SHOW CREATE TABLE test.t1;
-SELECT * FROM test.t1 ORDER BY a1;
-ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-SELECT * FROM test.t1 ORDER BY a1;
-
-#### Try to ALTER from Cluster Disk Data to InnoDB
-
-ALTER TABLE test.t1 ENGINE=InnoDB;
-SHOW CREATE TABLE test.t1;
-SELECT * FROM test.t1 ORDER BY a1;
-ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
-SHOW CREATE TABLE test.t1;
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-
-#### Try to ALTER from Cluster Disk Data to MyISAM
-
-ALTER TABLE test.t1 ENGINE=MyISAM;
-SHOW CREATE TABLE test.t1;
-DROP TABLE test.t1;
-
-#### Try to ALTER DD Tables and add columns
-
-CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval insert into test.t1 values($1);
- dec $1;
-}
-enable_query_log;
-
-SELECT * FROM test.t1 ORDER BY a1;
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
-
-ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE;
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval update test.t1 set a2 = $1+1.2345, a3 = $1+20000000.00 where a1 = $1;
- dec $1;
-}
-enable_query_log;
-
-SELECT * FROM test.t1 ORDER BY a1;
-
-ALTER TABLE test.t1 ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME;
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval update test.t1 set a4 = 0, a5 = 1, a6 = $1+23456, a7 = '2006-1-1',
- a8 = '07:04:00' where a1 = $1;
- dec $1;
-}
-enable_query_log;
-
-SELECT a1,a2,a3,hex(a4), a5,a6,a7,a8 FROM test.t1 ORDER BY a1;
-
-ALTER TABLE test.t1 ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;
-SHOW CREATE TABLE test.t1;
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-
-disable_query_log;
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-enable_query_log;
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval update test.t1 set a9 = '1971-5-28 16:55:03', a10 = 'abc', a11 = 'abcdefg',
- a12 = 'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', a13 = 'Text Field',
- a14 = @d2 where a1 = $1;
- dec $1;
-}
-enable_query_log;
-
-SELECT a1, a2,a3,hex(a4),a5,a6,a7,a8,a9,a10,a11,a12,a13 FROM test.t1 ORDER BY a1;
-
-#### Try to ALTER DD Tables and add Indexes
-
-ALTER TABLE test.t1 ADD INDEX a2_i (a2), ADD INDEX a3_i (a3);
-
-SHOW CREATE TABLE test.t1;
-
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-
-ALTER TABLE test.t1 DROP INDEX a2_i;
-
-SHOW CREATE TABLE test.t1;
-
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-
-TRUNCATE TABLE test.t1;
-
-SHOW CREATE TABLE test.t1;
-
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-
-#### Try to ALTER DD Tables and drop columns
-
-
-ALTER TABLE test.t1 DROP a14;
-ALTER TABLE test.t1 DROP a13;
-ALTER TABLE test.t1 DROP a12;
-ALTER TABLE test.t1 DROP a11;
-ALTER TABLE test.t1 DROP a10;
-ALTER TABLE test.t1 DROP a9;
-ALTER TABLE test.t1 DROP a8;
-ALTER TABLE test.t1 DROP a7;
-ALTER TABLE test.t1 DROP a6;
-ALTER TABLE test.t1 DROP PRIMARY KEY;
-
-SHOW CREATE TABLE test.t1;
-
-# Check column storage
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
-
-DROP TABLE test.t1;
-
- ALTER TABLESPACE ts
- DROP DATAFILE './table_space/datafile.dat'
- ENGINE NDB;
- DROP TABLESPACE ts ENGINE NDB;
- DROP LOGFILE GROUP lg ENGINE=NDB;
-
-####################### End section 4 #########################
-#End 5.1 test case
-
diff --git a/mysql-test/suite/ndb/t/ndb_dd_basic.test b/mysql-test/suite/ndb/t/ndb_dd_basic.test
deleted file mode 100644
index 0fb793e2142..00000000000
--- a/mysql-test/suite/ndb/t/ndb_dd_basic.test
+++ /dev/null
@@ -1,485 +0,0 @@
-#################################
-# Author: JO
-# Org Date: ?
-# Purpose: To test basic Cluster Disk Data
-#################################
-# Change Author: JBM
-# Change Date: 2006-01-11
-# Change: Cleanup and test rename
-#################################
-# Change Author: Guangbao Ni
-# Change Date: 2007-03-20
-# Change: Test insert data when no datafile in spacetable
-#################################
-
--- source include/have_ndb.inc
-
-#
-# Bug#30322 Server crashes on selecting from i_s.columns when cluster is running -regression
-#
---replace_column 1 #
-select count(*) from information_schema.columns;
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-# some negative tests
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=MYISAM;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=XYZ;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M;
-
-##################################
-# Basic test of disk tables for NDB
-# Start by creating a logfile group
-##################################
-
-set storage_engine=ndb;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-
-###################################################
-# Create a tablespace connected to the logfile group
-###################################################
-
-set storage_engine=myisam;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-
-########################################
-# Create a table using this tablespace
-########################################
-
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-
-SHOW CREATE TABLE t1;
-
-INSERT INTO t1 VALUES (0, 0, 0);
-SELECT * FROM t1;
-
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-
-SELECT COUNT(*) FROM t1;
-
-####################################
-# Test error cases with size numbers
-####################################
---error ER_WRONG_SIZE_NUMBER
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10y
-ENGINE = NDB;
-
---error ER_WRONG_SIZE_NUMBER
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10MB
-ENGINE = NDB;
-
---error 1064
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10 MB
-ENGINE = NDB;
-
---error 1064
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 10 M
-ENGINE = NDB;
-
---error ER_SIZE_OVERFLOW_ERROR
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'x.dat'
-INITIAL_SIZE 1000000000000K
-ENGINE = NDB;
-
-DROP TABLE t1;
-
-create tablespace ts2
-add datafile 'datafile2_1.dat'
-use logfile group lg1
-initial_size 12M
-engine ndb;
-
-CREATE TABLE City (
- ID int(11) NOT NULL AUTO_INCREMENT,
- Name char(35) NOT NULL,
- CountryCode char(3) NOT NULL,
- District char(20) NOT NULL,
- Population int(11) NOT NULL,
- PRIMARY KEY (ID)
-) ENGINE=ndbcluster
-tablespace ts2
-storage disk;
-
-alter tablespace ts2
-drop datafile 'datafile2_1.dat'
-engine ndb;
-
-#It will give error messages: NoDatafile in tablespace
---error ER_GET_ERRMSG
-insert
-into City (Name,CountryCode,District,Population)
-values ('BeiJing','CN','Beijing',2000);
-
---error ER_DROP_FILEGROUP_FAILED
-drop tablespace ts2
-engine ndb;
-
-drop table City;
-
-drop tablespace ts2
-engine ndb;
-
-############################
-# Test update of mm/dd part
-############################
-
-CREATE TABLE t1 (a INT PRIMARY KEY, b CHAR(4) NOT NULL, c CHAR(4) NOT NULL, KEY(b)) TABLESPACE ts1 STORAGE DISK ENGINE = NDB;
-INSERT INTO t1 VALUES (1,'1','1'), (2,'2','2'), (3,'3','3');
-BEGIN;
-UPDATE t1 SET b = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET c = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET b = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-BEGIN;
-UPDATE t1 SET c = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET b = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET c = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET b = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET b = '6' WHERE b = '5';
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET b = '7'WHERE c = '4';
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET c = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET c = '6' WHERE b = '7';
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET c = '7' WHERE c = '6';
-SELECT * FROM t1 ORDER BY 1;
-DROP TABLE t1;
-
-#####
-
-CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(4) NOT NULL, c CHAR(4) NOT NULL, KEY(b)) TABLESPACE ts1 STORAGE DISK ENGINE NDB;
-INSERT INTO t1 VALUE (1,'1','1'), (2,'2','2'), (3,'3','3');
-BEGIN;
-UPDATE t1 SET b = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET c = '2' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET b = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-BEGIN;
-UPDATE t1 SET c = '3' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET b = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-UPDATE t1 SET c = '4' WHERE a = 1;
-SELECT b FROM t1 WHERE a = 1;
-SELECT * FROM t1 WHERE a = 1;
-COMMIT;
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET b = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET b = '6' WHERE b = '5';
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET b = '7' WHERE c = '4';
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET c = '5' WHERE a = 1;
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET c = '6' WHERE b = '7';
-SELECT * FROM t1 ORDER BY 1;
-UPDATE t1 SET c = '7' WHERE c = '6';
-SELECT * FROM t1 ORDER BY 1;
-
-DELETE FROM t1;
-INSERT INTO t1 VALUES (3,'1','1');
-BEGIN;
-UPDATE t1 SET b = b + 2 WHERE A = 3;
-DELETE FROM t1 WHERE A = 3;
-INSERT INTO t1 VALUES (3,'0','0');
-COMMIT;
-SELECT * from t1 ORDER BY 1;
-
-DROP TABLE t1;
-
-########################
-# Test for blobs...
-########################
-
-CREATE TABLE t1 (
- a INT NOT NULL PRIMARY KEY,
- b TEXT NOT NULL
-) TABLESPACE ts1 STORAGE DISK ENGINE=NDBCLUSTER;
-
-# b1 length 2000+256 (blob part aligned)
-#########################################
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-# b2 length 20000
-##########################################
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-
-INSERT INTO t1 VALUES(1,@b1);
-INSERT INTO t1 VALUES(2,@b2);
-SELECT a,length(b),substr(b,1+2*900,2) FROM t1 WHERE a=1;
-SELECT a,length(b),substr(b,1+2*9000,2) FROM t1 WHERE a=2;
-UPDATE t1 SET b=@b2 WHERE a=1;
-UPDATE t1 SET b=@b1 WHERE a=2;
-SELECT a,length(b),substr(b,1+2*9000,2) FROM t1 WHERE a=1;
-SELECT a,length(b),substr(b,1+2*900,2) FROM t1 WHERE a=2;
-UPDATE t1 SET b=concat(b,b) WHERE a=1;
-UPDATE t1 SET b=concat(b,b) WHERE a=2;
-SELECT a,length(b),substr(b,1+4*9000,2) FROM t1 WHERE a=1;
-SELECT a,length(b),substr(b,1+4*900,2) FROM t1 WHERE a=2;
-DELETE FROM t1 WHERE a=1;
-DELETE FROM t1 WHERE a=2;
-SELECT COUNT(*) FROM t1;
-DROP TABLE t1;
-
-# bug#20612 INS-DEL bug (not pgman bug)
-# found via disk data assert but is not pgman or disk data related
-
-CREATE TABLE t1 (
- a int NOT NULL,
- b varchar(4000), -- must use 2 pages undo
- PRIMARY KEY using hash (a)
-)
-TABLESPACE ts1 STORAGE DISK ENGINE=NDBCLUSTER;
-
-set autocommit = 0;
-insert into t1 values(0,'x');
-insert into t1 values(1,'x');
-insert into t1 values(2,'x');
-insert into t1 values(3,'x');
-insert into t1 values(4,'x');
-insert into t1 values(5,'x');
-insert into t1 values(6,'x');
-insert into t1 values(7,'x');
-insert into t1 values(8,'x');
-delete from t1 where a = 0;
-commit;
-
-delete from t1;
-begin;
-insert into t1 values (1, 'x');
-select * from t1;
-rollback;
-
-set autocommit = 1;
-
-
-drop table t1;
-#############################
-# Customer posted order by test case
-# Org in ndb_dd_advance.test
-#############################
-
-create table test.t1 (f1 varchar(50) primary key, f2 text,f3 int)
-TABLESPACE ts1 STORAGE DISK engine=NDB;
-insert into test.t1 (f1,f2,f3)VALUES("111111","aaaaaa",1);
-insert into test.t1 (f1,f2,f3)VALUES("222222","bbbbbb",2);
-select * from test.t1 order by f1;
-select f1,f2 from test.t1 order by f2;
-select f2 from test.t1 order by f2;
-select f1,f2 from test.t1 order by f1;
-drop table test.t1;
-
-# bug#34118 hash index trigger and do not update any disk attr
-CREATE TABLE t1 (
-id int unsigned NOT NULL,
-c1 int unsigned NOT NULL,
-c2 int DEFAULT NULL,
-PRIMARY KEY using hash (id),
-UNIQUE KEY c1 using hash (c1))
-TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster;
-
-insert into t1 values(1, 1, 3);
-insert into t1 values(2, 2, 3);
---error ER_DUP_ENTRY
-update t1 set c1 = 1 where id = 2;
-drop table t1;
-
-###################
-# Test Cleanup
-###################
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE ts1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-
-#End 5.1 test case
diff --git a/mysql-test/suite/ndb/t/ndb_dd_ddl.test b/mysql-test/suite/ndb/t/ndb_dd_ddl.test
deleted file mode 100644
index ca39be87c94..00000000000
--- a/mysql-test/suite/ndb/t/ndb_dd_ddl.test
+++ /dev/null
@@ -1,470 +0,0 @@
-#########################################
-# Author: JBM
-# Date: 2006-01-03
-# Purpose: Test the NDB engine reaction to duplicate
-# Table spaces and log groups. Also to test
-# Statement mixed case.
-############################################
-# Change Author:JBM
-# Change Date 2006-01-19
-# Change: Adding to test cases feedback from OB
-# 1) The 'duplicate' tests.
-# a) The test is using the default (test) database and is not
-# attempting to create databases (only logs, table spaces and
-# tables). Is this intentional?
-# b) What about a duplication of table name when one exists on disk and
-# you are trying to create it again in memory?
-#
-#2) 'CaSE SensiTiVE' tests
-# a) Suggest you include a test case where the case difference is in
-# the file name. I know this is not an issue for *nix systems but
-# will be when we expand to Windows and Mac. Better put it in now.
-############################################
-#
-# Jonas 2006-03-10
-# Add verification that ndb currently is limited to 1 logfile group
-#
-
-
--- source include/have_ndb.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP DATABASE IF EXISTS mysqltest;
-CREATE DATABASE mysqltest;
---enable_warnings
-
-############## Duplcate Statement Testing #########
-
---echo **** Begin Duplicate Statement Testing ****
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-# Verify that one currently can create only 1 logfile group
---error ER_CREATE_FILEGROUP_FAILED
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'undofile2.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE 1M
-ENGINE NDB;
-SHOW WARNINGS;
-
---error ER_CREATE_FILEGROUP_FAILED
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M ENGINE NDB;
-
---error ER_ALTER_FILEGROUP_FAILED
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M ENGINE=NDB;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-
---error ER_CREATE_FILEGROUP_FAILED
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE 1M
-ENGINE=NDB;
-
---error ER_ALTER_FILEGROUP_FAILED
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE 1M
-ENGINE=NDB;
-
-CREATE TABLE mysqltest.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-
---error ER_TABLE_EXISTS_ERROR
-CREATE TABLE mysqltest.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-
---error ER_TABLE_EXISTS_ERROR
-CREATE TABLE mysqltest.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-ENGINE=NDB;
-
-
-DROP TABLE mysqltest.t1;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE=NDB;
-
---error ER_ALTER_FILEGROUP_FAILED
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-
---error ER_ALTER_FILEGROUP_FAILED
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-
-DROP TABLESPACE ts1
-ENGINE=NDB;
-
---error ER_DROP_FILEGROUP_FAILED
-DROP TABLESPACE ts1
-ENGINE=NDB;
-
-DROP LOGFILE GROUP lg1
-ENGINE=NDB;
-
---error ER_DROP_FILEGROUP_FAILED
-DROP LOGFILE GROUP lg1
-ENGINE=NDB;
-
-DROP DATABASE IF EXISTS mysqltest;
-
---echo **** End Duplicate Statement Testing ****
-############# End Duplicate Statments ############
---echo
-############ Begin CaSe Testing ##################
---echo **** Begin Statment CaSe Testing ****
-
-creaTE LOgfilE GrOuP lg1
-adD undoFILE 'undofile.dat'
-initiAL_siZE 1M
-UnDo_BuFfEr_SiZe = 1M
-ENGInE=NDb;
-
-altER LOgFiLE GrOUp lg1
-AdD UnDOfILe 'uNdOfiLe02.daT'
-INItIAl_SIzE 1M ENgINE nDB;
-
-CrEAtE TABLEspaCE ts1
-ADD DATAfilE 'datafile.dat'
-UsE LoGFiLE GRoUP lg1
-INITiaL_SizE 1M
-ENGiNe NDb;
-
-AlTeR tAbLeSpAcE ts1
-AdD DaTaFiLe 'dAtAfiLe2.daT'
-InItIaL_SiZe 1M
-EnGiNe=NDB;
-
-CREATE TABLE t1
-(pk1 int not null primary key, b int not null, c int not null)
-TABLEspace ts1 storAGE dISk
-ENGine nDb;
-
-DROP TABLE t1;
-
-AlteR TAblespaCE ts1
-droP DATAfile 'dAtAfiLe2.daT'
-ENGINE=NDB;
-
-ALter tablesPACE ts1
-dROp dAtAfIlE 'datafile.dat'
-ENGine=Ndb;
-
-DrOp TaBleSpAcE ts1
-engINE=ndB;
-
-DrOp lOgFiLe GrOuP lg1
-EnGiNe=nDb;
-
---echo **** End Statment CaSe Testing ****
-############ End CaSe Testing ##################
---echo
-############ Begin = and no = Testing ##########
---echo **** Begin = And No = Testing ****
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE=1M
-UNDO_BUFFER_SIZE=1M
-ENGINE=NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE=1M
-ENGINE=NDB;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE=1M
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE=1M
-ENGINE=NDB;
-
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-
-DROP TABLE t1;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-
-DROP TABLESPACE ts1
-ENGINE=NDB;
-
-DROP LOGFILE GROUP lg1
-ENGINE=NDB;
-
---echo
---echo **** End of = ****
---echo
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE 1M
-ENGINE NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M
-ENGINE NDB;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile2.dat'
-INITIAL_SIZE 1M
-ENGINE NDB;
-
---error 1005
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE MEMORY
-ENGINE NDB;
-
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE NDB;
-
-
-CREATE INDEX b_i on t1(b);
-CREATE INDEX bc_i on t1(b, c);
-
-DROP TABLE t1;
-
-# bug#20053
-
-CREATE TABLESPACE ts2
-ADD DATAFILE 'datafile3.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE NDB;
-
---error ER_ALTER_FILEGROUP_FAILED
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile3.dat'
-ENGINE NDB;
-
---error ER_ALTER_FILEGROUP_FAILED
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile2.dat'
-ENGINE NDB;
-# bug#20053
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile2.dat'
-ENGINE NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE NDB;
-
-DROP TABLESPACE ts1
-ENGINE NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile3.dat'
-ENGINE NDB;
-
-DROP TABLESPACE ts2
-ENGINE NDB;
-
-DROP LOGFILE GROUP lg1
-ENGINE NDB;
-
---echo **** End = And No = ****
-############ End = And No = ##################
-
-###
-#
-# bug#16341
-#create table t1 (a int primary key) engine = myisam;
-# 2007-08-22 Jeb
-# Removed the use of create table and manually
-# created the file to cause failure due to
-# inconsistant results on other OS
-# see #bug30559
-
---exec touch $MYSQLTEST_VARDIR/tmp/t1.frm
-
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---error ER_CREATE_FILEGROUP_FAILED
---eval create logfile group lg1 add undofile '$MYSQLTEST_VARDIR/tmp/t1.frm' initial_size 1M undo_buffer_size = 1M engine=ndb;
-
-create logfile group lg1
-add undofile 'undofile.dat'
-initial_size 1M
-undo_buffer_size = 1M
-engine=ndb;
-
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---error ER_CREATE_FILEGROUP_FAILED
---eval create tablespace ts1 add datafile '$MYSQLTEST_VARDIR/tmp/t1.frm' use logfile group lg1 initial_size 1M engine ndb;
-
---error ER_DROP_FILEGROUP_FAILED
-drop tablespace ts1
-engine ndb;
-
-drop logfile group lg1
-engine ndb;
-
-#drop table t1;
---exec rm $MYSQLTEST_VARDIR/tmp/t1.frm
-
-
---echo
---echo # -----------------------------------------------------------------
---echo # End 5.1 test
---echo # -----------------------------------------------------------------
-
---echo
---echo # --
---echo # -- WL#4300: Define privileges for tablespaces.
---echo # --
-
-GRANT CREATE TABLESPACE ON *.* TO mysqltest_u1@localhost;
-
---echo
-
---disable_warnings
-DROP DATABASE IF EXISTS mysqltest2;
---enable_warnings
-
-CREATE DATABASE mysqltest2;
-
-GRANT ALL PRIVILEGES ON mysqltest2.* TO mysqltest_u2@localhost;
-
---echo
---echo # -- Connection: mysqltest_u1@localhost
---echo
---connect(con1, localhost, mysqltest_u1,,)
-
---echo # -- Grants for mysqltest_u1@localhost:
-SHOW GRANTS;
-
---echo
---echo # -- Check CREATE LOGFILE GROUP...
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 1M
-UNDO_BUFFER_SIZE = 1M
-ENGINE = NDB;
-
---echo
---echo # -- Check ALTER LOGFILE GROUP...
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 1M
-ENGINE = NDB;
-
---echo
---echo # -- Check CREATE TABLESPACE...
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 1M
-ENGINE = NDB;
-
---echo
---echo # -- Check ALTER TABLESPACE...
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-INITIAL_SIZE 1M
-ENGINE = NDB;
-
---echo
---echo # -- Connection: mysqltest_u2@localhost
---echo
---connect(con2, localhost, mysqltest_u2,,mysqltest2)
-
---echo # -- Grants for mysqltest_u2@localhost:
-SHOW GRANTS;
-
-CREATE TABLE t1(c INT) TABLESPACE ts1;
-
-DROP TABLE t1;
-
---echo
---echo # -- Connection: mysqltest_u1@localhost
---echo
---connection con1
-
---echo
---echo # -- Check DROP TABLESPACE...
-DROP TABLESPACE ts1
-ENGINE = NDB;
-
---echo
---echo # -- Check DROP LOGFILE GROUP...
-DROP LOGFILE GROUP lg1
-ENGINE = NDB;
-
---echo
---echo # -- Connection: root@localhost
---echo
---connection default
---disconnect con1
-
-DROP USER mysqltest_u1@localhost;
-DROP USER mysqltest_u2@localhost;
-DROP DATABASE mysqltest2;
-
---echo
---echo # -----------------------------------------------------------------
---echo # End 6.0 test
---echo # -----------------------------------------------------------------
diff --git a/mysql-test/suite/ndb/t/ndb_dd_disk2memory.test b/mysql-test/suite/ndb/t/ndb_dd_disk2memory.test
deleted file mode 100644
index 5975f44e087..00000000000
--- a/mysql-test/suite/ndb/t/ndb_dd_disk2memory.test
+++ /dev/null
@@ -1,292 +0,0 @@
-########################################
-# Author: JBM
-# Date: 2006-01-12
-# Purpose: To test using ndb memory and
-# disk tables together.
-########################################
-
--- source include/have_ndb.inc
-
---disable_warnings
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
---enable_warnings
-
-############ Test Setup Section #############
--- echo **** Test Setup Section ****
-
-CREATE LOGFILE GROUP log_group1
-ADD UNDOFILE './log_group1/undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-CREATE TABLESPACE table_space1
-ADD DATAFILE './table_space1/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-
-CREATE TABLE test.t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE table_space1 STORAGE DISK
-ENGINE=NDB;
-
-CREATE TABLE test.t2
-(pk2 INT NOT NULL PRIMARY KEY, b2 INT NOT NULL, c2 INT NOT NULL)
-ENGINE=NDB;
-
---echo
-##################### Data load for first test ####################
---echo **** Data load for first test ****
-
-INSERT INTO test.t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
-
-
-INSERT INTO test.t2 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
-
---echo
-##################### Test 1 Section Begins ###############
---echo *** Test 1 Section Begins ***
-SELECT COUNT(*) FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4);
-SELECT * FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4);
-SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 WHERE b IN (4);
-SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2 WHERE pk1 IN (75);
-SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
---echo
-####################### Test 1 Section End ################
-
-##################### Setup for test 2 ####################
---echo *** Setup for test 2 ****
-DELETE FROM test.t1;
-INSERT INTO test.t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45);
---echo
-############################# Test Section 2 ###############
---echo **** Test Section 2 ****
-SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
-SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2;
-SELECT COUNT(*) FROM test.t1 RIGHT JOIN test.t2 ON b=b2;
-SHOW CREATE TABLE test.t2;
-SHOW CREATE TABLE test.t1;
-ALTER TABLE test.t2 TABLESPACE table_space1 STORAGE DISK
-ENGINE=NDB;
-SHOW CREATE TABLE test.t2;
-ALTER TABLE test.t1 STORAGE MEMORY ENGINE=NDBCLUSTER;
-SHOW CREATE TABLE test.t1;
---echo
-######################### End Test Section 2 #################
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-##################### Setup for Test Section 3 ###############
---echo *** Setup for Test Section 3 ***
-CREATE TABLE test.t1 (
- usr_id INT unsigned NOT NULL,
- uniq_id INT unsigned NOT NULL AUTO_INCREMENT,
- start_num INT unsigned NOT NULL DEFAULT 1,
- increment INT unsigned NOT NULL DEFAULT 1,
- PRIMARY KEY (uniq_id),
- INDEX usr_uniq_idx (usr_id, uniq_id),
- INDEX uniq_usr_idx (uniq_id, usr_id))
-TABLESPACE table_space1 STORAGE DISK
-ENGINE=NDB;
-
-
-CREATE TABLE test.t2 (
- id INT unsigned NOT NULL DEFAULT 0,
- usr2_id INT unsigned NOT NULL DEFAULT 0,
- max INT unsigned NOT NULL DEFAULT 0,
- c_amount INT unsigned NOT NULL DEFAULT 0,
- d_max INT unsigned NOT NULL DEFAULT 0,
- d_num INT unsigned NOT NULL DEFAULT 0,
- orig_time INT unsigned NOT NULL DEFAULT 0,
- c_time INT unsigned NOT NULL DEFAULT 0,
- active ENUM ("no","yes") NOT NULL,
- PRIMARY KEY (id,usr2_id),
- INDEX id_idx (id),
- INDEX usr2_idx (usr2_id))
-ENGINE=NDB;
-
-INSERT INTO test.t1 VALUES (3,NULL,0,50),(3,NULL,0,200),(3,NULL,0,25),(3,NULL,0,84676),(3,NULL,0,235),(3,NULL,0,10),(3,NULL,0,3098),(3,NULL,0,2947),(3,NULL,0,8987),(3,NULL,0,8347654),(3,NULL,0,20398),(3,NULL,0,8976),(3,NULL,0,500),(3,NULL,0,198);
-
---echo
-###################### Test Section 3 ######################
---echo **** Test Section 3 ****
-SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
-test.t2.usr2_id,test.t2.c_amount,test.t2.max
-FROM test.t1
-LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
-WHERE test.t1.uniq_id = 4
-ORDER BY test.t2.c_amount;
-
-INSERT INTO test.t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
-INSERT INTO test.t2 VALUES (4,3,3000,6000,0,0,746584,837484,'yes');
-INSERT INTO test.t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');
-
-SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
-test.t2.usr2_id,test.t2.c_amount,test.t2.max
-FROM test.t1
-LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
-WHERE test.t1.uniq_id = 4
-ORDER BY test.t2.c_amount;
---echo
-####################### End Section 3 #########################
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-
-########## Test that use to be in ndb_dd_advance.test #########
-########## ndb_dd_advance.test is now ndb_dd_alter.test #######
-#### Use group by asc and dec; Use having; Use order by. ####
-
-CREATE TABLE test.t1 (
- a1 smallint NOT NULL,
- a2 int NOT NULL,
- a3 bigint NOT NULL,
- a4 char(10),
- a5 decimal(5,1),
- a6 time,
- a7 date,
- a8 datetime,
- a9 VARCHAR(255),
- a10 blob,
- PRIMARY KEY(a1)
-) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-
-CREATE TABLE test.t2 (
- b1 smallint NOT NULL,
- b2 int NOT NULL,
- b3 bigint NOT NULL,
- b4 char(10),
- b5 decimal(5,1),
- b6 time,
- b7 date,
- b8 datetime,
- b9 VARCHAR(255),
- b10 blob,
- PRIMARY KEY(b1)
-) ENGINE=NDB;
-
-### ADD Some DATA to tables ######
-
-
-let $1=20;
-disable_query_log;
-while ($1)
-{
- eval insert into test.t1 values($1, $1+1, $1+2000000000, "aaa$1", 34.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
- eval insert into test.t2 values($1+2, $1+3, $1+3000000000, "aaa$1", 35.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
- dec $1;
-}
-
-ALTER TABLE test.t1 ADD INDEX (a2), ADD INDEX (a3), ADD INDEX (a8);
-ALTER TABLE test.t2 ADD INDEX (b2), ADD INDEX (b3), ADD INDEX (b8);
-SHOW CREATE TABLE test.t1;
-SHOW CREATE TABLE test.t2;
-SELECT * FROM test.t1 order by a1;
-SELECT * FROM test.t2 order by b1;
-SELECT COUNT(a1), a1, COUNT(a1)*a1 FROM test.t1 GROUP BY a1;
-SELECT COUNT(a2), (a2+1), COUNT(a2)*(a2+0) FROM test.t1 GROUP BY a2;
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-
-CREATE TABLE test.t1 (a INT NOT NULL,
-b CHAR(5), c TEXT, d INT NOT NULL PRIMARY KEY) TABLESPACE
-table_space1 STORAGE DISK ENGINE=NDB;
-
-insert into test.t1 (a,b,c,d) values (1,'a','Jonas',1),(2,'b','Tomas',2),
-(3,'c','Pekka',3),(4,'d','Martin',4),(5,'e','Stewart',5),(6,'f','Jeb',6),
-(7,'g','Serge',7),(8,'h','Clavin',8);
-select distinct a from test.t1 group by b,a having a > 4 order by a desc;
-select distinct a,c from test.t1 group by b,c,a having a > 2 order by a desc;
-select distinct a from test.t1 group by b,a having a > 1 order by a asc;
-select distinct a,c from test.t1 group by b,c,a having a > 3 order by a asc;
-drop table test.t1;
-
-create table test.t1 (a char(1), key(a)) TABLESPACE table_space1
-STORAGE DISK ENGINE=NDB;
-insert into test.t1 values('1'),('1'),('1'),('2'),('2'),('3'),('3');
-select * from test.t1 where a >= '1' order by a;
-select distinct a from test.t1 order by a desc;
-select distinct a from test.t1 where a >= '1' order by a desc;
-select distinct a from test.t1 where a >= '1' order by a asc;
-drop table test.t1;
-
-CREATE TABLE test.t1 (email varchar(50), infoID BIGINT, dateentered DATETIME)
-TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-CREATE TABLE test.t2 (infoID BIGINT, shipcode varchar(10)) ENGINE=NDB;
-
-INSERT INTO test.t1 (email, infoID, dateentered) VALUES
- ('test1@testdomain.com', 1, '2002-07-30 22:56:38'),
- ('test1@testdomain.com', 1, '2002-07-27 22:58:16'),
- ('test2@testdomain.com', 1, '2002-06-19 15:22:19'),
- ('test2@testdomain.com', 2, '2002-06-18 14:23:47'),
- ('test3@testdomain.com', 1, '2002-05-19 22:17:32');
-
-INSERT INTO test.t2(infoID, shipcode) VALUES
- (1, 'Z001'),
- (2, 'R002');
-
-SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2
-WHERE t1.infoID=t2.infoID order by email, shipcode;
-SELECT DISTINCTROW email FROM test.t1 ORDER BY dateentered DESC;
-SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2
-WHERE test.t1.infoID=test.t2.infoID ORDER BY dateentered DESC;
-
-DROP TABLE test.t1,test.t2;
-
-#################
-# Test Cleanup
-#################
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
-#End 5.1 test case
-
diff --git a/mysql-test/suite/ndb/t/ndb_dd_dump.test b/mysql-test/suite/ndb/t/ndb_dd_dump.test
deleted file mode 100644
index 7fc315ef167..00000000000
--- a/mysql-test/suite/ndb/t/ndb_dd_dump.test
+++ /dev/null
@@ -1,289 +0,0 @@
--- source include/have_ndb.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1, t2, t3;
---enable_warnings
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile_lg1_01.dat'
-INITIAL_SIZE 2M
-UNDO_BUFFER_SIZE = 1M
-ENGINE NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile_lg1_02.dat'
-INITIAL_SIZE = 4M
-ENGINE NDB;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile_ts1_01.dat'
-USE LOGFILE GROUP lg1
-EXTENT_SIZE 1M
-INITIAL_SIZE 2M
-ENGINE NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile_ts1_02.dat'
-INITIAL_SIZE = 1M
-ENGINE=NDB;
-
-CREATE TABLESPACE ts2
-ADD DATAFILE 'datafile_ts2_01.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 2M
-ENGINE NDB;
-
-CREATE TABLESPACE ts3
-ADD DATAFILE 'datafile_ts3_01.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 4M
-ENGINE NDB;
-
-########################################
-# Create a table using this tablespace
-########################################
-
-CREATE TABLE t1
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-
-CREATE TABLE t2
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts2 STORAGE DISK
-ENGINE=NDB;
-
-CREATE TABLE t3
-(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
-TABLESPACE ts3 STORAGE DISK
-ENGINE=NDB;
-
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-
-INSERT INTO t2 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5);
-
-INSERT INTO t3 VALUES
-(1,1,1);
-
---exec $MYSQL_DUMP --skip-comments --compact -Y test > $MYSQLTEST_VARDIR/tmp/ndb_dd_dump.sql
-
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_01.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_02.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile_ts2_01.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts3
-DROP DATAFILE 'datafile_ts3_01.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE ts1 ENGINE = NDB;
-DROP TABLESPACE ts2 ENGINE = NDB;
-DROP TABLESPACE ts3 ENGINE = NDB;
-
-DROP LOGFILE GROUP lg1 ENGINE = NDB;
-
---exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/ndb_dd_dump.sql
-
-SELECT DISTINCT
- LOGFILE_GROUP_NAME,
- FILE_NAME,
- TOTAL_EXTENTS,
- INITIAL_SIZE,
- ENGINE
-FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE="UNDO LOG" ORDER BY FILE_NAME;
-
-SELECT DISTINCT
- TABLESPACE_NAME,
- LOGFILE_GROUP_NAME,
- FILE_NAME,
- EXTENT_SIZE,
- INITIAL_SIZE,
- ENGINE
-FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE="DATAFILE" ORDER BY FILE_NAME;
-
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-SELECT COUNT(*) FROM t3;
-
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-
-#### BUG 18856 test case comented out
-##### Use "SELECT * INTO OUTFILE" to dump data and "LOAD DATA INFILE" to load ##### data back to the data file.
-
-CREATE TABLE test.t (
- a smallint NOT NULL,
- b int NOT NULL,
- c bigint NOT NULL,
- d char(10),
- e TEXT,
- f VARCHAR(255),
- PRIMARY KEY(a)
-) TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-
- ALTER TABLE test.t ADD INDEX (d), ADD INDEX (f);
- SHOW CREATE TABLE test.t;
-
-# insert records into tables
-
- let $1=100;
- disable_query_log;
- while ($1)
- {
- eval insert into test.t values($1, $1+1, $1+2, "aaa$1", "bbb$1", "ccccc$1");
- dec $1;
- }
- enable_query_log;
-
- SELECT * FROM test.t order by a;
-
- SELECT * INTO OUTFILE 't_backup' FROM test.t;
- TRUNCATE test.t;
-
-#'TRUNCATE test.t' failed: 1205: Lock wait timeout exceeded; try restarting
-#transaction. TABLESPACE ts STORAGE DISK ENGINE=NDB;
-
- SELECT count(*) FROM test.t;
- LOAD DATA INFILE 't_backup' INTO TABLE test.t;
-
- SELECT * FROM test.t order by a;
-
- DROP TABLE test.t;
-
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_01.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile_ts1_02.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile_ts2_01.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE ts3
-DROP DATAFILE 'datafile_ts3_01.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE ts1 ENGINE = NDB;
-DROP TABLESPACE ts2 ENGINE = NDB;
-DROP TABLESPACE ts3 ENGINE = NDB;
-
-DROP LOGFILE GROUP lg1 ENGINE = NDB;
-
-#End 5.1 test case
diff --git a/mysql-test/suite/ndb/t/ndb_dd_sql_features.test b/mysql-test/suite/ndb/t/ndb_dd_sql_features.test
deleted file mode 100644
index f46cb217ab4..00000000000
--- a/mysql-test/suite/ndb/t/ndb_dd_sql_features.test
+++ /dev/null
@@ -1,551 +0,0 @@
-##############################################################
-# Author: Nikolay
-# Date: 2006-04-01
-# Purpose: Specific Blob and Varchar testing using disk tables.
-##############################################################
-# Create Stored procedures that use disk based tables.
-# Create function that operate on disk based tables.
-# Create triggers that operate on disk based tables.
-# Create views that operate on disk based tables.
-# Try to create FK constraints on disk based tables.
-# Create and use disk based table that use auto inc.
-# Create test that use transaction (commit, rollback)
-# Create large disk base table, do random queries, check cache hits,
-# do same query 10 times check cache hits.
-# Create test that uses COUNT(), SUM(), MAX(), MIN(),
-# NOW(), USER(), ... other built in # SQL functions
-# Create test that uses locks.
-# Create test using truncate.
-##############################################################
-# Author: Jonathan
-# Date: 2006-08-28
-# Change: Remove all the create and drop LFG and TS except
-# The first create and the last drop to make test
-# run faster.
-# In addition, renamed test to be to a name that
-# gives a better idea of what the test is about
-###########################################################
--- source include/have_ndb.inc
-
---disable_warnings
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
---enable_warnings
-
-#### Copy data from table in one table space to table in ###
-#### different table space. ####
---echo *****
---echo **** Copy data from table in one table space to table
---echo **** in different table space
---echo *****
-
- CREATE LOGFILE GROUP lg
- ADD UNDOFILE './lg_group/undofile.dat'
- INITIAL_SIZE 16M
- UNDO_BUFFER_SIZE = 1M
- ENGINE=NDB;
-
- CREATE TABLESPACE ts1
- ADD DATAFILE './table_space1/datafile.dat'
- USE LOGFILE GROUP lg
- INITIAL_SIZE 25M
- ENGINE NDB;
-
- CREATE TABLESPACE ts2
- ADD DATAFILE './table_space2/datafile.dat'
- USE LOGFILE GROUP lg
- INITIAL_SIZE 20M
- ENGINE NDB;
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
- CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
-
- SHOW CREATE TABLE test.t1;
- SHOW CREATE TABLE test.t2;
-
- INSERT INTO test.t1 VALUES (1,'111111','aaaaaaaa');
- INSERT INTO test.t1 VALUES (2,'222222','bbbbbbbb');
- SELECT * FROM test.t1 ORDER BY a1;
- INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
- SELECT * FROM test.t2 ORDER BY a1;
-
- DROP TABLE test.t1, test.t2;
-
- # populate BLOB field with large data
-
-set @vc1 = repeat('a', 200);
-set @vc2 = repeat('b', 500);
-set @vc3 = repeat('c', 1000);
-set @vc4 = repeat('d', 4000);
-
-# x0 size 256
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-
-# b1 length 2000+256
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-# d1 length 3000
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-
-# b2 length 20000
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-# d2 length 30000
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-
-select length(@x0),length(@b1),length(@d1) from dual;
-select length(@x0),length(@b2),length(@d2) from dual;
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
- CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
- TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
-
- SHOW CREATE TABLE test.t1;
- SHOW CREATE TABLE test.t2;
-
- INSERT INTO test.t1 VALUES (1,@vc1,@d1);
- INSERT INTO test.t1 VALUES (2,@vc2,@b1);
- INSERT INTO test.t1 VALUES (3,@vc3,@d2);
- INSERT INTO test.t1 VALUES (4,@vc4,@b2);
-
- SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
- FROM test.t1 WHERE a1=1;
- SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
- FROM test.t1 where a1=2;
-
- INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
- SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
- FROM test.t2 WHERE a1=1;
- SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
- FROM test.t2 where a1=2;
-
-
- DROP TABLE test.t1, test.t2;
-
-#### Insert, Update, Delete from NDB table with BLOB fields ####
---echo *****
---echo **** Insert, Update, Delete from NDB table with BLOB fields
---echo *****
-
-set @vc1 = repeat('a', 200);
-set @vc2 = repeat('b', 500);
-set @vc3 = repeat('c', 1000);
-set @vc4 = repeat('d', 4000);
-set @vc5 = repeat('d', 5000);
-
-set @bb1 = repeat('1', 2000);
-set @bb2 = repeat('2', 5000);
-set @bb3 = repeat('3', 10000);
-set @bb4 = repeat('4', 40000);
-set @bb5 = repeat('5', 50000);
-
-select length(@vc1),length(@vc2),length(@vc3),length(@vc4),length(@vc5)
-from dual;
-select length(@bb1),length(@bb2),length(@bb3),length(@bb4),length(@bb5)
-from dual;
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-# CREATE TABLE test.t2 (a1 int NOT NULL, a2 VARCHAR(5000), a3 BLOB)
-# TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
-
- INSERT INTO test.t1 VALUES (1,@vc1,@bb1);
- INSERT INTO test.t1 VALUES (2,@vc2,@bb2);
- INSERT INTO test.t1 VALUES (3,@vc3,@bb3);
- INSERT INTO test.t1 VALUES (4,@vc4,@bb4);
- INSERT INTO test.t1 VALUES (5,@vc5,@bb5);
-
- UPDATE test.t1 SET a2=@vc5, a3=@bb5 WHERE a1=1;
- SELECT a1,length(a2),substr(a2,4998,2),length(a3),substr(a3,49997,3)
- FROM test.t1 WHERE a1=1;
-
- UPDATE test.t1 SET a2=@vc4, a3=@bb4 WHERE a1=2;
- SELECT a1,length(a2),substr(a2,3998,2),length(a3),substr(a3,39997,3)
- FROM test.t1 WHERE a1=2;
-
- UPDATE test.t1 SET a2=@vc2, a3=@bb2 WHERE a1=3;
- SELECT a1,length(a2),substr(a2,498,2),length(a3),substr(a3,3997,3)
- FROM test.t1 WHERE a1=3;
-
- UPDATE test.t1 SET a2=@vc3, a3=@bb3 WHERE a1=4;
- SELECT a1,length(a2),substr(a2,998,2),length(a3),substr(a3,9997,3)
- FROM test.t1 WHERE a1=4;
-
- UPDATE test.t1 SET a2=@vc1, a3=@bb1 WHERE a1=5;
- SELECT a1,length(a2),substr(a2,198,2),length(a3),substr(a3,1997,3)
- FROM test.t1 WHERE a1=5;
-
- DELETE FROM test.t1 where a1=5;
- SELECT count(*) from test.t1;
- DELETE FROM test.t1 where a1=4;
- SELECT count(*) from test.t1;
- DELETE FROM test.t1 where a1=3;
- SELECT count(*) from test.t1;
- DELETE FROM test.t1 where a1=2;
- SELECT count(*) from test.t1;
- DELETE FROM test.t1 where a1=1;
- SELECT count(*) from test.t1;
-
- DROP TABLE test.t1;
-
-##### Create Stored procedures that use disk based tables #####
---echo *****
---echo **** Create Stored procedures that use disk based tables
---echo *****
-
-delimiter //;
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB//
- CREATE PROCEDURE test.sp1()
- BEGIN
- INSERT INTO test.t1 values (1,'111111','aaaaaaaa');
- END//
-delimiter ;//
-
- CALL test.sp1();
- SELECT * FROM test.t1;
-
-delimiter //;
- CREATE PROCEDURE test.sp2(n INT, vc VARCHAR(256), blb BLOB)
- BEGIN
- UPDATE test.t1 SET a2=vc, a3=blb where a1=n;
- END//
-delimiter ;//
-
- CALL test.sp2(1,'222222','bbbbbbbb');
- SELECT * FROM test.t1;
-
- DELETE FROM test.t1;
- DROP PROCEDURE test.sp1;
- DROP PROCEDURE test.sp2;
- DROP TABLE test.t1;
-
-
-#### Create function that operate on disk based tables ####
---echo *****
---echo ***** Create function that operate on disk based tables
---echo *****
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
- let $1=100;
- disable_query_log;
- while ($1)
- {
- eval insert into test.t1 values($1, "aaaaa$1", "bbbbb$1");
- dec $1;
- }
- enable_query_log;
-
- delimiter //;
- CREATE FUNCTION test.fn1(n INT) RETURNS INT
- BEGIN
- DECLARE v INT;
- SELECT a1 INTO v FROM test.t1 WHERE a1=n;
- RETURN v;
- END//
- delimiter ;//
-
-delimiter //;
- CREATE FUNCTION test.fn2(n INT, blb BLOB) RETURNS BLOB
- BEGIN
- DECLARE vv BLOB;
- UPDATE test.t1 SET a3=blb where a1=n;
- SELECT a3 INTO vv FROM test.t1 WHERE a1=n;
- RETURN vv;
- END//
- delimiter ;//
-
- SELECT test.fn1(10) FROM DUAL;
- SELECT test.fn2(50, 'new BLOB content') FROM DUAL;
-
- DELETE FROM test.t1;
- DROP FUNCTION test.fn1;
- DROP FUNCTION test.fn2;
- DROP TABLE test.t1;
-
-#### Create triggers that operate on disk based tables ####
---echo *****
---echo ***** Create triggers that operate on disk based tables
---echo *****
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-
- delimiter //;
- CREATE TRIGGER test.trg1 BEFORE INSERT ON test.t1 FOR EACH ROW
- BEGIN
- if isnull(new.a2) then
- set new.a2:= 'trg1 works on a2 field';
- end if;
- if isnull(new.a3) then
- set new.a3:= 'trg1 works on a3 field';
- end if;
- end//
- insert into test.t1 (a1) values (1)//
- insert into test.t1 (a1,a2) values (2, 'ccccccc')//
- select * from test.t1 order by a1//
- delimiter ;//
-
- DELETE FROM test.t1;
- DROP TRIGGER test.trg1;
- DROP TABLE test.t1;
-
-#### Create, update views that operate on disk based tables ####
---echo *****
---echo ***** Create, update views that operate on disk based tables
---echo *****
-
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
- let $1=10;
- disable_query_log;
- while ($1)
- {
- eval insert into test.t1 values($1, "aaaaa$1", "bbbbb$1");
- dec $1;
- }
- enable_query_log;
- CREATE VIEW test.v1 AS SELECT * FROM test.t1;
- SELECT * FROM test.v1 order by a1;
- CHECK TABLE test.v1, test.t1;
-
- UPDATE test.v1 SET a2='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' WHERE a1=5;
- SELECT * FROM test.v1 order by a1;
-
- DROP VIEW test.v1;
- DELETE FROM test.t1;
- DROP TABLE test.t1;
-
-#### Create and use disk based table that use auto inc ####
---echo *****
---echo ***** Create and use disk based table that use auto inc
---echo *****
-
- CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
- let $1=10;
- disable_query_log;
- while ($1)
- {
- eval insert into test.t1 values(NULL, "aaaaa$1", "bbbbb$1");
- dec $1;
- }
- enable_query_log;
- SELECT * FROM test.t1 ORDER BY a1;
- DELETE FROM test.t1;
- DROP TABLE test.t1;
-
-
-#### Create test that use transaction (commit, rollback) ####
---echo *****
---echo ***** Create test that use transaction (commit, rollback)
---echo *****
-
- SET AUTOCOMMIT=0;
- CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-
- INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
- COMMIT;
- SELECT * FROM test.t1 ORDER BY a1;
- INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
- ROLLBACK;
- SELECT * FROM test.t1 ORDER BY a1;
-
- DELETE FROM test.t1;
- DROP TABLE test.t1;
- SET AUTOCOMMIT=1;
-
-# Now do the same thing with START TRANSACTION without using AUTOCOMMIT.
-
- CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-
- START TRANSACTION;
- INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
- COMMIT;
- SELECT * FROM test.t1 ORDER BY a1;
-
- START TRANSACTION;
- INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
- ROLLBACK;
- SELECT * FROM test.t1 ORDER BY a1;
-
- DELETE FROM test.t1;
- DROP TABLE test.t1;
-
-#### Create test that uses locks ####
---echo *****
---echo ***** Create test that uses locks
---echo *****
-
- connect (con1,localhost,root,,);
- connect (con2,localhost,root,,);
-
-# connection con1;
---disable_warnings
- drop table if exists test.t1;
- CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- a2 VARCHAR(256), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
---enable_warnings
-
- LOCK TABLES test.t1 write;
- INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
- INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
- SELECT * FROM test.t1 ORDER BY a1;
-
- connection con2;
- SELECT * FROM test.t1 ORDER BY a1;
- INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
-
- connection con1;
- UNLOCK TABLES;
-
- connection con2;
- INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
- SELECT * FROM test.t1 ORDER BY a1;
- DELETE FROM test.t1;
- DROP TABLE test.t1;
-
- #connection defualt;
-
-#### Create large disk base table, do random queries, check cache hits ####
---echo *****
---echo ***** Create large disk base table, do random queries, check cache hits
---echo *****
-
-set @vc1 = repeat('a', 200);
-SELECT @vc1 FROM DUAL;
-set @vc2 = repeat('b', 500);
-set @vc3 = repeat('b', 998);
-
-# x0 size 256
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-
-# b1 length 2000+256 (blob part aligned)
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-# d1 length 3000
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-
-# b2 length 20000
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-# d2 length 30000
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-
-select length(@x0),length(@b1),length(@d1) from dual;
-select length(@x0),length(@b2),length(@d2) from dual;
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(1000), a3 BLOB)
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
-
- INSERT INTO test.t1 values(1,@vc1,@d1);
- INSERT INTO test.t1 values(2,@vc2,@d2);
- --replace_column 9 #
- explain SELECT * from test.t1 WHERE a1 = 1;
-
- SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
- FROM test.t1 WHERE a1=1 ORDER BY a1;
- SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
- FROM test.t1 where a1=2 ORDER BY a1;
-
- UPDATE test.t1 set a2=@vc2,a3=@d2 where a1=1;
- UPDATE test.t1 set a2=@vc1,a3=@d1 where a1=2;
-
- SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
- FROM test.t1 where a1=1;
- SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
- FROM test.t1 where a1=2;
-
- #SHOW VARIABLES LIKE 'have_query_cache';
- #SHOW STATUS LIKE 'Qcache%';
-
- DELETE FROM test.t1;
- DROP TABLE test.t1;
-
-#### Create test that uses COUNT(), SUM(), MAX(), ####
-##### MIN(), NOW(), USER(), TRUNCATE ####
---echo *****
---echo ***** Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(),
---echo ***** USER(), TRUNCATE
---echo *****
-
- CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256),
- a3 BLOB, a4 DATE, a5 CHAR(250))
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
- let $1=100;
- disable_query_log;
- while ($1)
- {
- eval insert into test.t1 values($1, "aaaaaaaaaaaaaaaa$1",
- "bbbbbbbbbbbbbbbbbb$1", '2006-06-20' , USER());
- dec $1;
- }
- enable_query_log;
-
- SELECT COUNT(*) from test.t1;
- SELECT SUM(a1) from test.t1;
- SELECT MIN(a1) from test.t1;
- SELECT MAX(a1) from test.t1;
- SELECT a5 from test.t1 where a1=50;
-
-
- SELECT * from test.t1 order by a1;
-
- DROP TABLE test.t1;
-
- ALTER TABLESPACE ts1
- DROP DATAFILE './table_space1/datafile.dat'
- ENGINE=NDB;
- DROP TABLESPACE ts1 ENGINE=NDB;
-
- ALTER TABLESPACE ts2
- DROP DATAFILE './table_space2/datafile.dat'
- ENGINE=NDB;
- DROP TABLESPACE ts2 ENGINE=NDB;
-
- DROP LOGFILE GROUP lg
- ENGINE=NDB;
-
-
-#End 5.1 test case
-
diff --git a/mysql-test/suite/ndb/t/ndb_gis.test b/mysql-test/suite/ndb/t/ndb_gis.test
deleted file mode 100644
index babff535f94..00000000000
--- a/mysql-test/suite/ndb/t/ndb_gis.test
+++ /dev/null
@@ -1,5 +0,0 @@
---source include/have_ndb.inc
-SET storage_engine=ndbcluster;
---source include/gis_generic.inc
-set optimizer_switch = "engine_condition_pushdown=on";
---source include/gis_generic.inc
diff --git a/mysql-test/suite/ndb/t/ndb_grant.later b/mysql-test/suite/ndb/t/ndb_grant.later
deleted file mode 100644
index 5431d94e1f8..00000000000
--- a/mysql-test/suite/ndb/t/ndb_grant.later
+++ /dev/null
@@ -1,385 +0,0 @@
--- source include/have_ndb.inc
-# Test of GRANT commands
-
-# Cleanup
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-SET NAMES binary;
-
-#
-# Alter mysql system tables to ndb
-# make sure you alter all back in the end
-#
-use mysql;
-alter table columns_priv engine=ndb;
-alter table db engine=ndb;
-alter table func engine=ndb;
-alter table help_category engine=ndb;
-alter table help_keyword engine=ndb;
-alter table help_relation engine=ndb;
-alter table help_topic engine=ndb;
-alter table host engine=ndb;
-alter table tables_priv engine=ndb;
-alter table time_zone engine=ndb;
-alter table time_zone_leap_second engine=ndb;
-alter table time_zone_name engine=ndb;
-alter table time_zone_transition engine=ndb;
-alter table time_zone_transition_type engine=ndb;
-alter table user engine=ndb;
-use test;
-
-#
-# Test that SSL options works properly
-#
-delete from mysql.user where user='mysqltest_1';
-delete from mysql.db where user='mysqltest_1';
-flush privileges;
-begin;
-grant select on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA";
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-grant delete on mysqltest.* to mysqltest_1@localhost;
-commit;
-select * from mysql.user where user="mysqltest_1";
-show grants for mysqltest_1@localhost;
-begin;
-revoke delete on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-grant select on mysqltest.* to mysqltest_1@localhost require NONE;
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-grant USAGE on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA" AND SUBJECT "testsubject" ISSUER "MySQL AB";
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-revoke all privileges on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-delete from mysql.user where user='mysqltest_1';
-flush privileges;
-
-#
-# Test that the new db privileges are stored/retrieved correctly
-#
-
-begin;
-grant CREATE TEMPORARY TABLES, LOCK TABLES on mysqltest.* to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-flush privileges;
-show grants for mysqltest_1@localhost;
-begin;
-revoke CREATE TEMPORARY TABLES on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-grant ALL PRIVILEGES on mysqltest.* to mysqltest_1@localhost with GRANT OPTION;
-commit;
-flush privileges;
-show grants for mysqltest_1@localhost;
-begin;
-revoke LOCK TABLES, ALTER on mysqltest.* from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-revoke all privileges on mysqltest.* from mysqltest_1@localhost;
-commit;
-delete from mysql.user where user='mysqltest_1';
-flush privileges;
-begin;
-grant usage on test.* to mysqltest_1@localhost with grant option;
-commit;
-show grants for mysqltest_1@localhost;
-delete from mysql.user where user='mysqltest_1';
-delete from mysql.db where user='mysqltest_1';
-delete from mysql.tables_priv where user='mysqltest_1';
-delete from mysql.columns_priv where user='mysqltest_1';
-flush privileges;
---error 1141
-show grants for mysqltest_1@localhost;
-
-#
-# Test what happens when you have same table and colum level grants
-#
-
-create table t1 (a int);
-begin;
-GRANT select,update,insert on t1 to mysqltest_1@localhost;
-GRANT select (a), update (a),insert(a), references(a) on t1 to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
-begin;
-REVOKE select (a), update on t1 from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-REVOKE select,update,insert,insert (a) on t1 from mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-begin;
-GRANT select,references on t1 to mysqltest_1@localhost;
-commit;
-select table_priv,column_priv from mysql.tables_priv where user="mysqltest_1";
-begin;
-grant all on test.* to mysqltest_3@localhost with grant option;
-revoke all on test.* from mysqltest_3@localhost;
-commit;
-show grants for mysqltest_3@localhost;
-begin;
-revoke grant option on test.* from mysqltest_3@localhost;
-commit;
-show grants for mysqltest_3@localhost;
-begin;
-grant all on test.t1 to mysqltest_2@localhost with grant option;
-revoke all on test.t1 from mysqltest_2@localhost;
-commit;
-show grants for mysqltest_2@localhost;
-begin;
-revoke grant option on test.t1 from mysqltest_2@localhost;
-commit;
-show grants for mysqltest_2@localhost;
-delete from mysql.user where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.db where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.tables_priv where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-delete from mysql.columns_priv where user='mysqltest_1' or user="mysqltest_2" or user="mysqltest_3";
-flush privileges;
-drop table t1;
-
-#
-# Test some error conditions
-#
-begin;
---error 1221
-GRANT FILE on mysqltest.* to mysqltest_1@localhost;
-commit;
-select 1; -- To test that the previous command didn't cause problems
-
-#
-# Bug#6123: GRANT USAGE inserts useless Db row
-#
-create database mysqltest1;
-begin;
-grant usage on mysqltest1.* to test6123 identified by 'magic123';
-commit;
-select host,db,user,select_priv,insert_priv from mysql.db where db="mysqltest1";
-delete from mysql.user where user='test6123';
-drop database mysqltest1;
-
-#
-# Test for 'drop user', 'revoke privileges, grant'
-#
-
-create table t1 (a int);
-begin;
-grant ALL PRIVILEGES on *.* to drop_user2@localhost with GRANT OPTION;
-commit;
-show grants for drop_user2@localhost;
-begin;
-revoke all privileges, grant option from drop_user2@localhost;
-commit;
-drop user drop_user2@localhost;
-
-begin;
-grant ALL PRIVILEGES on *.* to drop_user@localhost with GRANT OPTION;
-grant ALL PRIVILEGES on test.* to drop_user@localhost with GRANT OPTION;
-grant select(a) on test.t1 to drop_user@localhost;
-commit;
-show grants for drop_user@localhost;
-
-#
-# Bug3086
-#
-set sql_mode=ansi_quotes;
-show grants for drop_user@localhost;
-set sql_mode=default;
-
-set sql_quote_show_create=0;
-show grants for drop_user@localhost;
-set sql_mode="ansi_quotes";
-show grants for drop_user@localhost;
-set sql_quote_show_create=1;
-show grants for drop_user@localhost;
-set sql_mode="";
-show grants for drop_user@localhost;
-
-revoke all privileges, grant option from drop_user@localhost;
-show grants for drop_user@localhost;
-drop user drop_user@localhost;
-begin;
---error 1269
-revoke all privileges, grant option from drop_user@localhost;
-commit;
-
-begin;
-grant select(a) on test.t1 to drop_user1@localhost;
-commit;
-flush privileges;
-begin;
-grant select on test.t1 to drop_user2@localhost;
-grant select on test.* to drop_user3@localhost;
-grant select on *.* to drop_user4@localhost;
-commit;
-flush privileges;
-# Drop user now implicitly revokes all privileges.
-drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
-drop_user4@localhost;
-begin;
---error 1269
-revoke all privileges, grant option from drop_user1@localhost, drop_user2@localhost,
-drop_user3@localhost, drop_user4@localhost;
-commit;
-flush privileges;
-#--error 1268
-drop user drop_user1@localhost, drop_user2@localhost, drop_user3@localhost,
-drop_user4@localhost;
-drop table t1;
-begin;
-grant usage on *.* to mysqltest_1@localhost identified by "password";
-grant select, update, insert on test.* to mysqltest_1@localhost;
-commit;
-show grants for mysqltest_1@localhost;
-drop user mysqltest_1@localhost;
-
-#
-# Bug #3403 Wrong encodin in SHOW GRANTS output
-#
-SET NAMES koi8r;
-CREATE DATABASE ÂÄ;
-USE ÂÄ;
-CREATE TABLE ÔÁÂ (ËÏÌ int);
-
-begin;
-GRANT SELECT ON ÂÄ.* TO ÀÚÅÒ@localhost;
-commit;
-SHOW GRANTS FOR ÀÚÅÒ@localhost;
-begin;
-REVOKE SELECT ON ÂÄ.* FROM ÀÚÅÒ@localhost;
-commit;
-
-begin;
-GRANT SELECT ON ÂÄ.ÔÁÂ TO ÀÚÅÒ@localhost;
-commit;
-SHOW GRANTS FOR ÀÚÅÒ@localhost;
-begin;
-REVOKE SELECT ON ÂÄ.ÔÁÂ FROM ÀÚÅÒ@localhost;
-commit;
-
-begin;
-GRANT SELECT (ËÏÌ) ON ÂÄ.ÔÁÂ TO ÀÚÅÒ@localhost;
-commit;
-SHOW GRANTS FOR ÀÚÅÒ@localhost;
-begin;
-REVOKE SELECT (ËÏÌ) ON ÂÄ.ÔÁÂ FROM ÀÚÅÒ@localhost;
-commit;
-
-DROP DATABASE ÂÄ;
-SET NAMES latin1;
-
-#
-# Bug #5831: REVOKE ALL PRIVILEGES, GRANT OPTION does not revoke everything
-#
-USE test;
-CREATE TABLE t1 (a int );
-CREATE TABLE t2 LIKE t1;
-CREATE TABLE t3 LIKE t1;
-CREATE TABLE t4 LIKE t1;
-CREATE TABLE t5 LIKE t1;
-CREATE TABLE t6 LIKE t1;
-CREATE TABLE t7 LIKE t1;
-CREATE TABLE t8 LIKE t1;
-CREATE TABLE t9 LIKE t1;
-CREATE TABLE t10 LIKE t1;
-CREATE DATABASE testdb1;
-CREATE DATABASE testdb2;
-CREATE DATABASE testdb3;
-CREATE DATABASE testdb4;
-CREATE DATABASE testdb5;
-CREATE DATABASE testdb6;
-CREATE DATABASE testdb7;
-CREATE DATABASE testdb8;
-CREATE DATABASE testdb9;
-CREATE DATABASE testdb10;
-begin;
-GRANT ALL ON testdb1.* TO testuser@localhost;
-GRANT ALL ON testdb2.* TO testuser@localhost;
-GRANT ALL ON testdb3.* TO testuser@localhost;
-GRANT ALL ON testdb4.* TO testuser@localhost;
-GRANT ALL ON testdb5.* TO testuser@localhost;
-GRANT ALL ON testdb6.* TO testuser@localhost;
-GRANT ALL ON testdb7.* TO testuser@localhost;
-GRANT ALL ON testdb8.* TO testuser@localhost;
-GRANT ALL ON testdb9.* TO testuser@localhost;
-GRANT ALL ON testdb10.* TO testuser@localhost;
-GRANT SELECT ON test.t1 TO testuser@localhost;
-GRANT SELECT ON test.t2 TO testuser@localhost;
-GRANT SELECT ON test.t3 TO testuser@localhost;
-GRANT SELECT ON test.t4 TO testuser@localhost;
-GRANT SELECT ON test.t5 TO testuser@localhost;
-GRANT SELECT ON test.t6 TO testuser@localhost;
-GRANT SELECT ON test.t7 TO testuser@localhost;
-GRANT SELECT ON test.t8 TO testuser@localhost;
-GRANT SELECT ON test.t9 TO testuser@localhost;
-GRANT SELECT ON test.t10 TO testuser@localhost;
-GRANT SELECT (a) ON test.t1 TO testuser@localhost;
-GRANT SELECT (a) ON test.t2 TO testuser@localhost;
-GRANT SELECT (a) ON test.t3 TO testuser@localhost;
-GRANT SELECT (a) ON test.t4 TO testuser@localhost;
-GRANT SELECT (a) ON test.t5 TO testuser@localhost;
-GRANT SELECT (a) ON test.t6 TO testuser@localhost;
-GRANT SELECT (a) ON test.t7 TO testuser@localhost;
-GRANT SELECT (a) ON test.t8 TO testuser@localhost;
-GRANT SELECT (a) ON test.t9 TO testuser@localhost;
-GRANT SELECT (a) ON test.t10 TO testuser@localhost;
-commit;
-begin;
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM testuser@localhost;
-commit;
-SHOW GRANTS FOR testuser@localhost;
-DROP USER testuser@localhost;
-DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-DROP DATABASE testdb1;
-DROP DATABASE testdb2;
-DROP DATABASE testdb3;
-DROP DATABASE testdb4;
-DROP DATABASE testdb5;
-DROP DATABASE testdb6;
-DROP DATABASE testdb7;
-DROP DATABASE testdb8;
-DROP DATABASE testdb9;
-DROP DATABASE testdb10;
-
-#
-# just SHOW PRIVILEGES test
-#
-SHOW PRIVILEGES;
-
-#
-# Alter mysql system tables back to myisam
-#
-use mysql;
-alter table columns_priv engine=myisam;
-alter table db engine=myisam;
-alter table func engine=myisam;
-alter table help_category engine=myisam;
-alter table help_keyword engine=myisam;
-alter table help_relation engine=myisam;
-alter table help_topic engine=myisam;
-alter table host engine=myisam;
-alter table tables_priv engine=myisam;
-alter table time_zone engine=myisam;
-alter table time_zone_leap_second engine=myisam;
-alter table time_zone_name engine=myisam;
-alter table time_zone_transition engine=myisam;
-alter table time_zone_transition_type engine=myisam;
-alter table user engine=myisam;
-use test;
-flush privileges;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_index.test b/mysql-test/suite/ndb/t/ndb_index.test
deleted file mode 100644
index 272f30e3e6f..00000000000
--- a/mysql-test/suite/ndb/t/ndb_index.test
+++ /dev/null
@@ -1,131 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-CREATE TABLE t1 (
- PORT varchar(16) NOT NULL,
- ACCESSNODE varchar(16) NOT NULL,
- POP varchar(48) NOT NULL,
- ACCESSTYPE int unsigned NOT NULL,
- CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
- PROVIDER varchar(16),
- TEXPIRE int unsigned,
- NUM_IP int unsigned,
- LEASED_NUM_IP int unsigned,
- LOCKED_IP int unsigned,
- STATIC_DNS int unsigned,
- SUSPENDED_SERVICE int unsigned,
- SUSPENDED_REASON int unsigned,
- BGP_COMMUNITY int unsigned,
- INDEX CUSTOMER_ID_INDEX(CUSTOMER_ID),
- INDEX FQPN_INDEX(POP,ACCESSNODE,PORT),
- PRIMARY KEY(POP,ACCESSNODE,PORT,ACCESSTYPE)
-) engine=ndbcluster;
-
-INSERT INTO t1 VALUES ('port67', 'node78', 'pop98', 1, 'kllopmn', 'pr_43', 121212, 1, 2, 3, 8, NULL, NULL, NULL);
-INSERT INTO t1 VALUES ('port67', 'node78', 'pop99', 2, 'klkighh', 'pr_44', 121213, 3, 3, 6, 7, NULL, NULL, NULL);
-INSERT INTO t1 VALUES ('port79', 'node79', 'pop79', 2, 'kpongfaa', 'pr_44', 981213, 2, 4, 10, 11, 2, 99, 1278);
-
-
-# Test select using port
-select port, accessnode, pop, accesstype from t1 where port='port67' order by accesstype;
-select port, accessnode, pop, accesstype from t1 where port='foo';
-
-# Test select using accessnode
-select port, accessnode, pop, accesstype from t1 where accessnode='node78' order by accesstype;
-select port, accessnode, pop, accesstype from t1 where accessnode='foo';
-
-# Test select using pop
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-select port, accessnode, pop, accesstype from t1 where pop='pop98';
-select port, accessnode, pop, accesstype from t1 where pop='pop98' order by accesstype;
-# The following two querys will not return any rows since
-# the index used for access is case sensitive
-# They are thus disabled for now
-#select port, accessnode, pop, accesstype from t1 where pop='POP98';
-#select port, accessnode, pop, accesstype from t1 where pop='POP98' order by accesstype;
-select port, accessnode, pop, accesstype from t1 where pop='foo';
-
-# Test select using accesstype
-select port, accessnode, pop, accesstype from t1 where accesstype=1;
-select port, accessnode, pop, accesstype from t1 where accesstype=2 order by port;
-select port, accessnode, pop, accesstype from t1 where accesstype=98 order by port;
-
-# Test select using customer_id
-# NOTE! customer_id has a INDEX (ordered index in NDB), it's case sensitive!
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
-select port, accessnode, pop, accesstype from t1 where customer_id='KLLOPMN';
-select port, accessnode, pop, accesstype from t1 where customer_id='kLLoPMn';
-select port, accessnode, pop, accesstype from t1 where customer_id='foo';
-
-# Test select using provider
-select port, accessnode, pop, accesstype from t1 where provider='pr_43';
-select port, accessnode, pop, accesstype from t1 where provider='foo';
-
-# Test select using texpire
-select port, accessnode from t1 where texpire=121212;
-select port, accessnode from t1 where texpire=2323;
-
-# Test select using num_ip
-select port, accessnode, pop, accesstype from t1 where num_ip=1;
-select port, accessnode, pop, accesstype from t1 where num_ip=89;
-
-# Test select using leased_num_ip
-select port, accessnode, pop, accesstype from t1 where leased_num_ip=2;
-select port, accessnode, pop, accesstype from t1 where leased_num_ip=89;
-
-# Test select using locked_ip
-select port, accessnode, pop, accesstype from t1 where locked_ip=3;
-select port, accessnode, pop, accesstype from t1 where locked_ip=89;
-
-# Test select using static_dns
-select port, accessnode, pop, accesstype from t1 where static_dns=8;
-select port, accessnode, pop, accesstype from t1 where static_dns=89;
-
-# Test select using suspended_service
-select port, accessnode, pop, accesstype from t1 where suspended_service=8;
-select port, accessnode, pop, accesstype from t1 where suspended_service=89;
-
-# Test select using suspended_reason
-select port, accessnode, pop, accesstype from t1 where suspended_reason=NULL;
-select port, accessnode, pop, accesstype from t1 where suspended_reason=89;
-select port, accessnode, pop, accesstype from t1 where suspended_reason=0;
-
-# Test select using bgp_community
-select port, accessnode, pop, accesstype from t1 where bgp_community=NULL;
-select port, accessnode, pop, accesstype from t1 where bgp_community=89;
-select port, accessnode, pop, accesstype from t1 where bgp_community=0;
-
-# Test select using full primary key
-select port, accessnode, pop, accesstype from t1 where port='port67' and accessnode='node78' and pop='pop98' and accesstype=1;
-select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78' and pop='pop98';
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and port='port67' and accesstype=1 and accessnode='node78';
-select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo' and accesstype=99;
-
-# Test select using partial primary key
-select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accesstype=1;
-select port, accessnode, pop, accesstype from t1 where accesstype=1 and accessnode='node78' and pop='pop98';
-select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78';
-select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo';
-
-# Test select using CUSTOMER_ID_INDEX
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=1;
-select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=2;
-select port, accessnode, pop, accesstype from t1 where accesstype=2 and customer_id='kllopmn';
-
-# Test select using FQPN_INDEX
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67';
-#select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' order by accesstype;
-#select port, accessnode, pop, accesstype from t1 where accessnode='node78' and port='port67' and pop='pop98' order by accesstype;
-#select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accessnode='node78' order by accesstype;
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='kllopmn';
-select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='foo';
-
-drop table t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_index_ordered.test b/mysql-test/suite/ndb/t/ndb_index_ordered.test
deleted file mode 100644
index c8dfc1de59f..00000000000
--- a/mysql-test/suite/ndb/t/ndb_index_ordered.test
+++ /dev/null
@@ -1,488 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, test1, test2;
---enable_warnings
-
-#
-# Simple test to show use of ordered indexes
-#
-
-CREATE TABLE t1 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned,
- KEY(b)
-) engine=ndbcluster;
-
-insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t1 order by b;
-select * from t1 where b >= 4 order by b;
-select * from t1 where b = 4 order by b;
-select * from t1 where b > 4 order by b;
-select * from t1 where b < 4 order by b;
-select * from t1 where b <= 4 order by b;
-
-# Test of reset_bounds
-select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
-select a, b, c from t1 where a!=2 and c=6;
-select a, b, c from t1 where a!=2 order by a;
-
-#
-# Here we should add some "explain select" to verify that the ordered index is
-# used for these queries.
-#
-
-#
-# Update using ordered index scan
-#
-
-update t1 set c = 3 where b = 3;
-select * from t1 order by a;
-update t1 set c = 10 where b >= 6;
-select * from t1 order by a;
-update t1 set c = 11 where b < 5;
-select * from t1 order by a;
-update t1 set c = 12 where b > 0;
-select * from t1 order by a;
-update t1 set c = 13 where b <= 3;
-select * from t1 order by a;
-update t1 set b = b + 1 where b > 4 and b < 7;
-select * from t1 order by a;
-# Update primary key
-update t1 set a = a + 10 where b > 1 and b < 7;
-select * from t1 order by a;
-
-#
-# Delete using ordered index scan
-#
-
-drop table t1;
-
-CREATE TABLE t1 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned,
- KEY(b)
-) engine=ndbcluster;
-
-insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12);
-
-delete from t1 where b = 3;
-select * from t1 order by a;
-delete from t1 where b >= 6;
-select * from t1 order by a;
-delete from t1 where b < 4;
-select * from t1 order by a;
-delete from t1 where b > 5;
-select * from t1 order by a;
-delete from t1 where b <= 4;
-select * from t1 order by a;
-
-drop table t1;
-
-
-#
-#multi part key
-#
-CREATE TABLE t1 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned not null
-) engine = ndb;
-
-create index a1 on t1 (b, c);
-
-insert into t1 values (1, 2, 13);
-insert into t1 values (2,3, 13);
-insert into t1 values (3, 4, 12);
-insert into t1 values (4, 5, 12);
-insert into t1 values (5,6, 12);
-insert into t1 values (6,7, 12);
-insert into t1 values (7, 2, 1);
-insert into t1 values (8,3, 6);
-insert into t1 values (9, 4, 12);
-insert into t1 values (14, 5, 4);
-insert into t1 values (15,5,5);
-insert into t1 values (16,5, 6);
-insert into t1 values (17,4,4);
-insert into t1 values (18,1, 7);
-
-
-
-select * from t1 order by a;
-select * from t1 where b<=5 order by a;
-select * from t1 where b<=5 and c=0;
-insert into t1 values (19,4, 0);
-select * from t1 where b<=5 and c=0;
-select * from t1 where b=4 and c<=5 order by a;
-select * from t1 where b<=4 and c<=5 order by a;
-select * from t1 where b<=5 and c=0 or b<=5 and c=2;
-
-select count(*) from t1 where b = 0;
-select count(*) from t1 where b = 1;
-drop table t1;
-
-#
-# Indexing NULL values
-#
-
-CREATE TABLE t1 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned,
- c int unsigned,
- KEY bc(b,c)
-) engine = ndb;
-
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 use index (bc) where b IS NULL order by a;
-
-select * from t1 use index (bc)order by a;
-select * from t1 use index (bc) order by a;
-select * from t1 use index (PRIMARY) where b IS NULL order by a;
-select * from t1 use index (bc) where b IS NULL order by a;
-select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
-select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
-select * from t1 use index (bc) where b < 4 order by a;
-select * from t1 use index (bc) where b IS NOT NULL order by a;
-drop table t1;
-
-#
-# Order by again, including descending.
-#
-
-create table t1 (
- a int unsigned primary key,
- b int unsigned,
- c char(10),
- key bc (b, c)
-) engine=ndb;
-
-insert into t1 values(1,1,'a'),(2,2,'b'),(3,3,'c'),(4,4,'d'),(5,5,'e');
-insert into t1 select a*7,10*b,'f' from t1;
-insert into t1 select a*13,10*b,'g' from t1;
-insert into t1 select a*17,10*b,'h' from t1;
-insert into t1 select a*19,10*b,'i' from t1;
-insert into t1 select a*23,10*b,'j' from t1;
-insert into t1 select a*29,10*b,'k' from t1;
-#
-select b, c from t1 where b <= 10 and c <'f' order by b, c;
-select b, c from t1 where b <= 10 and c <'f' order by b desc, c desc;
-#
-select b, c from t1 where b=4000 and c<'k' order by b, c;
-select b, c from t1 where b=4000 and c<'k' order by b desc, c desc;
-select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b, c;
-select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b desc, c desc;
-#
-select min(b), max(b) from t1;
-#
-drop table t1;
-
-#
-# Bug #6435
-CREATE TABLE test1 (
-SubscrID int(11) NOT NULL auto_increment,
-UsrID int(11) NOT NULL default '0',
-PRIMARY KEY (SubscrID),
-KEY idx_usrid (UsrID)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-
-INSERT INTO test1 VALUES (2,224),(3,224),(1,224);
-
-CREATE TABLE test2 (
-SbclID int(11) NOT NULL auto_increment,
-SbcrID int(11) NOT NULL default '0',
-PRIMARY KEY (SbclID),
-KEY idx_sbcrid (SbcrID)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-
-INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2);
-select * from test1 order by 1;
-select * from test2 order by 1;
-SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON
-l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2;
-drop table test1;
-drop table test2;
-
-# bug#7424 + bug#7725
-
-create table t1 (
- pk int primary key,
- dt datetime not null,
- da date not null,
- ye year not null,
- ti time not null,
- ts timestamp not null,
- index(dt),
- index(da),
- index(ye),
- index(ti),
- index(ts)
-) engine=ndb;
-
-insert into t1 (pk,dt,da,ye,ti,ts) values
- (1, '1901-05-05 23:00:59', '1901-05-05', '1901', '23:00:59', '2001-01-01 23:00:59'),
- (2, '1912-09-05 13:00:59', '1912-09-05', '1912', '13:00:59', '2001-01-01 13:00:59'),
- (3, '1945-12-31 00:00:00', '1945-12-31', '1945', '00:00:00', '2001-01-01 00:00:00'),
- (4, '1955-12-31 00:00:00', '1955-12-31', '1955', '00:00:00', '2001-01-01 00:00:00'),
- (5, '1963-06-06 06:06:06', '1963-06-06', '1963', '06:06:06', '2001-01-01 06:06:06'),
- (6, '1993-06-06 06:06:06', '1993-06-06', '1993', '06:06:06', '2001-01-01 06:06:06'),
- (7, '2001-01-01 10:11:10', '2001-01-01', '2001', '10:11:10', '2001-01-01 10:11:10'),
- (8, '2001-01-01 10:11:11', '2001-01-01', '2001', '10:11:11', '2001-01-01 10:11:11'),
- (9, '2005-01-31 23:59:59', '2005-01-31', '2005', '23:59:59', '2001-01-01 23:59:59');
-
-# datetime
-select count(*)-9 from t1 use index (dt) where dt > '1900-01-01 00:00:00';
-select count(*)-6 from t1 use index (dt) where dt >= '1955-12-31 00:00:00';
-select count(*)-5 from t1 use index (dt) where dt > '1955-12-31 00:00:00';
-select count(*)-5 from t1 use index (dt) where dt < '1970-03-03 22:22:22';
-select count(*)-7 from t1 use index (dt) where dt < '2001-01-01 10:11:11';
-select count(*)-8 from t1 use index (dt) where dt <= '2001-01-01 10:11:11';
-select count(*)-9 from t1 use index (dt) where dt <= '2055-01-01 00:00:00';
-
-# date
-select count(*)-9 from t1 use index (da) where da > '1900-01-01';
-select count(*)-6 from t1 use index (da) where da >= '1955-12-31';
-select count(*)-5 from t1 use index (da) where da > '1955-12-31';
-select count(*)-5 from t1 use index (da) where da < '1970-03-03';
-select count(*)-6 from t1 use index (da) where da < '2001-01-01';
-select count(*)-8 from t1 use index (da) where da <= '2001-01-02';
-select count(*)-9 from t1 use index (da) where da <= '2055-01-01';
-
-# year
-select count(*)-9 from t1 use index (ye) where ye > '1900';
-select count(*)-6 from t1 use index (ye) where ye >= '1955';
-select count(*)-5 from t1 use index (ye) where ye > '1955';
-select count(*)-5 from t1 use index (ye) where ye < '1970';
-select count(*)-6 from t1 use index (ye) where ye < '2001';
-select count(*)-8 from t1 use index (ye) where ye <= '2001';
-select count(*)-9 from t1 use index (ye) where ye <= '2055';
-
-# time
-select count(*)-9 from t1 use index (ti) where ti >= '00:00:00';
-select count(*)-7 from t1 use index (ti) where ti > '00:00:00';
-select count(*)-7 from t1 use index (ti) where ti > '05:05:05';
-select count(*)-5 from t1 use index (ti) where ti > '06:06:06';
-select count(*)-5 from t1 use index (ti) where ti < '10:11:11';
-select count(*)-6 from t1 use index (ti) where ti <= '10:11:11';
-select count(*)-8 from t1 use index (ti) where ti < '23:59:59';
-select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
-
-# timestamp
-select count(*)-9 from t1 use index (ts) where ts >= '2001-01-01 00:00:00';
-select count(*)-7 from t1 use index (ts) where ts > '2001-01-01 00:00:00';
-select count(*)-7 from t1 use index (ts) where ts > '2001-01-01 05:05:05';
-select count(*)-5 from t1 use index (ts) where ts > '2001-01-01 06:06:06';
-select count(*)-5 from t1 use index (ts) where ts < '2001-01-01 10:11:11';
-select count(*)-6 from t1 use index (ts) where ts <= '2001-01-01 10:11:11';
-select count(*)-8 from t1 use index (ts) where ts < '2001-01-01 23:59:59';
-select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';
-
-drop table t1;
-
-# decimal (not the new 5.0 thing)
-
-create table t1 (
- a int primary key,
- s decimal(12),
- t decimal(12, 5),
- u decimal(12) unsigned,
- v decimal(12, 5) unsigned,
- key (s),
- key (t),
- key (u),
- key (v)
-) engine=ndb;
-#
-insert into t1 values
- ( 0, -000000000007, -0000061.00003, 000000000061, 0000965.00042),
- ( 1, -000000000007, -0000061.00042, 000000000061, 0000965.00003),
- ( 2, -071006035767, 4210253.00024, 000000000001, 0000001.84488),
- ( 3, 000000007115, 0000000.77607, 000077350625, 0000018.00013),
- ( 4, -000000068391, -0346486.00000, 000000005071, 0005334.00002),
- ( 5, -521579890459, -1936874.00001, 000000000154, 0000003.00018),
- ( 6, -521579890459, -1936874.00018, 000000000154, 0000003.00001),
- ( 7, 000000000333, 0000051.39140, 000000907958, 0788643.08374),
- ( 8, 000042731229, 0000009.00000, 000000000009, 6428667.00000),
- ( 9, -000008159769, 0000918.00004, 000096951421, 7607730.00008);
-#
-select count(*)- 5 from t1 use index (s) where s < -000000000007;
-select count(*)- 7 from t1 use index (s) where s <= -000000000007;
-select count(*)- 2 from t1 use index (s) where s = -000000000007;
-select count(*)- 5 from t1 use index (s) where s >= -000000000007;
-select count(*)- 3 from t1 use index (s) where s > -000000000007;
-#
-select count(*)- 4 from t1 use index (t) where t < -0000061.00003;
-select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
-select count(*)- 1 from t1 use index (t) where t = -0000061.00003;
-select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
-select count(*)- 5 from t1 use index (t) where t > -0000061.00003;
-#
-select count(*)- 2 from t1 use index (u) where u < 000000000061;
-select count(*)- 4 from t1 use index (u) where u <= 000000000061;
-select count(*)- 2 from t1 use index (u) where u = 000000000061;
-select count(*)- 8 from t1 use index (u) where u >= 000000000061;
-select count(*)- 6 from t1 use index (u) where u > 000000000061;
-#
-select count(*)- 5 from t1 use index (v) where v < 0000965.00042;
-select count(*)- 6 from t1 use index (v) where v <= 0000965.00042;
-select count(*)- 1 from t1 use index (v) where v = 0000965.00042;
-select count(*)- 5 from t1 use index (v) where v >= 0000965.00042;
-select count(*)- 4 from t1 use index (v) where v > 0000965.00042;
-
-drop table t1;
-
-#
-# Disabled due to WL#4284
-#
-# Needs to be reworked. It's not possible anymore to do a non-fast alter table
-# on a table that is being used by a pending transaction (transaction holds a
-# metadata lock on the table).
-#
-# bug#7798
-# create table t1(a int primary key, b int not null, c int, index(b));
-# insert into t1 values (1,1,1), (2,2,2);
-# connect (con1,localhost,root,,test);
-# connect (con2,localhost,root,,test);
-# connection con1;
-# set autocommit=0;
-# begin;
-# select count(*) from t1;
-# connection con2;
-# ALTER TABLE t1 ADD COLUMN c int
-# connection con1;
-# select a from t1 where b = 2;
-# show tables;
-# drop table t1;
-#
-
-# mysqld 5.0.13 crash, no bug#
-create table t1 (a int, c varchar(10),
- primary key using hash (a), index(c)) engine=ndb;
-insert into t1 (a, c) values (1,'aaa'),(3,'bbb');
-select count(*) from t1 where c<'bbb';
-drop table t1;
-
-# -- index statistics --
-
-set autocommit=1;
-show session variables like 'ndb_index_stat_%';
-
-set ndb_index_stat_enable = off;
-show session variables like 'ndb_index_stat_%';
-
-create table t1 (a int, b int, c varchar(10) not null,
- primary key using hash (a), index(b,c)) engine=ndb;
-insert into t1 values
- (1,10,'aaa'),(2,10,'bbb'),(3,10,'ccc'),
- (4,20,'aaa'),(5,20,'bbb'),(6,20,'ccc'),
- (7,30,'aaa'),(8,30,'bbb'),(9,30,'ccc');
-select count(*) from t1 where b < 10;
-select count(*) from t1 where b >= 10 and c >= 'bbb';
-select count(*) from t1 where b > 10;
-select count(*) from t1 where b <= 20 and c < 'ccc';
-select count(*) from t1 where b = 20 and c = 'ccc';
-select count(*) from t1 where b > 20;
-select count(*) from t1 where b = 30 and c > 'aaa';
-select count(*) from t1 where b <= 20;
-select count(*) from t1 where b >= 20 and c > 'aaa';
-drop table t1;
-
-set ndb_index_stat_enable = on;
-set ndb_index_stat_cache_entries = 0;
-show session variables like 'ndb_index_stat_%';
-
-create table t1 (a int, b int, c varchar(10) not null,
- primary key using hash (a), index(b,c)) engine=ndb;
-insert into t1 values
- (1,10,'aaa'),(2,10,'bbb'),(3,10,'ccc'),
- (4,20,'aaa'),(5,20,'bbb'),(6,20,'ccc'),
- (7,30,'aaa'),(8,30,'bbb'),(9,30,'ccc');
-select count(*) from t1 where b < 10;
-select count(*) from t1 where b >= 10 and c >= 'bbb';
-select count(*) from t1 where b > 10;
-select count(*) from t1 where b <= 20 and c < 'ccc';
-select count(*) from t1 where b = 20 and c = 'ccc';
-select count(*) from t1 where b > 20;
-select count(*) from t1 where b = 30 and c > 'aaa';
-select count(*) from t1 where b <= 20;
-select count(*) from t1 where b >= 20 and c > 'aaa';
-drop table t1;
-
-set ndb_index_stat_enable = on;
-set ndb_index_stat_cache_entries = 4;
-set ndb_index_stat_update_freq = 2;
-show session variables like 'ndb_index_stat_%';
-
-create table t1 (a int, b int, c varchar(10) not null,
- primary key using hash (a), index(b,c)) engine=ndb;
-insert into t1 values
- (1,10,'aaa'),(2,10,'bbb'),(3,10,'ccc'),
- (4,20,'aaa'),(5,20,'bbb'),(6,20,'ccc'),
- (7,30,'aaa'),(8,30,'bbb'),(9,30,'ccc');
-select count(*) from t1 where b < 10;
-select count(*) from t1 where b >= 10 and c >= 'bbb';
-select count(*) from t1 where b > 10;
-select count(*) from t1 where b <= 20 and c < 'ccc';
-select count(*) from t1 where b = 20 and c = 'ccc';
-select count(*) from t1 where b > 20;
-select count(*) from t1 where b = 30 and c > 'aaa';
-select count(*) from t1 where b <= 20;
-select count(*) from t1 where b >= 20 and c > 'aaa';
-drop table t1;
-
-set ndb_index_stat_enable = @@global.ndb_index_stat_enable;
-set ndb_index_stat_cache_entries = @@global.ndb_index_stat_cache_entries;
-set ndb_index_stat_update_freq = @@global.ndb_index_stat_update_freq;
-show session variables like 'ndb_index_stat_%';
-
-# End of 4.1 tests
-
-# bug#24039
-
-create table t1 (a int primary key) engine = ndb;
-insert into t1 values (1), (2), (3);
-begin;
-delete from t1 where a > 1;
-rollback;
-select * from t1 order by a;
-begin;
-delete from t1 where a > 1;
-rollback;
-
-begin;
-select * from t1 order by a;
-delete from t1 where a > 2;
-select * from t1 order by a;
-delete from t1 where a > 1;
-select * from t1 order by a;
-delete from t1 where a > 0;
-select * from t1 order by a;
-rollback;
-select * from t1 order by a;
-delete from t1;
-drop table t1;
-
-# bug#24820 CREATE INDEX ....USING HASH on NDB table creates ordered index, not HASH index
-
---error ER_CANT_CREATE_TABLE
-create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT,
- CountryCode char(3) NOT NULL,
- DishTitle varchar(64) NOT NULL,
- calories smallint(5) unsigned DEFAULT NULL,
- PRIMARY KEY (DishID),
- INDEX i USING HASH (countrycode,calories)
- ) ENGINE=ndbcluster;
-
-create table nationaldish (DishID int(10) unsigned NOT NULL AUTO_INCREMENT,
- CountryCode char(3) NOT NULL,
- DishTitle varchar(64) NOT NULL,
- calories smallint(5) unsigned DEFAULT NULL,
- PRIMARY KEY (DishID)
- ) ENGINE=ndbcluster;
-
---error ER_UNSUPPORTED_EXTENSION
-create index i on nationaldish(countrycode,calories) using hash;
-
-drop table nationaldish;
diff --git a/mysql-test/suite/ndb/t/ndb_index_unique.test b/mysql-test/suite/ndb/t/ndb_index_unique.test
deleted file mode 100644
index 9178ace1ad0..00000000000
--- a/mysql-test/suite/ndb/t/ndb_index_unique.test
+++ /dev/null
@@ -1,361 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, t2, t3, t4, t5, t6, t7, t8;
---enable_warnings
-
-#
-# Simple test to show use of UNIQUE indexes
-#
-
-CREATE TABLE t1 (
- a int NOT NULL PRIMARY KEY,
- b int not null,
- c int,
- UNIQUE ib(b)
-) engine=ndbcluster;
-
-insert t1 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t1 order by b;
-select * from t1 where b = 4 order by b;
-insert into t1 values(7,8,3);
-select * from t1 where b = 4 order by a;
-
--- error ER_DUP_ENTRY
-insert into t1 values(8, 2, 3);
-select * from t1 order by a;
-delete from t1 where a = 1;
-insert into t1 values(8, 2, 3);
-select * from t1 order by a;
-
-alter table t1 drop index ib;
-insert into t1 values(1, 2, 3);
-# Bug# #18129
---error 1169
-create unique index ib on t1(b);
-
-drop table t1;
-
-#
-# Indexing NULL values
-#
-
-CREATE TABLE t1 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned,
- c int unsigned,
- UNIQUE bc(b,c)
-) engine = ndb;
-
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 use index (bc) where b IS NULL order by a;
-
-select * from t1 use index (bc)order by a;
-select * from t1 use index (bc) order by a;
-select * from t1 use index (PRIMARY) where b IS NULL order by a;
-select * from t1 use index (bc) where b IS NULL order by a;
-select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
-select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
-select * from t1 use index (bc) where b < 4 order by a;
-select * from t1 use index (bc) where b IS NOT NULL order by a;
--- error ER_DUP_ENTRY
-insert into t1 values(5,1,1);
-drop table t1;
-
-
-#
-# Show use of UNIQUE USING HASH indexes
-#
-
-CREATE TABLE t2 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned not null,
- UNIQUE (b, c) USING HASH
-) engine=ndbcluster;
-
-insert t2 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t2 where a = 3;
-select * from t2 where b = 4;
-select * from t2 where c = 6;
-insert into t2 values(7,8,3);
-select * from t2 where b = 4 order by a;
-
--- error ER_DUP_ENTRY
-insert into t2 values(8, 2, 3);
-select * from t2 order by a;
-delete from t2 where a = 1;
-insert into t2 values(8, 2, 3);
-select * from t2 order by a;
-
-# Bug #24818 CREATE UNIQUE INDEX (...) USING HASH on a NDB table crashes mysqld
-create unique index bi using hash on t2(b);
--- error ER_DUP_ENTRY
-insert into t2 values(9, 3, 1);
-alter table t2 drop index bi;
-insert into t2 values(9, 3, 1);
-select * from t2 order by a;
-
-drop table t2;
-
-CREATE TABLE t2 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned,
- UNIQUE (b, c) USING HASH
-) engine=ndbcluster;
-
-
-insert t2 values(1,1,NULL),(2,2,2),(3,3,NULL),(4,4,4),(5,5,NULL),(6,6,6),(7,7,NULL),(8,3,NULL),(9,3,NULL);
-
-select * from t2 where c IS NULL order by a;
-select * from t2 where b = 3 AND c IS NULL order by a;
-select * from t2 where (b = 3 OR b = 5) AND c IS NULL order by a;
-set @old_optimizer_switch = @@session.optimizer_switch;
-set optimizer_switch = "engine_condition_pushdown=on";
-explain select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a;
-select * from t2 where (b = 3 OR b = 5) AND c IS NULL AND a < 9 order by a;
-set optimizer_switch = @old_optimizer_switch;
-
-drop table t2;
-
-#
-# Show use of PRIMARY KEY USING HASH indexes
-#
-
-CREATE TABLE t3 (
- a int unsigned NOT NULL,
- b int unsigned not null,
- c int unsigned,
- PRIMARY KEY (a, b) USING HASH
-) engine=ndbcluster;
-
-insert t3 values(1, 2, 3), (2, 3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
-select * from t3 where a = 3;
-select * from t3 where b = 4;
-select * from t3 where c = 6;
-insert into t3 values(7,8,3);
-select * from t3 where b = 4 order by a;
-
-drop table t3;
-
-#
-# Indexes on NULL-able columns
-#
-
-CREATE TABLE t1 (
- pk int NOT NULL PRIMARY KEY,
- a int unsigned,
- UNIQUE KEY (a)
-) engine=ndbcluster;
-
-insert into t1 values (-1,NULL), (0,0), (1,NULL),(2,2),(3,NULL),(4,4);
-
-select * from t1 order by pk;
-
---error ER_DUP_ENTRY
-insert into t1 values (5,0);
-select * from t1 order by pk;
-delete from t1 where a = 0;
-insert into t1 values (5,0);
-select * from t1 order by pk;
-
-CREATE TABLE t2 (
- pk int NOT NULL PRIMARY KEY,
- a int unsigned,
- b tinyint NOT NULL,
- c VARCHAR(10),
- UNIQUE KEY si(a, c)
-) engine=ndbcluster;
-
-insert into t2 values (-1,1,17,NULL),(0,NULL,18,NULL),(1,3,19,'abc');
-
-select * from t2 order by pk;
-
---error ER_DUP_ENTRY
-insert into t2 values(2,3,19,'abc');
-select * from t2 order by pk;
-delete from t2 where c IS NOT NULL;
-insert into t2 values(2,3,19,'abc');
-select * from t2 order by pk;
-
-drop table t1, t2;
-
-#
-# More complex tables
-#
-
-CREATE TABLE t1 (
- cid smallint(5) unsigned NOT NULL default '0',
- cv varchar(250) NOT NULL default '',
- PRIMARY KEY (cid),
- UNIQUE KEY cv (cv)
-) engine=ndbcluster;
-INSERT INTO t1 VALUES (8,'dummy');
-CREATE TABLE t2 (
- cid bigint(20) unsigned NOT NULL auto_increment,
- cap varchar(255) NOT NULL default '',
- PRIMARY KEY (cid),
- UNIQUE KEY (cid, cap)
-) engine=ndbcluster;
-INSERT INTO t2 VALUES (NULL,'another dummy');
-CREATE TABLE t3 (
- gid bigint(20) unsigned NOT NULL auto_increment,
- gn varchar(255) NOT NULL default '',
- must tinyint(4) default NULL,
- PRIMARY KEY (gid)
-) engine=ndbcluster;
-INSERT INTO t3 VALUES (1,'V1',NULL);
-CREATE TABLE t4 (
- uid bigint(20) unsigned NOT NULL default '0',
- gid bigint(20) unsigned NOT NULL,
- rid bigint(20) unsigned NOT NULL,
- cid bigint(20) unsigned NOT NULL,
- UNIQUE KEY m (uid,gid,rid,cid)
-) engine=ndbcluster;
-INSERT INTO t4 VALUES (1,1,2,4);
-INSERT INTO t4 VALUES (1,1,2,3);
-INSERT INTO t4 VALUES (1,1,5,7);
-INSERT INTO t4 VALUES (1,1,10,8);
-CREATE TABLE t5 (
- rid bigint(20) unsigned NOT NULL auto_increment,
- rl varchar(255) NOT NULL default '',
- PRIMARY KEY (rid)
-) engine=ndbcluster;
-CREATE TABLE t6 (
- uid bigint(20) unsigned NOT NULL auto_increment,
- un varchar(250) NOT NULL default '',
- uc smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (uid),
- UNIQUE KEY nc (un,uc)
-) engine=ndbcluster;
-INSERT INTO t6 VALUES (1,'test',8);
-INSERT INTO t6 VALUES (2,'test2',9);
-INSERT INTO t6 VALUES (3,'tre',3);
-CREATE TABLE t7 (
- mid bigint(20) unsigned NOT NULL PRIMARY KEY,
- uid bigint(20) unsigned NOT NULL default '0',
- gid bigint(20) unsigned NOT NULL,
- rid bigint(20) unsigned NOT NULL,
- cid bigint(20) unsigned NOT NULL,
- UNIQUE KEY m (uid,gid,rid,cid)
-) engine=ndbcluster;
-INSERT INTO t7 VALUES(1, 1, 1, 1, 1);
-INSERT INTO t7 VALUES(2, 2, 1, 1, 1);
-INSERT INTO t7 VALUES(3, 3, 1, 1, 1);
-INSERT INTO t7 VALUES(4, 4, 1, 1, 1);
-INSERT INTO t7 VALUES(5, 5, 1, 1, 1);
-INSERT INTO t7 VALUES(6, 1, 1, 1, 6);
-INSERT INTO t7 VALUES(7, 2, 1, 1, 7);
-INSERT INTO t7 VALUES(8, 3, 1, 1, 8);
-INSERT INTO t7 VALUES(9, 4, 1, 1, 9);
-INSERT INTO t7 VALUES(10, 5, 1, 1, 10);
-
-select * from t1 where cv = 'dummy';
-select * from t1 where cv = 'test';
-select * from t2 where cap = 'another dummy';
-select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
-select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
-select * from t4 where uid = 1 order by cid;
-select * from t4 where rid = 2 order by cid;
-select * from t6 where un='test' and uc=8;
-select * from t6 where un='test' and uc=7;
-select * from t6 where un='test';
-select * from t7 where mid = 8;
-select * from t7 where uid = 8;
-select * from t7 where uid = 1 order by mid;
-select * from t7 where uid = 4 order by mid;
-select * from t7 where gid = 4;
-select * from t7 where gid = 1 order by mid;
-select * from t7 where cid = 4;
-select * from t7 where cid = 8;
-
-#
-# insert more records into t4
-#
-let $1=100;
-disable_query_log;
-while ($1)
-{
- eval insert into t4 values(1, $1, 5, 12);
- eval insert into t4 values($1, 3, 9, 11);
- dec $1;
-}
-enable_query_log;
-
-select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
-select * from t4 where uid = 1 and gid=1 and rid=1 and cid=4;
-select * from t4 where uid = 1 order by gid,cid;
-select * from t4 where uid = 1 order by gid,cid;
-select * from t4 where rid = 2 order by cid;
-
-
-drop table t1,t2,t3,t4,t5,t6,t7;
-
-# test null in indexes
-CREATE TABLE t1 (
- a int unsigned NOT NULL PRIMARY KEY,
- b int unsigned,
- c int unsigned,
- UNIQUE bc(b,c) ) engine = ndb;
-
-insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
-select * from t1 where b=1 and c=1;
-select * from t1 where b is null and c is null;
-select * from t1 where b is null and c = 2;
-select * from t1 where b = 4 and c is null;
-create table t8 as
-select * from t1 where (b = 1 and c = 1)
- or (b is null and c is null)
- or (b is null and c = 2)
- or (b = 4 and c is null);
-select * from t8 order by a;
-select * from t1 order by a;
-drop table t1, t8;
-
-###############################
-# Bug 8101
-#
-# Unique index not specified in the same order as in table
-#
-
-create table t1(
- id integer not null auto_increment,
- month integer not null,
- year integer not null,
- code varchar( 2) not null,
- primary key ( id),
- unique idx_t1( month, code, year)
-) engine=ndb;
-
-INSERT INTO t1 (month, year, code) VALUES (4,2004,'12');
-INSERT INTO t1 (month, year, code) VALUES (5,2004,'12');
-
-select * from t1 where code = '12' and month = 4 and year = 2004 ;
-
-drop table t1;
-
-# bug#15918 Unique Key Limit in NDB Engine
-
-create table t1 (a int primary key, b varchar(1000) not null, unique key (b))
-engine=ndb charset=utf8;
-
-insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200));
---error ER_DUP_ENTRY
-insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200));
-select a, sha1(b) from t1;
-
-# perl -e 'print pack("H2000","e288ab6474"x200)' | sha1sum
-
-drop table t1;
-
-# bug#21873 MySQLD Crash on ALTER...ADD..UNIQUE..USING HASH statement for NDB backed table
-
-create table t1(id int not null) engine = NDB;
-
-alter table t1 add constraint uk_test unique (id) using hash;
-
-drop table t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_insert.test b/mysql-test/suite/ndb/t/ndb_insert.test
deleted file mode 100644
index d659f8357f2..00000000000
--- a/mysql-test/suite/ndb/t/ndb_insert.test
+++ /dev/null
@@ -1,641 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# Basic test of INSERT in NDB
-#
-
-#
-# Create a normal table with primary key
-#
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- b INT NOT NULL,
- c INT NOT NULL
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (0, 0, 0);
-SELECT * FROM t1;
-
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
-(11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
-(16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
-(21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
-(26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
-(31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
-(36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
-(41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
-(46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
-(51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
-(56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
-(61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
-(66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
-(71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75),
-(76,76,76),(77,77,77),(78,78,78),(79,79,79),(80,80,80),
-(81,81,81),(82,82,82),(83,83,83),(84,84,84),(85,85,85),
-(86,86,86),(87,87,87),(88,88,88),(89,89,89),(90,90,90),
-(91,91,91),(92,92,92),(93,93,93),(94,94,94),(95,95,95),
-(96,96,96),(97,97,97),(98,98,98),(99,99,99),(100,100,100),
-(101,101,101),(102,102,102),(103,103,103),(104,104,104),(105,105,105),
-(106,106,106),(107,107,107),(108,108,108),(109,109,109),(110,110,110),
-(111,111,111),(112,112,112),(113,113,113),(114,114,114),(115,115,115),
-(116,116,116),(117,117,117),(118,118,118),(119,119,119),(120,120,120),
-(121,121,121),(122,122,122),(123,123,123),(124,124,124),(125,125,125),
-(126,126,126),(127,127,127),(128,128,128),(129,129,129),(130,130,130),
-(131,131,131),(132,132,132),(133,133,133),(134,134,134),(135,135,135),
-(136,136,136),(137,137,137),(138,138,138),(139,139,139),(140,140,140),
-(141,141,141),(142,142,142),(143,143,143),(144,144,144),(145,145,145),
-(146,146,146),(147,147,147),(148,148,148),(149,149,149),(150,150,150),
-(151,151,151),(152,152,152),(153,153,153),(154,154,154),(155,155,155),
-(156,156,156),(157,157,157),(158,158,158),(159,159,159),(160,160,160),
-(161,161,161),(162,162,162),(163,163,163),(164,164,164),(165,165,165),
-(166,166,166),(167,167,167),(168,168,168),(169,169,169),(170,170,170),
-(171,171,171),(172,172,172),(173,173,173),(174,174,174),(175,175,175),
-(176,176,176),(177,177,177),(178,178,178),(179,179,179),(180,180,180),
-(181,181,181),(182,182,182),(183,183,183),(184,184,184),(185,185,185),
-(186,186,186),(187,187,187),(188,188,188),(189,189,189),(190,190,190),
-(191,191,191),(192,192,192),(193,193,193),(194,194,194),(195,195,195),
-(196,196,196),(197,197,197),(198,198,198),(199,199,199),(200,200,200),
-(201,201,201),(202,202,202),(203,203,203),(204,204,204),(205,205,205),
-(206,206,206),(207,207,207),(208,208,208),(209,209,209),(210,210,210),
-(211,211,211),(212,212,212),(213,213,213),(214,214,214),(215,215,215),
-(216,216,216),(217,217,217),(218,218,218),(219,219,219),(220,220,220),
-(221,221,221),(222,222,222),(223,223,223),(224,224,224),(225,225,225),
-(226,226,226),(227,227,227),(228,228,228),(229,229,229),(230,230,230),
-(231,231,231),(232,232,232),(233,233,233),(234,234,234),(235,235,235),
-(236,236,236),(237,237,237),(238,238,238),(239,239,239),(240,240,240),
-(241,241,241),(242,242,242),(243,243,243),(244,244,244),(245,245,245),
-(246,246,246),(247,247,247),(248,248,248),(249,249,249),(250,250,250),
-(251,251,251),(252,252,252),(253,253,253),(254,254,254),(255,255,255),
-(256,256,256),(257,257,257),(258,258,258),(259,259,259),(260,260,260),
-(261,261,261),(262,262,262),(263,263,263),(264,264,264),(265,265,265),
-(266,266,266),(267,267,267),(268,268,268),(269,269,269),(270,270,270),
-(271,271,271),(272,272,272),(273,273,273),(274,274,274),(275,275,275),
-(276,276,276),(277,277,277),(278,278,278),(279,279,279),(280,280,280),
-(281,281,281),(282,282,282),(283,283,283),(284,284,284),(285,285,285),
-(286,286,286),(287,287,287),(288,288,288),(289,289,289),(290,290,290),
-(291,291,291),(292,292,292),(293,293,293),(294,294,294),(295,295,295),
-(296,296,296),(297,297,297),(298,298,298),(299,299,299),(300,300,300),
-(301,301,301),(302,302,302),(303,303,303),(304,304,304),(305,305,305),
-(306,306,306),(307,307,307),(308,308,308),(309,309,309),(310,310,310),
-(311,311,311),(312,312,312),(313,313,313),(314,314,314),(315,315,315),
-(316,316,316),(317,317,317),(318,318,318),(319,319,319),(320,320,320),
-(321,321,321),(322,322,322),(323,323,323),(324,324,324),(325,325,325),
-(326,326,326),(327,327,327),(328,328,328),(329,329,329),(330,330,330),
-(331,331,331),(332,332,332),(333,333,333),(334,334,334),(335,335,335),
-(336,336,336),(337,337,337),(338,338,338),(339,339,339),(340,340,340),
-(341,341,341),(342,342,342),(343,343,343),(344,344,344),(345,345,345),
-(346,346,346),(347,347,347),(348,348,348),(349,349,349),(350,350,350),
-(351,351,351),(352,352,352),(353,353,353),(354,354,354),(355,355,355),
-(356,356,356),(357,357,357),(358,358,358),(359,359,359),(360,360,360),
-(361,361,361),(362,362,362),(363,363,363),(364,364,364),(365,365,365),
-(366,366,366),(367,367,367),(368,368,368),(369,369,369),(370,370,370),
-(371,371,371),(372,372,372),(373,373,373),(374,374,374),(375,375,375),
-(376,376,376),(377,377,377),(378,378,378),(379,379,379),(380,380,380),
-(381,381,381),(382,382,382),(383,383,383),(384,384,384),(385,385,385),
-(386,386,386),(387,387,387),(388,388,388),(389,389,389),(390,390,390),
-(391,391,391),(392,392,392),(393,393,393),(394,394,394),(395,395,395),
-(396,396,396),(397,397,397),(398,398,398),(399,399,399),(400,400,400),
-(401,401,401),(402,402,402),(403,403,403),(404,404,404),(405,405,405),
-(406,406,406),(407,407,407),(408,408,408),(409,409,409),(410,410,410),
-(411,411,411),(412,412,412),(413,413,413),(414,414,414),(415,415,415),
-(416,416,416),(417,417,417),(418,418,418),(419,419,419),(420,420,420),
-(421,421,421),(422,422,422),(423,423,423),(424,424,424),(425,425,425),
-(426,426,426),(427,427,427),(428,428,428),(429,429,429),(430,430,430),
-(431,431,431),(432,432,432),(433,433,433),(434,434,434),(435,435,435),
-(436,436,436),(437,437,437),(438,438,438),(439,439,439),(440,440,440),
-(441,441,441),(442,442,442),(443,443,443),(444,444,444),(445,445,445),
-(446,446,446),(447,447,447),(448,448,448),(449,449,449),(450,450,450),
-(451,451,451),(452,452,452),(453,453,453),(454,454,454),(455,455,455),
-(456,456,456),(457,457,457),(458,458,458),(459,459,459),(460,460,460),
-(461,461,461),(462,462,462),(463,463,463),(464,464,464),(465,465,465),
-(466,466,466),(467,467,467),(468,468,468),(469,469,469),(470,470,470),
-(471,471,471),(472,472,472),(473,473,473),(474,474,474),(475,475,475),
-(476,476,476),(477,477,477),(478,478,478),(479,479,479),(480,480,480),
-(481,481,481),(482,482,482),(483,483,483),(484,484,484),(485,485,485),
-(486,486,486),(487,487,487),(488,488,488),(489,489,489),(490,490,490),
-(491,491,491),(492,492,492),(493,493,493),(494,494,494),(495,495,495),
-(496,496,496),(497,497,497),(498,498,498),(499,499,499),(500, 500, 500);
-
-SELECT COUNT(*) FROM t1;
-
-INSERT INTO t1 VALUES
-(501,501,501),(502,502,502),(503,503,503),(504,504,504),(505,505,505),
-(506,506,506),(507,507,507),(508,508,508),(509,509,509),(510,510,510),
-(511,511,511),(512,512,512),(513,513,513),(514,514,514),(515,515,515),
-(516,516,516),(517,517,517),(518,518,518),(519,519,519),(520,520,520),
-(521,521,521),(522,522,522),(523,523,523),(524,524,524),(525,525,525),
-(526,526,526),(527,527,527),(528,528,528),(529,529,529),(530,530,530),
-(531,531,531),(532,532,532),(533,533,533),(534,534,534),(535,535,535),
-(536,536,536),(537,537,537),(538,538,538),(539,539,539),(540,540,540),
-(541,541,541),(542,542,542),(543,543,543),(544,544,544),(545,545,545),
-(546,546,546),(547,547,547),(548,548,548),(549,549,549),(550,550,550),
-(551,551,551),(552,552,552),(553,553,553),(554,554,554),(555,555,555),
-(556,556,556),(557,557,557),(558,558,558),(559,559,559),(560,560,560),
-(561,561,561),(562,562,562),(563,563,563),(564,564,564),(565,565,565),
-(566,566,566),(567,567,567),(568,568,568),(569,569,569),(570,570,570),
-(571,571,571),(572,572,572),(573,573,573),(574,574,574),(575,575,575),
-(576,576,576),(577,577,577),(578,578,578),(579,579,579),(580,580,580),
-(581,581,581),(582,582,582),(583,583,583),(584,584,584),(585,585,585),
-(586,586,586),(587,587,587),(588,588,588),(589,589,589),(590,590,590),
-(591,591,591),(592,592,592),(593,593,593),(594,594,594),(595,595,595),
-(596,596,596),(597,597,597),(598,598,598),(599,599,599),(600,600,600),
-(601,601,601),(602,602,602),(603,603,603),(604,604,604),(605,605,605),
-(606,606,606),(607,607,607),(608,608,608),(609,609,609),(610,610,610),
-(611,611,611),(612,612,612),(613,613,613),(614,614,614),(615,615,615),
-(616,616,616),(617,617,617),(618,618,618),(619,619,619),(620,620,620),
-(621,621,621),(622,622,622),(623,623,623),(624,624,624),(625,625,625),
-(626,626,626),(627,627,627),(628,628,628),(629,629,629),(630,630,630),
-(631,631,631),(632,632,632),(633,633,633),(634,634,634),(635,635,635),
-(636,636,636),(637,637,637),(638,638,638),(639,639,639),(640,640,640),
-(641,641,641),(642,642,642),(643,643,643),(644,644,644),(645,645,645),
-(646,646,646),(647,647,647),(648,648,648),(649,649,649),(650,650,650),
-(651,651,651),(652,652,652),(653,653,653),(654,654,654),(655,655,655),
-(656,656,656),(657,657,657),(658,658,658),(659,659,659),(660,660,660),
-(661,661,661),(662,662,662),(663,663,663),(664,664,664),(665,665,665),
-(666,666,666),(667,667,667),(668,668,668),(669,669,669),(670,670,670),
-(671,671,671),(672,672,672),(673,673,673),(674,674,674),(675,675,675),
-(676,676,676),(677,677,677),(678,678,678),(679,679,679),(680,680,680),
-(681,681,681),(682,682,682),(683,683,683),(684,684,684),(685,685,685),
-(686,686,686),(687,687,687),(688,688,688),(689,689,689),(690,690,690),
-(691,691,691),(692,692,692),(693,693,693),(694,694,694),(695,695,695),
-(696,696,696),(697,697,697),(698,698,698),(699,699,699),(700,700,700),
-(701,701,701),(702,702,702),(703,703,703),(704,704,704),(705,705,705),
-(706,706,706),(707,707,707),(708,708,708),(709,709,709),(710,710,710),
-(711,711,711),(712,712,712),(713,713,713),(714,714,714),(715,715,715),
-(716,716,716),(717,717,717),(718,718,718),(719,719,719),(720,720,720),
-(721,721,721),(722,722,722),(723,723,723),(724,724,724),(725,725,725),
-(726,726,726),(727,727,727),(728,728,728),(729,729,729),(730,730,730),
-(731,731,731),(732,732,732),(733,733,733),(734,734,734),(735,735,735),
-(736,736,736),(737,737,737),(738,738,738),(739,739,739),(740,740,740),
-(741,741,741),(742,742,742),(743,743,743),(744,744,744),(745,745,745),
-(746,746,746),(747,747,747),(748,748,748),(749,749,749),(750,750,750),
-(751,751,751),(752,752,752),(753,753,753),(754,754,754),(755,755,755),
-(756,756,756),(757,757,757),(758,758,758),(759,759,759),(760,760,760),
-(761,761,761),(762,762,762),(763,763,763),(764,764,764),(765,765,765),
-(766,766,766),(767,767,767),(768,768,768),(769,769,769),(770,770,770),
-(771,771,771),(772,772,772),(773,773,773),(774,774,774),(775,775,775),
-(776,776,776),(777,777,777),(778,778,778),(779,779,779),(780,780,780),
-(781,781,781),(782,782,782),(783,783,783),(784,784,784),(785,785,785),
-(786,786,786),(787,787,787),(788,788,788),(789,789,789),(790,790,790),
-(791,791,791),(792,792,792),(793,793,793),(794,794,794),(795,795,795),
-(796,796,796),(797,797,797),(798,798,798),(799,799,799),(800,800,800),
-(801,801,801),(802,802,802),(803,803,803),(804,804,804),(805,805,805),
-(806,806,806),(807,807,807),(808,808,808),(809,809,809),(810,810,810),
-(811,811,811),(812,812,812),(813,813,813),(814,814,814),(815,815,815),
-(816,816,816),(817,817,817),(818,818,818),(819,819,819),(820,820,820),
-(821,821,821),(822,822,822),(823,823,823),(824,824,824),(825,825,825),
-(826,826,826),(827,827,827),(828,828,828),(829,829,829),(830,830,830),
-(831,831,831),(832,832,832),(833,833,833),(834,834,834),(835,835,835),
-(836,836,836),(837,837,837),(838,838,838),(839,839,839),(840,840,840),
-(841,841,841),(842,842,842),(843,843,843),(844,844,844),(845,845,845),
-(846,846,846),(847,847,847),(848,848,848),(849,849,849),(850,850,850),
-(851,851,851),(852,852,852),(853,853,853),(854,854,854),(855,855,855),
-(856,856,856),(857,857,857),(858,858,858),(859,859,859),(860,860,860),
-(861,861,861),(862,862,862),(863,863,863),(864,864,864),(865,865,865),
-(866,866,866),(867,867,867),(868,868,868),(869,869,869),(870,870,870),
-(871,871,871),(872,872,872),(873,873,873),(874,874,874),(875,875,875),
-(876,876,876),(877,877,877),(878,878,878),(879,879,879),(880,880,880),
-(881,881,881),(882,882,882),(883,883,883),(884,884,884),(885,885,885),
-(886,886,886),(887,887,887),(888,888,888),(889,889,889),(890,890,890),
-(891,891,891),(892,892,892),(893,893,893),(894,894,894),(895,895,895),
-(896,896,896),(897,897,897),(898,898,898),(899,899,899),(900,900,900),
-(901,901,901),(902,902,902),(903,903,903),(904,904,904),(905,905,905),
-(906,906,906),(907,907,907),(908,908,908),(909,909,909),(910,910,910),
-(911,911,911),(912,912,912),(913,913,913),(914,914,914),(915,915,915),
-(916,916,916),(917,917,917),(918,918,918),(919,919,919),(920,920,920),
-(921,921,921),(922,922,922),(923,923,923),(924,924,924),(925,925,925),
-(926,926,926),(927,927,927),(928,928,928),(929,929,929),(930,930,930),
-(931,931,931),(932,932,932),(933,933,933),(934,934,934),(935,935,935),
-(936,936,936),(937,937,937),(938,938,938),(939,939,939),(940,940,940),
-(941,941,941),(942,942,942),(943,943,943),(944,944,944),(945,945,945),
-(946,946,946),(947,947,947),(948,948,948),(949,949,949),(950,950,950),
-(951,951,951),(952,952,952),(953,953,953),(954,954,954),(955,955,955),
-(956,956,956),(957,957,957),(958,958,958),(959,959,959),(960,960,960),
-(961,961,961),(962,962,962),(963,963,963),(964,964,964),(965,965,965),
-(966,966,966),(967,967,967),(968,968,968),(969,969,969),(970,970,970),
-(971,971,971),(972,972,972),(973,973,973),(974,974,974),(975,975,975),
-(976,976,976),(977,977,977),(978,978,978),(979,979,979),(980,980,980),
-(981,981,981),(982,982,982),(983,983,983),(984,984,984),(985,985,985),
-(986,986,986),(987,987,987),(988,988,988),(989,989,989),(990,990,990),
-(991,991,991),(992,992,992),(993,993,993),(994,994,994),(995,995,995),
-(996,996,996),(997,997,997),(998,998,998),(999,999,999),(1000,1000,1000),
-(1001,1001,1001),(1002,1002,1002),(1003,1003,1003),(1004,1004,1004),(1005,1005,1005),
-(1006,1006,1006),(1007,1007,1007),(1008,1008,1008),(1009,1009,1009),(1010,1010,1010),
-(1011,1011,1011),(1012,1012,1012),(1013,1013,1013),(1014,1014,1014),(1015,1015,1015),
-(1016,1016,1016),(1017,1017,1017),(1018,1018,1018),(1019,1019,1019),(1020,1020,1020),
-(1021,1021,1021),(1022,1022,1022),(1023,1023,1023),(1024,1024,1024),(1025,1025,1025),
-(1026,1026,1026),(1027,1027,1027),(1028,1028,1028),(1029,1029,1029),(1030,1030,1030),
-(1031,1031,1031),(1032,1032,1032),(1033,1033,1033),(1034,1034,1034),(1035,1035,1035),
-(1036,1036,1036),(1037,1037,1037),(1038,1038,1038),(1039,1039,1039),(1040,1040,1040),
-(1041,1041,1041),(1042,1042,1042),(1043,1043,1043),(1044,1044,1044),(1045,1045,1045),
-(1046,1046,1046),(1047,1047,1047),(1048,1048,1048),(1049,1049,1049),(1050,1050,1050),
-(1051,1051,1051),(1052,1052,1052),(1053,1053,1053),(1054,1054,1054),(1055,1055,1055),
-(1056,1056,1056),(1057,1057,1057),(1058,1058,1058),(1059,1059,1059),(1060,1060,1060),
-(1061,1061,1061),(1062,1062,1062),(1063,1063,1063),(1064,1064,1064),(1065,1065,1065),
-(1066,1066,1066),(1067,1067,1067),(1068,1068,1068),(1069,1069,1069),(1070,1070,1070),
-(1071,1071,1071),(1072,1072,1072),(1073,1073,1073),(1074,1074,1074),(1075,1075,1075),
-(1076,1076,1076),(1077,1077,1077),(1078,1078,1078),(1079,1079,1079),(1080,1080,1080),
-(1081,1081,1081),(1082,1082,1082),(1083,1083,1083),(1084,1084,1084),(1085,1085,1085),
-(1086,1086,1086),(1087,1087,1087),(1088,1088,1088),(1089,1089,1089),(1090,1090,1090),
-(1091,1091,1091),(1092,1092,1092),(1093,1093,1093),(1094,1094,1094),(1095,1095,1095),
-(1096,1096,1096),(1097,1097,1097),(1098,1098,1098),(1099,1099,1099),(1100,1100,1100),
-(1101,1101,1101),(1102,1102,1102),(1103,1103,1103),(1104,1104,1104),(1105,1105,1105),
-(1106,1106,1106),(1107,1107,1107),(1108,1108,1108),(1109,1109,1109),(1110,1110,1110),
-(1111,1111,1111),(1112,1112,1112),(1113,1113,1113),(1114,1114,1114),(1115,1115,1115),
-(1116,1116,1116),(1117,1117,1117),(1118,1118,1118),(1119,1119,1119),(1120,1120,1120),
-(1121,1121,1121),(1122,1122,1122),(1123,1123,1123),(1124,1124,1124),(1125,1125,1125),
-(1126,1126,1126),(1127,1127,1127),(1128,1128,1128),(1129,1129,1129),(1130,1130,1130),
-(1131,1131,1131),(1132,1132,1132),(1133,1133,1133),(1134,1134,1134),(1135,1135,1135),
-(1136,1136,1136),(1137,1137,1137),(1138,1138,1138),(1139,1139,1139),(1140,1140,1140),
-(1141,1141,1141),(1142,1142,1142),(1143,1143,1143),(1144,1144,1144),(1145,1145,1145),
-(1146,1146,1146),(1147,1147,1147),(1148,1148,1148),(1149,1149,1149),(1150,1150,1150),
-(1151,1151,1151),(1152,1152,1152),(1153,1153,1153),(1154,1154,1154),(1155,1155,1155),
-(1156,1156,1156),(1157,1157,1157),(1158,1158,1158),(1159,1159,1159),(1160,1160,1160),
-(1161,1161,1161),(1162,1162,1162),(1163,1163,1163),(1164,1164,1164),(1165,1165,1165),
-(1166,1166,1166),(1167,1167,1167),(1168,1168,1168),(1169,1169,1169),(1170,1170,1170),
-(1171,1171,1171),(1172,1172,1172),(1173,1173,1173),(1174,1174,1174),(1175,1175,1175),
-(1176,1176,1176),(1177,1177,1177),(1178,1178,1178),(1179,1179,1179),(1180,1180,1180),
-(1181,1181,1181),(1182,1182,1182),(1183,1183,1183),(1184,1184,1184),(1185,1185,1185),
-(1186,1186,1186),(1187,1187,1187),(1188,1188,1188),(1189,1189,1189),(1190,1190,1190),
-(1191,1191,1191),(1192,1192,1192),(1193,1193,1193),(1194,1194,1194),(1195,1195,1195),
-(1196,1196,1196),(1197,1197,1197),(1198,1198,1198),(1199,1199,1199),(1200,1200,1200),
-(1201,1201,1201),(1202,1202,1202),(1203,1203,1203),(1204,1204,1204),(1205,1205,1205),
-(1206,1206,1206),(1207,1207,1207),(1208,1208,1208),(1209,1209,1209),(1210,1210,1210),
-(1211,1211,1211),(1212,1212,1212),(1213,1213,1213),(1214,1214,1214),(1215,1215,1215),
-(1216,1216,1216),(1217,1217,1217),(1218,1218,1218),(1219,1219,1219),(1220,1220,1220),
-(1221,1221,1221),(1222,1222,1222),(1223,1223,1223),(1224,1224,1224),(1225,1225,1225),
-(1226,1226,1226),(1227,1227,1227),(1228,1228,1228),(1229,1229,1229),(1230,1230,1230),
-(1231,1231,1231),(1232,1232,1232),(1233,1233,1233),(1234,1234,1234),(1235,1235,1235),
-(1236,1236,1236),(1237,1237,1237),(1238,1238,1238),(1239,1239,1239),(1240,1240,1240),
-(1241,1241,1241),(1242,1242,1242),(1243,1243,1243),(1244,1244,1244),(1245,1245,1245),
-(1246,1246,1246),(1247,1247,1247),(1248,1248,1248),(1249,1249,1249),(1250,1250,1250),
-(1251,1251,1251),(1252,1252,1252),(1253,1253,1253),(1254,1254,1254),(1255,1255,1255),
-(1256,1256,1256),(1257,1257,1257),(1258,1258,1258),(1259,1259,1259),(1260,1260,1260),
-(1261,1261,1261),(1262,1262,1262),(1263,1263,1263),(1264,1264,1264),(1265,1265,1265),
-(1266,1266,1266),(1267,1267,1267),(1268,1268,1268),(1269,1269,1269),(1270,1270,1270),
-(1271,1271,1271),(1272,1272,1272),(1273,1273,1273),(1274,1274,1274),(1275,1275,1275),
-(1276,1276,1276),(1277,1277,1277),(1278,1278,1278),(1279,1279,1279),(1280,1280,1280),
-(1281,1281,1281),(1282,1282,1282),(1283,1283,1283),(1284,1284,1284),(1285,1285,1285),
-(1286,1286,1286),(1287,1287,1287),(1288,1288,1288),(1289,1289,1289),(1290,1290,1290),
-(1291,1291,1291),(1292,1292,1292),(1293,1293,1293),(1294,1294,1294),(1295,1295,1295),
-(1296,1296,1296),(1297,1297,1297),(1298,1298,1298),(1299,1299,1299),(1300,1300,1300),
-(1301,1301,1301),(1302,1302,1302),(1303,1303,1303),(1304,1304,1304),(1305,1305,1305),
-(1306,1306,1306),(1307,1307,1307),(1308,1308,1308),(1309,1309,1309),(1310,1310,1310),
-(1311,1311,1311),(1312,1312,1312),(1313,1313,1313),(1314,1314,1314),(1315,1315,1315),
-(1316,1316,1316),(1317,1317,1317),(1318,1318,1318),(1319,1319,1319),(1320,1320,1320),
-(1321,1321,1321),(1322,1322,1322),(1323,1323,1323),(1324,1324,1324),(1325,1325,1325),
-(1326,1326,1326),(1327,1327,1327),(1328,1328,1328),(1329,1329,1329),(1330,1330,1330),
-(1331,1331,1331),(1332,1332,1332),(1333,1333,1333),(1334,1334,1334),(1335,1335,1335),
-(1336,1336,1336),(1337,1337,1337),(1338,1338,1338),(1339,1339,1339),(1340,1340,1340),
-(1341,1341,1341),(1342,1342,1342),(1343,1343,1343),(1344,1344,1344),(1345,1345,1345),
-(1346,1346,1346),(1347,1347,1347),(1348,1348,1348),(1349,1349,1349),(1350,1350,1350),
-(1351,1351,1351),(1352,1352,1352),(1353,1353,1353),(1354,1354,1354),(1355,1355,1355),
-(1356,1356,1356),(1357,1357,1357),(1358,1358,1358),(1359,1359,1359),(1360,1360,1360),
-(1361,1361,1361),(1362,1362,1362),(1363,1363,1363),(1364,1364,1364),(1365,1365,1365),
-(1366,1366,1366),(1367,1367,1367),(1368,1368,1368),(1369,1369,1369),(1370,1370,1370),
-(1371,1371,1371),(1372,1372,1372),(1373,1373,1373),(1374,1374,1374),(1375,1375,1375),
-(1376,1376,1376),(1377,1377,1377),(1378,1378,1378),(1379,1379,1379),(1380,1380,1380),
-(1381,1381,1381),(1382,1382,1382),(1383,1383,1383),(1384,1384,1384),(1385,1385,1385),
-(1386,1386,1386),(1387,1387,1387),(1388,1388,1388),(1389,1389,1389),(1390,1390,1390),
-(1391,1391,1391),(1392,1392,1392),(1393,1393,1393),(1394,1394,1394),(1395,1395,1395),
-(1396,1396,1396),(1397,1397,1397),(1398,1398,1398),(1399,1399,1399),(1400,1400,1400),
-(1401,1401,1401),(1402,1402,1402),(1403,1403,1403),(1404,1404,1404),(1405,1405,1405),
-(1406,1406,1406),(1407,1407,1407),(1408,1408,1408),(1409,1409,1409),(1410,1410,1410),
-(1411,1411,1411),(1412,1412,1412),(1413,1413,1413),(1414,1414,1414),(1415,1415,1415),
-(1416,1416,1416),(1417,1417,1417),(1418,1418,1418),(1419,1419,1419),(1420,1420,1420),
-(1421,1421,1421),(1422,1422,1422),(1423,1423,1423),(1424,1424,1424),(1425,1425,1425),
-(1426,1426,1426),(1427,1427,1427),(1428,1428,1428),(1429,1429,1429),(1430,1430,1430),
-(1431,1431,1431),(1432,1432,1432),(1433,1433,1433),(1434,1434,1434),(1435,1435,1435),
-(1436,1436,1436),(1437,1437,1437),(1438,1438,1438),(1439,1439,1439),(1440,1440,1440),
-(1441,1441,1441),(1442,1442,1442),(1443,1443,1443),(1444,1444,1444),(1445,1445,1445),
-(1446,1446,1446),(1447,1447,1447),(1448,1448,1448),(1449,1449,1449),(1450,1450,1450),
-(1451,1451,1451),(1452,1452,1452),(1453,1453,1453),(1454,1454,1454),(1455,1455,1455),
-(1456,1456,1456),(1457,1457,1457),(1458,1458,1458),(1459,1459,1459),(1460,1460,1460),
-(1461,1461,1461),(1462,1462,1462),(1463,1463,1463),(1464,1464,1464),(1465,1465,1465),
-(1466,1466,1466),(1467,1467,1467),(1468,1468,1468),(1469,1469,1469),(1470,1470,1470),
-(1471,1471,1471),(1472,1472,1472),(1473,1473,1473),(1474,1474,1474),(1475,1475,1475),
-(1476,1476,1476),(1477,1477,1477),(1478,1478,1478),(1479,1479,1479),(1480,1480,1480),
-(1481,1481,1481),(1482,1482,1482),(1483,1483,1483),(1484,1484,1484),(1485,1485,1485),
-(1486,1486,1486),(1487,1487,1487),(1488,1488,1488),(1489,1489,1489),(1490,1490,1490),
-(1491,1491,1491),(1492,1492,1492),(1493,1493,1493),(1494,1494,1494),(1495,1495,1495),
-(1496,1496,1496),(1497,1497,1497),(1498,1498,1498),(1499,1499,1499),(1500,1500,1500),
-(1501,1501,1501),(1502,1502,1502),(1503,1503,1503),(1504,1504,1504),(1505,1505,1505),
-(1506,1506,1506),(1507,1507,1507),(1508,1508,1508),(1509,1509,1509),(1510,1510,1510),
-(1511,1511,1511),(1512,1512,1512),(1513,1513,1513),(1514,1514,1514),(1515,1515,1515),
-(1516,1516,1516),(1517,1517,1517),(1518,1518,1518),(1519,1519,1519),(1520,1520,1520),
-(1521,1521,1521),(1522,1522,1522),(1523,1523,1523),(1524,1524,1524),(1525,1525,1525),
-(1526,1526,1526),(1527,1527,1527),(1528,1528,1528),(1529,1529,1529),(1530,1530,1530),
-(1531,1531,1531),(1532,1532,1532),(1533,1533,1533),(1534,1534,1534),(1535,1535,1535),
-(1536,1536,1536),(1537,1537,1537),(1538,1538,1538),(1539,1539,1539),(1540,1540,1540),
-(1541,1541,1541),(1542,1542,1542),(1543,1543,1543),(1544,1544,1544),(1545,1545,1545),
-(1546,1546,1546),(1547,1547,1547),(1548,1548,1548),(1549,1549,1549),(1550,1550,1550),
-(1551,1551,1551),(1552,1552,1552),(1553,1553,1553),(1554,1554,1554),(1555,1555,1555),
-(1556,1556,1556),(1557,1557,1557),(1558,1558,1558),(1559,1559,1559),(1560,1560,1560),
-(1561,1561,1561),(1562,1562,1562),(1563,1563,1563),(1564,1564,1564),(1565,1565,1565),
-(1566,1566,1566),(1567,1567,1567),(1568,1568,1568),(1569,1569,1569),(1570,1570,1570),
-(1571,1571,1571),(1572,1572,1572),(1573,1573,1573),(1574,1574,1574),(1575,1575,1575),
-(1576,1576,1576),(1577,1577,1577),(1578,1578,1578),(1579,1579,1579),(1580,1580,1580),
-(1581,1581,1581),(1582,1582,1582),(1583,1583,1583),(1584,1584,1584),(1585,1585,1585),
-(1586,1586,1586),(1587,1587,1587),(1588,1588,1588),(1589,1589,1589),(1590,1590,1590),
-(1591,1591,1591),(1592,1592,1592),(1593,1593,1593),(1594,1594,1594),(1595,1595,1595),
-(1596,1596,1596),(1597,1597,1597),(1598,1598,1598),(1599,1599,1599),(1600,1600,1600),
-(1601,1601,1601),(1602,1602,1602),(1603,1603,1603),(1604,1604,1604),(1605,1605,1605),
-(1606,1606,1606),(1607,1607,1607),(1608,1608,1608),(1609,1609,1609),(1610,1610,1610),
-(1611,1611,1611),(1612,1612,1612),(1613,1613,1613),(1614,1614,1614),(1615,1615,1615),
-(1616,1616,1616),(1617,1617,1617),(1618,1618,1618),(1619,1619,1619),(1620,1620,1620),
-(1621,1621,1621),(1622,1622,1622),(1623,1623,1623),(1624,1624,1624),(1625,1625,1625),
-(1626,1626,1626),(1627,1627,1627),(1628,1628,1628),(1629,1629,1629),(1630,1630,1630),
-(1631,1631,1631),(1632,1632,1632),(1633,1633,1633),(1634,1634,1634),(1635,1635,1635),
-(1636,1636,1636),(1637,1637,1637),(1638,1638,1638),(1639,1639,1639),(1640,1640,1640),
-(1641,1641,1641),(1642,1642,1642),(1643,1643,1643),(1644,1644,1644),(1645,1645,1645),
-(1646,1646,1646),(1647,1647,1647),(1648,1648,1648),(1649,1649,1649),(1650,1650,1650),
-(1651,1651,1651),(1652,1652,1652),(1653,1653,1653),(1654,1654,1654),(1655,1655,1655),
-(1656,1656,1656),(1657,1657,1657),(1658,1658,1658),(1659,1659,1659),(1660,1660,1660),
-(1661,1661,1661),(1662,1662,1662),(1663,1663,1663),(1664,1664,1664),(1665,1665,1665),
-(1666,1666,1666),(1667,1667,1667),(1668,1668,1668),(1669,1669,1669),(1670,1670,1670),
-(1671,1671,1671),(1672,1672,1672),(1673,1673,1673),(1674,1674,1674),(1675,1675,1675),
-(1676,1676,1676),(1677,1677,1677),(1678,1678,1678),(1679,1679,1679),(1680,1680,1680),
-(1681,1681,1681),(1682,1682,1682),(1683,1683,1683),(1684,1684,1684),(1685,1685,1685),
-(1686,1686,1686),(1687,1687,1687),(1688,1688,1688),(1689,1689,1689),(1690,1690,1690),
-(1691,1691,1691),(1692,1692,1692),(1693,1693,1693),(1694,1694,1694),(1695,1695,1695),
-(1696,1696,1696),(1697,1697,1697),(1698,1698,1698),(1699,1699,1699),(1700,1700,1700),
-(1701,1701,1701),(1702,1702,1702),(1703,1703,1703),(1704,1704,1704),(1705,1705,1705),
-(1706,1706,1706),(1707,1707,1707),(1708,1708,1708),(1709,1709,1709),(1710,1710,1710),
-(1711,1711,1711),(1712,1712,1712),(1713,1713,1713),(1714,1714,1714),(1715,1715,1715),
-(1716,1716,1716),(1717,1717,1717),(1718,1718,1718),(1719,1719,1719),(1720,1720,1720),
-(1721,1721,1721),(1722,1722,1722),(1723,1723,1723),(1724,1724,1724),(1725,1725,1725),
-(1726,1726,1726),(1727,1727,1727),(1728,1728,1728),(1729,1729,1729),(1730,1730,1730),
-(1731,1731,1731),(1732,1732,1732),(1733,1733,1733),(1734,1734,1734),(1735,1735,1735),
-(1736,1736,1736),(1737,1737,1737),(1738,1738,1738),(1739,1739,1739),(1740,1740,1740),
-(1741,1741,1741),(1742,1742,1742),(1743,1743,1743),(1744,1744,1744),(1745,1745,1745),
-(1746,1746,1746),(1747,1747,1747),(1748,1748,1748),(1749,1749,1749),(1750,1750,1750),
-(1751,1751,1751),(1752,1752,1752),(1753,1753,1753),(1754,1754,1754),(1755,1755,1755),
-(1756,1756,1756),(1757,1757,1757),(1758,1758,1758),(1759,1759,1759),(1760,1760,1760),
-(1761,1761,1761),(1762,1762,1762),(1763,1763,1763),(1764,1764,1764),(1765,1765,1765),
-(1766,1766,1766),(1767,1767,1767),(1768,1768,1768),(1769,1769,1769),(1770,1770,1770),
-(1771,1771,1771),(1772,1772,1772),(1773,1773,1773),(1774,1774,1774),(1775,1775,1775),
-(1776,1776,1776),(1777,1777,1777),(1778,1778,1778),(1779,1779,1779),(1780,1780,1780),
-(1781,1781,1781),(1782,1782,1782),(1783,1783,1783),(1784,1784,1784),(1785,1785,1785),
-(1786,1786,1786),(1787,1787,1787),(1788,1788,1788),(1789,1789,1789),(1790,1790,1790),
-(1791,1791,1791),(1792,1792,1792),(1793,1793,1793),(1794,1794,1794),(1795,1795,1795),
-(1796,1796,1796),(1797,1797,1797),(1798,1798,1798),(1799,1799,1799),(1800,1800,1800),
-(1801,1801,1801),(1802,1802,1802),(1803,1803,1803),(1804,1804,1804),(1805,1805,1805),
-(1806,1806,1806),(1807,1807,1807),(1808,1808,1808),(1809,1809,1809),(1810,1810,1810),
-(1811,1811,1811),(1812,1812,1812),(1813,1813,1813),(1814,1814,1814),(1815,1815,1815),
-(1816,1816,1816),(1817,1817,1817),(1818,1818,1818),(1819,1819,1819),(1820,1820,1820),
-(1821,1821,1821),(1822,1822,1822),(1823,1823,1823),(1824,1824,1824),(1825,1825,1825),
-(1826,1826,1826),(1827,1827,1827),(1828,1828,1828),(1829,1829,1829),(1830,1830,1830),
-(1831,1831,1831),(1832,1832,1832),(1833,1833,1833),(1834,1834,1834),(1835,1835,1835),
-(1836,1836,1836),(1837,1837,1837),(1838,1838,1838),(1839,1839,1839),(1840,1840,1840),
-(1841,1841,1841),(1842,1842,1842),(1843,1843,1843),(1844,1844,1844),(1845,1845,1845),
-(1846,1846,1846),(1847,1847,1847),(1848,1848,1848),(1849,1849,1849),(1850,1850,1850),
-(1851,1851,1851),(1852,1852,1852),(1853,1853,1853),(1854,1854,1854),(1855,1855,1855),
-(1856,1856,1856),(1857,1857,1857),(1858,1858,1858),(1859,1859,1859),(1860,1860,1860),
-(1861,1861,1861),(1862,1862,1862),(1863,1863,1863),(1864,1864,1864),(1865,1865,1865),
-(1866,1866,1866),(1867,1867,1867),(1868,1868,1868),(1869,1869,1869),(1870,1870,1870),
-(1871,1871,1871),(1872,1872,1872),(1873,1873,1873),(1874,1874,1874),(1875,1875,1875),
-(1876,1876,1876),(1877,1877,1877),(1878,1878,1878),(1879,1879,1879),(1880,1880,1880),
-(1881,1881,1881),(1882,1882,1882),(1883,1883,1883),(1884,1884,1884),(1885,1885,1885),
-(1886,1886,1886),(1887,1887,1887),(1888,1888,1888),(1889,1889,1889),(1890,1890,1890),
-(1891,1891,1891),(1892,1892,1892),(1893,1893,1893),(1894,1894,1894),(1895,1895,1895),
-(1896,1896,1896),(1897,1897,1897),(1898,1898,1898),(1899,1899,1899),(1900,1900,1900),
-(1901,1901,1901),(1902,1902,1902),(1903,1903,1903),(1904,1904,1904),(1905,1905,1905),
-(1906,1906,1906),(1907,1907,1907),(1908,1908,1908),(1909,1909,1909),(1910,1910,1910),
-(1911,1911,1911),(1912,1912,1912),(1913,1913,1913),(1914,1914,1914),(1915,1915,1915),
-(1916,1916,1916),(1917,1917,1917),(1918,1918,1918),(1919,1919,1919),(1920,1920,1920),
-(1921,1921,1921),(1922,1922,1922),(1923,1923,1923),(1924,1924,1924),(1925,1925,1925),
-(1926,1926,1926),(1927,1927,1927),(1928,1928,1928),(1929,1929,1929),(1930,1930,1930),
-(1931,1931,1931),(1932,1932,1932),(1933,1933,1933),(1934,1934,1934),(1935,1935,1935),
-(1936,1936,1936),(1937,1937,1937),(1938,1938,1938),(1939,1939,1939),(1940,1940,1940),
-(1941,1941,1941),(1942,1942,1942),(1943,1943,1943),(1944,1944,1944),(1945,1945,1945),
-(1946,1946,1946),(1947,1947,1947),(1948,1948,1948),(1949,1949,1949),(1950,1950,1950),
-(1951,1951,1951),(1952,1952,1952),(1953,1953,1953),(1954,1954,1954),(1955,1955,1955),
-(1956,1956,1956),(1957,1957,1957),(1958,1958,1958),(1959,1959,1959),(1960,1960,1960),
-(1961,1961,1961),(1962,1962,1962),(1963,1963,1963),(1964,1964,1964),(1965,1965,1965),
-(1966,1966,1966),(1967,1967,1967),(1968,1968,1968),(1969,1969,1969),(1970,1970,1970),
-(1971,1971,1971),(1972,1972,1972),(1973,1973,1973),(1974,1974,1974),(1975,1975,1975),
-(1976,1976,1976),(1977,1977,1977),(1978,1978,1978),(1979,1979,1979),(1980,1980,1980),
-(1981,1981,1981),(1982,1982,1982),(1983,1983,1983),(1984,1984,1984),(1985,1985,1985),
-(1986,1986,1986),(1987,1987,1987),(1988,1988,1988),(1989,1989,1989),(1990,1990,1990),
-(1991,1991,1991),(1992,1992,1992),(1993,1993,1993),(1994,1994,1994),(1995,1995,1995),
-(1996,1996,1996),(1997,1997,1997),(1998,1998,1998),(1999,1999,1999);
-
-SELECT COUNT(*) FROM t1;
-
-
-#
-# Insert duplicate rows
-#
---error ER_DUP_ENTRY
-INSERT INTO t1 VALUES (1,1,1);
-
---error 1022
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-
-select count(*) from t1;
-
-
-#
-# Test that select count(*) can see inserts made in the same transaction
-#
-begin;
-SELECT COUNT(*) FROM t1;
-INSERT INTO t1 VALUES
-(2001,2001,2001),(2002,2002,2002),(2003,2003,2003),(2004,2004,2004),(2005,2005,2005);
-SELECT COUNT(*) FROM t1;
-rollback;
-
-#
-# Insert duplicate rows, inside transaction
-# try to commit
-#
-begin;
-
---error 1022
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-
---error 1296
-commit;
-
-select * from t1 where pk1=1;
-select * from t1 where pk1=10;
-select count(*) from t1 where pk1 <= 10 order by pk1;
-select count(*) from t1;
-
-
-#
-# Insert duplicate rows, inside transaction
-# rollback
-#
-begin;
-
---error 1022
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-
-rollback;
-
-select * from t1 where pk1=1;
-select * from t1 where pk1=10;
-select count(*) from t1 where pk1 <= 10 order by pk1;
-select count(*) from t1;
-
-
-#
-# Insert duplicate rows, inside transaction
-# then try to select, finally rollback
-#
-begin;
-
---error 1022
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
---error 1296
-SELECT * FROM t1 WHERE pk1=10;
-
-rollback;
-
-select * from t1 where pk1=1;
-select * from t1 where pk1=10;
-select count(*) from t1 where pk1 <= 10 order by pk1;
-select count(*) from t1;
-
-
-#
-# Insert duplicate rows, inside transaction
-# then try to select, finally commit
-#
-begin;
-
---error 1022
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-
---error 1296
-SELECT * FROM t1 WHERE pk1=10;
-
---error 1296
-SELECT * FROM t1 WHERE pk1=10;
-
---error 1296
-commit;
-
-select * from t1 where pk1=1;
-select * from t1 where pk1=10;
-select count(*) from t1 where pk1 <= 10 order by pk1;
-select count(*) from t1;
-
-
-#
-# Insert duplicate rows, inside transaction
-# then try to do another insert
-#
-begin;
-
---error 1022
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-
---error 1296
-INSERT INTO t1 values (4000, 40, 44);
-
-rollback;
-
-select * from t1 where pk1=1;
-select * from t1 where pk1=10;
-select count(*) from t1 where pk1 <= 10 order by pk1;
-select count(*) from t1;
-
-#
-# Insert duplicate rows using "insert .. select"
-
-#
---error 1022
-insert into t1 select * from t1 where b < 10 order by pk1;
-
-DELETE FROM t1 WHERE pk1=2;
-
-begin;
-INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
-select * from t1 where pk1 < 3 order by pk1;
-rollback;
-
-INSERT IGNORE INTO t1 VALUES(1,2,3),(2,3,4);
-select * from t1 where pk1 < 3 order by pk1;
-
-REPLACE INTO t1 values(1, 78, 3);
-select * from t1 where pk1=1;
-
-INSERT INTO t1 VALUES(1,1,1),(3,4,5) ON DUPLICATE KEY UPDATE b=79;
-select * from t1 where pk1 < 4 order by pk1;
-
-INSERT INTO t1 VALUES(1,1,1),(3,4,5) ON DUPLICATE KEY UPDATE b=pk1+c;
-select * from t1 where pk1 < 4 order by pk1;
-
-DELETE FROM t1 WHERE pk1 = 2 OR pk1 = 4 OR pk1 = 6;
-INSERT INTO t1 VALUES(1,1,1),(2,2,17),(3,4,5) ON DUPLICATE KEY UPDATE pk1=b;
-select * from t1 where pk1 = b and b != c order by pk1;
-
-# Test handling of duplicate unique
-DELETE FROM t1;
-CREATE UNIQUE INDEX bi ON t1(b);
-INSERT INTO t1 VALUES
-(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
-(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
-INSERT INTO t1 VALUES(0,1,0),(21,21,21) ON DUPLICATE KEY UPDATE pk1=b+10,b=b+10;
-select * from t1 order by pk1;
-
-DROP TABLE t1;
-
-#
-# Bug #6331: problem with 'insert ignore'
-#
-
-CREATE TABLE t1(a INT) ENGINE=ndb;
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 SELECT a FROM t1;
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-SELECT * FROM t1 ORDER BY a;
-DELETE FROM t1;
-CREATE UNIQUE INDEX ai ON t1(a);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (1);
-INSERT IGNORE INTO t1 VALUES (NULL),(2);
-SELECT * FROM t1 ORDER BY a;
-DROP TABLE t1;
-
-# Ignore and NULL values
-CREATE TABLE t1(pk INT NOT NULL PRIMARY KEY, a INT, UNIQUE (a)) ENGINE=ndb;
-INSERT IGNORE INTO t1 VALUES (1,1),(2,2),(3,3);
-INSERT IGNORE INTO t1 VALUES (4,NULL),(5,NULL),(6,NULL),(7,4);
-SELECT * FROM t1 ORDER BY pk;
-DROP TABLE t1;
-
-#
-# Bug #27980 INSERT IGNORE wrongly ignores NULLs in unique index
-#
-
-create table t1(a int primary key, b int, unique key(b)) engine=ndb;
-insert ignore into t1 values (1,0), (2,0), (2,null), (3,null);
-select * from t1 order by a;
-drop table t1;
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_limit.test b/mysql-test/suite/ndb/t/ndb_limit.test
deleted file mode 100644
index 01613606d66..00000000000
--- a/mysql-test/suite/ndb/t/ndb_limit.test
+++ /dev/null
@@ -1,85 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t2;
---enable_warnings
-
-
-CREATE TABLE t2 (
- a bigint unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-
-#
-# insert records into table
-#
-let $1=1000;
-disable_query_log;
-while ($1)
-{
- eval insert into t2 values($1*10, $1+9, 5*$1), ($1*10+1, $1+10, 7),($1*10+2, $1+10, 7*$1), ($1*10+3, $1+10, 10+$1), ($1*10+4, $1+10, 70*$1), ($1*10+5, $1+10, 7), ($1*10+6, $1+10, 9), ($1*10+7, $1+299, 899), ($1*10+8, $1+10, 12), ($1*10+9, $1+10, 14*$1);
- dec $1;
-}
-enable_query_log;
-
-select count(*) from t2;
-
-delete from t2 limit 1;
-select count(*) from t2;
-
-delete from t2 limit 100;
-select count(*) from t2;
-
-delete from t2 limit 1000;
-select count(*) from t2;
-
-update t2 set c=12345678 limit 100;
-select count(*) from t2 where c=12345678;
-select count(*) from t2 where c=12345678 limit 1000;
-
-select * from t2 limit 0;
-
-drop table t2;
-
-CREATE TABLE `t2` (
- `views` int(11) NOT NULL default '0',
- `clicks` int(11) NOT NULL default '0',
- `day` date NOT NULL default '0000-00-00',
- `hour` tinyint(4) NOT NULL default '0',
- `bannerid` smallint(6) NOT NULL default '0',
- `zoneid` smallint(6) NOT NULL default '0',
- `source` varchar(50) NOT NULL default '',
- PRIMARY KEY (`day`,`hour`,`bannerid`,`zoneid`,`source`),
- KEY `bannerid_day` (`bannerid`,`day`),
- KEY `zoneid` (`zoneid`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-
-INSERT INTO `t2` VALUES
-( 1,0,'2004-09-17', 5,100,100,''),
-( 1,0,'2004-09-18', 7,100,100,''),
-( 17,0,'2004-09-27',20,132,100,''),
-( 4,0,'2004-09-16',23,132,100,''),
-( 86,0,'2004-09-18', 7,196,196,''),
-( 11,0,'2004-09-16',16,132,100,''),
-(140,0,'2004-09-18', 0,100,164,''),
-( 2,0,'2004-09-17', 7,132,100,''),
-(846,0,'2004-09-27',11,132,164,''),
-( 1,0,'2004-09-18', 8,132,100,''),
-( 22,0,'2004-09-27', 9,164,132,''),
-(711,0,'2004-09-27', 9,100,164,''),
-( 11,0,'2004-09-18', 0,196,132,''),
-( 41,0,'2004-09-27',15,196,132,''),
-( 57,0,'2004-09-18', 2,164,196,'');
-
-SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
-as date_formatted FROM t2 GROUP BY day ORDER BY day DESC;
-
-SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
-as date_formatted FROM t2 GROUP BY day ORDER BY day DESC LIMIT 2;
-
-drop table t2;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_load.test b/mysql-test/suite/ndb/t/ndb_load.test
deleted file mode 100644
index aa48b3dfdcf..00000000000
--- a/mysql-test/suite/ndb/t/ndb_load.test
+++ /dev/null
@@ -1,24 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# Basic test for different types of loading data
-#
-
-# should give duplicate key
-CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=NDB;
---error 1022
-LOAD DATA INFILE '../../../std_data/words.dat' INTO TABLE t1 ;
-DROP TABLE t1;
-
-# now without a primary key we should be ok
-CREATE TABLE t1 (word CHAR(20) NOT NULL) ENGINE=NDB;
-LOAD DATA INFILE '../../../std_data/words.dat' INTO TABLE t1 ;
-SELECT * FROM t1 ORDER BY word;
-DROP TABLE t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_loaddatalocal.test b/mysql-test/suite/ndb/t/ndb_loaddatalocal.test
deleted file mode 100644
index 257a26087b7..00000000000
--- a/mysql-test/suite/ndb/t/ndb_loaddatalocal.test
+++ /dev/null
@@ -1,71 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-create table t1(a int) engine=myisam;
-let $1=10000;
-disable_query_log;
-set SQL_LOG_BIN=0;
-while ($1)
-{
- insert into t1 values(1);
- dec $1;
-}
-set SQL_LOG_BIN=1;
-let $MYSQLD_DATADIR= `select @@datadir`;
-enable_query_log;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-#This will generate a 20KB file, now test LOAD DATA LOCAL
-drop table t1;
-
-create table t1(a int) engine=ndb;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
-select count(*) from t1;
---remove_file $MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile
-drop table t1;
-
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (2), (2), (3);
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-
-create table t1(a int primary key) engine=ndb;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
---remove_file $MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile
-select * from t1 order by a;
-drop table t1;
-
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (1), (2), (3);
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-
-create table t1(a int primary key) engine=ndb;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
---remove_file $MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile
-select * from t1 order by a;
-drop table t1;
-
-create table t1(a int) engine=myisam;
-insert into t1 values (1), (2), (3), (3);
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval select * into outfile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' from t1;
-drop table t1;
-
-create table t1(a int primary key) engine=ndb;
---replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
-eval load data local infile '$MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile' into table t1;
---remove_file $MYSQLD_DATADIR/ndb_loaddatalocal.select_outfile
-select * from t1 order by a;
-drop table t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_lock.test b/mysql-test/suite/ndb/t/ndb_lock.test
deleted file mode 100644
index b6cd1ca7eb4..00000000000
--- a/mysql-test/suite/ndb/t/ndb_lock.test
+++ /dev/null
@@ -1,269 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
-connect (con1,localhost,root,,);
-connect (con2,localhost,root,,);
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
---enable_warnings
-
-#
-# Transaction lock test to show that the NDB
-# table handler is working properly with
-# transaction locks
-#
-
-#
-# Testing of scan isolation
-#
-connection con1;
-create table t1 (x integer not null primary key, y varchar(32)) engine = ndb;
-insert into t1 values (1,'one'), (2,'two');
-select * from t1 order by x;
-
-connection con2;
-select * from t1 order by x;
-
-connection con1;
-start transaction;
-insert into t1 values (3,'three');
-select * from t1 order by x;
-
-connection con2;
-start transaction;
-select * from t1 order by x;
-
-connection con1;
-commit;
-
-connection con2;
-select * from t1 order by x;
-commit;
-
-drop table t1;
-
-###
-# Bug#6020
-create table t1 (pk integer not null primary key, u int not null, o int not null,
- unique(u), key(o)) engine = ndb;
-insert into t1 values (1,1,1), (2,2,2), (3,3,3), (4,4,4), (5,5,5);
-
-lock tables t1 write;
-delete from t1 where pk = 1;
-unlock tables;
-select * from t1 order by pk;
-insert into t1 values (1,1,1);
-
-lock tables t1 write;
-delete from t1 where u = 1;
-unlock tables;
-select * from t1 order by pk;
-insert into t1 values (1,1,1);
-
-lock tables t1 write;
-delete from t1 where o = 1;
-unlock tables;
-select * from t1 order by pk;
-insert into t1 values (1,1,1);
-
-drop table t1;
-
-# Lock for update
-
-create table t1 (x integer not null primary key, y varchar(32), z integer, key(z)) engine = ndb;
-
-insert into t1 values (1,'one',1);
-
-# PK access
-connection con1;
-begin;
-select * from t1 where x = 1 for update;
-
-connection con2;
-begin;
---error 1205
-select * from t1 where x = 1 for update;
-rollback;
-
-connection con1;
-rollback;
-insert into t1 values (2,'two',2),(3,"three",3);
-begin;
-select * from t1 where x = 1 for update;
-
-connection con2;
---error 1205
-select * from t1 where x = 1 for update;
-select * from t1 where x = 2 for update;
-rollback;
-
-connection con1;
-commit;
-
-# table scan
-#
-# Note that there are two distinct execution paths in which we unlock
-# non-matching rows inspected during table scan - one that is used in
-# case of filesort and one that used in rest of cases. Below we cover
-# the latter (Bug #20390 "SELECT FOR UPDATE does not release locks of
-# untouched rows in full table scans").
-connection con1;
-begin;
-# We can't use "order by x" here as it will cause filesort
---replace_column 1 # 2 # 3 #
-select * from t1 where y = 'one' or y = 'three' for update;
-
-connection con2;
-begin;
-# Have to check with pk access here since scans take locks on
-# all rows and then release them in chunks
-select * from t1 where x = 2 for update;
---error 1205
-select * from t1 where x = 1 for update;
-rollback;
-
-connection con1;
-commit;
-
-# And now the test for case with filesort
-begin;
-select * from t1 where y = 'one' or y = 'three' order by x for update;
-connection con2;
-begin;
-select * from t1 where x = 2 for update;
---error 1205
-select * from t1 where x = 1 for update;
-rollback;
-
-connection con1;
-commit;
-
-# index scan
-connection con1;
-begin;
-select * from t1 where z > 1 and z < 3 for update;
-
-connection con2;
-begin;
-# Have to check with pk access here since scans take locks on
-# all rows and then release them in chunks
-select * from t1 where x = 1 for update;
---error 1105,1205
-select * from t1 where x = 2 for update;
-rollback;
-
-connection con1;
-commit;
-
-# share locking
-
-# PK access
-connection con1;
-begin;
-select * from t1 where x = 1 lock in share mode;
-
-connection con2;
-begin;
-select * from t1 where x = 1 lock in share mode;
-select * from t1 where x = 2 for update;
---error 1205
-select * from t1 where x = 1 for update;
-rollback;
-
-connection con1;
-commit;
-
-# table scan
-connection con1;
-begin;
-# We can't use "order by x" here as it will cause filesort
---replace_column 1 # 2 # 3 #
-select * from t1 where y = 'one' or y = 'three' lock in share mode;
-
-connection con2;
-begin;
-select * from t1 where y = 'one' lock in share mode;
-# Have to check with pk access here since scans take locks on
-# all rows and then release them in chunks
-select * from t1 where x = 2 for update;
---error 1205
-select * from t1 where x = 1 for update;
-rollback;
-
-connection con1;
-commit;
-
-# And the same test for case with filesort
-connection con1;
-begin;
-select * from t1 where y = 'one' or y = 'three' order by x lock in share mode;
-
-connection con2;
-begin;
-select * from t1 where y = 'one' lock in share mode;
-select * from t1 where x = 2 for update;
---error 1205
-select * from t1 where x = 1 for update;
-rollback;
-
-connection con1;
-commit;
-
-# index scan
-connection con1;
-begin;
-select * from t1 where z > 1 and z < 3 lock in share mode;
-
-connection con2;
-begin;
-select * from t1 where z = 1 lock in share mode;
-# Have to check with pk access here since scans take locks on
-# all rows and then release them in chunks
-select * from t1 where x = 1 for update;
---error 1205
-select * from t1 where x = 2 for update;
-rollback;
-
-connection con1;
-commit;
-
-drop table t1;
-
-# End of 4.1 tests
-
-#
-# Bug #17812 Previous lock table for write causes "stray" lock
-# although table is recreated
-#
-# this creating, locking, and dropping causes a subsequent hang
-# on the delete below waiting for table t2 the locking in the
-# "other" connection is relevant, as without it there is no problem
-#
-connection con1;
-create table t3 (id2 int) engine=ndb;
-
-connection con2;
-lock tables t3 write;
-unlock tables;
-
-connection con1;
-drop table t3;
-
-connection con1;
-create table t2 (id int, j int) engine=ndb;
-insert into t2 values (2, 2);
-create table t3 (id int) engine=ndb;
-
-connection con2;
-lock tables t3 read;
-
-connection con1;
-# here we get a hang before bugfix although we shouldn't
-delete t2 from t2, t3 where t2.id = t3.id;
-
-connection con2;
-unlock tables;
-
-connection con1;
-drop table t2, t3;
diff --git a/mysql-test/suite/ndb/t/ndb_lock_table.test b/mysql-test/suite/ndb/t/ndb_lock_table.test
deleted file mode 100644
index 6c21e8e8232..00000000000
--- a/mysql-test/suite/ndb/t/ndb_lock_table.test
+++ /dev/null
@@ -1,15 +0,0 @@
--- source include/have_ndb.inc
-
-# BUG 30996
---disable_warnings
-drop table if exists t1;
---enable_warnings
-create table t1 (a int) engine ndb;
-set autocommit=1;
-lock table t1 write;
-set autocommit=0;
-insert into t1 values (0);
-rollback;
-select * from t1;
-unlock tables;
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_minmax.test b/mysql-test/suite/ndb/t/ndb_minmax.test
deleted file mode 100644
index a3ac677cd2a..00000000000
--- a/mysql-test/suite/ndb/t/ndb_minmax.test
+++ /dev/null
@@ -1,65 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-
-CREATE TABLE t1 (
- a int PRIMARY KEY
-) engine = ndb;
-
-INSERT INTO t1 VALUES (1);
-INSERT INTO t1 VALUES (2);
-INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-
-select MAX(a) from t1;
-select MAX(a) from t1;
-select MAX(a) from t1;
-select MAX(a) from t1;
-select MIN(a) from t1;
-select MIN(a) from t1;
-select MIN(a) from t1;
-select * from t1 order by a;
-select MIN(a) from t1;
-select MAX(a) from t1;
-select MAX(a) from t1;
-select * from t1 order by a;
-drop table t1;
-
-
-CREATE TABLE t2 (
- a int PRIMARY KEY,
- b int not null,
- c int not null,
- KEY(b),
- UNIQUE(c)
-) engine = ndb;
-
-INSERT INTO t2 VALUES (1, 5, 1);
-INSERT INTO t2 VALUES (2, 2, 7);
-INSERT INTO t2 VALUES (3, 3, 3);
-INSERT INTO t2 VALUES (4, 4, 4);
-INSERT INTO t2 VALUES (5, 5, 5);
-INSERT INTO t2 VALUES (6, 6, 6);
-INSERT INTO t2 VALUES (7, 2, 10);
-INSERT INTO t2 VALUES (8, 10, 2);
-
-
-select MAX(a) from t2;
-select MAX(b) from t2;
-select MAX(c) from t2;
-select MIN(a) from t2;
-select MIN(b) from t2;
-select MIN(c) from t2;
-select * from t2 order by a;
-select MIN(b) from t2;
-select MAX(a) from t2;
-select MAX(c) from t2;
-select * from t2 order by a;
-drop table t2;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_multi.test b/mysql-test/suite/ndb/t/ndb_multi.test
deleted file mode 100644
index e033ad1e479..00000000000
--- a/mysql-test/suite/ndb/t/ndb_multi.test
+++ /dev/null
@@ -1,154 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-connection server2;
-drop table if exists t1, t2, t3, t4;
-flush status;
-connection server1;
-drop table if exists t1, t2, t3, t4;
-flush status;
---enable_warnings
-
-# Create test tables on server1
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-select * from t2;
-show status like 'handler_discover%';
-
-# Check dropping and recreating table on same server
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-connection con1;
-select * from t1;
-connection con2;
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-connection con1;
-select * from t1;
-
-# Check dropping and recreating table on different server
-connection server2;
-show status like 'handler_discover%';
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-connection server1;
-select * from t1;
-select * from t1;
-
-# Connect to server2 and use the tables from there
-connection server2;
-flush status;
-select * from t1;
-update t1 set a=3 where a=2;
-show status like 'handler_discover%';
-
-# Create a new table on server2
-create table t3 (a int not null primary key, b varchar(22),
-c int, last_col text) engine=ndb;
-insert into t3 values(1, 'Hi!', 89, 'Longtext column');
-create table t4 (pk int primary key, b int) engine=ndb;
-
-# Check that the tables are accessible from server1
-connection server1;
-select * from t1;
-select * from t3;
-show tables like 't4';
-show tables;
-
-drop table t1, t2, t3, t4;
-# bug#21378
-connection server1;
-create table t1(c1 int key)ENGINE=MyISAM;
-insert into t1 values(1),(3),(5);
-select * from t1 order by c1;
-
-connection server2;
-show tables;
-create table t1(c1 int key)ENGINE=MyISAM;
-insert into t1 values(100),(344),(533);
-select * from t1 order by c1;
-
-connection server1;
-alter table t1 engine=ndb;
-
-connection server2;
-show tables;
-select * from t1 order by c1;
-drop table t1;
-
-connection server1;
-select * from t1 order by c1;
-drop table t1;
-# End of 4.1 tests
-
-# Check distributed drop of database in 5.1
-create database db;
-use db;
-create table t1(x int) engine=ndb;
-
-connection server2;
-use db;
-show tables;
-
-connection server1;
-drop database db;
-
-connection server2;
---error 1049
-show tables;
-
-connection server1;
-
-# bug#21495
-create database db;
-use db;
-create table t1(x int) engine=ndb;
-
-connection server2;
-use db;
-create table t2(x int) engine=myisam;
-show tables;
-
-connection server1;
-drop database db;
-
-connection server2;
-show tables;
-drop database db;
-
-
-#
-# bug#31470, ndb table with special characters in name
-# are not discovered correctly
-connection server1;
-use test;
-create table `test`.`t1$EX`
- (server_id int unsigned,
- master_server_id int unsigned,
- master_epoch bigint unsigned,
- count int unsigned,
- primary key(server_id, master_server_id,
- master_epoch, count))
- engine ndb;
-
-# check that table shows up ok on both servers
-# before bugfix table would not show up on server2
---replace_regex /EX/ex/
-show tables like '%$%';
-connection server2;
-use test;
---replace_regex /EX/ex/
-show tables like '%$%';
-
-# check cleanup
-drop table `test`.`t1$EX`;
-show tables like '%$%';
-
-connection server1;
-show tables like '%$%';
diff --git a/mysql-test/suite/ndb/t/ndb_multi_row.test b/mysql-test/suite/ndb/t/ndb_multi_row.test
deleted file mode 100644
index 26953093ed0..00000000000
--- a/mysql-test/suite/ndb/t/ndb_multi_row.test
+++ /dev/null
@@ -1,76 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/not_embedded.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
-
---disable_warnings
-connection server2;
-drop table if exists t1, t2, t3, t4;
-flush status;
-connection server1;
-drop table if exists t1, t2, t3, t4;
-flush status;
---enable_warnings
-
-
-# Create test tables on server1
-create table t1 (a int) engine=ndbcluster;
-create table t2 (a int) engine=ndbcluster;
-insert into t1 value (2);
-insert into t2 value (3);
-select * from t1;
-select * from t2;
-show status like 'handler_discover%';
-
-# Check dropping and recreating table on same server
-connect (con1,localhost,root,,test);
-connect (con2,localhost,root,,test);
-connection con1;
-select * from t1;
-connection con2;
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-connection con1;
-select * from t1;
-
-# Check dropping and recreating table on different server
-connection server2;
-show status like 'handler_discover%';
-drop table t1;
-create table t1 (a int) engine=ndbcluster;
-insert into t1 value (2);
-connection server1;
-## Currently a retry is required remotely
-#--error 1412
-#select * from t1;
-#show warnings;
-#flush table t1;
-# Table definition change should be propagated automatically
-select * from t1;
-
-# Connect to server2 and use the tables from there
-connection server2;
-flush status;
-select * from t1;
-update t1 set a=3 where a=2;
-show status like 'handler_discover%';
-
-# Create a new table on server2
-create table t3 (a int not null primary key, b varchar(22),
-c int, last_col text) engine=ndb;
-insert into t3 values(1, 'Hi!', 89, 'Longtext column');
-create table t4 (pk int primary key, b int) engine=ndb;
-
-# Check that the tables are accessible from server1
-connection server1;
-select * from t1;
-select * from t3;
-show tables like 't4';
-show tables;
-
-drop table t1, t2, t3, t4;
-connection server2;
-drop table if exists t1, t3, t4;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_partition_error.test b/mysql-test/suite/ndb/t/ndb_partition_error.test
deleted file mode 100644
index 9db2a6a6f6d..00000000000
--- a/mysql-test/suite/ndb/t/ndb_partition_error.test
+++ /dev/null
@@ -1,74 +0,0 @@
--- source include/have_ndb.inc
-#--disable_abort_on_error
-#
-# Simple test for the partition storage engine
-# Focuses on range partitioning tests
-#
-#-- source include/have_partition.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
---disable_query_log
-set new=on;
---enable_query_log
-#
-# Partition by range, generate node group error
-#
---error 1005
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(a,b),
-index (a))
-engine = ndb
-partition by range (a)
-partitions 3
-(partition x1 values less than (5) nodegroup 12,
- partition x2 values less than (10) nodegroup 13,
- partition x3 values less than (20) nodegroup 14);
-show warnings;
-
-#
-# Partition by range, create normal valid table
-#
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(a))
-engine = ndb
-partition by range (a)
-partitions 3
-(partition x1 values less than (5),
- partition x2 values less than (10),
- partition x3 values less than (20));
-
-drop table t1;
-
-#
-# Bug #17763 mysqld cores with list partitioning if update to missing partition
-#
-CREATE TABLE t1 (id INT) ENGINE=NDB
- PARTITION BY LIST(id)
- (PARTITION p0 VALUES IN (2, 4),
- PARTITION p1 VALUES IN (42, 142));
-INSERT INTO t1 VALUES (2);
---error ER_NO_PARTITION_FOR_GIVEN_VALUE
-UPDATE t1 SET id=5 WHERE id=2;
-DROP TABLE t1;
-
-#
-# NULL for LIST partition
-#
-create table t1 (a int,b int, c int)
-engine = ndb
-partition by list(a)
-partitions 2
-(partition x123 values in (11, 12),
- partition x234 values in (5, 1));
---error ER_NO_PARTITION_FOR_GIVEN_VALUE
-insert into t1 values (NULL,1,1);
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_partition_error2-master.opt b/mysql-test/suite/ndb/t/ndb_partition_error2-master.opt
deleted file mode 100644
index 955f7692c8b..00000000000
--- a/mysql-test/suite/ndb/t/ndb_partition_error2-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---ndbcluster
diff --git a/mysql-test/suite/ndb/t/ndb_partition_error2.test b/mysql-test/suite/ndb/t/ndb_partition_error2.test
deleted file mode 100644
index afedd0e3c5c..00000000000
--- a/mysql-test/suite/ndb/t/ndb_partition_error2.test
+++ /dev/null
@@ -1,14 +0,0 @@
-disable_query_log;
---require r/true.require
-select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
-enable_query_log;
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-#
-# Bug #27359 Partitions: memory allocation error message
-#
---error ER_PARTITION_NOT_DEFINED_ERROR
-create table t1 (s1 int) engine=ndbcluster;
-
diff --git a/mysql-test/suite/ndb/t/ndb_partition_key.test b/mysql-test/suite/ndb/t/ndb_partition_key.test
deleted file mode 100644
index a3898407445..00000000000
--- a/mysql-test/suite/ndb/t/ndb_partition_key.test
+++ /dev/null
@@ -1,244 +0,0 @@
--- source include/have_ndb.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# Basic syntax test
-#
-
-# Support for partition key verified
-CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b,c))
- ENGINE = NDB
- PARTITION BY KEY (a,b);
-
-insert into t1 values (1,1,1,1);
-select * from t1;
-update t1 set d = 2 where a = 1 and b = 1 and c = 1;
-select * from t1;
-delete from t1;
-select * from t1;
-
-drop table t1;
-
-# only support for partition key on primary key
---error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
-CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b))
- ENGINE = NDB
- PARTITION BY KEY (c);
-
-CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY(a,b))
- ENGINE = NDB
- PARTITION BY KEY (a);
-
-insert into t1 values
- (1,1,3),(1,2,3),(1,3,3),(1,4,3),(1,5,3),(1,6,3),
- (1,7,3),(1,8,3),(1,9,3),(1,10,3),(1,11,3),(1,12,3);
-
-select * from t1 order by b;
-
-# BUG#33061: ORDER BY DESC becomes ASC in NDB partition pruning to one partition
-select max(b) from t1 where a = 1;
-select b from t1 where a = 1 order by b desc;
-
-DROP TABLE t1;
-
-#
-# Test partition and char support
-#
-
-CREATE TABLE t1 (a INT, b CHAR(10) COLLATE latin1_bin, c INT, d INT,
- PRIMARY KEY (a,b,c) USING HASH)
- ENGINE=NDB
- DEFAULT CHARSET=latin1
- PARTITION BY KEY (b);
-
-insert into t1 values (1,"a",1,1),(2,"a",1,1),(3,"a",1,1);
-
-# should show only one attribute with DISTRIBUTION KEY
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | sed 's/Version: [0-9]*//' | sed 's/\(Length of frm data: \)[0-9]*/\1#/'
-
-#
-# Test that explicit partition info is not shown in show create table
-# result should not contain (PARTITION P0 ... etc) since this is what shows up in
-# mysqldump, and we don't want that info there
-#
-show create table t1;
-
-DROP TABLE t1;
-
-#
-# Bug #13155: Problem in Create Table using SHOW CREATE TABLE syntax
-#
-CREATE TABLE t1 (a int not null primary key)
-PARTITION BY KEY(a)
-(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-drop table t1;
-
-CREATE TABLE t1 (a int not null primary key);
-ALTER TABLE t1
-ENGINE = NDB
-PARTITION BY KEY(a)
-(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-drop table t1;
-
-CREATE TABLE t1 (a int not null primary key) ENGINE = NDB;
-ALTER TABLE t1
-PARTITION BY KEY(a)
-(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-drop table t1;
-
-#
-# Bug #17754 Improper handling of removal of partitioning in ALTER TABLE
-# Also added a number of general test cases in the same area
-#
-create table t1 (a int)
-engine=ndb
-partition by key(a)
-(partition p0, partition p1);
-show create table t1;
-
-alter table t1 engine=heap;
-show create table t1;
-
-alter table t1 engine=ndb;
-show create table t1;
-
-alter table t1 engine=heap remove partitioning;
-show create table t1;
-
-alter table t1 engine=ndb
-partition by key(a)
-(partition p0, partition p1 engine = ndb);
-show create table t1;
-
-alter table t1
-partition by key (a)
-(partition p0 engine=ndb, partition p1 engine=ndb);
-show create table t1;
-
-alter table t1 remove partitioning;
-show create table t1;
-
-# after bug#31931 was fixed
-# this is OK, since the storage engine is specified
-# on table level before.
-#--error ER_MIX_HANDLER_ERROR
-alter table t1
-partition by key(a)
-(partition p0 engine=ndb, partition p1);
-
-alter table t1
-engine=ndb
-partition by key(a)
-(partition p0 engine=ndb, partition p1 engine = ndb);
-show create table t1;
-
-drop table t1;
-
-#
-# BUG 16810 Out of memory when coalesce partition
-#
-CREATE TABLE t1 (
- c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
- c2 TEXT NOT NULL,
- c3 INT NOT NULL,
- c4 BIT NOT NULL,
- c5 FLOAT,
- c6 VARCHAR(255),
- c7 TIMESTAMP,
- PRIMARY KEY(c1,c3))
- ENGINE=NDB
- PARTITION BY KEY(c3) PARTITIONS 5;
-
-let $j= 11;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO t1 VALUES (NULL, "Tested Remotely from Texas, USA", $j,
-b'0',
- $j.00,"By JBM $j","2006-01-26");
- dec $j;
-}
---enable_query_log
-ALTER TABLE t1 COALESCE PARTITION 4;
-
-DROP TABLE t1;
-
-#
-# Bug 16822: OPTIMIZE TABLE hangs test
-#
-CREATE TABLE t1 (a int primary key)
-ENGINE=NDB
-PARTITION BY KEY(a);
-ANALYZE TABLE t1;
-CHECK TABLE t1;
-OPTIMIZE TABLE t1;
-REPAIR TABLE t1;
-ALTER TABLE t1 OPTIMIZE PARTITION p0;
-ALTER TABLE t1 CHECK PARTITION p0;
-ALTER TABLE t1 REPAIR PARTITION p0;
-ALTER TABLE t1 ANALYZE PARTITION p0;
---error ER_ILLEGAL_HA
-ALTER TABLE t1 REBUILD PARTITION p0;
-DROP TABLE t1;
-
-#
-# BUG 16806: ALTER TABLE fails
-#
-CREATE TABLE t1 (
- c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
- c2 TEXT NOT NULL,
- c3 INT NOT NULL,
- PRIMARY KEY(c1,c3))
- ENGINE=NDB
- PARTITION BY KEY(c3) PARTITIONS 5;
-
-ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (
- c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
- c2 TEXT NOT NULL,
- c3 INT NOT NULL,
- PRIMARY KEY(c1,c3))
- ENGINE=NDB
- PARTITION BY KEY(c3)
- (PARTITION p0 NODEGROUP 0, PARTITION p1 NODEGROUP 0);
-
-ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
-SELECT NODEGROUP,PARTITION_NAME FROM information_schema.partitions WHERE
-table_name = "t1";
-DROP TABLE t1;
-
-# bug#25587
-
-CREATE TABLE t1 (
-a tinyint unsigned NOT NULL,
-b bigint(20) unsigned NOT NULL,
-c char(12),
-PRIMARY KEY (a,b)
-) ENGINE ndb DEFAULT CHARSET=latin1 PARTITION BY KEY (a);
-
-insert into t1 values(1,1,'1'), (2,2,'2'), (3,3,'3'), (4,4,'4'), (5,5,'5');
-select * from t1 where a = 1;
-select * from t1 where a = 2;
-select * from t1 where a = 3;
-select * from t1 where a = 4;
-select * from t1 where a = 5;
-delete from t1 where a = 1;
-select * from t1 order by 1;
-delete from t1 where a = 2;
-select * from t1 order by 1;
-delete from t1 where a = 3;
-select * from t1 order by 1;
-delete from t1 where a = 4;
-select * from t1 order by 1;
-delete from t1 where a = 5;
-select * from t1 order by 1;
-
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_partition_list.test b/mysql-test/suite/ndb/t/ndb_partition_list.test
deleted file mode 100644
index ccfcdbc84f4..00000000000
--- a/mysql-test/suite/ndb/t/ndb_partition_list.test
+++ /dev/null
@@ -1,68 +0,0 @@
---source include/have_ndb.inc
-#
-# Simple test for the partition storage engine
-# Focuses on range partitioning tests
-#
-#-- source include/have_partition.inc
-
---disable_query_log
-set new=on;
---enable_query_log
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# Partition by list, basic
-#
-
-CREATE TABLE t1 ( f_int1 INTEGER NOT NULL, f_int2 INTEGER NOT NULL,
- f_char1 CHAR(10),
- f_char2 CHAR(10), f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int1,f_int2))
-ENGINE = NDB
-PARTITION BY LIST(MOD(f_int1 + f_int2,4))
-(PARTITION part_3 VALUES IN (-3),
- PARTITION part_2 VALUES IN (-2),
- PARTITION part_1 VALUES IN (-1),
- PARTITION part0 VALUES IN (0),
- PARTITION part1 VALUES IN (1),
- PARTITION part2 VALUES IN (2),
- PARTITION part3 VALUES IN (3,4,5));
-
-INSERT INTO t1 SET f_int1 = -2, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
-INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 3, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 4, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 5, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-
-SELECT * FROM t1 ORDER BY f_int1;
-
-DROP TABLE t1;
-
-#
-# Partition by list, no pk
-#
-
-CREATE TABLE t1 ( f_int1 INTEGER, f_int2 INTEGER, f_char1 CHAR(10),
- f_char2 CHAR(10), f_charbig VARCHAR(1000))
-ENGINE = NDB
-PARTITION BY LIST(f_int1)
-(PARTITION part_1 VALUES IN (-1),
- PARTITION part0 VALUES IN (0,1),
- PARTITION part1 VALUES IN (2));
-
-INSERT INTO t1 SET f_int1 = -1, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
-INSERT INTO t1 SET f_int1 = 0, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
-INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
---error ER_NO_PARTITION_FOR_GIVEN_VALUE
-INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
-
-SELECT * FROM t1 ORDER BY f_int1;
-
-DROP TABLE t1;
-
diff --git a/mysql-test/suite/ndb/t/ndb_partition_range.test b/mysql-test/suite/ndb/t/ndb_partition_range.test
deleted file mode 100644
index 778e552c6d8..00000000000
--- a/mysql-test/suite/ndb/t/ndb_partition_range.test
+++ /dev/null
@@ -1,269 +0,0 @@
--- source include/have_ndb.inc
-#--disable_abort_on_error
-#
-# Simple test for the partition storage engine
-# Focuses on range partitioning tests
-#
-#-- source include/have_partition.inc
-
---disable_query_log
-set new=on;
---enable_query_log
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-#
-# Partition by range, basic
-#
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(a,b),
-index (a))
-engine = ndb
-partition by range (a)
-partitions 3
-(partition x1 values less than (5),
- partition x2 values less than (10),
- partition x3 values less than (20));
-
-# Simple insert and verify test
-INSERT into t1 values (1, 1, 1);
-INSERT into t1 values (6, 1, 1);
-INSERT into t1 values (10, 1, 1);
-INSERT into t1 values (15, 1, 1);
-
---replace_column 16 # 19 # 20 #
-select * from information_schema.partitions where table_name= 't1';
-
-select * from t1 order by a;
-
-select * from t1 where a=1 order by a;
-select * from t1 where a=15 and b=1 order by a;
-select * from t1 where a=21 and b=1 order by a;
-select * from t1 where a=21 order by a;
-select * from t1 where a in (1,6,10,21) order by a;
-select * from t1 where b=1 and a in (1,6,10,21) order by a;
-
-# BUG#33061: ORDER BY DESC becomes ASC in NDB partition pruning to one partition
-INSERT into t1 values (1, 2, 2);
-select max(b) from t1 where a = 1;
-select b from t1 where a = 1 order by b desc;
-
-drop table t1;
-
-#
-# Partition by range, basic
-#
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null,
-primary key(b),
-unique (a))
-engine = ndb
-partition by range (b)
-partitions 3
-(partition x1 values less than (5),
- partition x2 values less than (10),
- partition x3 values less than (20));
-
-# Simple insert and verify test
-INSERT into t1 values (1, 1, 1);
-INSERT into t1 values (2, 6, 1);
-INSERT into t1 values (3, 10, 1);
-INSERT into t1 values (4, 15, 1);
-
-select * from t1 order by a;
-UPDATE t1 set a = 5 WHERE b = 15;
-select * from t1 order by a;
-UPDATE t1 set a = 6 WHERE a = 5;
-select * from t1 order by a;
-
-select * from t1 where b=1 order by b;
-select * from t1 where b=15 and a=1 order by b;
-select * from t1 where b=21 and a=1 order by b;
-select * from t1 where b=21 order by b;
-select * from t1 where b in (1,6,10,21) order by b;
-select * from t1 where a in (1,2,5,6) order by b;
-select * from t1 where a=1 and b in (1,6,10,21) order by b;
-
-DELETE from t1 WHERE b = 6;
-DELETE from t1 WHERE a = 6;
-
-#
-# Test that explicit partition info _is_ shown in show create table
-# result _should_ contain (PARTITION x1 ... etc)
-#
-show create table t1;
-
-drop table t1;
-
-#
-# Bug #17499, #17687
-# Alter partitioned NDB table causes mysqld to core
-#
-
-CREATE TABLE t1
- (id MEDIUMINT NOT NULL,
- b1 BIT(8),
- vc VARCHAR(255),
- bc CHAR(255),
- d DECIMAL(10,4) DEFAULT 0,
- f FLOAT DEFAULT 0,
- total BIGINT UNSIGNED,
- y YEAR,
- t DATE) ENGINE=NDB
- PARTITION BY RANGE (YEAR(t))
- (PARTITION p0 VALUES LESS THAN (1901),
- PARTITION p1 VALUES LESS THAN (1946),
- PARTITION p2 VALUES LESS THAN (1966),
- PARTITION p3 VALUES LESS THAN (1986),
- PARTITION p4 VALUES LESS THAN (2005),
- PARTITION p5 VALUES LESS THAN MAXVALUE);
-
-INSERT INTO t1 VALUES (0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-SELECT * FROM t1;
-ALTER TABLE t1 ENGINE=MYISAM;
-SELECT * FROM t1;
-DROP TABLE t1;
-
-CREATE LOGFILE GROUP lg1
- ADD UNDOFILE 'undofile.dat'
- INITIAL_SIZE 16M
- UNDO_BUFFER_SIZE=1M
- ENGINE=NDB;
-
-CREATE TABLESPACE ts1
- ADD DATAFILE 'datafile.dat'
- USE LOGFILE GROUP lg1
- INITIAL_SIZE 12M
- ENGINE NDB;
-
-CREATE TABLE test.t1 (
- a1 INT,
- a2 TEXT NOT NULL,
- a3 BIT NOT NULL,
- a4 DECIMAL(8,3),
- a5 INT NOT NULL,
- a6 INT,
- PRIMARY KEY(a1))
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB
- PARTITION BY LIST (a1)
- (PARTITION p0 VALUES IN (1,2,3,4,5),
- PARTITION p1 VALUES IN (6,7,8,9, 10),
- PARTITION p2 VALUES IN (11, 12, 13, 14, 15));
-
-# Alter table directly without any statements inbetween
-ALTER TABLE test.t1 DROP COLUMN a6;
-ALTER TABLE test.t1 ADD COLUMN a6 VARCHAR(255);
-
-let $j= 15;
---disable_query_log
-while ($j)
-{
-eval INSERT INTO test.t1 VALUES ($j, "Tested Remotely from Texas, USA",
-b'1',$j.00,$j+1,"By NIK $j");
-dec $j;
-}
---enable_query_log
-SELECT COUNT(*) FROM test.t1;
-
-ALTER TABLE test.t1 DROP COLUMN a4;
-SELECT COUNT(*) FROM test.t1;
-
-DROP TABLE t1;
-
-CREATE TABLE test.t1 (
- a1 INT,
- a2 TEXT NOT NULL,
- a3 BIT NOT NULL,
- a4 DECIMAL(8,3),
- a5 INT NOT NULL,
- a6 VARCHAR(255),
- PRIMARY KEY(a1))
- TABLESPACE ts1 STORAGE DISK ENGINE=NDB
- PARTITION BY HASH(a1)
- PARTITIONS 4;
-
-let $j= 15;
---disable_query_log
-while ($j)
-{
-eval INSERT INTO test.t1 VALUES ($j, "Tested Remotely from Texas, USA",
-b'1',$j.00,$j+1,"By NIK $j");
-dec $j;
-}
---enable_query_log
-SELECT COUNT(*) FROM test.t1;
-
-ALTER TABLE test.t1 DROP COLUMN a4;
-SELECT COUNT(*) FROM test.t1;
-
-DROP TABLE t1;
-
-ALTER TABLESPACE ts1
- DROP DATAFILE 'datafile.dat'
- ENGINE=NDB;
-DROP TABLESPACE ts1 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
-
-
-#
-# Bug #17701 ALTER TABLE t1 ADD PARTITION for PARTITION BY LIST hangs test
-#
-
-CREATE TABLE t1
- (id MEDIUMINT NOT NULL,
- b1 BIT(8),
- vc VARCHAR(255),
- bc CHAR(255),
- d DECIMAL(10,4) DEFAULT 0,
- f FLOAT DEFAULT 0,
- total BIGINT UNSIGNED,
- y YEAR,
- t DATE) ENGINE=NDB
- PARTITION BY LIST(id)
- (PARTITION p0 VALUES IN (2, 4),
- PARTITION p1 VALUES IN (42, 142));
-
-INSERT INTO t1 VALUES (2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-SELECT * FROM t1;
-ALTER TABLE t1 ADD PARTITION
- (PARTITION p2 VALUES IN (412));
-SELECT * FROM t1;
-DROP TABLE t1;
-
-#
-# Bug #17806 Update on NDB table with list partition causes mysqld to core
-# Bug #16385 Partitions: crash when updating a range partitioned NDB table
-#
-CREATE TABLE t1 (
-a int not null,
-b int not null,
-c int not null)
-partition by list(a)
-partitions 2
-(partition x123 values in (1,5,6),
- partition x234 values in (4,7,8));
-INSERT into t1 VALUES (5,1,1);
-select * from t1;
-UPDATE t1 SET a=8 WHERE a=5 AND b=1;
-select * from t1;
-drop table t1;
-
-CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) engine=ndb
-PARTITION BY RANGE(f1)
-( PARTITION part1 VALUES LESS THAN (2),
-PARTITION part2 VALUES LESS THAN (1000));
-INSERT INTO t1 VALUES(1, '---1---');
-INSERT INTO t1 VALUES(2, '---2---');
-select * from t1 order by f1;
-UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 2;
-select * from t1 order by f1;
-UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 1;
-select * from t1 order by f1;
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_read_multi_range.test b/mysql-test/suite/ndb/t/ndb_read_multi_range.test
deleted file mode 100644
index 1c439e65099..00000000000
--- a/mysql-test/suite/ndb/t/ndb_read_multi_range.test
+++ /dev/null
@@ -1,340 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1, t2, r1;
---enable_warnings
-
-#
-# Basic test to see that batching is working
-#
-
-create table t1 (
- a int primary key,
- b int not null,
- c int not null,
- index(b), unique index using hash(c)
-) engine = ndb;
-insert into t1 values
- (1,2,1),(2,3,2),(3,4,3),(4,5,4),
- (5,2,12),(6,3,11),(7,4,10),(8,5,9),
- (9,2,8),(10,3,7),(11,4,6),(12,5,5);
-
-# batch on primary key
-create table r1 as select * from t1 where a in (2,8,12);
-select * from r1 order by a;
-drop table r1;
-
-# batch on ordered index
-create table r1 as select * from t1 where b in (1,2,5);
-select * from r1 order by a;
-drop table r1;
-
-# batch on unique hash index
-create table r1 as select * from t1 where c in (2,8,12);
-select * from r1 order by a;
-drop table r1;
-
-# batch mixed
-create table r1 as select * from t1 where a in (2,8) or (a > 11) or (a <= 1);
-select * from r1 order by a;
-drop table r1;
-
-# batch on primary key, missing values
-create table r1 as select * from t1 where a in (33,8,12);
-select * from r1 order by a;
-drop table r1;
-create table r1 as select * from t1 where a in (2,33,8,12,34);
-select * from r1 order by a;
-drop table r1;
-
-# batch on ordered index, missing values
-create table r1 as select * from t1 where b in (1,33,5);
-select * from r1 order by a;
-drop table r1;
-select * from t1 where b in (1,33,5) order by a;
-create table r1 as select * from t1 where b in (45,1,33,5,44);
-select * from r1 order by a;
-drop table r1;
-select * from t1 where b in (45,22) order by a;
-
-# batch on unique hash index, missing values
-create table r1 as select * from t1 where c in (2,8,33);
-select * from r1 order by a;
-drop table r1;
-create table r1 as select * from t1 where c in (13,2,8,33,12);
-select * from r1 order by a;
-drop table r1;
-
-select * from t1 where a in (33,8,12) order by a;
-select * from t1 where a in (33,34,35) order by a;
-select * from t1 where a in (2,8) or (a > 11) or (a <= 1) order by a;
-select * from t1 where b in (6,7) or (b <= 5) or (b >= 10) order by b,a;
-select * from t1 where c in (13,2,8,33,12) order by c,a;
-drop table t1;
-
-#
-# Somewhat more complicated
-#
-
-create table t1 (
- a int not null,
- b int not null,
- c int not null,
- d int not null,
- e int not null,
- primary key (a,b,c,d), index (d)
-) engine = ndb;
-
-insert into t1 values
- (1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1),
- (5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1),
- (9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1),
- (1,2,1,2,1),
- (1,2,1,3,1),
- (1,2,1,4,1),
- (1,2,1,5,1);
-
-# batch on primary key
-create table r1 as select * from t1
- where a=1 and b=2 and c=1 and d in (1,4,3,2);
-select * from r1 order by a,b,c,d;
-drop table r1;
-
-# batched update ordered index, one value for all
-update t1 set e = 100
- where d in (12,6,7);
-select * from t1 where d in (12,6,7) order by a,b,c,d;
-select * from t1 where d not in (12,6,7) and e = 100;
-
-# batched update primary key, one value for all
-update t1
- set e = 101
- where a=1 and
- b=2 and
- c=1 and
- d in (1,4,3,2);
-select *
- from t1
- where a=1 and b=2 and c=1 and d in (1,4,3,2)
- order by a,b,c,d;
-select *
- from t1
- where not (a=1 and b=2 and c=1 and d in (1,4,3,2))
- and e=101;
-
-
-# batched update ordered index, different values
-update t1
- set e =
- (case d
- when 12 then 112
- when 6 then 106
- when 7 then 107
- end)
- where d in (12,6,7);
-select * from t1 where d in (12,6,7) order by a,b,c,d;
-
-# batched update primary key, different values
-update t1
- set e =
- (case d
- when 1 then 111
- when 4 then 444
- when 3 then 333
- when 2 then 222
- end)
- where a=1 and
- b=2 and
- c=1 and
- d in (1,4,3,2);
-select *
- from t1
- where a=1 and b=2 and c=1 and d in (1,4,3,2)
- order by a,b,c,d;
-
-# batched delete
-delete from t1 where d in (12,6,7);
-select * from t1 where d in (12,6,7);
-
-drop table t1;
-
-# null handling
-create table t1 (
- a int not null primary key,
- b int,
- c int,
- d int,
- unique index (b),
- index(c)
-) engine = ndb;
-
-insert into t1 values
- (1,null,1,1),
- (2,2,2,2),
- (3,null,null,3),
- (4,4,null,4),
- (5,null,5,null),
- (6,6,6,null),
- (7,null,null,null),
- (8,8,null,null),
- (9,null,9,9),
- (10,10,10,10),
- (11,null,null,11),
- (12,12,null,12),
- (13,null,13,null),
- (14,14,14,null),
- (15,null,null,null),
- (16,16,null,null);
-
-create table t2 as select * from t1 where a in (5,6,7,8,9,10);
-select * from t2 order by a;
-drop table t2;
-
-create table t2 as select * from t1 where b in (5,6,7,8,9,10);
-select * from t2 order by a;
-drop table t2;
-
-create table t2 as select * from t1 where c in (5,6,7,8,9,10);
-select * from t2 order by a;
-drop table t2;
-
-drop table t1;
-
-# bug17729
-
-CREATE TABLE t1 (
- a int(11) NOT NULL,
- b int(11) NOT NULL,
- c datetime default NULL,
- PRIMARY KEY (a),
- KEY idx_bc (b,c)
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES
-(406989,67,'2006-02-23 17:08:46'), (150078,67,'2005-10-26 11:17:45'),
-(406993,67,'2006-02-27 11:20:57'), (245655,67,'2005-12-08 15:59:08'),
-(406994,67,'2006-02-27 11:26:46'), (256,67,NULL),
-(398341,67,'2006-02-20 04:48:44'), (254,67,NULL),(1120,67,NULL),
-(406988,67,'2006-02-23 17:07:22'), (255,67,NULL),
-(398340,67,'2006-02-20 04:38:53'),(406631,67,'2006-02-23 10:49:42'),
-(245653,67,'2005-12-08 15:59:07'),(406992,67,'2006-02-24 16:47:18'),
-(245654,67,'2005-12-08 15:59:08'),(406995,67,'2006-02-28 11:55:00'),
-(127261,67,'2005-10-13 12:17:58'),(406991,67,'2006-02-24 16:42:32'),
-(245652,67,'2005-12-08 15:58:27'),(398545,67,'2006-02-20 04:53:13'),
-(154504,67,'2005-10-28 11:53:01'),(9199,67,NULL),(1,67,'2006-02-23 15:01:35'),
-(223456,67,NULL),(4101,67,NULL),(1133,67,NULL),
-(406990,67,'2006-02-23 18:01:45'),(148815,67,'2005-10-25 15:34:17'),
-(148812,67,'2005-10-25 15:30:01'),(245651,67,'2005-12-08 15:58:27'),
-(154503,67,'2005-10-28 11:52:38');
-
-create table t11 engine = ndbcluster select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 asc;
-create table t12 engine = ndbcluster select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 desc;
-create table t21 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 asc;
-create table t22 engine = ndbcluster select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 desc;
-
-select * from t11 order by 1,2,3;
-select * from t12 order by 1,2,3;
-select * from t21 order by 1,2,3;
-select * from t22 order by 1,2,3;
-
-# join tests
-select t12.a from t11, t12 where t11.a in(255,256) and t11.a = t12.a and t11.c is null order by t12.a;
-
-update t22 set c = '2005-12-08 15:58:27' where a = 255;
-select * from t22 order by 1,2,3;
-select t21.* from t21,t22 where t21.a = t22.a and
-t22.a in (select t12.a from t11, t12 where t11.a in(255,256) and t11.a = t12.a and t11.c is null) and t22.c is null order by t21.a;
-
-delete from t22 where a > 245651;
-update t22 set b = a + 1;
-select * from t22 order by 1,2,3;
-select t21.c, count(*)
-from t21
-inner join t22 using (a)
-where t22.b in (2,256,257,1121,1134,4102,9200,223457,245652)
-group by t21.c
-order by t21.c;
-
-DROP TABLE t1, t11, t12, t21, t22;
-
-# bug#19956
-CREATE TABLE t1 (id varchar(255) NOT NULL,
- tag int(11) NOT NULL,
- doc text NOT NULL,
- type varchar(150) NOT NULL,
- modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (id)
- ) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES ('sakila',1,'Some text goes here','text',CURRENT_TIMESTAMP);
-SELECT id, tag, doc, type FROM t1 WHERE id IN ('flipper','orka');
-SELECT id, tag, doc, type FROM t1 WHERE id IN ('flipper','sakila');
-
-DROP TABLE t1;
-
-#bug#25522
-CREATE TABLE t1 (
- var1 int(2) NOT NULL,
- var2 int(2) NOT NULL,
- PRIMARY KEY (var1)
- ) ENGINE=ndbcluster DEFAULT CHARSET=ascii CHECKSUM=1;
-
-
-CREATE TABLE t2 (
- var1 int(2) NOT NULL,
- var2 int(2) NOT NULL,
- PRIMARY KEY (var1)
- ) ENGINE=ndbcluster DEFAULT CHARSET=ascii CHECKSUM=1;
-
-
-DELIMITER |;
-CREATE TRIGGER testtrigger
- AFTER UPDATE ON t1 FOR EACH ROW BEGIN
- REPLACE INTO t2 SELECT * FROM t1 WHERE t1.var1 = NEW.var1;END|
-DELIMITER ;|
-
-INSERT INTO t1 VALUES (1,1),(2,2),(3,3);
-
-UPDATE t1 SET var2 = 9 WHERE var1 IN(1,2,3);
-
-DROP TRIGGER testtrigger;
-
-DROP TABLE t1, t2;
-
-#bug#25821
-create table t1 (a int, b int, primary key (a), key ab (a,b)) engine=ndbcluster;
-
-insert into t1 values (1,1), (10,10);
-
-select * from t1 use index (ab) where a in(1,10) order by a;
-
-create table t2 (a int, b int, primary key (a,b)) engine=ndbcluster
-partition by key(a);
-
-insert into t2 values (1,1), (10,10);
-
-select * from t2 where a in (1,10) order by a;
-drop table t1, t2;
-
-#bug#30337
-
-create table t1 (id int primary key) engine ndb;
-insert into t1 values (1), (2), (3);
-
-create table t2 (id int primary key) engine ndb;
-insert into t2 select id from t1;
-
-delimiter |;
-create trigger kaboom after delete on t1
-for each row begin
- delete from t2 where id=old.id;
-end|
-delimiter ;|
-
-select * from t1 order by id;
-delete from t1 where id in (1,2);
-select * from t2 order by id;
-
-drop trigger kaboom;
-drop table t1, t2;
diff --git a/mysql-test/suite/ndb/t/ndb_rename.test b/mysql-test/suite/ndb/t/ndb_rename.test
deleted file mode 100644
index 7f9fd0e6984..00000000000
--- a/mysql-test/suite/ndb/t/ndb_rename.test
+++ /dev/null
@@ -1,36 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2;
-drop database if exists mysqltest;
---enable_warnings
-
-#
-# Table rename tests
-#
-
-#
-# Create a normal table with primary key
-#
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL,
- attr2 INT,
- attr3 VARCHAR(10),
- INDEX i1(attr1)
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (0,0,0,"zero"),(1,1,1,"one"),(2,2,2,"two");
-SELECT * FROM t1 WHERE attr1 = 1;
-alter table t1 rename t2;
-SELECT * FROM t2 WHERE attr1 = 1;
-
-create database ndbtest;
-alter table t2 rename ndbtest.t2;
-SELECT * FROM ndbtest.t2 WHERE attr1 = 1;
-
-drop table ndbtest.t2;
-drop database ndbtest;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_replace.test b/mysql-test/suite/ndb/t/ndb_replace.test
deleted file mode 100644
index 432cf7f2dcd..00000000000
--- a/mysql-test/suite/ndb/t/ndb_replace.test
+++ /dev/null
@@ -1,104 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
-#
-# Test of REPLACE with NDB
-#
-
---disable_warnings
-drop table if exists t1,t2;
---enable_warnings
-
-CREATE TABLE t1 (
- gesuchnr int(11) DEFAULT '0' NOT NULL,
- benutzer_id int(11) DEFAULT '0' NOT NULL,
- PRIMARY KEY (gesuchnr,benutzer_id)
-) engine=ndbcluster;
-
-replace into t1 (gesuchnr,benutzer_id) values (2,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-insert into t1 (gesuchnr, benutzer_id) value (3,2);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
---error ER_DUP_ENTRY
-insert into t1 (gesuchnr,benutzer_id) values (1,1);
-replace into t1 (gesuchnr,benutzer_id) values (1,1);
-select * from t1 order by gesuchnr;
-drop table t1;
-
-# End of 4.1 tests
-
-# bug#17431
-CREATE TABLE t1(i INT PRIMARY KEY AUTO_INCREMENT,
- j INT,
- k INT,
- UNIQUE INDEX(j)
- ) ENGINE = ndb;
-INSERT INTO t1 VALUES (1,1,23),(2,2,24);
-REPLACE INTO t1 (j,k) VALUES (1,42);
-REPLACE INTO t1 (i,j) VALUES (17,2);
-SELECT * from t1 ORDER BY i;
-DROP TABLE t1;
-
-# bug#19906
-CREATE TABLE t2 (a INT(11) NOT NULL,
- b INT(11) NOT NULL,
- c INT(11) NOT NULL,
- x TEXT,
- y TEXT,
- z TEXT,
- id INT(10) unsigned NOT NULL AUTO_INCREMENT,
- i INT(11) DEFAULT NULL,
- PRIMARY KEY (id),
- UNIQUE KEY a (a,b,c)
-) ENGINE=ndbcluster;
-
-REPLACE INTO t2 (a,b,c,x,y,z,i) VALUES (1,1,1,'a','a','a',1),(1,1,1,'b','b','b',2), (1,1,1,'c','c','c',3);
-
-SELECT * FROM t2 ORDER BY id;
-
-REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'a','a','a',1);
-REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'b','b','b',2);
-
-SELECT * FROM t2 ORDER BY id;
-
-DROP TABLE t2;
-
-#
-# Bug #20728 "REPLACE does not work correctly for NDB table with PK and
-# unique index"
-#
---disable_warnings
-drop table if exists t1;
---enable_warnings
-create table t1 (pk int primary key, apk int unique, data int) engine=ndbcluster;
-# Test for plain replace which updates pk
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) values (4, 1), (5, 2);
-select * from t1 order by pk;
-delete from t1;
-# Another test for plain replace which doesn't touch pk
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) values (1, 4), (2, 5);
-select * from t1 order by pk;
-delete from t1;
-# Test for load data replace which updates pk
-insert into t1 values (1, 1, 1), (4, 4, 4), (6, 6, 6);
-load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
-select * from t1 order by pk;
-delete from t1;
-# Now test for load data replace which doesn't touch pk
-insert into t1 values (1, 1, 1), (3, 3, 3), (5, 5, 5);
-load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
-select * from t1 order by pk;
-delete from t1;
-# Finally test for both types of replace ... select
-insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
-replace into t1 (pk, apk) select 4, 1;
-replace into t1 (pk, apk) select 2, 4;
-select * from t1 order by pk;
-# Clean-up
-drop table t1;
-
---echo End of 5.0 tests.
diff --git a/mysql-test/suite/ndb/t/ndb_restore.test b/mysql-test/suite/ndb/t/ndb_restore.test
deleted file mode 100644
index c8b07fd351a..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore.test
+++ /dev/null
@@ -1,413 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---disable_warnings
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
---enable_warnings
-
-# Bug #27775 - mediumint auto inc not restored correctly
-# - check mediumint
-CREATE TABLE `t1_c` (
- `capgoaledatta` mediumint(5) unsigned NOT NULL auto_increment,
- `goaledatta` char(2) NOT NULL default '',
- `maturegarbagefa` varchar(32) NOT NULL default '',
- PRIMARY KEY (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(400,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3000,'20','threetrees.qt');
-#
-# Bug #27758 Restoring NDB backups makes table usable in SQL nodes
-# - space in key made table unusable after restore
-#
-# Bug #27775 - mediumint auto inc not restored correctly
-# - check smallint
-CREATE TABLE `t2_c` (
- `capgotod` smallint(5) unsigned NOT NULL auto_increment,
- `gotod` smallint(5) unsigned NOT NULL default '0',
- `goaledatta` char(2) default NULL,
- `maturegarbagefa` varchar(32) default NULL,
- `descrpooppo` varchar(64) default NULL,
- `svcutonsa` varchar(64) NOT NULL default '',
- PRIMARY KEY (`capgotod`),
- KEY `i quadaddsvr` (`gotod`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2_c` VALUES (500,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST'),(5,0,'',NULL,NULL,'');
-
-# Added ROW_FORMAT=FIXED to use below to see that setting is preserved
-# by restore
-CREATE TABLE `t3_c` (
- `CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
- `capgotod` smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (`capgotod`,`CapGoaledatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;
-INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
-
-# Bug #27775 - mediumint auto inc not restored correctly
-# - check bigint
-CREATE TABLE `t4_c` (
- `capfa` bigint(20) unsigned NOT NULL auto_increment,
- `realm` varchar(32) NOT NULL default '',
- `authpwchap` varchar(32) default NULL,
- `fa` varchar(32) NOT NULL default '',
- `payyingatta` tinyint(4) NOT NULL default '0',
- `status` char(1) default NULL,
- PRIMARY KEY (`fa`,`realm`),
- KEY `capfa` (`capfa`),
- KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(2200,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32000,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(290000000,'436642900034','sqasdt.q3.net','N/A',0,'6'),(25,'contind','armerde.qt','acne',1,NULL);
-
-CREATE TABLE `t5_c` (
- `capfa` bigint(20) unsigned NOT NULL default '0',
- `gotod` smallint(5) unsigned NOT NULL default '0',
- `orderutonsa` varchar(64) NOT NULL default '',
- PRIMARY KEY (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
-
-CREATE TABLE `t6_c` (
- `capfa_parent` bigint(20) unsigned NOT NULL default '0',
- `capfa_child` bigint(20) unsigned NOT NULL default '0',
- `relatta` smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
-
-# Bug #27775 - mediumint auto inc not restored correctly
-# - check tinyint
-CREATE TABLE `t7_c` (
- `dardpo` char(15) NOT NULL default '',
- `dardtestard` tinyint(3) unsigned NOT NULL auto_increment,
- `FastFA` char(5) NOT NULL default '',
- `FastCode` char(6) NOT NULL default '',
- `Fastca` char(1) NOT NULL default '',
- `Fastmag` char(1) NOT NULL default '',
- `Beareratta` char(2) NOT NULL default '',
- PRIMARY KEY (`dardpo`,`dardtestard`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
-
-CREATE TABLE `t8_c` (
- `kattjame` varchar(32) NOT NULL default '',
- `realm` varchar(32) NOT NULL default '',
- `realm_entered` varchar(32) NOT NULL default '',
- `maturegarbagefa` varchar(32) NOT NULL default '',
- `hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
- `kattjame_entered` varchar(32) NOT NULL default '',
- `hunderaaarbagefa` varchar(32) NOT NULL default '',
- `gest` varchar(16) default NULL,
- `hassetino` varchar(16) NOT NULL default '',
- `aaaproxysessfa` varchar(255) default NULL,
- `autologonallowed` char(1) default NULL,
- `squardporoot` varchar(15) NOT NULL default '',
- `naspo` varchar(15) default NULL,
- `beareratta` char(2) default NULL,
- `fastCode` varchar(6) default NULL,
- `fastFA` varchar(5) default NULL,
- `fastca` char(1) default NULL,
- `fastmag` char(1) default NULL,
- `lastupdate` datetime default NULL,
- `hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
- `accthassetitime` int(10) unsigned default NULL,
- `acctoutputoctets` bigint(20) unsigned default NULL,
- `acctinputoctets` bigint(20) unsigned default NULL,
- PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
- KEY `squardporoot` (`squardporoot`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
-
-CREATE TABLE `t9_c` (
- `kattjame` varchar(32) NOT NULL default '',
- `kattjame_entered` varchar(32) NOT NULL default '',
- `realm` varchar(32) NOT NULL default '',
- `realm_entered` varchar(32) NOT NULL default '',
- `maturegarbagefa` varchar(32) NOT NULL default '',
- `hunderaaarbagefa` varchar(32) NOT NULL default '',
- `hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
- `gest` varchar(16) default NULL,
- `hassetino` varchar(16) NOT NULL default '',
- `squardporoot` varchar(15) NOT NULL default '',
- `naspo` varchar(15) default NULL,
- `beareratta` char(2) default NULL,
- `fastCode` varchar(6) default NULL,
- `fastFA` varchar(5) default NULL,
- `fastca` char(1) default NULL,
- `fastmag` char(1) default NULL,
- `lastupdate` datetime default NULL,
- `hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
- `accthassetitime` int(10) unsigned default NULL,
- `actcoutpuocttets` bigint(20) unsigned default NULL,
- `actinputocctets` bigint(20) unsigned default NULL,
- `terminateraste` tinyint(3) unsigned default NULL,
- PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
-
-# Bug #20820
-# auto inc table not handled correctly when restored from cluster backup
-# - before fix ndb_restore would not set auto inc value correct,
-# seen by select below
-CREATE TABLE t10_c (a INT AUTO_INCREMENT KEY) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO t10_c VALUES (1),(2),(3);
-# Bug #27775 - mediumint auto inc not restored correctly
-# - check int
-insert into t10_c values (10000),(2000),(3000);
-
-create table t1 engine=myisam as select * from t1_c;
-create table t2 engine=myisam as select * from t2_c;
-create table t3 engine=myisam as select * from t3_c;
-create table t4 engine=myisam as select * from t4_c;
-create table t5 engine=myisam as select * from t5_c;
-create table t6 engine=myisam as select * from t6_c;
-create table t7 engine=myisam as select * from t7_c;
-create table t8 engine=myisam as select * from t8_c;
-create table t9 engine=myisam as select * from t9_c;
-create table t10 engine=myisam as select * from t10_c;
-
-# check that force varpart is preserved by ndb_restore
-# t3_c has ROW_FORMAT=FIXED i.e. ForceVarPart=0
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t3_c | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t2_c | grep ForceVarPart
-
---source include/ndb_backup.inc
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-# check that force varpart is preserved by ndb_restore
-# t3_c has ROW_FORMAT=FIXED i.e. ForceVarPart=0
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t3_c | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t2_c | grep ForceVarPart
-
-# Bug #30667
-# ndb table discovery does not work correcly with information schema
-# - prior to bug fix this would yeild no output and a warning
-select * from information_schema.columns where table_name = "t1_c";
-
-# random output order??
-#show tables;
-
-select count(*) from t1;
-select count(*) from t1_c;
-select count(*)
- from (select * from t1 union
- select * from t1_c) a;
-
-select count(*) from t2;
-select count(*) from t2_c;
-select count(*)
- from (select * from t2 union
- select * from t2_c) a;
-
-select count(*) from t3;
-select count(*) from t3_c;
-select count(*)
- from (select * from t3 union
- select * from t3_c) a;
-
-select count(*) from t4;
-select count(*) from t4_c;
-select count(*)
- from (select * from t4 union
- select * from t4_c) a;
-
-select count(*) from t5;
-select count(*) from t5_c;
-select count(*)
- from (select * from t5 union
- select * from t5_c) a;
-
-select count(*) from t6;
-select count(*) from t6_c;
-select count(*)
- from (select * from t6 union
- select * from t6_c) a;
-
-select count(*) from t7;
-select count(*) from t7_c;
-select count(*)
- from (select * from t7 union
- select * from t7_c) a;
-
-select count(*) from t8;
-select count(*) from t8_c;
-select count(*)
- from (select * from t8 union
- select * from t8_c) a;
-
-select count(*) from t9;
-select count(*) from t9_c;
-select count(*)
- from (select * from t9 union
- select * from t9_c) a;
-
-# Bug #20820 cont'd
-select * from t10_c order by a;
-# Bug #27775 cont'd
-# - auto inc info should be correct
-select max(capgoaledatta) from t1_c;
-select auto_increment from information_schema.tables
-where table_name = 't1_c';
-select max(capgotod) from t2_c;
-select auto_increment from information_schema.tables
-where table_name = 't2_c';
-select max(capfa) from t4_c;
-select auto_increment from information_schema.tables
-where table_name = 't4_c';
-select max(dardtestard) from t7_c;
-select auto_increment from information_schema.tables
-where table_name = 't7_c';
-select max(a) from t10_c;
-select auto_increment from information_schema.tables
-where table_name = 't10_c';
-
-#
-# Try Partitioned tables as well
-#
-ALTER TABLE t7_c
-PARTITION BY LINEAR KEY (`dardtestard`);
-
---source include/ndb_backup.inc
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-select count(*) from t1;
-select count(*) from t1_c;
-select count(*)
- from (select * from t1 union
- select * from t1_c) a;
-
-select count(*) from t2;
-select count(*) from t2_c;
-select count(*)
- from (select * from t2 union
- select * from t2_c) a;
-
-select count(*) from t3;
-select count(*) from t3_c;
-select count(*)
- from (select * from t3 union
- select * from t3_c) a;
-
-select count(*) from t4;
-select count(*) from t4_c;
-select count(*)
- from (select * from t4 union
- select * from t4_c) a;
-
-select count(*) from t5;
-select count(*) from t5_c;
-select count(*)
- from (select * from t5 union
- select * from t5_c) a;
-
-select count(*) from t6;
-select count(*) from t6_c;
-select count(*)
- from (select * from t6 union
- select * from t6_c) a;
-
-select count(*) from t7;
-select count(*) from t7_c;
-select count(*)
- from (select * from t7 union
- select * from t7_c) a;
-
-select count(*) from t8;
-select count(*) from t8_c;
-select count(*)
- from (select * from t8 union
- select * from t8_c) a;
-
-select count(*) from t9;
-select count(*) from t9_c;
-select count(*)
- from (select * from t9 union
- select * from t9_c) a;
-
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --ndb-nodegroup_map '(0,0)' --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-select count(*) from t1;
-select count(*) from t1_c;
-select count(*)
- from (select * from t1 union
- select * from t1_c) a;
-
-select count(*) from t2;
-select count(*) from t2_c;
-select count(*)
- from (select * from t2 union
- select * from t2_c) a;
-
-select count(*) from t3;
-select count(*) from t3_c;
-select count(*)
- from (select * from t3 union
- select * from t3_c) a;
-
-select count(*) from t4;
-select count(*) from t4_c;
-select count(*)
- from (select * from t4 union
- select * from t4_c) a;
-
-select count(*) from t5;
-select count(*) from t5_c;
-select count(*)
- from (select * from t5 union
- select * from t5_c) a;
-
-select count(*) from t6;
-select count(*) from t6_c;
-select count(*)
- from (select * from t6 union
- select * from t6_c) a;
-
-select count(*) from t7;
-select count(*) from t7_c;
-select count(*)
- from (select * from t7 union
- select * from t7_c) a;
-
-select count(*) from t8;
-select count(*) from t8_c;
-select count(*)
- from (select * from t8 union
- select * from t8_c) a;
-
-select count(*) from t9;
-select count(*) from t9_c;
-select count(*)
- from (select * from t9 union
- select * from t9_c) a;
-
-#
-# Drop all table except t2_c
-# This to make sure that error returned from ndb_restore above is
-# guaranteed to be from t2_c, this since order of tables in backup
-# is none deterministic
-#
-drop table t1_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
---source include/ndb_backup.inc
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --core=0 -b $the_backup_id -n 1 -m -r --ndb-nodegroup_map '(0,1)' $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id 2>&1 | grep Translate || true
-
-#
-# Cleanup
-#
-
---disable_warnings
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-drop table if exists t2_c;
---enable_warnings
-
-#
-# Test BUG#10287
-#
-
---exec $NDB_TOOLS_DIR/ndb_select_all --no-defaults -d sys -D , SYSTAB_0 | grep 520093696, | sed "s/,$the_backup_id/,<the_backup_id>/"
-
-# End of 5.0 tests (4.1 test intermixed to save test time)
diff --git a/mysql-test/suite/ndb/t/ndb_restore_compat.test b/mysql-test/suite/ndb/t/ndb_restore_compat.test
deleted file mode 100644
index 8e5b30aa6fd..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore_compat.test
+++ /dev/null
@@ -1,67 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
--- source include/have_case_sensitive_file_system.inc
-
-# This test currently requires case sensitive file system as the tables
-# are originally stored with uppercase
-
-#
-# Bug #18594 ndb_restore log boken in 5.1
-#
-
---disable_warnings
-DROP DATABASE IF EXISTS BANK;
---enable_warnings
-CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -p 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup51 >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -e -b 1 -n 2 -p 1 -r $MYSQL_TEST_DIR/std_data/ndb_backup51 >> $NDB_TOOLS_OUTPUT
-USE BANK;
-SHOW TABLES;
-SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE;
-SELECT * FROM ACCOUNT ORDER BY ACCOUNT_ID;
-SELECT COUNT(*) FROM TRANSACTION;
-SELECT * FROM SYSTEM_VALUES ORDER BY SYSTEM_VALUES_ID;
-SELECT * FROM mysql.ndb_apply_status WHERE server_id=0;
-
-# Check that force varpart is set by ndb_restore
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK GL | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK TRANSACTION | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK SYSTEM_VALUES | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT_TYPE | grep ForceVarPart
-
-#
-# verify restore of 5.0 backup
-# here we must use the already created tables as restoring the old
-# table definitions will not work
-#
-TRUNCATE GL;
-TRUNCATE ACCOUNT;
-TRUNCATE TRANSACTION;
-TRUNCATE SYSTEM_VALUES;
-TRUNCATE ACCOUNT_TYPE;
-
-# Check that force varpart is not changed by truncate
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK GL | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK TRANSACTION | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK SYSTEM_VALUES | grep ForceVarPart
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK ACCOUNT_TYPE | grep ForceVarPart
-
-# Restore data
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -p 1 -r $MYSQL_TEST_DIR/std_data/ndb_backup50 >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -e -b 1 -n 2 -p 1 -r $MYSQL_TEST_DIR/std_data/ndb_backup50 >> $NDB_TOOLS_OUTPUT
-
-# Check data
-SELECT * FROM GL ORDER BY TIME,ACCOUNT_TYPE;
-SELECT * FROM ACCOUNT ORDER BY ACCOUNT_ID;
-SELECT COUNT(*) FROM TRANSACTION;
-SELECT * FROM SYSTEM_VALUES ORDER BY SYSTEM_VALUES_ID;
-SELECT * FROM mysql.ndb_apply_status WHERE server_id=0;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 2 -n 1 -m -p 1 -s -r $MYSQL_TEST_DIR/std_data/ndb_backup50 >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 2 -n 2 -p 1 -s -r $MYSQL_TEST_DIR/std_data/ndb_backup50 >> $NDB_TOOLS_OUTPUT
-SELECT * FROM DESCRIPTION ORDER BY USERNAME;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK DESCRIPTION | grep SHORT_VAR
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d BANK DESCRIPTION | grep MEDIUM_VAR
-
-DROP DATABASE BANK;
diff --git a/mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test b/mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test
deleted file mode 100644
index 069796f43c4..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test
+++ /dev/null
@@ -1,185 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
-#
-# Bug #27543 restore of backup from different endian does not work for blob column
-# Bug #30024 restore of backup from different endian does not work for datetime column
-# Bug #28674 backup will run forever if disk full and later write succes will kill ndb node
-#
-# The table structure and data list below
-#
-# CREATE TABLE t_num (
-# t_pk INT PRIMARY KEY,
-# t_bit BIT(64),
-# t_tinyint TINYINT,
-# t_bool BOOL,
-# t_smallint SMALLINT,
-# t_mediumint MEDIUMINT,
-# t_int INT,
-# t_bigint BIGINT,
-# t_float FLOAT,
-# t_double DOUBLE,
-# t_decimal DECIMAL (37, 16)
-# ) ENGINE=NDBCLUSTER;
-#
-# INSERT INTO t_num VALUE (
-# 1,
-# b'1010101010101010101010101010101010101010101010101010101010101010',
-# 125,
-# 1,
-# 32765,
-# 8388606,
-# 2147483647,
-# 9223372036854775807,
-# 1e+20,
-# 1e+150,
-# '331.0000000000'
-# );
-#
-# CREATE TABLE t_datetime (
-# t_pk INT PRIMARY KEY,
-# t_date DATE,
-# t_datetime DATETIME,
-# t_timestamp TIMESTAMP,
-# t_time TIME,
-# t_year YEAR
-# ) ENGINE=NDBCLUSTER;
-#
-# INSERT INTO t_datetime VALUE (
-# 1,
-# '1998-01-01',
-# '2006-08-10 10:11:12',
-# 20021029165106,
-# '19:38:34',
-# 2155
-# );
-#
-# CREATE TABLE t_string_1 (
-# t_pk INT PRIMARY KEY,
-# t_char CHAR(255),
-# t_varchar VARCHAR(655),
-# t_binary BINARY(255),
-# t_varbinary VARBINARY(6553)
-# ) ENGINE=NDBCLUSTER;
-#
-# CREATE TABLE t_string_2 (
-# t_pk INT PRIMARY KEY,
-# t_tinyblob TINYBLOB,
-# t_tinytext TINYTEXT,
-# t_blob BLOB,
-# t_text TEXT,
-# t_mediumblob MEDIUMBLOB,
-# t_mediumtext MEDIUMTEXT,
-# t_longblob LONGBLOB,
-# t_longtext LONGTEXT,
-# t_enum ENUM('001001','001004','001010','001018','001019','001020','001021','001027','001028','001029','001030','001031','001100','002003','002004','002005','002007')DEFAULT '001001' NOT NULL,
-# t_set SET('a','B')
-# ) ENGINE=NDBCLUSTER;
-#
-# INSERT INTO t_string_1 VALUE (
-# 1,
-# 'abcdefghijklmn',
-# 'abcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmn',
-# 0x612020,
-# 0x4100
-# );
-#
-# INSERT INTO t_string_2 VALUE (
-# 1,
-# 'abcdefghijklmnabcdefghijklmn',
-# 'abcdefghijklmnabcdefghijklmn',
-# 'a123456789b123456789c123456789d123456789e123456789f123456789g123456789',
-# 'a123456789b123456789c123456789d123456789e123456789f123456789g123456789',
-# 'a123456789b123456789c123456789d123456789e123456789f123456789g123456789',
-# 'a123456789b123456789c123456789d123456789e123456789f123456789g123456789',
-# 'a123456789b123456789c123456789d123456789e123456789f123456789g123456789',
-# 'a123456789b123456789c123456789d123456789e123456789f123456789g123456789',
-# '001001',
-# 'a'
-# );
-#
-# CREATE TABLE t_gis (
-# t_pk INT PRIMARY KEY,
-# t_point POINT,
-# t_linestring LINESTRING,
-# t_polygon POLYGON,
-# t_multipoint MULTIPOINT,
-# t_multilinestring MULTILINESTRING,
-# t_multipolygon MULTIPOLYGON,
-# t_geometrycollection GEOMETRYCOLLECTION,
-# t_geometry GEOMETRY
-# ) ENGINE=NDBCLUSTER;
-#
-# INSERT INTO t_gis VALUE (
-# 1,
-# PointFromText('POINT(10 10)'),
-# LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)'),
-# PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'),
-# MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)'),
-# MLineFromText('MULTILINESTRING((10 48,10 21,10 0))'),
-# MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'),
-# GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'),
-# MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')
-# );
-#
-# INSERT INTO t_gis VALUE (
-# 2,
-# PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))),
-# LineStringFromWKB(LineString(Point(10, 10), Point(40, 10))),
-# PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))),
-# MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10))),
-# MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))),
-# MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))),
-# GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))),
-# GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9))))
-# );
-
-
-
-#
-# Restore backup files (from little endian)
-#
-
---disable_warnings
-USE test;
-DROP TABLE IF EXISTS t_num,t_datetime,t_string_1,t_string_2,t_gis;
---enable_warnings
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup51_data_le >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 2 -r $MYSQL_TEST_DIR/std_data/ndb_backup51_data_le >> $NDB_TOOLS_OUTPUT
-SHOW TABLES;
-SHOW CREATE TABLE t_num;
-SHOW CREATE TABLE t_datetime;
-SHOW CREATE TABLE t_string_1;
-SHOW CREATE TABLE t_string_2;
-SHOW CREATE TABLE t_gis;
-SELECT * FROM t_datetime;
-SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num;
-SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1;
-SELECT * FROM t_string_2;
-SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk;
-SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk;
-SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk;
-
-#
-# Restore backup files (from big endian)
-#
-
-DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup51_data_be >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 2 -r $MYSQL_TEST_DIR/std_data/ndb_backup51_data_be >> $NDB_TOOLS_OUTPUT
-SHOW TABLES;
-SHOW CREATE TABLE t_num;
-SHOW CREATE TABLE t_datetime;
-SHOW CREATE TABLE t_string_1;
-SHOW CREATE TABLE t_string_2;
-SHOW CREATE TABLE t_gis;
-SELECT * FROM t_datetime;
-SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num;
-SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1;
-SELECT * FROM t_string_2;
-SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk;
-SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk;
-SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk;
-
-DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis;
diff --git a/mysql-test/suite/ndb/t/ndb_restore_partition-master.opt b/mysql-test/suite/ndb/t/ndb_restore_partition-master.opt
deleted file mode 100644
index 075c6392dde..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore_partition-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---new
diff --git a/mysql-test/suite/ndb/t/ndb_restore_partition.test b/mysql-test/suite/ndb/t/ndb_restore_partition.test
deleted file mode 100644
index f11324492c2..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore_partition.test
+++ /dev/null
@@ -1,375 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---disable_warnings
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
---enable_warnings
-
-CREATE TABLE `t1_c` (
- `capgoaledatta` smallint(5) unsigned NOT NULL auto_increment,
- `goaledatta` char(2) NOT NULL default '',
- `maturegarbagefa` varchar(32) NOT NULL default '',
- PRIMARY KEY (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(4,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3,'20','threetrees.qt');
-
-CREATE TABLE `t2_c` (
- `capgotod` smallint(5) unsigned NOT NULL auto_increment,
- `gotod` smallint(5) unsigned NOT NULL default '0',
- `goaledatta` char(2) default NULL,
- `maturegarbagefa` varchar(32) default NULL,
- `descrpooppo` varchar(64) default NULL,
- `svcutonsa` varchar(64) NOT NULL default '',
- PRIMARY KEY (`capgotod`),
- KEY `i_quadaddsvr` (`gotod`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t2_c` VALUES (5,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
-
-CREATE TABLE `t3_c` (
- `CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
- `capgotod` smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (`capgotod`,`CapGoaledatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
-
-CREATE TABLE `t4_c` (
- `capfa` bigint(20) unsigned NOT NULL auto_increment,
- `realm` varchar(32) NOT NULL default '',
- `authpwchap` varchar(32) default NULL,
- `fa` varchar(32) NOT NULL default '',
- `payyingatta` tinyint(4) NOT NULL default '0',
- `status` char(1) default NULL,
- PRIMARY KEY (`fa`,`realm`),
- KEY `capfa` (`capfa`),
- KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(22,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(29,'436642900034','sqasdt.q3.net','N/A',0,'6'),(25,'contind','armerde.qt','acne',1,NULL);
-
-CREATE TABLE `t5_c` (
- `capfa` bigint(20) unsigned NOT NULL default '0',
- `gotod` smallint(5) unsigned NOT NULL default '0',
- `orderutonsa` varchar(64) NOT NULL default '',
- PRIMARY KEY (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
-
-CREATE TABLE `t6_c` (
- `capfa_parent` bigint(20) unsigned NOT NULL default '0',
- `capfa_child` bigint(20) unsigned NOT NULL default '0',
- `relatta` smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
-
-CREATE TABLE `t7_c` (
- `dardpo` char(15) NOT NULL default '',
- `dardtestard` tinyint(3) unsigned NOT NULL default '0',
- `FastFA` char(5) NOT NULL default '',
- `FastCode` char(6) NOT NULL default '',
- `Fastca` char(1) NOT NULL default '',
- `Fastmag` char(1) NOT NULL default '',
- `Beareratta` char(2) NOT NULL default '',
- PRIMARY KEY (`dardpo`,`dardtestard`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
-
-CREATE TABLE `t8_c` (
- `kattjame` varchar(32) NOT NULL default '',
- `realm` varchar(32) NOT NULL default '',
- `realm_entered` varchar(32) NOT NULL default '',
- `maturegarbagefa` varchar(32) NOT NULL default '',
- `hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
- `kattjame_entered` varchar(32) NOT NULL default '',
- `hunderaaarbagefa` varchar(32) NOT NULL default '',
- `gest` varchar(16) default NULL,
- `hassetino` varchar(16) NOT NULL default '',
- `aaaproxysessfa` varchar(255) default NULL,
- `autologonallowed` char(1) default NULL,
- `squardporoot` varchar(15) NOT NULL default '',
- `naspo` varchar(15) default NULL,
- `beareratta` char(2) default NULL,
- `fastCode` varchar(6) default NULL,
- `fastFA` varchar(5) default NULL,
- `fastca` char(1) default NULL,
- `fastmag` char(1) default NULL,
- `lastupdate` datetime default NULL,
- `hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
- `accthassetitime` int(10) unsigned default NULL,
- `acctoutputoctets` bigint(20) unsigned default NULL,
- `acctinputoctets` bigint(20) unsigned default NULL,
- PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
- KEY `squardporoot` (`squardporoot`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
-
-CREATE TABLE `t9_c` (
- `kattjame` varchar(32) NOT NULL default '',
- `kattjame_entered` varchar(32) NOT NULL default '',
- `realm` varchar(32) NOT NULL default '',
- `realm_entered` varchar(32) NOT NULL default '',
- `maturegarbagefa` varchar(32) NOT NULL default '',
- `hunderaaarbagefa` varchar(32) NOT NULL default '',
- `hunderaaarbagefa_parent` varchar(32) NOT NULL default '',
- `gest` varchar(16) default NULL,
- `hassetino` varchar(16) NOT NULL default '',
- `squardporoot` varchar(15) NOT NULL default '',
- `naspo` varchar(15) default NULL,
- `beareratta` char(2) default NULL,
- `fastCode` varchar(6) default NULL,
- `fastFA` varchar(5) default NULL,
- `fastca` char(1) default NULL,
- `fastmag` char(1) default NULL,
- `lastupdate` datetime default NULL,
- `hassetistart` datetime NOT NULL default '0000-00-00 00:00:00',
- `accthassetitime` int(10) unsigned default NULL,
- `actcoutpuocttets` bigint(20) unsigned default NULL,
- `actinputocctets` bigint(20) unsigned default NULL,
- `terminateraste` tinyint(3) unsigned default NULL,
- PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
-
-create table t1 engine=myisam as select * from t1_c;
-create table t2 engine=myisam as select * from t2_c;
-create table t3 engine=myisam as select * from t3_c;
-create table t4 engine=myisam as select * from t4_c;
-create table t5 engine=myisam as select * from t5_c;
-create table t6 engine=myisam as select * from t6_c;
-create table t7 engine=myisam as select * from t7_c;
-create table t8 engine=myisam as select * from t8_c;
-create table t9 engine=myisam as select * from t9_c;
-
-
---source include/ndb_backup.inc
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-# random output order??
-#show tables;
-
-select count(*) from t1;
-select count(*) from t1_c;
-select count(*)
- from (select * from t1 union
- select * from t1_c) a;
-
-select count(*) from t2;
-select count(*) from t2_c;
-select count(*)
- from (select * from t2 union
- select * from t2_c) a;
-
-select count(*) from t3;
-select count(*) from t3_c;
-select count(*)
- from (select * from t3 union
- select * from t3_c) a;
-
-select count(*) from t4;
-select count(*) from t4_c;
-select count(*)
- from (select * from t4 union
- select * from t4_c) a;
-
-select count(*) from t5;
-select count(*) from t5_c;
-select count(*)
- from (select * from t5 union
- select * from t5_c) a;
-
-select count(*) from t6;
-select count(*) from t6_c;
-select count(*)
- from (select * from t6 union
- select * from t6_c) a;
-
-select count(*) from t7;
-select count(*) from t7_c;
-select count(*)
- from (select * from t7 union
- select * from t7_c) a;
-
-select count(*) from t8;
-select count(*) from t8_c;
-select count(*)
- from (select * from t8 union
- select * from t8_c) a;
-
-select count(*) from t9;
-select count(*) from t9_c;
-select count(*)
- from (select * from t9 union
- select * from t9_c) a;
-
-#
-# Try Partitioned tables as well
-#
-ALTER TABLE t1_c
-PARTITION BY RANGE (`capgoaledatta`)
-(PARTITION p0 VALUES LESS THAN MAXVALUE);
-
-ALTER TABLE t2_c
-PARTITION BY LIST(`capgotod`)
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6));
-
-ALTER TABLE t3_c
-PARTITION BY HASH (`CapGoaledatta`);
-
-ALTER TABLE t5_c
-PARTITION BY HASH (`capfa`)
-PARTITIONS 4;
-
-ALTER TABLE t6_c
-PARTITION BY LINEAR HASH (`relatta`)
-PARTITIONS 4;
-
-ALTER TABLE t7_c
-PARTITION BY LINEAR KEY (`dardtestard`);
-
---source include/ndb_backup.inc
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-select count(*) from t1;
-select count(*) from t1_c;
-select count(*)
- from (select * from t1 union
- select * from t1_c) a;
-
-select count(*) from t2;
-select count(*) from t2_c;
-select count(*)
- from (select * from t2 union
- select * from t2_c) a;
-
-select count(*) from t3;
-select count(*) from t3_c;
-select count(*)
- from (select * from t3 union
- select * from t3_c) a;
-
-select count(*) from t4;
-select count(*) from t4_c;
-select count(*)
- from (select * from t4 union
- select * from t4_c) a;
-
-select count(*) from t5;
-select count(*) from t5_c;
-select count(*)
- from (select * from t5 union
- select * from t5_c) a;
-
-select count(*) from t6;
-select count(*) from t6_c;
-select count(*)
- from (select * from t6 union
- select * from t6_c) a;
-
-select count(*) from t7;
-select count(*) from t7_c;
-select count(*)
- from (select * from t7 union
- select * from t7_c) a;
-
-select count(*) from t8;
-select count(*) from t8_c;
-select count(*)
- from (select * from t8 union
- select * from t8_c) a;
-
-select count(*) from t9;
-select count(*) from t9_c;
-select count(*)
- from (select * from t9 union
- select * from t9_c) a;
-
-drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --ndb-nodegroup_map '(0,0)' --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-select count(*) from t1;
-select count(*) from t1_c;
-select count(*)
- from (select * from t1 union
- select * from t1_c) a;
-
-select count(*) from t2;
-select count(*) from t2_c;
-select count(*)
- from (select * from t2 union
- select * from t2_c) a;
-
-select count(*) from t3;
-select count(*) from t3_c;
-select count(*)
- from (select * from t3 union
- select * from t3_c) a;
-
-select count(*) from t4;
-select count(*) from t4_c;
-select count(*)
- from (select * from t4 union
- select * from t4_c) a;
-
-select count(*) from t5;
-select count(*) from t5_c;
-select count(*)
- from (select * from t5 union
- select * from t5_c) a;
-
-select count(*) from t6;
-select count(*) from t6_c;
-select count(*)
- from (select * from t6 union
- select * from t6_c) a;
-
-select count(*) from t7;
-select count(*) from t7_c;
-select count(*)
- from (select * from t7 union
- select * from t7_c) a;
-
-select count(*) from t8;
-select count(*) from t8_c;
-select count(*)
- from (select * from t8 union
- select * from t8_c) a;
-
-select count(*) from t9;
-select count(*) from t9_c;
-select count(*)
- from (select * from t9 union
- select * from t9_c) a;
-
-#
-# Drop all table except t2_c
-# This to make sure that error returned from ndb_restore above is
-# guaranteed to be from t2_c, this since order of tables in backup
-# is none deterministic
-#
-drop table t1_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
---source include/ndb_backup.inc
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --core=0 -b $the_backup_id -n 1 -m -r --ndb-nodegroup_map '(0,1)' $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id 2>&1 | grep Translate || true
-
-#
-# Cleanup
-#
-
---disable_warnings
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-drop table if exists t2_c;
---enable_warnings
-
-#
-# Test BUG#10287
-#
-
---exec $NDB_TOOLS_DIR/ndb_select_all --no-defaults -d sys -D , SYSTAB_0 | grep 520093696, | sed "s/,$the_backup_id/,<the_backup_id>/"
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_restore_print.test b/mysql-test/suite/ndb/t/ndb_restore_print.test
deleted file mode 100644
index 9a880f8968c..00000000000
--- a/mysql-test/suite/ndb/t/ndb_restore_print.test
+++ /dev/null
@@ -1,193 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---disable_warnings
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
---enable_warnings
-
-# basic datatypes
-create table t1
- (pk int key
- ,a1 BIT(1), a2 BIT(5), a3 BIT(33), a4 BIT(63), a5 BIT(64)
- ,b1 TINYINT, b2 TINYINT UNSIGNED
- ,c1 SMALLINT, c2 SMALLINT UNSIGNED
- ,d1 INT, d2 INT UNSIGNED
- ,e1 BIGINT, e2 BIGINT UNSIGNED
- ,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
- ,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
- ,h1 BINARY(1), h2 BINARY(8), h3 BINARY(255)
- ,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
- ) engine myisam;
-
-# max values
-insert into t1 values
- (1
- ,0x1, 0x17, 0x789a, 0x789abcde, 0xfedc0001
- ,127, 255
- ,32767, 65535
- ,2147483647, 4294967295
- ,9223372036854775807, 18446744073709551615
- ,'1','12345678901234567890123456789012','123456789'
- ,'1','12345678901234567890123456789012','123456789'
- ,0x12,0x123456789abcdef0, 0x012345
- ,0x12,0x123456789abcdef0, 0x00123450
- );
-
-# min values
-insert into t1 values
- (2
- ,0, 0, 0, 0, 0
- ,-128, 0
- ,-32768, 0
- ,-2147483648, 0
- ,-9223372036854775808, 0
- ,'','',''
- ,'','',''
- ,0x0,0x0,0x0
- ,0x0,0x0,0x0
- );
-
-# null values
-insert into t1 values
- (3
- ,NULL,NULL,NULL,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL,NULL
- ,NULL,NULL,NULL
- ,NULL,NULL,NULL
- ,NULL,NULL,NULL
- );
-
---vertical_results
-select pk
- ,hex(a1), hex(a2), hex(a3), hex(a4), hex(a5)
- ,b1, b2
- ,c1 , c2
- ,d1 , d2
- ,e1 , e2
- ,f1 , f2, f3
- ,g1 , g2, g3
- ,hex(h1), hex(h2), hex(h3)
- ,hex(i1), hex(i2), hex(i3)
- from t1 order by pk;
-
-alter table t1 engine ndb;
-
-select pk
- ,hex(a1), hex(a2), hex(a3), hex(a4), hex(a5)
- ,b1, b2
- ,c1 , c2
- ,d1 , d2
- ,e1 , e2
- ,f1 , f2, f3
- ,g1 , g2, g3
- ,hex(h1), hex(h2), hex(h3)
- ,hex(i1), hex(i2), hex(i3)
- from t1 order by pk;
---horizontal_results
-
---source include/ndb_backup.inc
-
---let ndb_restore_filter=test t1
---let ndb_restore_opts=--verbose=0 --print_data --hex --fields-terminated-by=";"
---source include/ndb_backup_print.inc
-
---let ndb_restore_filter=test t1
---let ndb_restore_opts=--verbose=0 --print_data --hex --fields-terminated-by="," --fields-optionally-enclosed-by="'"
---source include/ndb_backup_print.inc
-
-
-drop table t1;
-
-# some binary char tests with trailing spaces
-create table t1
- (pk int key
- ,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
- ,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
- ,h1 BINARY(1), h2 BINARY(9), h3 BINARY(255)
- ,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
- ) engine ndb;
-
-insert into t1 values
- (1
- ,'1','12345678901234567890123456789012','123456789 '
- ,'1 ','12345678901234567890123456789012 ','123456789 '
- ,0x20,0x123456789abcdef020, 0x012345000020
- ,0x1200000020,0x123456789abcdef000000020, 0x00123450000020
- );
-
-create table t2 (pk int key, a int) engine ndb;
-create table t3 (pk int key, a int) engine ndb;
-create table t4 (pk int key, a int) engine ndb;
-
-insert into t2 values (1,11),(2,12),(3,13),(4,14),(5,15);
-insert into t3 values (1,21),(2,22),(3,23),(4,24),(5,25);
-insert into t4 values (1,31),(2,32),(3,33),(4,34),(5,35);
-
---source include/ndb_backup.inc
---let ndb_restore_opts=--verbose=0 --print_data --hex --fields-enclosed-by="'" --fields-optionally-enclosed-by="X"
---let ndb_restore_filter=test t1
---source include/ndb_backup_print.inc
-
---error 0,1
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
---error 0,1
---remove_file $MYSQLTEST_VARDIR/tmp/t2.txt
---error 0,1
---remove_file $MYSQLTEST_VARDIR/tmp/t3.txt
---error 0,1
---remove_file $MYSQLTEST_VARDIR/tmp/t4.txt
-
---let ndb_restore_opts=--verbose=0 --print_data --hex --tab $MYSQLTEST_VARDIR/tmp --append
---let ndb_restore_filter=test
---source include/ndb_backup_print.inc
-
---let $message= t1
---source include/show_msg.inc
---exec sort $MYSQLTEST_VARDIR/tmp/t1.txt
---let $message= t2
---source include/show_msg.inc
---exec sort $MYSQLTEST_VARDIR/tmp/t2.txt
---let $message= t3
---source include/show_msg.inc
---exec sort $MYSQLTEST_VARDIR/tmp/t3.txt
---let $message= t4
---source include/show_msg.inc
---exec sort $MYSQLTEST_VARDIR/tmp/t4.txt
-
---remove_file $MYSQLTEST_VARDIR/tmp/t1.txt
---remove_file $MYSQLTEST_VARDIR/tmp/t2.txt
---remove_file $MYSQLTEST_VARDIR/tmp/t3.txt
---remove_file $MYSQLTEST_VARDIR/tmp/t4.txt
-
-# now test some other datatypes
-drop table t1;
-create table t1
- (pk int key
- ,a1 MEDIUMINT, a2 MEDIUMINT UNSIGNED
- ) engine ndb;
-
-# max values
-insert into t1 values(1, 8388607, 16777215);
-# min values
-insert into t1 values(2, -8388608, 0);
-# small values
-insert into t1 values(3, -1, 1);
-
-# backup and print
---source include/ndb_backup.inc
-
---let ndb_restore_filter=test t1
---let ndb_restore_opts=--verbose=0 --print_data --hex --fields-terminated-by=";"
---source include/ndb_backup_print.inc
-
-# clean up
-drop table t1;
-drop table t2;
-drop table t3;
-drop table t4;
diff --git a/mysql-test/suite/ndb/t/ndb_row_format.test b/mysql-test/suite/ndb/t/ndb_row_format.test
deleted file mode 100644
index b1582cbe339..00000000000
--- a/mysql-test/suite/ndb/t/ndb_row_format.test
+++ /dev/null
@@ -1,86 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
---enable_warnings
-
-#
-# some negative tests
-#
-
-# cannot have ROW_FORMAT=FIXED and var attrs mixed
---error 1005
-CREATE TABLE t1
- ( a INT KEY,
- b VARCHAR(10) )
- ROW_FORMAT=FIXED
- ENGINE=NDB;
-
-# warnings give more detail on the error
-SHOW WARNINGS;
-
-
-#
-# Check force var part for different ROW_FORMAT
-#
-
-# default => ForceVarPart: 1
-CREATE TABLE t1
- ( a INT KEY,
- b INT )
- ENGINE=NDB;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
-DROP TABLE t1;
-
-# explicit DEFAULT => ForceVarPart: 1
-CREATE TABLE t1
- ( a INT KEY,
- b INT )
- ROW_FORMAT=DEFAULT
- ENGINE=NDB;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
-DROP TABLE t1;
-
-# FIXED => ForceVarPart: 0
-CREATE TABLE t1
- ( a INT KEY,
- b INT )
- ROW_FORMAT=FIXED
- ENGINE=NDB;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
-DROP TABLE t1;
-
-# DYNAMIC => ForceVarPart: 1
-CREATE TABLE t1
- ( a INT KEY,
- b INT )
- ROW_FORMAT=DYNAMIC
- ENGINE=NDB;
---exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep ForceVarPart
-DROP TABLE t1;
-
-# test of bug
-create table t1 (a int auto_increment primary key, b varchar(1000)) engine = ndb;
-insert into t1(b) values ('0123456789');
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-insert into t1(b) select b from t1;
-select count(*) from t1;
-begin;
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-update t1 set b = concat(b,b);
-rollback;
-select count(*),b from t1 group by b;
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_single_user.test b/mysql-test/suite/ndb/t/ndb_single_user.test
deleted file mode 100644
index a64ac066a49..00000000000
--- a/mysql-test/suite/ndb/t/ndb_single_user.test
+++ /dev/null
@@ -1,174 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1,t2;
---enable_warnings
-
-# operations allowed while cluster is in single user mode
-
---connection server1
---let $node_id= `SHOW STATUS LIKE 'Ndb_cluster_node_id'`
---disable_query_log
---eval set @node_id= SUBSTRING('$node_id', 20)+0
---enable_query_log
---let $node_id= `SELECT @node_id`
---exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "enter single user mode $node_id" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" --single-user >> $NDB_TOOLS_OUTPUT
-
-# verify that we are indeed in single user mode
-# and test that some operations give correct errors
---connection server2
---error 1005
-create table t1 (a int key, b int unique, c int) engine ndb;
-# Bug #27712 Single user mode. Creating logfile group and tablespace is allowed
-# - before bug fix these would succeed
---error ER_CREATE_FILEGROUP_FAILED
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-show warnings;
-
-# test some sql on first mysqld
---connection server1
-create table t1 (a int key, b int unique, c int) engine ndb;
-# Check that we can create logfile group
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
---connection server2
---error ER_CREATE_FILEGROUP_FAILED
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-show warnings;
---error ER_DROP_FILEGROUP_FAILED
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-show warnings;
---connection server1
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
---connection server2
---error ER_ALTER_FILEGROUP_FAILED
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE NDB;
-show warnings;
---connection server1
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE NDB;
---connection server2
---error ER_DROP_FILEGROUP_FAILED
-DROP TABLESPACE ts1
-ENGINE NDB;
-show warnings;
---connection server1
-DROP TABLESPACE ts1
-ENGINE NDB;
-DROP LOGFILE GROUP lg1
-ENGINE =NDB;
-insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0);
-create table t2 as select * from t1;
-# read with pk
-select * from t1 where a = 1;
-# read with unique index
-select * from t1 where b = 4;
-# read with ordered index
-select * from t1 where a > 4 order by a;
-# update with pk
-update t1 set b=102 where a = 2;
-# update with unique index
-update t1 set b=103 where b = 3;
-# update with full table scan
-update t1 set b=b+100;
-# update with ordered insex scan
-update t1 set b=b+100 where a > 7;
-# delete with full table scan
-delete from t1;
-insert into t1 select * from t2;
-# Bug #27710 Creating unique index fails during single user mode
-# - prior to bugfix this would fail
-create unique index new_index on t1 (b,c);
-
-drop table t2;
-
-# test some sql on other mysqld
---connection server2
---error 1051
-drop table t1;
---error 1296
-create index new_index_fail on t1 (c);
---error 1296
-insert into t1 values (21,21,0),(22,22,0),(23,23,0),(24,24,0),(25,25,0),(26,26,0),(27,27,0),(28,28,0),(29,29,0),(210,210,0);
---error 1296
-select * from t1 where a = 1;
---error 1296
-select * from t1 where b = 4;
---error 1296
-update t1 set b=102 where a = 2;
---error 1296
-update t1 set b=103 where b = 3;
---error 1296
-update t1 set b=b+100;
---error 1296
-update t1 set b=b+100 where a > 7;
-
---exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "exit single user mode" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults >> $NDB_TOOLS_OUTPUT
-
-#
-# we should be able to run transaction while in single user mode
-#
---connection server1
-BEGIN;
-update t1 set b=b+100 where a=1;
-
---connection server2
-BEGIN;
-update t1 set b=b+100 where a=2;
-
-# enter single user mode
---exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "enter single user mode $node_id" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" --single-user >> $NDB_TOOLS_OUTPUT
-
---connection server1
-update t1 set b=b+100 where a=3;
-COMMIT;
-
-# while on other mysqld it should be aborted
---connection server2
---error 1296
-update t1 set b=b+100 where a=4;
---error 1296
-COMMIT;
-
-# Bug #25275 SINGLE USER MODE prevents ALTER on non-ndb
-# tables for other mysqld nodes
---connection server2
-create table t2 (a int) engine myisam;
-alter table t2 add column (b int);
-
-# exit single user mode
---exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "exit single user mode" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults >> $NDB_TOOLS_OUTPUT
-
-# cleanup
---connection server2
-drop table t2;
---connection server1
-drop table t1;
-
-# End of 5.0 tests
-
diff --git a/mysql-test/suite/ndb/t/ndb_sp.test b/mysql-test/suite/ndb/t/ndb_sp.test
deleted file mode 100644
index b833869cad0..00000000000
--- a/mysql-test/suite/ndb/t/ndb_sp.test
+++ /dev/null
@@ -1,42 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1;
---enable_warnings
-
-create table t1 (
- a int not null primary key,
- b int not null
-) engine=ndb;
-insert into t1 values (1,10), (2,20), (3,100), (4, 100);
-
-delimiter //;
-create procedure test_proc1 (in var_in int)
-begin
- select * from t1 where a = var_in;
-end;
-create procedure test_proc2 (out var_out int)
-begin
- select b from t1 where a = 1 into var_out;
-end;
-create procedure test_proc3 (inout var_inout int)
-begin
- select b from t1 where a = var_inout into var_inout;
-end;
-//
-delimiter ;//
-call test_proc1(1);
-call test_proc2(@test_var);
-select @test_var;
-set @test_var = 1;
-call test_proc3(@test_var);
-select @test_var;
-alter procedure test_proc1 comment 'new comment';
-show create procedure test_proc1;
-drop procedure test_proc1;
-drop procedure test_proc2;
-drop procedure test_proc3;
-drop table t1;
-
---echo End of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_subquery.test b/mysql-test/suite/ndb/t/ndb_subquery.test
deleted file mode 100644
index 6282c31c922..00000000000
--- a/mysql-test/suite/ndb/t/ndb_subquery.test
+++ /dev/null
@@ -1,79 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-drop table if exists t1, t2, t3, t4;
---enable_warnings
-
-##########
-# bug#5367
-create table t1 (p int not null primary key, u int not null, o int not null,
-unique (u), key(o)) engine=ndb;
-
-create table t2 (p int not null primary key, u int not null, o int not null,
-unique (u), key(o)) engine=ndb;
-
-create table t3 (a int not null primary key, b int not null) engine=ndb;
-create table t4 (c int not null primary key, d int not null) engine=ndb;
-
-insert into t1 values (1,1,1),(2,2,2),(3,3,3);
-insert into t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5);
-insert into t3 values (1,10), (2,10), (3,30), (4, 30);
-insert into t4 values (1,10), (2,10), (3,30), (4, 30);
-
-# Use pk
---replace_column 9 #
-explain select * from t2 where p NOT IN (select p from t1);
-select * from t2 where p NOT IN (select p from t1) order by p;
-
-# Use unique index
---replace_column 9 #
-explain select * from t2 where p NOT IN (select u from t1);
-select * from t2 where p NOT IN (select u from t1) order by p;
-
-# Use ordered index
---replace_column 9 #
-explain select * from t2 where p NOT IN (select o from t1);
-select * from t2 where p NOT IN (select o from t1) order by p;
-
-# Use scan
---replace_column 9 #
-explain select * from t2 where p NOT IN (select p+0 from t1);
-select * from t2 where p NOT IN (select p+0 from t1) order by p;
-
-drop table t1;
-drop table t2;
-# bug#5367
-##########
-
-# End of 4.1 tests
-
-#
-# bug#11205
-#
-create table t1 (p int not null primary key, u int not null) engine=ndb;
-insert into t1 values (1,1),(2,2),(3,3);
-
-create table t2 as
-select t1.*
-from t1 as t1, t1 as t2, t1 as t3, t1 as t4, t1 as t5, t1 as t6, t1 as t7, t1 as t8
-where t1.u = t2.u
- and t2.u = t3.u
- and t3.u = t4.u
- and t4.u = t5.u
- and t5.u = t6.u
- and t6.u = t7.u
- and t7.u = t8.u;
-
-select * from t2 order by 1;
-
-select * from t3 where a = any (select c from t4 where c = 1) order by a;
-select * from t3 where a in (select c from t4 where c = 1) order by a;
-select * from t3 where a <> some (select c from t4 where c = 1) order by a;
-select * from t3 where a > all (select c from t4 where c = 1) order by a;
-select * from t3 where row(1,10) = (select c,d from t4 where c = 1) order by a;
-select * from t3 where exists (select * from t4 where c = 1) order by a;
-
-drop table if exists t1, t2, t3, t4;
-
---echo End of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_temporary.test b/mysql-test/suite/ndb/t/ndb_temporary.test
deleted file mode 100644
index 7f6902bf745..00000000000
--- a/mysql-test/suite/ndb/t/ndb_temporary.test
+++ /dev/null
@@ -1,38 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# creating a temporary table with engine=ndb should give an error
-#
---error ER_ILLEGAL_HA_CREATE_OPTION
-create temporary table t1 (a int key) engine=ndb;
-
-
-#
-# alter temporary table to engine=ndb should give an error
-#
-create temporary table t1 (a int key) engine=myisam;
---error ER_ILLEGAL_HA_CREATE_OPTION
-alter table t1 engine=ndb;
-drop table t1;
-
-
-#
-# if default storage engine=ndb, temporary tables
-# without explicit engine= should be created as myisam
-#
-SET SESSION storage_engine=NDBCLUSTER;
-create table t1 (a int key);
-
-# verify that we have a ndb table
-select engine from information_schema.tables where table_name = 't1';
-drop table t1;
-
-# verify that we have a myisam table
-create temporary table t1 (a int key);
-show create table t1;
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndb_tmp_table_and_DDL.test b/mysql-test/suite/ndb/t/ndb_tmp_table_and_DDL.test
deleted file mode 100644
index 748c0ac28e4..00000000000
--- a/mysql-test/suite/ndb/t/ndb_tmp_table_and_DDL.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Bug#49132
-# This test verifies if executing DDL statement before trying to manipulate
-# a temporary table causes row-based replication to break with error 'table
-# does not exist' base on ndb engine.
-#
-
-source include/have_ndb.inc;
-
-LET $ENGINE_TYPE= NDB;
-source extra/rpl_tests/rpl_tmp_table_and_DDL.test;
diff --git a/mysql-test/suite/ndb/t/ndb_transaction.test b/mysql-test/suite/ndb/t/ndb_transaction.test
deleted file mode 100644
index d3ebadb1a78..00000000000
--- a/mysql-test/suite/ndb/t/ndb_transaction.test
+++ /dev/null
@@ -1,298 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
-drop database if exists mysqltest;
---enable_warnings
-
-#
-# Transactionc test to show that the NDB
-# table handler is working properly with
-# transactions
-#
-
-#
-# Create a normal table with primary key
-#
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL
-) ENGINE=ndbcluster;
-
-# insert
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-rollback;
-
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-commit;
-
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select t1.attr1 from t1, t1 as t1x where t1.pk1 = t1x.pk1 + 1;
-
-# update
-begin;
-update t1 set attr1 = attr1 * 2;
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-rollback;
-
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-
-begin;
-update t1 set attr1 = attr1 * 2;
-commit;
-
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-
-# delete
-begin;
-delete from t1 where attr1 = 2;
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-rollback;
-
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-
-begin;
-delete from t1 where attr1 = 2;
-commit;
-
-select count(*) from t1;
-select * from t1 where pk1 = 1;
-select * from t1, t1 as t1x where t1x.attr1 = t1.attr1 - 2;
-
-DROP TABLE t1;
-
-#
-# Create table without primary key
-# a hidden primary key column is created by handler
-#
-CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
-
-# insert
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-select sum(id) from t1;
-select * from t1 where id = 1;
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-rollback;
-
-select sum(id) from t1;
-select * from t1 where id = 1;
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-
-begin;
-insert into t1 values(1,1);
-insert into t1 values(2,2);
-commit;
-
-select sum(id) from t1;
-select * from t1 where id = 1;
-select t1.id from t1, t1 as t1x where t1.id2 = t1x.id2 + 1;
-
-# update
-begin;
-update t1 set id = id * 2;
-select sum(id) from t1;
-select * from t1 where id = 2;
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-rollback;
-
-select sum(id) from t1;
-select * from t1 where id = 2;
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-
-begin;
-update t1 set id = id * 2;
-commit;
-
-select sum(id) from t1;
-select * from t1 where id = 2;
-select * from t1, t1 as t1x where t1x.id = t1.id - 2;
-
-# delete
-
-DROP TABLE t1;
-
-#
-# A more extensive test with a lot more records
-#
-
-CREATE TABLE t2 (
- a bigint unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-CREATE TABLE t3 (
- a bigint unsigned NOT NULL,
- b bigint unsigned not null,
- c bigint unsigned,
- PRIMARY KEY(a)
-) engine=ndbcluster;
-
-CREATE TABLE t4 (
- a bigint unsigned NOT NULL,
- b bigint unsigned not null,
- c bigint unsigned NOT NULL,
- d int unsigned,
- PRIMARY KEY(a, b, c)
-) engine=ndbcluster;
-
-
-#
-# insert records into tables and rollback
-#
-let $1=100;
-disable_query_log;
-begin;
-while ($1)
-{
- eval insert into t2 values($1, $1+9, 5);
- eval insert into t3 values($1, $1+9, 5);
- eval insert into t4 values($1, $1+9, 5, $1+26000);
- dec $1;
-}
-rollback;
-enable_query_log;
-
-select count(*) from t2;
-select count(*) from t3;
-select count(*) from t4;
-
-#
-# insert records into tables and commit;
-#
-let $1=100;
-disable_query_log;
-begin;
-while ($1)
-{
- eval insert into t2 values($1, $1+9, 5);
- eval insert into t3 values($1, $1+9, 5);
- eval insert into t4 values($1, $1+9, 5, $1+26000);
- dec $1;
-}
-commit;
-enable_query_log;
-
-select count(*) from t2;
-select count(*) from t3;
-select count(*) from t4;
-
-#
-# delete every other record in the tables
-#
-let $1=100;
-disable_query_log;
-while ($1)
-{
- eval delete from t2 where a=$1;
- eval delete from t3 where a=$1;
- eval delete from t4 where a=$1 and b=$1+9 and c=5;
- dec $1;
- dec $1;
-}
-enable_query_log;
-
-#
-# update records and rollback
-#
-begin;
-let $1=100;
-disable_query_log;
-while ($1)
-{
- eval update t2 set c=$1 where a=$1;
- eval update t3 set c=7 where a=$1 and b=$1+9 and c=5;
- eval update t4 set d=$1+21987 where a=$1 and b=$1+9 and c=5;
- dec $1;
- dec $1;
-}
-rollback;
-enable_query_log;
-
-#
-# update records and commit
-#
-begin;
-let $1=100;
-disable_query_log;
-while ($1)
-{
- eval update t2 set c=$1 where a=$1;
- eval update t3 set c=7 where a=$1 and b=$1+9 and c=5;
- eval update t4 set d=$1+21987 where a=$1 and b=$1+9 and c=5;
- dec $1;
- dec $1;
-}
-rollback;
-enable_query_log;
-
-drop table t2;
-drop table t3;
-drop table t4;
-
-#
-# Test multiple databases in one transaction
-#
-
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- attr1 INT NOT NULL
-) ENGINE=ndbcluster;
-
-create database mysqltest;
-use mysqltest;
-
-CREATE TABLE t2 (
- a bigint unsigned NOT NULL PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-begin;
-insert into test.t1 values(1,1);
-insert into t2 values(1,1,1);
-insert into test.t1 values(2,2);
-insert into t2 values(2,2,2);
-select count(*) from test.t1;
-select count(*) from t2;
-select * from test.t1 where pk1 = 1;
-select * from t2 where a = 1;
-select test.t1.attr1
-from test.t1, test.t1 as t1x where test.t1.pk1 = t1x.pk1 + 1;
-select t2.a
-from t2, t2 as t2x where t2.a = t2x.a + 1;
-select test.t1.pk1, a from test.t1,t2 where b > test.t1.attr1;
-rollback;
-
-select count(*) from test.t1;
-select count(*) from t2;
-
-drop table test.t1, t2;
-drop database mysqltest;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_trigger.test b/mysql-test/suite/ndb/t/ndb_trigger.test
deleted file mode 100644
index 9f01157fc93..00000000000
--- a/mysql-test/suite/ndb/t/ndb_trigger.test
+++ /dev/null
@@ -1,221 +0,0 @@
-# Tests which involve triggers and NDB storage engine
---source include/have_ndb.inc
---source include/not_embedded.inc
-
-#
-# Test for bug#18437 "Wrong values inserted with a before update
-# trigger on NDB table". SQL-layer didn't properly inform handler
-# about fields which were read and set in triggers. In some cases
-# this resulted in incorrect (garbage) values of OLD variables and
-# lost changes to NEW variables.
-# You can find similar tests for ON INSERT triggers in federated.test
-# since this engine so far is the only engine in MySQL which cares
-# about field mark-up during handler::write_row() operation.
-#
-
---disable_warnings
-drop table if exists t1, t2, t3, t4, t5;
---enable_warnings
-
-create table t1 (id int primary key, a int not null, b decimal (63,30) default 0) engine=ndb;
-create table t2 (op char(1), a int not null, b decimal (63,30)) engine=ndb;
-create table t3 engine=ndb select 1 as i;
-create table t4 (a int not null primary key, b int) engine=ndb;
-create table t5 (a int not null primary key, b int) engine=ndb;
-
-delimiter //;
-create trigger t1_bu before update on t1 for each row
-begin
- insert into t2 values ("u", old.a, old.b);
- set new.b = old.b + 10;
-end;//
-create trigger t1_bd before delete on t1 for each row
-begin
- insert into t2 values ("d", old.a, old.b);
-end;//
-create trigger t4_au after update on t4
- for each row begin
- update t5 set b = b+1;
- end;
-//
-create trigger t4_ad after delete on t4
- for each row begin
- update t5 set b = b+1;
- end;
-//
-delimiter ;//
-
-insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (3, 3, 3.05), (4, 4, 4.05);
-insert into t4 values (1,1), (2,2), (3,3), (4, 4);
-insert into t5 values (1,0);
-
-# Check that usual update works as it should
-update t1 set a=5 where a != 3;
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t2;
-# Check that everything works for multi-update
-update t1, t3 set a=6 where a = 5;
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t2;
-# Check for delete
-delete from t1 where a != 3;
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t2;
-# Check for multi-delete
-insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (4, 4, 4.05);
-delete t1 from t1, t3 where a != 3;
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t2;
-# Check for insert ... on duplicate key update
-insert into t1 values (4, 4, 4.05);
-insert into t1 (id, a) values (4, 1), (3, 1) on duplicate key update a= a + 1;
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t2;
-# Check for insert ... select ... on duplicate key update
-delete from t3;
-insert into t3 values (4), (3);
-insert into t1 (id, a) (select i, 1 from t3) on duplicate key update a= a + 1;
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t2;
-# Check for replace
-replace into t1 (id, a) values (4, 1), (3, 1);
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t1;
-delete from t2;
-# Check for replace ... select ...
-insert into t1 values (3, 1, 1.05), (4, 1, 2.05);
-replace into t1 (id, a) (select i, 2 from t3);
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-delete from t1;
-delete from t2;
-# Check for load data replace
-insert into t1 values (3, 1, 1.05), (5, 2, 2.05);
-load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (id, a);
-select * from t1 order by id;
-select * from t2 order by op, a, b;
-update t4 set b = 10 where a = 1;
-select * from t5 order by a;
-update t5 set b = 0;
-delete from t4 where a = 1;
-select * from t5 order by a;
-drop trigger t4_au;
-drop trigger t4_ad;
-
-drop table t1, t2, t3, t4, t5;
-# Test for bug#26242
-# Verify that AFTER UPDATE/DELETE triggers are executed
-# after the change has actually taken place
-
-CREATE TABLE t1 (
- id INT NOT NULL PRIMARY KEY,
- xy INT
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (1, 0);
-
-DELIMITER //;
-CREATE TRIGGER t1_update AFTER UPDATE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id = NEW.id; END //
-DELIMITER ;//
-
-CREATE TABLE t2 (
- id INT NOT NULL PRIMARY KEY,
- xy INT
-) ENGINE=ndbcluster;
-
-INSERT INTO t2 VALUES (2, 0);
-
-CREATE TABLE t3 (id INT NOT NULL PRIMARY KEY) ENGINE=ndbcluster;
-
-INSERT INTO t3 VALUES (1);
-
-CREATE TABLE t4 LIKE t1;
-
-DELIMITER //;
-CREATE TRIGGER t4_update AFTER UPDATE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id = NEW.id; END //
-DELIMITER ;//
-
-CREATE TABLE t5 LIKE t2;
-
-UPDATE t1 SET xy = 3 WHERE id = 1;
-SELECT xy FROM t1 where id = 1;
-SELECT xy FROM t2 where id = 1;
-
-UPDATE t1 SET xy = 4 WHERE id IN (SELECT id FROM t3 WHERE id = 1);
-SELECT xy FROM t1 where id = 1;
-SELECT xy FROM t2 where id = 1;
-
-INSERT INTO t4 SELECT * FROM t1;
-INSERT INTO t5 SELECT * FROM t2;
-UPDATE t1,t4 SET t1.xy = 3, t4.xy = 3 WHERE t1.id = 1 AND t4.id = 1;
-SELECT xy FROM t1 where id = 1;
-SELECT xy FROM t2 where id = 1;
-SELECT xy FROM t4 where id = 1;
-SELECT xy FROM t5 where id = 1;
-
-UPDATE t1,t4 SET t1.xy = 4, t4.xy = 4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 1) AND t4.id IN (SELECT id FROM t3 WHERE id = 1);
-SELECT xy FROM t1 where id = 1;
-SELECT xy FROM t2 where id = 1;
-SELECT xy FROM t4 where id = 1;
-SELECT xy FROM t5 where id = 1;
-
-INSERT INTO t1 VALUES (1,0) ON DUPLICATE KEY UPDATE xy = 5;
-SELECT xy FROM t1 where id = 1;
-SELECT xy FROM t2 where id = 1;
-
-DROP TRIGGER t1_update;
-DROP TRIGGER t4_update;
-
-DELIMITER //;
-CREATE TRIGGER t1_delete AFTER DELETE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id > 4; END //
-DELIMITER ;//
-
-DELIMITER //;
-CREATE TRIGGER t4_delete AFTER DELETE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id > 4; END //
-DELIMITER ;//
-
-INSERT INTO t1 VALUES (5, 0),(6,0);
-INSERT INTO t2 VALUES (5, 1),(6,1);
-INSERT INTO t3 VALUES (5);
-SELECT * FROM t1 order by id;
-SELECT * FROM t2 order by id;
-DELETE FROM t1 WHERE id IN (SELECT id FROM t3 WHERE id = 5);
-SELECT * FROM t1 order by id;
-SELECT * FROM t2 order by id;
-
-INSERT INTO t1 VALUES (5,0);
-UPDATE t2 SET xy = 1 WHERE id = 6;
-TRUNCATE t4;
-INSERT INTO t4 SELECT * FROM t1;
-TRUNCATE t5;
-INSERT INTO t5 SELECT * FROM t2;
-SELECT * FROM t1 order by id;
-SELECT * FROM t2 order by id;
-SELECT * FROM t4 order by id;
-SELECT * FROM t5 order by id;
-DELETE FROM t1,t4 USING t1,t3,t4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 5) AND t4.id IN (SELECT id FROM t3 WHERE id = 5);
-SELECT * FROM t1 order by id;
-SELECT * FROM t2 order by id;
-SELECT * FROM t4 order by id;
-SELECT * FROM t5 order by id;
-
-INSERT INTO t1 VALUES (5, 0);
-REPLACE INTO t2 VALUES (6,1);
-SELECT * FROM t1 order by id;
-SELECT * FROM t2 order by id;
-REPLACE INTO t1 VALUES (5, 1);
-SELECT * FROM t1 order by id;
-SELECT * FROM t2 order by id;
-
-DROP TRIGGER t1_delete;
-DROP TRIGGER t4_delete;
-DROP TABLE t1, t2, t3, t4, t5;
-
---echo End of 5.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_truncate.test b/mysql-test/suite/ndb/t/ndb_truncate.test
deleted file mode 100644
index a1ef4be0d48..00000000000
--- a/mysql-test/suite/ndb/t/ndb_truncate.test
+++ /dev/null
@@ -1,41 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1, t2;
---enable_warnings
-
-CREATE TABLE t1 (
- a bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
- b int unsigned not null,
- c int unsigned
-) engine=ndbcluster;
-
-
-#
-# insert records into table
-#
-let $1=500;
-disable_query_log;
-while ($1)
-{
- eval insert into t1 values(NULL, $1+9, 5*$1), (NULL, $1+10, 7),(NULL, $1+10, 7*$1), (NULL, $1+10, 10+$1), (NULL, $1+10, 70*$1), (NULL, $1+10, 7), (NULL, $1+10, 9), (NULL, $1+299, 899), (NULL, $1+10, 12), (NULL, $1+10, 14*$1);
- dec $1;
-}
-enable_query_log;
-
-select count(*) from t1;
-
-select * from t1 order by a limit 2;
-
-truncate table t1;
-
-select count(*) from t1;
-
-insert into t1 values(NULL,1,1),(NULL,2,2);
-
-select * from t1 order by a;
-
-drop table t1;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_types.test b/mysql-test/suite/ndb/t/ndb_types.test
deleted file mode 100644
index ab18817132e..00000000000
--- a/mysql-test/suite/ndb/t/ndb_types.test
+++ /dev/null
@@ -1,85 +0,0 @@
---source include/have_ndb.inc
---source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# Test creation of different column types in NDB
-#
-CREATE TABLE t1 (
- auto int(5) unsigned NOT NULL auto_increment,
- string char(10) default "hello",
- vstring varchar(10) default "hello",
- bin binary(2),
- vbin varbinary(7),
- tiny tinyint(4) DEFAULT '0' NOT NULL ,
- short smallint(6) DEFAULT '1' NOT NULL ,
- medium mediumint(8) DEFAULT '0' NOT NULL,
- long_int int(11) DEFAULT '0' NOT NULL,
- longlong bigint(13) DEFAULT '0' NOT NULL,
- real_float float(13,1) DEFAULT 0.0 NOT NULL,
- real_double double(16,4),
- real_decimal decimal(16,4),
- utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
- ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
- umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
- ulong int(11) unsigned DEFAULT '0' NOT NULL,
- ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
- bits bit(3),
- options enum('one','two','tree') not null,
- flags set('one','two','tree') not null,
- date_field date,
- year_field year,
- time_field time,
- date_time datetime,
- time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
- PRIMARY KEY (auto),
- KEY (utiny),
- KEY (tiny),
- KEY (short),
- KEY any_name (medium),
- KEY (longlong),
- KEY (real_float),
- KEY (ushort),
- KEY (umedium),
- KEY (ulong),
- KEY (ulonglong,ulong),
- KEY (options,flags)
-);
-
-set @now = now();
---sleep 1.5
-insert into t1
-(string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
- real_float,real_double, real_decimal,utiny, ushort, umedium,ulong,ulonglong,
- bits,options,flags,date_field,year_field,time_field,date_time)
-values
-("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1,
- b'001','one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01');
-
-select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
- real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
- bits,options,flags,date_field,year_field,time_field,date_time
-from t1;
-select time_stamp>@now from t1;
-
-set @now = now();
---sleep 1.5
-update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB,
-tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2,
-real_double=2.2,real_decimal=2.2,utiny=2,ushort=2,umedium=2,ulong=2,
-ulonglong=2, bits=b'010',
-options='one',flags='one', date_field='1902-02-02',year_field='1902',
-time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1;
-
-select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
- real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
- bits,options,flags,date_field,year_field,time_field,date_time
-from t1;
-select time_stamp>@now from t1;
-
-drop table t1;
-
---echo End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/ndb_update.test b/mysql-test/suite/ndb/t/ndb_update.test
deleted file mode 100644
index ab0fbee171e..00000000000
--- a/mysql-test/suite/ndb/t/ndb_update.test
+++ /dev/null
@@ -1,94 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
---enable_warnings
-
-#
-# Basic test of UPDATE in NDB
-#
-
-#
-# Create a normal table with primary key
-#
-CREATE TABLE t1 (
- pk1 INT NOT NULL PRIMARY KEY,
- b INT NOT NULL,
- c INT NOT NULL UNIQUE
-) ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES (0, 1, 0),(1,2,1),(2,3,2);
-UPDATE t1 set b = c;
-select * from t1 order by pk1;
-UPDATE t1 set pk1 = 4 where pk1 = 1;
-select * from t1 order by pk1;
---error ER_DUP_ENTRY
-UPDATE t1 set pk1 = 4 where pk1 = 2;
-UPDATE IGNORE t1 set pk1 = 4 where pk1 = 2;
-select * from t1 order by pk1;
---error ER_DUP_ENTRY
-UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
-UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4;
-select * from t1 order by pk1;
-UPDATE t1 set pk1 = pk1 + 10;
-select * from t1 order by pk1;
-# bug#25817
-create unique index ib on t1(b);
-update t1 set c = 4 where pk1 = 12;
-update ignore t1 set b = 55 where pk1 = 14;
-select * from t1 order by pk1;
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-# End of 4.1 tests
-
-#
-# Bug#28158: table->read_set is set incorrectly,
-# causing wrong error message in Falcon
-#
-CREATE TABLE t1 (a int, b int, KEY (a, b)) ENGINE=ndbcluster;
-CREATE TABLE t2 (a int, b int, UNIQUE KEY (a, b)) ENGINE=ndbcluster;
-CREATE TABLE t3 (a int, b int, PRIMARY KEY (a, b)) ENGINE=ndbcluster;
-#
-INSERT INTO t1 VALUES (1, 2);
-INSERT INTO t1 VALUES (2, 2);
-#
-INSERT INTO t2 VALUES (1, 2);
-INSERT INTO t2 VALUES (2, 2);
-#
-INSERT INTO t3 VALUES (1, 2);
-INSERT INTO t3 VALUES (2, 2);
-#
-UPDATE t1 SET a = 1;
-UPDATE t1 SET a = 1 ORDER BY a;
-#
---error ER_DUP_ENTRY
-UPDATE t2 SET a = 1;
---error ER_DUP_ENTRY
-UPDATE t2 SET a = 1 ORDER BY a;
-#
---error ER_DUP_ENTRY
-UPDATE t3 SET a = 1;
---error ER_DUP_ENTRY
-UPDATE t3 SET a = 1 ORDER BY a;
-#
-SELECT count(*) FROM t1;
-SELECT count(*) FROM t2;
-SELECT count(*) FROM t3;
-SELECT * FROM t1 ORDER by a;
-SELECT * FROM t2 ORDER by a;
-SELECT * FROM t3 ORDER by a;
-#
---disable_warnings
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
---enable_warnings
-
---echo End of 5.1 tests
-
diff --git a/mysql-test/suite/ndb/t/ndb_update_no_read.test b/mysql-test/suite/ndb/t/ndb_update_no_read.test
deleted file mode 100644
index 60bea53b7b5..00000000000
--- a/mysql-test/suite/ndb/t/ndb_update_no_read.test
+++ /dev/null
@@ -1,79 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# New test case for WL 3686 (which is not until CGE-6.3)
-# but test is committed in 5.1 to verify consistant results.
-#
-# When only constant expressions in update statements and
-# only PK or UK in WHERE clause. No extra WHERE parts are
-# allowed. WL #3687 takes of more advanced variants of
-# avoiding the read before the update/delete
-
-create table t1 (a int not null primary key, b int not null, c int,
- unique index_b (b) using hash)
-engine ndb;
-
-insert into t1 values (1,10,1),(2,9,1),(3,8,1),(4,7,1),(5,6,1),(6,5,2),(7,4,2),(8,3,2),
- (9,2,2),(10,1,2);
-
-# These ones should use optimisation
-
-update t1 set c = 111, b = 20 where a = 1;
-
-select * from t1 where a = 1 order by a;
-
-delete from t1 where a = 1;
-
-select * from t1 where a = 1 order by a;
-
-update t1 set c = 12, b = 19 where b = 2;
-
-select * from t1 where b = 2 order by a;
-
-delete from t1 where b = 19;
-
-select * from t1 where b = 19 order by a;
-
-update t1 set c = 22 where a = 10 or a >= 10;
-
-select * from t1 order by a;
-
-update t1 set c = 23 where a in (8,10);
-
-select * from t1 order by a;
-
-update t1 set c = 23 where a in (7,8) or a >= 10;
-
-select * from t1 order by a;
-
-# These ones should not use optimisation
-
-update t1 set c = 11 where a = 3 or b = 7;
-
-select * from t1 where a = 3 or b = 7 order by a;
-
-update t1 set a = 13, b = 20 where a = 3;
-
-select * from t1 where a = 13 order by a;
-
-update t1 set a = 12, b = 19 where b = 7;
-
-select * from t1 where b = 19 order by a;
-
-select * from t1 where b = 7 order by a;
-
-update t1 set c = 12, b = 29 where a = 5 and b = 6;
-
-select * from t1 where b = 19 order by a;
-
-delete from t1 where b = 6 and c = 12;
-
-select * from t1 where b = 6 order by a;
-
-drop table t1;
-
diff --git a/mysql-test/suite/ndb/t/ndb_view.test b/mysql-test/suite/ndb/t/ndb_view.test
deleted file mode 100644
index 3b8fc330b40..00000000000
--- a/mysql-test/suite/ndb/t/ndb_view.test
+++ /dev/null
@@ -1,29 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3;
-DROP VIEW IF EXISTS v1,v2,v3;
---enable_warnings
-
-#
-# simple operations via view
-#
-
-create table t1 (a int, b int, c int, d int) engine=ndb;
-insert into t1 values (1,2,3,4),(5,6,7,8);
-
-create view v1 as select t1.c as a, t1.a as b, t1.d as c, t1.a+t1.b+t1.c as d from t1;
-select * from v1 order by a,b,c;
-
-update v1 set a=a+100 where b=1;
-select * from v1 order by a,b,c;
-
-drop view v1;
-
-create view v1 as select t1.c as a from t1;
-insert into v1 values (200);
-select * from t1 order by a,b,c,d;
-
-drop view v1;
-drop table t1;
diff --git a/mysql-test/suite/ndb/t/ndbapi.test b/mysql-test/suite/ndb/t/ndbapi.test
deleted file mode 100644
index 398a2cbfbfa..00000000000
--- a/mysql-test/suite/ndb/t/ndbapi.test
+++ /dev/null
@@ -1,44 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_ndbapi_examples.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t0;
-drop database if exists mysqltest;
---enable_warnings
-
---exec echo Running ndbapi_simple
---exec $NDB_EXAMPLES_DIR/ndbapi_simple/ndbapi_simple $MASTER_MYSOCK "$NDB_CONNECTSTRING" >> $NDB_EXAMPLES_OUTPUT
-
---exec echo Running ndbapi_simple_index
---exec $NDB_EXAMPLES_DIR/ndbapi_simple_index/ndbapi_simple_index $MASTER_MYSOCK "$NDB_CONNECTSTRING" >> $NDB_EXAMPLES_OUTPUT
-
---exec echo Running ndbapi_scan
---exec $NDB_EXAMPLES_DIR/ndbapi_scan/ndbapi_scan $MASTER_MYSOCK "$NDB_CONNECTSTRING" >> $NDB_EXAMPLES_OUTPUT
-
---exec echo Running ndbapi_retries
---exec $NDB_EXAMPLES_DIR/ndbapi_retries/ndbapi_retries $MASTER_MYSOCK "$NDB_CONNECTSTRING" >> $NDB_EXAMPLES_OUTPUT
-
---exec echo Running ndbapi_async
---exec $NDB_EXAMPLES_DIR/ndbapi_async/ndbapi_async $MASTER_MYSOCK "$NDB_CONNECTSTRING" >> $NDB_EXAMPLES_OUTPUT
-
---exec echo Running ndbapi_async1
---exec $NDB_EXAMPLES_DIR/ndbapi_async1/ndbapi_async1 $MASTER_MYSOCK "$NDB_CONNECTSTRING" >> $NDB_EXAMPLES_OUTPUT
-
-use TEST_DB;
-create table t0(c0 int, c1 int, c2 char(4), c3 char(4), c4 text,
- primary key(c0, c2)) engine ndb charset latin1;
-#--exec echo Running ndbapi_event
-#--exec $NDB_EXAMPLES_DIR/ndbapi_event/ndbapi_event "$NDB_CONNECTSTRING" 1 >> $NDB_EXAMPLES_OUTPUT
-insert into t0 values (1, 2, 'a', 'b', null);
-insert into t0 values (3, 4, 'c', 'd', null);
-update t0 set c3 = 'e' where c0 = 1 and c2 = 'a'; -- use pk
-update t0 set c3 = 'f'; -- use scan
-update t0 set c3 = 'F'; -- use scan update to 'same'
-update t0 set c2 = 'g' where c0 = 1; -- update pk part
-update t0 set c2 = 'G' where c0 = 1; -- update pk part to 'same'
-update t0 set c0 = 5, c2 = 'H' where c0 = 3; -- update full PK
-delete from t0;
-drop table t0;
-
---exec echo Running mgmapi_logevent
---exec $NDB_EXAMPLES_DIR/mgmapi_logevent/mgmapi_logevent "$NDB_CONNECTSTRING" 1 >> $NDB_EXAMPLES_OUTPUT
diff --git a/mysql-test/suite/ndb/t/ps_7ndb.test b/mysql-test/suite/ndb/t/ps_7ndb.test
deleted file mode 100644
index e3f65ec2c4e..00000000000
--- a/mysql-test/suite/ndb/t/ps_7ndb.test
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################
-# #
-# Prepared Statements test on NDB tables #
-# #
-###############################################
-
-#
-# NOTE: PLEASE SEE ps_1general.test (bottom)
-# BEFORE ADDING NEW TEST CASES HERE !!!
-
-use test;
-
--- source include/have_ndb.inc
-let $type= 'NDB' ;
--- source include/ps_create.inc
--- source include/ps_renew.inc
-
--- source include/ps_query.inc
--- source include/ps_modify.inc
--- source include/ps_modify1.inc
--- source include/ps_conv.inc
-
-drop table t1, t9;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb/t/strict_autoinc_5ndb.test b/mysql-test/suite/ndb/t/strict_autoinc_5ndb.test
deleted file mode 100644
index 9e2090fddef..00000000000
--- a/mysql-test/suite/ndb/t/strict_autoinc_5ndb.test
+++ /dev/null
@@ -1,10 +0,0 @@
--- source include/have_ndb.inc
-
-#
-# Bug#20573 Strict mode auto-increment
-#
-
-let $type= 'NDB' ;
---source include/strict_autoinc.inc
-
-# end of test
diff --git a/mysql-test/suite/ndb_team/r/ndb_autodiscover.result b/mysql-test/suite/ndb_team/r/ndb_autodiscover.result
deleted file mode 100644
index 487f52f6427..00000000000
--- a/mysql-test/suite/ndb_team/r/ndb_autodiscover.result
+++ /dev/null
@@ -1,397 +0,0 @@
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-flush status;
-create table t1(
-id int not null primary key,
-name char(20)
-) engine=ndb;
-insert into t1 values(1, "Autodiscover");
-flush tables;
-select * from t1;
-id name
-1 Autodiscover
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-flush tables;
-insert into t1 values (2, "Auto 2");
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-insert into t1 values (3, "Discover 3");
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-flush tables;
-select * from t1 order by id;
-id name
-1 Autodiscover
-2 Auto 2
-3 Discover 3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 3
-flush tables;
-update t1 set name="Autodiscover" where id = 2;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 4
-select * from t1 order by id;
-id name
-1 Autodiscover
-2 Autodiscover
-3 Discover 3
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 4
-flush tables;
-delete from t1 where id = 3;
-select * from t1 order by id;
-id name
-1 Autodiscover
-2 Autodiscover
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 5
-drop table t1;
-flush status;
-create table t2(
-id int not null primary key,
-name char(22)
-) engine=ndb;
-insert into t2 values (1, "Discoverer");
-select * from t2;
-id name
-1 Discoverer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-flush tables;
-select * from t2;
-id name
-1 Discoverer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-drop table t2;
-flush status;
-create table t3(
-id int not null primary key,
-name char(255)
-) engine=ndb;
-insert into t3 values (1, "Explorer");
-select * from t3;
-id name
-1 Explorer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-flush tables;
-create table t3(
-id int not null primary key,
-name char(20), a int, b float, c char(24)
-) engine=ndb;
-ERROR 42S01: Table 't3' already exists
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table IF NOT EXISTS t3(
-id int not null primary key,
-id2 int not null,
-name char(20)
-) engine=ndb;
-Warnings:
-Note 1050 Table 't3' already exists
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-SHOW CREATE TABLE t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `id` int(11) NOT NULL,
- `name` char(255) default NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY ()
-select * from t3;
-id name
-1 Explorer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-drop table t3;
-flush status;
-create table t7(
-id int not null primary key,
-name char(255)
-) engine=ndb;
-create table t6(
-id int not null primary key,
-name char(255)
-) engine=MyISAM;
-insert into t7 values (1, "Explorer");
-insert into t6 values (2, "MyISAM table");
-select * from t7;
-id name
-1 Explorer
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-flush tables;
-show tables from test;
-Tables_in_test
-t6
-t7
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-flush tables;
-show table status;
-Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
-t6 MyISAM 10 Fixed 1 # # # # 0 NULL # # NULL # NULL #
-t7 NDBCLUSTER 10 Fixed 1 # # # # 0 NULL # # NULL # NULL #
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-drop table t6, t7;
-flush status;
-create table t4(
-id int not null primary key,
-name char(27)
-) engine=ndb;
-insert into t4 values (1, "Automatic");
-select * from t4;
-id name
-1 Automatic
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t4;
-ERROR 42S02: Unknown table 't4'
-create table t4(
-id int not null primary key,
-name char(27)
-) engine=ndb;
-insert into t4 values (1, "Automatic");
-select * from t4;
-id name
-1 Automatic
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-drop table if exists t4;
-Warnings:
-Error 155 Table 'test.t4' doesn't exist
-drop table t5;
-ERROR 42S02: Unknown table 't5'
-drop table if exists t5;
-Warnings:
-Note 1051 Unknown table 't5'
-flush status;
-create table t4(
-id int not null primary key,
-id2 int,
-name char(27)
-) engine=ndb;
-insert into t4 values (1, 76, "Automatic2");
-select * from t4;
-id id2 name
-1 76 Automatic2
-flush tables;
-SHOW TABLES;
-Tables_in_test
-select * from t4;
-ERROR 42S02: Table 'test.t4' doesn't exist
-flush status;
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=myisam;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-create table t5(id int, d char(56)) engine=ndbcluster;
-create table t6(id int) engine=ndbcluster;
-create table t7(id int) engine=ndbcluster;
-create table t8(id int, e char(34)) engine=myisam;
-create table t9(id int) engine=myisam;
-insert into t2 values (2, "myisam table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t5 values (5, "ndb table 5");
-insert into t6 values (6);
-insert into t8 values (8, "myisam table 8");
-insert into t9 values (9);
-SHOW TABLES;
-Tables_in_test
-t1
-t2
-t4
-t8
-t9
-t7
-t6
-select * from t6;
-id
-6
-select * from t7;
-id
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-drop table t1, t2, t4, t6, t7, t8, t9;
-flush status;
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=myisam;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-create table t5(id int, d char(56)) engine=ndbcluster;
-create table t6(id int) engine=ndbcluster;
-create table t7(id int) engine=ndbcluster;
-create table t8(id int, e char(34)) engine=myisam;
-create table t9(id int) engine=myisam;
-insert into t2 values (2, "myisam table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t5 values (5, "ndb table 5");
-insert into t6 values (6);
-insert into t8 values (8, "myisam table 8");
-insert into t9 values (9);
-SHOW TABLES LIKE 't6';
-Tables_in_test (t6)
-t6
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 1
-create table t3(a int);
-ERROR 42S01: Table 't3' already exists
-create table t5(a int);
-ERROR 42S01: Table 't5' already exists
-SHOW TABLES LIKE 't%';
-Tables_in_test (t%)
-t1
-t2
-t4
-t6
-t8
-t9
-t7
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 2
-drop table t1, t2, t4, t6, t7, t8, t9;
-flush status;
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=ndbcluster;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-insert into t1 values (1);
-insert into t2 values (2, "table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t4 values (4);
-flush tables;
-select * from t1, t2, t3, t4;
-id id b id c id
-1 2 table 2 3 ndb table 3 4
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 3
-drop table t1, t2, t3, t4;
-flush status;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t5(
-id int not null primary key,
-name char(200)
-) engine=ndb;
-insert into t5 values (1, "Magnus");
-select * from t5;
-id name
-1 Magnus
-ALTER TABLE t5 ADD COLUMN adress char(255) FIRST;
-select * from t5;
-adress id name
-NULL 1 Magnus
-insert into t5 values
-("Adress for record 2", 2, "Carl-Gustav"),
-("Adress for record 3", 3, "Karl-Emil");
-update t5 set name="Bertil" where id = 2;
-select * from t5 order by id;
-adress id name
-NULL 1 Magnus
-Adress for record 2 2 Bertil
-Adress for record 3 3 Karl-Emil
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t5;
-flush status;
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-create table t6(
-id int not null primary key,
-name char(20)
-) engine=ndb;
-insert into t6 values (1, "Magnus");
-select * from t6;
-id name
-1 Magnus
-ALTER TABLE t6 ADD COLUMN adress char(255) FIRST;
-select * from t6;
-adress id name
-NULL 1 Magnus
-insert into t6 values
-("Adress for record 2", 2, "Carl-Gustav"),
-("Adress for record 3", 3, "Karl-Emil");
-update t6 set name="Bertil" where id = 2;
-select * from t6 order by id;
-adress id name
-NULL 1 Magnus
-Adress for record 2 2 Bertil
-Adress for record 3 3 Karl-Emil
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t6;
-show tables;
-Tables_in_test
-create table t1 (a int,b longblob) engine=ndb;
-show tables;
-Tables_in_test
-t1
-create database test2;
-use test2;
-show tables;
-Tables_in_test2
-select * from t1;
-ERROR 42S02: Table 'test2.t1' doesn't exist
-create table t2 (b int,c longblob) engine=ndb;
-use test;
-select * from t1;
-a b
-show tables;
-Tables_in_test
-t1
-drop table t1;
-use test2;
-drop table t2;
-drop database test2;
-use test;
-drop database if exists test_only_ndb_tables;
-create database test_only_ndb_tables;
-use test_only_ndb_tables;
-create table t1 (a int primary key) engine=ndb;
-select * from t1;
-a
-select * from t1;
-ERROR HY000: Can't lock file (errno: 157)
-use test;
-drop database test_only_ndb_tables;
-CREATE TABLE t9 (
-a int NOT NULL PRIMARY KEY,
-b int
-) engine=ndb;
-insert t9 values(1, 2), (2,3), (3, 4), (4, 5);
-create table t10 (
-a int not null primary key,
-b blob
-) engine=ndb;
-insert into t10 values (1, 'kalle');
diff --git a/mysql-test/suite/ndb_team/r/ndb_autodiscover2.result b/mysql-test/suite/ndb_team/r/ndb_autodiscover2.result
deleted file mode 100644
index 269888e0820..00000000000
--- a/mysql-test/suite/ndb_team/r/ndb_autodiscover2.result
+++ /dev/null
@@ -1,13 +0,0 @@
-select * from t9 order by a;
-a b
-1 2
-2 3
-3 4
-4 5
-show status like 'handler_discover%';
-Variable_name Value
-Handler_discover 0
-drop table t9;
-select * from t10;
-ERROR HY000: Got error 4263 'Invalid blob attributes or invalid blob parts table' from NDBCLUSTER
-drop table t10;
diff --git a/mysql-test/suite/ndb_team/r/ndb_autodiscover3.result b/mysql-test/suite/ndb_team/r/ndb_autodiscover3.result
deleted file mode 100644
index 86495ebb3eb..00000000000
--- a/mysql-test/suite/ndb_team/r/ndb_autodiscover3.result
+++ /dev/null
@@ -1,53 +0,0 @@
-drop table if exists t1, t2;
-create table t1 (a int key) engine=ndbcluster;
-begin;
-insert into t1 values (1);
-insert into t1 values (2);
-ERROR HY000: Got temporary error 4025 'Node failure caused abort of transaction' from NDBCLUSTER
-commit;
-ERROR HY000: Got error 4350 'Transaction already aborted' from NDBCLUSTER
-drop table t1;
-create table t2 (a int, b int, primary key(a,b)) engine=ndbcluster;
-insert into t2 values (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1);
-select * from t2 order by a limit 3;
-a b
-1 1
-2 1
-3 1
-select * from t2;
-ERROR 42S02: Table 'test.t2' doesn't exist
-show tables like 't2';
-Tables_in_test (t2)
-reset master;
-create table t2 (a int key) engine=ndbcluster;
-insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-reset master;
-select * from t2;
-ERROR 42S02: Table 'test.t2' doesn't exist
-show tables like 't2';
-Tables_in_test (t2)
-reset master;
-create table t2 (a int key) engine=ndbcluster;
-insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-select * from t2 order by a limit 3;
-a
-1
-2
-3
-reset master;
-drop table t2;
diff --git a/mysql-test/suite/ndb_team/r/ndb_backup_print.result b/mysql-test/suite/ndb_team/r/ndb_backup_print.result
deleted file mode 100644
index 7fa073bafb5..00000000000
--- a/mysql-test/suite/ndb_team/r/ndb_backup_print.result
+++ /dev/null
@@ -1,65 +0,0 @@
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
-Connected to Management Server at: :
-Waiting for completed, this may take several minutes
-Node : Backup started from node
-Node : Backup started from node completed
- StartGCP: StopGCP:
- #Records: #LogRecords:
- Data: bytes Log: bytes
-create table t1
-(pk int key
-,a1 BIT(1), a2 BIT(5), a3 BIT(33), a4 BIT(63), a5 BIT(64)
-,b1 TINYINT, b2 TINYINT UNSIGNED
-,c1 SMALLINT, c2 SMALLINT UNSIGNED
-,d1 INT, d2 INT UNSIGNED
-,e1 BIGINT, e2 BIGINT UNSIGNED
-,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
-,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
-,h1 BINARY(1), h2 BINARY(8), h3 BINARY(255)
-,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
-) engine ndb;
-insert into t1 values
-(1
-,0x1, 0x17, 0x789a, 0x789abcde, 0xfedc0001
-,127, 255
-,32767, 65535
-,2147483647, 4294967295
-,9223372036854775807, 18446744073709551615
-,'1','12345678901234567890123456789012','123456789'
- ,'1','12345678901234567890123456789012','123456789'
- ,0x12,0x123456789abcdef0, 0x012345
-,0x12,0x123456789abcdef0, 0x00123450
-);
-insert into t1 values
-(2
-,0, 0, 0, 0, 0
-,-128, 0
-,-32768, 0
-,-2147483648, 0
-,-9223372036854775808, 0
-,'','',''
- ,'','',''
- ,0x0,0x0,0x0
-,0x0,0x0,0x0
-);
-insert into t1 values
-(3
-,NULL,NULL,NULL,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-,NULL,NULL,NULL
-);
-Connected to Management Server at: :
-Waiting for completed, this may take several minutes
-Node : Backup started from node
-Node : Backup started from node completed
- StartGCP: StopGCP:
- #Records: #LogRecords:
- Data: bytes Log: bytes
-drop table t1;
diff --git a/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result b/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result
deleted file mode 100644
index 12a65a433a3..00000000000
--- a/mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result
+++ /dev/null
@@ -1,512 +0,0 @@
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t4;
-DROP TABLE IF EXISTS test.t5;
-DROP TABLE IF EXISTS test.t6;
-**** Test 1 Simple DD backup and restore ****
-CREATE LOGFILE GROUP log_group1
-ADD UNDOFILE './log_group1/undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE table_space1
-ADD DATAFILE './table_space1/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 CHAR(50) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-DROP TABLE test.t1;
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-**** Test 2 Mixed Cluster Test backup and restore ****
-CREATE TABLE test.t2
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
-CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden, Texas 500 0
-2 Sweden, Texas 499 0
-3 Sweden, Texas 498 0
-4 Sweden, Texas 497 0
-5 Sweden, Texas 496 0
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-LENGTH(data)
-16384
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-LENGTH(data)
-16384
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden, Texas 500 0
-2 Sweden, Texas 499 0
-3 Sweden, Texas 498 0
-4 Sweden, Texas 497 0
-5 Sweden, Texas 496 0
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-LENGTH(data)
-16384
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-LENGTH(data)
-16384
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-**** Test 3 Adding partition Test backup and restore ****
-CREATE TABLESPACE table_space2
-ADD DATAFILE './table_space2/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
-CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
-CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
-CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(150) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 4 */
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (c3)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(202) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (c3)
-(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(180) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 2 */
-SHOW CREATE TABLE test.t5;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (pk1)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t6;
-Table Create Table
-t6 CREATE TABLE `t6` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(220) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (pk1)
-(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t5;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t6;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-ALTER TABLESPACE table_space2
-DROP DATAFILE './table_space2/datafile.dat'
-ENGINE = NDB;
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-DROP TABLESPACE table_space2
-ENGINE = NDB;
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(150) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 4 */
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (c3)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(202) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (c3)
-(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(180) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 2 */
-SHOW CREATE TABLE test.t5;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (pk1)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t6;
-Table Create Table
-t6 CREATE TABLE `t6` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(220) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (pk1)
-(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t5;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t6;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
-ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
-DROP TABLESPACE table_space1 ENGINE = NDB;
-DROP TABLESPACE table_space2 ENGINE = NDB;
-DROP LOGFILE GROUP log_group1 ENGINE = NDB;
diff --git a/mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result b/mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result
deleted file mode 100644
index 37188aeb1ca..00000000000
--- a/mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result
+++ /dev/null
@@ -1,323 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TABLE IF EXISTS t1, t2, t3;
-***** Test 1 RPL of CDD and Alter *****
-***** Test 1 setup *****
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 4M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE 4M
-ENGINE=NDB;
-CREATE TABLE t1
-(c1 INT NOT NULL PRIMARY KEY,
-c2 INT NOT NULL,
-c3 INT NOT NULL)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB;
-***** insert some data *****
-***** Select from Master *****
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-c1 c2 c3
-1 2 4
-2 4 5
-3 6 6
-4 8 7
-5 10 8
-***** Select from Slave *****
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-c1 c2 c3
-1 2 4
-2 4 5
-3 6 6
-4 8 7
-5 10 8
-FILE_NAME FILE_TYPE TABLESPACE_NAME LOGFILE_GROUP_NAME
-NULL UNDO LOG NULL lg1
-datafile.dat DATAFILE ts1 lg1
-datafile02.dat DATAFILE ts1 lg1
-undofile.dat UNDO LOG NULL lg1
-undofile02.dat UNDO LOG NULL lg1
-**** Do First Set of ALTERs in the master table ****
-CREATE INDEX t1_i ON t1(c2, c3);
-CREATE UNIQUE INDEX t1_i2 ON t1(c2);
-ALTER TABLE t1 ADD c4 TIMESTAMP;
-ALTER TABLE t1 ADD c5 DOUBLE;
-ALTER TABLE t1 ADD INDEX (c5);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL,
- `c2` int(11) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `c5` double DEFAULT NULL,
- PRIMARY KEY (`c1`),
- UNIQUE KEY `t1_i2` (`c2`),
- KEY `t1_i` (`c2`,`c3`),
- KEY `c5` (`c5`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-**** Show first set of ALTERs on SLAVE ****
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL,
- `c2` int(11) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `c5` double DEFAULT NULL,
- PRIMARY KEY (`c1`),
- UNIQUE KEY `t1_i2` (`c2`),
- KEY `t1_i` (`c2`,`c3`),
- KEY `c5` (`c5`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-**** Second set of alters test 1 ****
-ALTER TABLE t1 RENAME t2;
-ALTER TABLE t2 DROP INDEX c5;
-CREATE TABLE t1(c1 INT)ENGINE=NDB;
-INSERT INTO t1 VALUES(1);
-DROP TABLE t1;
-ALTER TABLE t2 RENAME t1;
-**** Show second set of ALTERs on MASTER ****
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL,
- `c2` int(11) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `c5` double DEFAULT NULL,
- PRIMARY KEY (`c1`),
- UNIQUE KEY `t1_i2` (`c2`),
- KEY `t1_i` (`c2`,`c3`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-**** Show second set of ALTERs on SLAVE ****
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL,
- `c2` int(11) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `c5` double DEFAULT NULL,
- PRIMARY KEY (`c1`),
- UNIQUE KEY `t1_i2` (`c2`),
- KEY `t1_i` (`c2`,`c3`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-**** Third and last set of alters for test1 ****
-ALTER TABLE t1 CHANGE c1 c1 DOUBLE;
-ALTER TABLE t1 CHANGE c2 c2 DECIMAL(10,2);
-ALTER TABLE t1 DROP COLUMN c3;
-ALTER TABLE t1 CHANGE c4 c4 TEXT CHARACTER SET utf8;
-ALTER TABLE t1 CHANGE c4 c4 BLOB;
-ALTER TABLE t1 CHANGE c4 c3 BLOB;
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-UPDATE t1 SET c3=@b1 where c1 = 1;
-UPDATE t1 SET c3=@b1 where c1 = 2;
-**** Show last set of ALTERs on MASTER ****
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` double NOT NULL DEFAULT '0',
- `c2` decimal(10,2) DEFAULT NULL,
- `c3` blob,
- `c5` double DEFAULT NULL,
- PRIMARY KEY (`c1`),
- UNIQUE KEY `t1_i2` (`c2`),
- KEY `t1_i` (`c2`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-c1 c2 c3 c5
-1 2.00 b1b1b1b1b1b1b1b1b1b1 NULL
-2 4.00 b1b1b1b1b1b1b1b1b1b1 NULL
-3 6.00 0000-00-00 00:00:00 NULL
-4 8.00 0000-00-00 00:00:00 NULL
-5 10.00 0000-00-00 00:00:00 NULL
-**** Show last set of ALTERs on SLAVE ****
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` double NOT NULL DEFAULT '0',
- `c2` decimal(10,2) DEFAULT NULL,
- `c3` blob,
- `c5` double DEFAULT NULL,
- PRIMARY KEY (`c1`),
- UNIQUE KEY `t1_i2` (`c2`),
- KEY `t1_i` (`c2`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-c1 c2 c3 c5
-1 2.00 b1b1b1b1b1b1b1b1b1b1 NULL
-2 4.00 b1b1b1b1b1b1b1b1b1b1 NULL
-3 6.00 0000-00-00 00:00:00 NULL
-4 8.00 0000-00-00 00:00:00 NULL
-5 10.00 0000-00-00 00:00:00 NULL
-SELECT * FROM t1 where c1 = 1;
-c1 c2 c3 c5
-1 2.00 b1b1b1b1b1b1b1b1b1b1 NULL
-DROP TABLE t1;
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
-******** Create additional TABLESPACE test 2 **************
-CREATE TABLESPACE ts2
-ADD DATAFILE 'datafile03.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 10M
-ENGINE=NDB;
-ALTER TABLESPACE ts2
-ADD DATAFILE 'datafile04.dat'
-INITIAL_SIZE 5M
-ENGINE=NDB;
-DROP DATABASE IF EXISTS tpcb;
-CREATE DATABASE tpcb;
-
-CREATE TABLE tpcb.account
-(id INT, bid INT, balance DECIMAL(10,2),
-filler CHAR(255), PRIMARY KEY(id))
-TABLESPACE ts2 STORAGE DISK
-ENGINE=NDBCLUSTER;
-
-CREATE TABLE tpcb.branch
-(bid INT, balance DECIMAL(10,2), filler VARCHAR(255),
-PRIMARY KEY(bid))TABLESPACE ts2 STORAGE DISK
-ENGINE=NDBCLUSTER;
-
-CREATE TABLE tpcb.teller
-(tid INT, balance DECIMAL(10,2), filler VARCHAR(255),
-PRIMARY KEY(tid)) TABLESPACE ts2 STORAGE DISK
-ENGINE=NDBCLUSTER;
-
-CREATE TABLE tpcb.history
-(id MEDIUMINT NOT NULL AUTO_INCREMENT,aid INT,
-tid INT, bid INT, amount DECIMAL(10,2),
-tdate DATETIME, teller CHAR(20), uuidf LONGBLOB,
-filler CHAR(80),PRIMARY KEY (id))
-TABLESPACE ts2 STORAGE DISK
-ENGINE=NDBCLUSTER;
-
---- Create stored procedures & functions ---
-
-
-*** Stored Procedures Created ***
-
-****** TEST 2 test time *********************************
-USE tpcb;
-*********** Load up the database ******************
-CALL tpcb.load();
-********** Check load master and slave **************
-SELECT COUNT(*) FROM account;
-COUNT(*)
-1000
-USE tpcb;
-SELECT COUNT(*) FROM account;
-COUNT(*)
-1000
-******** Run in some transactions ***************
-***** Time to try slave sync ***********
-**** Must make sure slave is clean *****
-STOP SLAVE;
-RESET SLAVE;
-DROP PROCEDURE IF EXISTS tpcb.load;
-DROP PROCEDURE IF EXISTS tpcb.trans;
-DROP TABLE IF EXISTS tpcb.account;
-DROP TABLE IF EXISTS tpcb.teller;
-DROP TABLE IF EXISTS tpcb.branch;
-DROP TABLE IF EXISTS tpcb.history;
-DROP DATABASE tpcb;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE=NDB;
-DROP TABLESPACE ts1 ENGINE=NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile03.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile04.dat'
-ENGINE=NDB;
-DROP TABLESPACE ts2 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
-********** Take a backup of the Master *************
-SELECT COUNT(*) FROM history;
-COUNT(*)
-100
-SELECT COUNT(*) FROM history;
-COUNT(*)
-200
-CREATE TEMPORARY TABLE test.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-LOAD DATA INFILE 'DUMP_FILE' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-************ Restore the slave ************************
-CREATE DATABASE tpcb;
-***** Check a few slave restore values ***************
-USE tpcb;
-SELECT COUNT(*) FROM account;
-COUNT(*)
-1000
-***** Add some more records to master *********
-***** Finsh the slave sync process *******
-@the_epoch:=MAX(epoch)
-<the_epoch>
-@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-<the_pos> master-bin.000001
-* 4. *
-* 5. *
-START SLAVE;
-**** We should be ready to continue on *************
-****** Let's make sure we match *******
-***** MASTER *******
-USE tpcb;
-SELECT COUNT(*) FROM history;
-COUNT(*)
-400
-****** SLAVE ********
-USE tpcb;
-SELECT COUNT(*) FROM history;
-COUNT(*)
-400
-*** DUMP MASTER & SLAVE FOR COMPARE ********
-*************** TEST 2 CLEANUP SECTION ********************
-DROP PROCEDURE IF EXISTS tpcb.load;
-DROP PROCEDURE IF EXISTS tpcb.trans;
-DROP TABLE tpcb.account;
-DROP TABLE tpcb.teller;
-DROP TABLE tpcb.branch;
-DROP TABLE tpcb.history;
-DROP DATABASE tpcb;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE=NDB;
-DROP TABLESPACE ts1 ENGINE=NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile03.dat'
-ENGINE=NDB;
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile04.dat'
-ENGINE=NDB;
-DROP TABLESPACE ts2 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
-****** Do dumps compare ************
diff --git a/mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result b/mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result
deleted file mode 100644
index 55a95605839..00000000000
--- a/mysql-test/suite/ndb_team/r/rpl_ndb_extraColMaster.result
+++ /dev/null
@@ -1,1752 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-set binlog_format=row;
-
-***********************************************************
-***********************************************************
-***************** Start of Testing ************************
-***********************************************************
-***********************************************************
-* This test format == binlog_format ROW and engine == 'NDB'
-***********************************************************
-***********************************************************
-
-***** Testing more columns on the Master *****
-
-CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 FLOAT DEFAULT '2.00',
-f6 CHAR(4) DEFAULT 'TEST',
-f7 INT DEFAULT '0',
-f8 TEXT,
-f9 LONGBLOB,
-f10 BIT(63),
-f11 VARBINARY(64))ENGINE='NDB';
-
-* Alter Table on Slave and drop columns f5 through f11 *
-
-alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
-
-* Insert data in Master then update and delete some rows*
-
-* Select count and 20 rows from Master *
-
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-40
-
-SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
-hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
-f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
-2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-
-* Select count and 20 rows from Slave *
-
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-40
-
-SELECT * FROM t1 ORDER BY f3 LIMIT 20;
-f1 f2 f3 f4
-2 2 2 second
-3 3 3 next
-5 5 5 second
-6 6 6 next
-8 8 8 second
-9 9 9 next
-11 11 11 second
-12 12 12 next
-14 14 14 second
-15 15 15 next
-17 17 17 second
-18 18 18 next
-20 20 20 second
-21 21 21 next
-23 23 23 second
-24 24 24 next
-26 26 26 second
-27 27 27 next
-29 29 29 second
-30 30 30 next
-Checking that both slave threads are running.
-
-***** Testing Altering table def scenario *****
-
-CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 DOUBLE DEFAULT '2.00',
-f6 ENUM('a', 'b', 'c') default 'a',
-f7 DECIMAL(17,9) default '1000.00',
-f8 MEDIUMBLOB,
-f9 NUMERIC(6,4) default '2000.00',
-f10 VARCHAR(1024),
-f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-f12 SET('a', 'b', 'c') default 'b')
-ENGINE='NDB';
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
-
-CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 DOUBLE DEFAULT '2.00',
-f6 ENUM('a', 'b', 'c') default 'a',
-f8 MEDIUMBLOB,
-f10 VARCHAR(1024),
-f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-f12 SET('a', 'b', 'c') default 'b')
-ENGINE='NDB';
-
-CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 DOUBLE DEFAULT '2.00',
-f6 DECIMAL(17,9) default '1000.00',
-f7 MEDIUMBLOB,
-f8 NUMERIC(6,4) default '2000.00',
-f9 VARCHAR(1024),
-f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-f11 CHAR(255))
-ENGINE='NDB';
-Warnings:
-Warning 1264 Out of range value for column 'f8' at row 1
-
-CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 BIGINT,
-f6 BLOB,
-f7 DATE,
-f8 DATETIME,
-f9 FLOAT,
-f10 INT,
-f11 LONGBLOB,
-f12 LONGTEXT,
-f13 MEDIUMBLOB,
-f14 MEDIUMINT,
-f15 MEDIUMTEXT,
-f16 REAL,
-f17 SMALLINT,
-f18 TEXT,
-f19 TIME,
-f20 TIMESTAMP,
-f21 TINYBLOB,
-f22 TINYINT,
-f23 TINYTEXT,
-f24 YEAR,
-f25 BINARY(255),
-f26 BIT(64),
-f27 CHAR(255),
-f28 DECIMAL(30,7),
-f29 DOUBLE,
-f30 ENUM ('a','b', 'c') default 'a',
-f31 FLOAT,
-f32 NUMERIC(17,9),
-f33 SET ('a', 'b', 'c') default 'b',
-f34 VARBINARY(1025),
-f35 VARCHAR(257)
-) ENGINE='NDB';
-
-** Alter tables on slave and drop columns **
-
-alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
-f12;
-alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
-alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
-alter table t31
-drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
-drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
-drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
-drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
-drop f33, drop f34, drop f35;
-
-** Insert Data into Master **
-INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
-some var char';
-INSERT into t2 values (2, 2, 2, 'second',
-2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
-'01234567', 'c'),
-(3, 3, 3, 'third',
-3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
-'01234567', 'c');
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
-Warning 1264 Out of range value for column 'f9' at row 2
-INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
-INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
-binary data';
-INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
-INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
-f9=2.2, f10='seven samurai', f28=222.222, f35='222';
-Warnings:
-Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
-INSERT into t31 values (1, 1, 3, 'third',
-/* f5 BIGINT, */ 333333333333333333333333,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ 'three times three'
- );
-Warnings:
-Warning 1264 Out of range value for column 'f5' at row 1
-Warning 1264 Out of range value for column 'f24' at row 1
-INSERT into t31 values (1, 1, 4, 'fourth',
-/* f5 BIGINT, */ 333333333333333333333333,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ 'three times three'
- ),
-(1, 1, 5, 'fifth',
-/* f5 BIGINT, */ 333333333333333333333333,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ 'three times three'
- ),
-(1, 1, 6, 'sixth',
-/* f5 BIGINT, */ NULL,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ NULL
-);
-Warnings:
-Warning 1264 Out of range value for column 'f5' at row 1
-Warning 1264 Out of range value for column 'f24' at row 1
-Warning 1264 Out of range value for column 'f5' at row 2
-Warning 1264 Out of range value for column 'f24' at row 2
-Warning 1264 Out of range value for column 'f24' at row 3
-
-** Sync slave with master **
-** Do selects from tables **
-
-select * from t1 order by f3;
-f1 f2 f3 f4
-2 2 2 second
-3 3 3 next
-5 5 5 second
-6 6 6 next
-8 8 8 second
-9 9 9 next
-11 11 11 second
-12 12 12 next
-14 14 14 second
-15 15 15 next
-17 17 17 second
-18 18 18 next
-20 20 20 second
-21 21 21 next
-23 23 23 second
-24 24 24 next
-26 26 26 second
-27 27 27 next
-29 29 29 second
-30 30 30 next
-31 31 31 second
-32 32 32 second
-33 33 33 second
-34 34 34 second
-35 35 35 second
-36 36 36 second
-37 37 37 second
-38 38 38 second
-39 39 39 second
-40 40 40 second
-41 41 41 second
-42 42 42 second
-43 43 43 second
-44 44 44 second
-45 45 45 second
-46 46 46 second
-47 47 47 second
-48 48 48 second
-49 49 49 second
-50 50 50 second
-select * from t2 order by f1;
-f1 f2 f3 f4
-1 1 1 first
-2 2 2 second
-3 3 3 third
-select * from t3 order by f1;
-f1 f2 f3 f4
-1 1 1 first
-select * from t4 order by f1;
-f1 f2 f3 f4
-1 1 1 first
-select * from t31 order by f3;
-f1 f2 f3 f4
-1 1 1 first
-1 1 2 second
-1 1 3 third
-1 1 4 fourth
-1 1 5 fifth
-1 1 6 sixth
-
-** Do updates master **
-
-update t31 set f5=555555555555555 where f3=6;
-update t31 set f2=2 where f3=2;
-update t31 set f1=NULL where f3=1;
-update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
-Warnings:
-Warning 1048 Column 'f3' cannot be null
-
-** Delete from Master **
-
-delete from t1;
-delete from t2;
-delete from t3;
-delete from t4;
-delete from t31;
-select * from t31;
-f1 f2 f3 f4
-
-** Check slave status **
-
-Checking that both slave threads are running.
-
-****************************************
-* columns in master at middle of table *
-* Expect: Proper error message *
-****************************************
-
-** Stop and Reset Slave **
-
-STOP SLAVE;
-RESET SLAVE;
-
-** create table slave side **
-CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-) ENGINE='NDB';
-
-** Connect to master and create table **
-
-CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
-c CHAR(5), e INT DEFAULT '1')ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
-(2,@b1,DEFAULT,'JOE',DEFAULT),
-(3,@b1,DEFAULT,'QA',DEFAULT);
-
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
-
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-
-*** Drop t10 ***
-DROP TABLE t10;
-
-*********************************************
-* More columns in master at middle of table *
-* Expect: Proper error message *
-*********************************************
-
-*** Create t11 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
-) ENGINE='NDB';
-
-*** Create t11 on Master ***
-CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
-c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
-(2,@b1,'Testing is cool','JOE',DEFAULT),
-(3,@b1,DEFAULT,'QA',DEFAULT);
-
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
-
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-
-*** Drop t11 ***
-DROP TABLE t11;
-
-*********************************************
-* More columns in master at middle of table *
-* Expect: This one should pass blob-text *
-*********************************************
-
-*** Create t12 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
-) ENGINE='NDB';
-
-*** Create t12 on Master ***
-CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
-c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',DEFAULT,DEFAULT),
-(3,@b1,'QA',DEFAULT,DEFAULT);
-
-SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
-a hex(b) f c e
-1 62316231623162316231623162316231 Kyle test 1
-2 62316231623162316231623162316231 JOE test 1
-3 62316231623162316231623162316231 QA test 1
-
-*** Select on Slave ***
-SELECT a,hex(b),c FROM t12 ORDER BY a;
-a hex(b) c
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 QA
-
-*** Drop t12 ***
-DROP TABLE t12;
-
-****************************************************
-* - Alter Master adding columns at middle of table *
-* Expect: columns added *
-****************************************************
-
-
-*** Create t14 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t14 on Master ***
-CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
-ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
-
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
-(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
-(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
-
-SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
-c1 c2 c3 hex(c4) c5 c6 c7
-1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
-3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
-
-*** Select on Slave ****
-SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
-c1 c2 c3 hex(c4) c5
-1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
-2 2.00 This Test Should work 62316231623162316231623162316231 JOE
-3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
-
-****************************************************
-* - Alter Master Dropping columns from the middle. *
-* Expect: columns dropped *
-****************************************************
-
-*** connect to master and drop columns ***
-ALTER TABLE t14 DROP COLUMN c2;
-ALTER TABLE t14 DROP COLUMN c7;
-
-*** Select from Master ***
-SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
-c1 c3 hex(c4) c5 c6
-1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
-2 This Test Should work 62316231623162316231623162316231 JOE 1
-3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
-
-************
-* Bug30415 *
-************
-Last_SQL_Error = Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
-STOP SLAVE;
-RESET SLAVE;
-
-*** Drop t14 ***
-DROP TABLE t14;
-DROP TABLE t14;
-RESET MASTER;
-START SLAVE;
-
-*************************************************
-* - Alter Master adding columns at end of table *
-* Expect: Error 1054 *
-*************************************************
-
-*** Create t15 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t15 on Master ***
-CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
-(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
-(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
-SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
-c1 hex(c4) c5 c6 c7 c2
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
-2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
-3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
-
-********************************************
-*** Expect slave to fail with Error 1054 ***
-********************************************
-
-Last_SQL_Error = Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
-STOP SLAVE;
-RESET SLAVE;
-
-*** Drop t15 ***
-DROP TABLE t15;
-DROP TABLE t15;
-RESET MASTER;
-START SLAVE;
-
-************************************************
-* - Create index on Master column not on slave *
-* Expect:Warning *
-************************************************
-
-*** Create t16 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t16 on Master ***
-CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Create Index and Data Insert ***
-CREATE INDEX part_of_c6 ON t16 (c6);
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',2,DEFAULT),
-(3,@b1,'QA',3,DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
-
-*****************
-*** BUG 30434 ***
-*****************
-
-Last_SQL_Error = Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
-STOP SLAVE;
-RESET SLAVE;
-
-*** Drop t16 ***
-DROP TABLE t16;
-DROP TABLE t16;
-RESET MASTER;
-START SLAVE;
-
-*****************************************************
-* - Delete rows using column on Master not on slave *
-* Expect: Rows Deleted *
-*****************************************************
-
-*** Create t17 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t17 on Master ***
-CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',2,DEFAULT),
-(3,@b1,'QA',3,DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
-
-** Select * from Slave **
-SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 QA
-
-** Delete from master **
-DELETE FROM t17 WHERE c6 = 3;
-SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-
-** Check slave **
-SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-DROP TABLE t17;
-
-
-*****************************************************
-* - Update row using column on Master not on slave *
-* Expect: Rows updated *
-*****************************************************
-
-** Bug30674 **
-
-*** Create t18 on slave ***
-
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t18 on Master ***
-CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',2,DEFAULT),
-(3,@b1,'QA',3,DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
-
-** Select * from Slave **
-SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 QA
-
-** update from master **
-UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
-SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
-
-** Check slave **
-SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 TEST
-DROP TABLE t18;
-
-
-*****************************************************
-* - Insert UUID column on Master not on slave *
-* Expect: Rows inserted *
-*****************************************************
-
-*** Create t5 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t5 on Master ***
-CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 LONG,
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
-(2,@b1,'JOE',UUID(),DEFAULT),
-(3,@b1,'QA',UUID(),DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 6231623162316231 Kyle UUID TIME
-2 6231623162316231 JOE UUID TIME
-3 6231623162316231 QA UUID TIME
-
-** Select * from Slave **
-SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
-c1 hex(c4) c5
-1 6231623162316231 Kyle
-2 6231623162316231 JOE
-3 6231623162316231 QA
-DROP TABLE t5;
-
-set binlog_format=mixed;
-
-***********************************************************
-***********************************************************
-***************** Start of Testing ************************
-***********************************************************
-***********************************************************
-* This test format == binlog_format MIXED and engine == 'NDB'
-***********************************************************
-***********************************************************
-
-***** Testing more columns on the Master *****
-
-CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 FLOAT DEFAULT '2.00',
-f6 CHAR(4) DEFAULT 'TEST',
-f7 INT DEFAULT '0',
-f8 TEXT,
-f9 LONGBLOB,
-f10 BIT(63),
-f11 VARBINARY(64))ENGINE='NDB';
-
-* Alter Table on Slave and drop columns f5 through f11 *
-
-alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
-
-* Insert data in Master then update and delete some rows*
-
-* Select count and 20 rows from Master *
-
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-40
-
-SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
-hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
-f1 f2 f3 f4 f5 f6 f7 f8 f9 hex(f10) hex(f11)
-2 2 2 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-3 3 3 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-5 5 5 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-6 6 6 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-8 8 8 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-9 9 9 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-11 11 11 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-12 12 12 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-14 14 14 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-15 15 15 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-17 17 17 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-18 18 18 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-20 20 20 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-21 21 21 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-23 23 23 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-24 24 24 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-26 26 26 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-27 27 27 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-29 29 29 second 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-30 30 30 next 2 kaks 2 got stolen from the paradise very fat blob 1555 123456
-
-* Select count and 20 rows from Slave *
-
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-40
-
-SELECT * FROM t1 ORDER BY f3 LIMIT 20;
-f1 f2 f3 f4
-2 2 2 second
-3 3 3 next
-5 5 5 second
-6 6 6 next
-8 8 8 second
-9 9 9 next
-11 11 11 second
-12 12 12 next
-14 14 14 second
-15 15 15 next
-17 17 17 second
-18 18 18 next
-20 20 20 second
-21 21 21 next
-23 23 23 second
-24 24 24 next
-26 26 26 second
-27 27 27 next
-29 29 29 second
-30 30 30 next
-Checking that both slave threads are running.
-
-***** Testing Altering table def scenario *****
-
-CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 DOUBLE DEFAULT '2.00',
-f6 ENUM('a', 'b', 'c') default 'a',
-f7 DECIMAL(17,9) default '1000.00',
-f8 MEDIUMBLOB,
-f9 NUMERIC(6,4) default '2000.00',
-f10 VARCHAR(1024),
-f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-f12 SET('a', 'b', 'c') default 'b')
-ENGINE='NDB';
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
-
-CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 DOUBLE DEFAULT '2.00',
-f6 ENUM('a', 'b', 'c') default 'a',
-f8 MEDIUMBLOB,
-f10 VARCHAR(1024),
-f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-f12 SET('a', 'b', 'c') default 'b')
-ENGINE='NDB';
-
-CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 DOUBLE DEFAULT '2.00',
-f6 DECIMAL(17,9) default '1000.00',
-f7 MEDIUMBLOB,
-f8 NUMERIC(6,4) default '2000.00',
-f9 VARCHAR(1024),
-f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
-f11 CHAR(255))
-ENGINE='NDB';
-Warnings:
-Warning 1264 Out of range value for column 'f8' at row 1
-
-CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
-/* extra */
-f5 BIGINT,
-f6 BLOB,
-f7 DATE,
-f8 DATETIME,
-f9 FLOAT,
-f10 INT,
-f11 LONGBLOB,
-f12 LONGTEXT,
-f13 MEDIUMBLOB,
-f14 MEDIUMINT,
-f15 MEDIUMTEXT,
-f16 REAL,
-f17 SMALLINT,
-f18 TEXT,
-f19 TIME,
-f20 TIMESTAMP,
-f21 TINYBLOB,
-f22 TINYINT,
-f23 TINYTEXT,
-f24 YEAR,
-f25 BINARY(255),
-f26 BIT(64),
-f27 CHAR(255),
-f28 DECIMAL(30,7),
-f29 DOUBLE,
-f30 ENUM ('a','b', 'c') default 'a',
-f31 FLOAT,
-f32 NUMERIC(17,9),
-f33 SET ('a', 'b', 'c') default 'b',
-f34 VARBINARY(1025),
-f35 VARCHAR(257)
-) ENGINE='NDB';
-
-** Alter tables on slave and drop columns **
-
-alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
-f12;
-alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
-alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
-alter table t31
-drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
-drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
-drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
-drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
-drop f33, drop f34, drop f35;
-
-** Insert Data into Master **
-INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
-some var char';
-INSERT into t2 values (2, 2, 2, 'second',
-2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
-'01234567', 'c'),
-(3, 3, 3, 'third',
-3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
-'01234567', 'c');
-Warnings:
-Warning 1264 Out of range value for column 'f9' at row 1
-Warning 1264 Out of range value for column 'f9' at row 2
-INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
-INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
-binary data';
-INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
-INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
-f9=2.2, f10='seven samurai', f28=222.222, f35='222';
-Warnings:
-Warning 1366 Incorrect integer value: 'seven samurai' for column 'f10' at row 1
-INSERT into t31 values (1, 1, 3, 'third',
-/* f5 BIGINT, */ 333333333333333333333333,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ 'three times three'
- );
-Warnings:
-Warning 1264 Out of range value for column 'f5' at row 1
-Warning 1264 Out of range value for column 'f24' at row 1
-INSERT into t31 values (1, 1, 4, 'fourth',
-/* f5 BIGINT, */ 333333333333333333333333,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ 'three times three'
- ),
-(1, 1, 5, 'fifth',
-/* f5 BIGINT, */ 333333333333333333333333,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ 'three times three'
- ),
-(1, 1, 6, 'sixth',
-/* f5 BIGINT, */ NULL,
-/* f6 BLOB, */ '3333333333333333333333',
-/* f7 DATE, */ '2007-07-18',
-/* f8 DATETIME, */ "2007-07-18",
-/* f9 FLOAT, */ 3.33333333,
-/* f10 INT, */ 333333333,
-/* f11 LONGBLOB, */ '3333333333333333333',
-/* f12 LONGTEXT, */ '3333333333333333333',
-/* f13 MEDIUMBLOB, */ '3333333333333333333',
-/* f14 MEDIUMINT, */ 33,
-/* f15 MEDIUMTEXT, */ 3.3,
-/* f16 REAL, */ 3.3,
-/* f17 SMALLINT, */ 3,
-/* f18 TEXT, */ '33',
-/* f19 TIME, */ '2:59:58.999',
-/* f20 TIMESTAMP, */ 20000303000000,
-/* f21 TINYBLOB, */ '3333',
-/* f22 TINYINT, */ 3,
-/* f23 TINYTEXT, */ '3',
-/* f24 YEAR, */ 3000,
-/* f25 BINARY(255), */ 'three_33333',
-/* f26 BIT(64), */ b'011',
-/* f27 CHAR(255), */ 'three',
-/* f28 DECIMAL(30,7), */ 3.333,
-/* f29 DOUBLE, */ 3.333333333333333333333333333,
-/* f30 ENUM ('a','b','c')*/ 'c',
-/* f31 FLOAT, */ 3.0,
-/* f32 NUMERIC(17,9), */ 3.3333,
-/* f33 SET ('a','b','c'),*/ 'c',
-/*f34 VARBINARY(1025),*/ '3333 minus 3',
-/*f35 VARCHAR(257),*/ NULL
-);
-Warnings:
-Warning 1264 Out of range value for column 'f5' at row 1
-Warning 1264 Out of range value for column 'f24' at row 1
-Warning 1264 Out of range value for column 'f5' at row 2
-Warning 1264 Out of range value for column 'f24' at row 2
-Warning 1264 Out of range value for column 'f24' at row 3
-
-** Sync slave with master **
-** Do selects from tables **
-
-select * from t1 order by f3;
-f1 f2 f3 f4
-2 2 2 second
-3 3 3 next
-5 5 5 second
-6 6 6 next
-8 8 8 second
-9 9 9 next
-11 11 11 second
-12 12 12 next
-14 14 14 second
-15 15 15 next
-17 17 17 second
-18 18 18 next
-20 20 20 second
-21 21 21 next
-23 23 23 second
-24 24 24 next
-26 26 26 second
-27 27 27 next
-29 29 29 second
-30 30 30 next
-31 31 31 second
-32 32 32 second
-33 33 33 second
-34 34 34 second
-35 35 35 second
-36 36 36 second
-37 37 37 second
-38 38 38 second
-39 39 39 second
-40 40 40 second
-41 41 41 second
-42 42 42 second
-43 43 43 second
-44 44 44 second
-45 45 45 second
-46 46 46 second
-47 47 47 second
-48 48 48 second
-49 49 49 second
-50 50 50 second
-select * from t2 order by f1;
-f1 f2 f3 f4
-1 1 1 first
-2 2 2 second
-3 3 3 third
-select * from t3 order by f1;
-f1 f2 f3 f4
-1 1 1 first
-select * from t4 order by f1;
-f1 f2 f3 f4
-1 1 1 first
-select * from t31 order by f3;
-f1 f2 f3 f4
-1 1 1 first
-1 1 2 second
-1 1 3 third
-1 1 4 fourth
-1 1 5 fifth
-1 1 6 sixth
-
-** Do updates master **
-
-update t31 set f5=555555555555555 where f3=6;
-update t31 set f2=2 where f3=2;
-update t31 set f1=NULL where f3=1;
-update t31 set f3=NULL, f27=NULL, f35='f35 new value' where f3=3;
-Warnings:
-Warning 1048 Column 'f3' cannot be null
-
-** Delete from Master **
-
-delete from t1;
-delete from t2;
-delete from t3;
-delete from t4;
-delete from t31;
-select * from t31;
-f1 f2 f3 f4
-
-** Check slave status **
-
-Checking that both slave threads are running.
-
-****************************************
-* columns in master at middle of table *
-* Expect: Proper error message *
-****************************************
-
-** Stop and Reset Slave **
-
-STOP SLAVE;
-RESET SLAVE;
-
-** create table slave side **
-CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-) ENGINE='NDB';
-
-** Connect to master and create table **
-
-CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
-c CHAR(5), e INT DEFAULT '1')ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
-(2,@b1,DEFAULT,'JOE',DEFAULT),
-(3,@b1,DEFAULT,'QA',DEFAULT);
-
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
-
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-
-*** Drop t10 ***
-DROP TABLE t10;
-
-*********************************************
-* More columns in master at middle of table *
-* Expect: Proper error message *
-*********************************************
-
-*** Create t11 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
-) ENGINE='NDB';
-
-*** Create t11 on Master ***
-CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
-c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
-(2,@b1,'Testing is cool','JOE',DEFAULT),
-(3,@b1,DEFAULT,'QA',DEFAULT);
-
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
-
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-
-*** Drop t11 ***
-DROP TABLE t11;
-
-*********************************************
-* More columns in master at middle of table *
-* Expect: This one should pass blob-text *
-*********************************************
-
-*** Create t12 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
-) ENGINE='NDB';
-
-*** Create t12 on Master ***
-CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
-c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',DEFAULT,DEFAULT),
-(3,@b1,'QA',DEFAULT,DEFAULT);
-
-SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
-a hex(b) f c e
-1 62316231623162316231623162316231 Kyle test 1
-2 62316231623162316231623162316231 JOE test 1
-3 62316231623162316231623162316231 QA test 1
-
-*** Select on Slave ***
-SELECT a,hex(b),c FROM t12 ORDER BY a;
-a hex(b) c
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 QA
-
-*** Drop t12 ***
-DROP TABLE t12;
-
-****************************************************
-* - Alter Master adding columns at middle of table *
-* Expect: columns added *
-****************************************************
-
-
-*** Create t14 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t14 on Master ***
-CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
-ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
-
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
-(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
-(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
-
-SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
-c1 c2 c3 hex(c4) c5 c6 c7
-1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 2.00 This Test Should work 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP
-3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP
-
-*** Select on Slave ****
-SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
-c1 c2 c3 hex(c4) c5
-1 1.00 Replication Testing Extra Col 62316231623162316231623162316231 Kyle
-2 2.00 This Test Should work 62316231623162316231623162316231 JOE
-3 3.00 If is does not, I will open a bug 62316231623162316231623162316231 QA
-
-****************************************************
-* - Alter Master Dropping columns from the middle. *
-* Expect: columns dropped *
-****************************************************
-
-*** connect to master and drop columns ***
-ALTER TABLE t14 DROP COLUMN c2;
-ALTER TABLE t14 DROP COLUMN c7;
-
-*** Select from Master ***
-SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
-c1 c3 hex(c4) c5 c6
-1 Replication Testing Extra Col 62316231623162316231623162316231 Kyle 1
-2 This Test Should work 62316231623162316231623162316231 JOE 1
-3 If is does not, I will open a bug 62316231623162316231623162316231 QA 1
-
-************
-* Bug30415 *
-************
-Last_SQL_Error = Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
-STOP SLAVE;
-RESET SLAVE;
-
-*** Drop t14 ***
-DROP TABLE t14;
-DROP TABLE t14;
-RESET MASTER;
-START SLAVE;
-
-*************************************************
-* - Alter Master adding columns at end of table *
-* Expect: Error 1054 *
-*************************************************
-
-*** Create t15 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t15 on Master ***
-CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
-(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
-(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
-SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
-c1 hex(c4) c5 c6 c7 c2
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP 3.00
-2 62316231623162316231623162316231 JOE 1 CURRENT_TIMESTAMP 3.00
-3 62316231623162316231623162316231 QA 1 CURRENT_TIMESTAMP 3.00
-
-********************************************
-*** Expect slave to fail with Error 1054 ***
-********************************************
-
-Last_SQL_Error = Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
-STOP SLAVE;
-RESET SLAVE;
-
-*** Drop t15 ***
-DROP TABLE t15;
-DROP TABLE t15;
-RESET MASTER;
-START SLAVE;
-
-************************************************
-* - Create index on Master column not on slave *
-* Expect:Warning *
-************************************************
-
-*** Create t16 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t16 on Master ***
-CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Create Index and Data Insert ***
-CREATE INDEX part_of_c6 ON t16 (c6);
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',2,DEFAULT),
-(3,@b1,'QA',3,DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
-
-*****************
-*** BUG 30434 ***
-*****************
-
-Last_SQL_Error = Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
-STOP SLAVE;
-RESET SLAVE;
-
-*** Drop t16 ***
-DROP TABLE t16;
-DROP TABLE t16;
-RESET MASTER;
-START SLAVE;
-
-*****************************************************
-* - Delete rows using column on Master not on slave *
-* Expect: Rows Deleted *
-*****************************************************
-
-*** Create t17 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t17 on Master ***
-CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',2,DEFAULT),
-(3,@b1,'QA',3,DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
-
-** Select * from Slave **
-SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 QA
-
-** Delete from master **
-DELETE FROM t17 WHERE c6 = 3;
-SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-
-** Check slave **
-SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-DROP TABLE t17;
-
-
-*****************************************************
-* - Update row using column on Master not on slave *
-* Expect: Rows updated *
-*****************************************************
-
-** Bug30674 **
-
-*** Create t18 on slave ***
-
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t18 on Master ***
-CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
-(2,@b1,'JOE',2,DEFAULT),
-(3,@b1,'QA',3,DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 QA 3 CURRENT_TIMESTAMP
-
-** Select * from Slave **
-SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 QA
-
-** update from master **
-UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
-SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 62316231623162316231623162316231 Kyle 1 CURRENT_TIMESTAMP
-2 62316231623162316231623162316231 JOE 2 CURRENT_TIMESTAMP
-3 62316231623162316231623162316231 TEST 3 CURRENT_TIMESTAMP
-
-** Check slave **
-SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
-c1 hex(c4) c5
-1 62316231623162316231623162316231 Kyle
-2 62316231623162316231623162316231 JOE
-3 62316231623162316231623162316231 TEST
-DROP TABLE t18;
-
-
-*****************************************************
-* - Insert UUID column on Master not on slave *
-* Expect: Rows inserted *
-*****************************************************
-
-*** Create t5 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-
-*** Create t5 on Master ***
-CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 LONG,
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-RESET MASTER;
-
-*** Start Slave ***
-START SLAVE;
-
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
-(2,@b1,'JOE',UUID(),DEFAULT),
-(3,@b1,'QA',UUID(),DEFAULT);
-SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
-c1 hex(c4) c5 c6 c7
-1 6231623162316231 Kyle UUID TIME
-2 6231623162316231 JOE UUID TIME
-3 6231623162316231 QA UUID TIME
-
-** Select * from Slave **
-SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
-c1 hex(c4) c5
-1 6231623162316231 Kyle
-2 6231623162316231 JOE
-3 6231623162316231 QA
-DROP TABLE t5;
-
diff --git a/mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result b/mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result
deleted file mode 100644
index 203a59b4613..00000000000
--- a/mysql-test/suite/ndb_team/r/rpl_ndb_mix_innodb.result
+++ /dev/null
@@ -1,143 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
-*** Test 1 ***
-
-create table t1 (a int key, b int) engine innodb;
-create table t2 (a int key, b int) engine innodb;
-
-alter table t1 engine ndb;
-alter table t2 engine ndb;
-
-insert into t1 values (1,2);
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-# Now check that that is in the apply_status table is consistant
-# with what is in the binlog
-
-# since insert is done with transactional engine, expect a BEGIN
-# at <start_pos>
-
-show binlog events from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-
-# Now the insert, one step after
-
-show binlog events from <binlog_start> limit 1,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; insert into t1 values (1,2)
-
-# and the COMMIT should be at <end_pos>
-
-show binlog events from <binlog_start> limit 2,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid # # COMMIT /* XID */
-
-begin;
-insert into t1 values (2,3);
-insert into t2 values (3,4);
-commit;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-show binlog events from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-
-show binlog events from <binlog_start> limit 1,2;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; insert into t1 values (2,3)
-master-bin.000001 # Query # # use `test`; insert into t2 values (3,4)
-
-show binlog events from <binlog_start> limit 3,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid # # COMMIT /* XID */
-
-DROP TABLE test.t1, test.t2;
-SHOW TABLES;
-Tables_in_test
-
-*** Test 2 ***
-
-DROP DATABASE IF EXISTS tpcb;
-CREATE DATABASE tpcb;
-
-CREATE TABLE tpcb.account (id INT, bid INT, balance DECIMAL(10,2),
-filler CHAR(255), PRIMARY KEY(id));
-
-CREATE TABLE tpcb.branch (bid INT, balance DECIMAL(10,2), filler VARCHAR(255),
-PRIMARY KEY(bid));
-
-CREATE TABLE tpcb.teller (tid INT, balance DECIMAL(10,2), filler VARCHAR(255),
-PRIMARY KEY(tid));
-
-CREATE TABLE tpcb.history (id MEDIUMINT NOT NULL AUTO_INCREMENT,aid INT,
-tid INT, bid INT, amount DECIMAL(10,2),
-tdate DATETIME, teller CHAR(20), uuidf LONGBLOB,
-filler CHAR(80),PRIMARY KEY (id));
-
---- Create stored procedures & functions ---
-
-
-*** Stored Procedures Created ***
-
-USE tpcb;
-ALTER TABLE account ENGINE NDB;
-ALTER TABLE branch ENGINE NDB;
-ALTER TABLE teller ENGINE NDB;
-ALTER TABLE history ENGINE NDB;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-show binlog events in 'master-bin.000001' from <start_pos> limit 9,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid 1 <end_pos> COMMIT /* XID */
-
-** Test 3 **
-
-FLUSH LOGS;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-show binlog events in 'master-bin.000002' from <start_pos> limit 9,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Xid 1 <end_pos> COMMIT /* XID */
-
-** Test 4 **
-
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-show binlog events in 'master-bin.000001' from <start_pos> limit 9,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid 1 <end_pos> COMMIT /* XID */
-
-*** DUMP MASTER & SLAVE FOR COMPARE ********
-DROP DATABASE tpcb;
-****** Do dumps compare ************
diff --git a/mysql-test/suite/ndb_team/t/disabled.def b/mysql-test/suite/ndb_team/t/disabled.def
deleted file mode 100644
index 714f1014a10..00000000000
--- a/mysql-test/suite/ndb_team/t/disabled.def
+++ /dev/null
@@ -1,20 +0,0 @@
-##############################################################################
-#
-# List the test cases that are to be disabled temporarily.
-#
-# Separate the test case name and the comment with ':'.
-#
-# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
-#
-# Do not use any TAB characters for whitespace.
-#
-##############################################################################
-ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
-ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
-
-# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
-#ndb_autodiscover3 : bug#21806
-#ndb_autodiscover3 : Bug#20872 2007-07-15 ingo master*.err: miscellaneous error messages
-#rpl_ndb_extraColMaster : BUG#30854 : Tables name show as binary in slave err msg on vm-win2003-64-b and Solaris
-#rpl_ndb_mix_innodb : Bug #32720 Test rpl_ndb_mix_innodb fails on SPARC and PowerPC
-#rpl_ndb_dd_advance : Bug #30222 rpl_ndb_dd_advance.test fails
diff --git a/mysql-test/suite/ndb_team/t/ndb_autodiscover.test b/mysql-test/suite/ndb_team/t/ndb_autodiscover.test
deleted file mode 100644
index 9ded27cea31..00000000000
--- a/mysql-test/suite/ndb_team/t/ndb_autodiscover.test
+++ /dev/null
@@ -1,555 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
-# Bug#41308: Test main.ndb_autodiscover.test doesn't work on Windows due
-# to 'grep' calls
-# Test is currently disabled on Windows via the next line until this bug
-# can be resolved.
---source include/not_windows.inc
-
---disable_warnings
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
---enable_warnings
-
-################################################
-# Test that a table that does not exist as a
-# frm file on disk can be "discovered" from a
-# connected NDB Cluster
-#
-
-flush status;
-
-#
-# Test discover + SELECT
-#
-
-create table t1(
- id int not null primary key,
- name char(20)
-) engine=ndb;
-
-insert into t1 values(1, "Autodiscover");
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm
-select * from t1;
-show status like 'handler_discover%';
-
-#
-# Test discover + INSERT
-#
-
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm
-insert into t1 values (2, "Auto 2");
-show status like 'handler_discover%';
-insert into t1 values (3, "Discover 3");
-show status like 'handler_discover%';
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm
-select * from t1 order by id;
-show status like 'handler_discover%';
-
-#
-# Test discover + UPDATE
-#
-
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm
-update t1 set name="Autodiscover" where id = 2;
-show status like 'handler_discover%';
-select * from t1 order by id;
-show status like 'handler_discover%';
-
-#
-# Test discover + DELETE
-#
-
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm
-delete from t1 where id = 3;
-select * from t1 order by id;
-show status like 'handler_discover%';
-
-drop table t1;
-
-
-
-######################################################
-# Test that a table that is outdated on disk
-# can be "discovered" from a connected NDB Cluster
-#
-
-flush status;
-
-create table t2(
- id int not null primary key,
- name char(22)
-) engine=ndb;
-insert into t2 values (1, "Discoverer");
-select * from t2;
-show status like 'handler_discover%';
-flush tables;
-
-# Modify the frm file on disk
-system echo "blaj" >> $MYSQLTEST_VARDIR/master-data/test/t2.frm ;
-select * from t2;
-
-show status like 'handler_discover%';
-
-drop table t2;
-
-
-##################################################
-# Test that a table that already exists in NDB
-# is only discovered if CREATE TABLE IF NOT EXISTS
-# is used
-#
-
-flush status;
-
-create table t3(
- id int not null primary key,
- name char(255)
-) engine=ndb;
-insert into t3 values (1, "Explorer");
-select * from t3;
-show status like 'handler_discover%';
-flush tables;
-
-# Remove the frm file from disk
---remove_file $MYSQLTEST_VARDIR/master-data/test/t3.frm
-
---error ER_TABLE_EXISTS_ERROR
-create table t3(
- id int not null primary key,
- name char(20), a int, b float, c char(24)
-) engine=ndb;
-
-# The table shall not have been discovered since
-# IF NOT EXISTS wasn't specified
-
-show status like 'handler_discover%';
-
-# now it should be discovered
-create table IF NOT EXISTS t3(
- id int not null primary key,
- id2 int not null,
- name char(20)
-) engine=ndb;
-
-# NOTE! the table called t3 have now been updated to
-# use the same frm as in NDB, thus it's not certain that
-# the table schema is the same as was stated in the
-# CREATE TABLE statement above
-
-show status like 'handler_discover%';
-
-SHOW CREATE TABLE t3;
-
-select * from t3;
-show status like 'handler_discover%';
-
-drop table t3;
-
-##################################################
-# Test that a table that already exists in NDB
-# is discovered when SHOW TABLES
-# is used
-#
-
-flush status;
-
-create table t7(
- id int not null primary key,
- name char(255)
-) engine=ndb;
-create table t6(
- id int not null primary key,
- name char(255)
-) engine=MyISAM;
-insert into t7 values (1, "Explorer");
-insert into t6 values (2, "MyISAM table");
-select * from t7;
-show status like 'handler_discover%';
-
-# Remove the frm file from disk
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t7.frm
-
-show tables from test;
-show status like 'handler_discover%';
-
-# Remove the frm file from disk again
-flush tables;
---remove_file $MYSQLTEST_VARDIR/master-data/test/t7.frm
-
---replace_column 6 # 7 # 8 # 9 # 12 # 13 # 15 # 18 #
-show table status;
-show status like 'handler_discover%';
-
-drop table t6, t7;
-
-
-#######################################################
-# Test that a table that has been dropped from NDB
-# but still exists on disk, get a consistent error message
-# saying "No such table existed"
-#
-
-flush status;
-
-create table t4(
- id int not null primary key,
- name char(27)
-) engine=ndb;
-insert into t4 values (1, "Automatic");
-select * from t4;
-
-# Remove the table from NDB
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t4 >> $NDB_TOOLS_OUTPUT ;
-
-#
-# Test that correct error is returned
---error ER_NO_SUCH_TABLE
-select * from t4;
---error ER_NO_SUCH_TABLE
-select * from t4;
-
-show status like 'handler_discover%';
---error ER_BAD_TABLE_ERROR
-drop table t4;
-
-create table t4(
- id int not null primary key,
- name char(27)
-) engine=ndb;
-insert into t4 values (1, "Automatic");
-select * from t4;
-
-# Remove the table from NDB
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t4 >> $NDB_TOOLS_OUTPUT ;
-
---error ER_NO_SUCH_TABLE
-select * from t4;
-
-drop table if exists t4;
-
-# Test that dropping a table that does not exists
-# on disk or in NDB gives same result as above
---error ER_BAD_TABLE_ERROR
-drop table t5;
-drop table if exists t5;
-
-
-#######################################################
-# Test that a table that has been dropped from NDB
-# but still exists on disk is deleted from disk
-# when SHOW TABLES is called
-#
-
-flush status;
-
-create table t4(
- id int not null primary key,
- id2 int,
- name char(27)
-) engine=ndb;
-insert into t4 values (1, 76, "Automatic2");
-select * from t4;
-flush tables;
-
-# Remove the table from NDB
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t4 >> $NDB_TOOLS_OUTPUT ;
-
-SHOW TABLES;
-
---error ER_NO_SUCH_TABLE
-select * from t4;
-
-#######################################################
-# Test SHOW TABLES ability to detect new and delete old
-# tables. Test all at once using many tables
-#
-
-flush status;
-
-# Create tables
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=myisam;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-create table t5(id int, d char(56)) engine=ndbcluster;
-create table t6(id int) engine=ndbcluster;
-create table t7(id int) engine=ndbcluster;
-create table t8(id int, e char(34)) engine=myisam;
-create table t9(id int) engine=myisam;
-
-# Populate tables
-insert into t2 values (2, "myisam table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t5 values (5, "ndb table 5");
-insert into t6 values (6);
-insert into t8 values (8, "myisam table 8");
-insert into t9 values (9);
-
-# Remove t3, t5 from NDB
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t3 >> $NDB_TOOLS_OUTPUT ;
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t5 >> $NDB_TOOLS_OUTPUT ;
-# Remove t6, t7 from disk
---remove_file $MYSQLTEST_VARDIR/master-data/test/t6.frm
---remove_file $MYSQLTEST_VARDIR/master-data/test/t7.frm
-
-SHOW TABLES;
-
-select * from t6;
-select * from t7;
-
-show status like 'handler_discover%';
-
-drop table t1, t2, t4, t6, t7, t8, t9;
-
-#######################################################
-# Test SHOW TABLES LIKE ability to detect new and delete old
-# tables. Test all at once using many tables.
-#
-
-flush status;
-
-# Create tables
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=myisam;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-create table t5(id int, d char(56)) engine=ndbcluster;
-create table t6(id int) engine=ndbcluster;
-create table t7(id int) engine=ndbcluster;
-create table t8(id int, e char(34)) engine=myisam;
-create table t9(id int) engine=myisam;
-
-# Populate tables
-insert into t2 values (2, "myisam table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t5 values (5, "ndb table 5");
-insert into t6 values (6);
-insert into t8 values (8, "myisam table 8");
-insert into t9 values (9);
-
-# Remove t3, t5 from NDB
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t3 > /dev/null ;
-system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t5 > /dev/null ;
-# Remove t6, t7 from disk
---remove_file $MYSQLTEST_VARDIR/master-data/test/t6.frm
---remove_file $MYSQLTEST_VARDIR/master-data/test/t7.frm
-
-
-SHOW TABLES LIKE 't6';
-
-show status like 'handler_discover%';
-
-# Check that t3 or t5 can't be created
-# frm files for these tables is stilll on disk
---error ER_TABLE_EXISTS_ERROR
-create table t3(a int);
---error ER_TABLE_EXISTS_ERROR
-create table t5(a int);
-
-SHOW TABLES LIKE 't%';
-
-show status like 'handler_discover%';
-
-drop table t1, t2, t4, t6, t7, t8, t9;
-
-
-
-######################################################
-# Test that several tables can be discovered when
-# one statement access several table at once.
-#
-
-flush status;
-
-# Create tables
-create table t1(id int) engine=ndbcluster;
-create table t2(id int, b char(255)) engine=ndbcluster;
-create table t3(id int, c char(255)) engine=ndbcluster;
-create table t4(id int) engine=myisam;
-
-# Populate tables
-insert into t1 values (1);
-insert into t2 values (2, "table 2");
-insert into t3 values (3, "ndb table 3");
-insert into t4 values (4);
-
-# Remove t1, t2, t3 from disk
---remove_file $MYSQLTEST_VARDIR/master-data/test/t1.frm
---remove_file $MYSQLTEST_VARDIR/master-data/test/t2.frm
---remove_file $MYSQLTEST_VARDIR/master-data/test/t3.frm
-flush tables;
-
-# Select from the table which only exists in NDB.
-select * from t1, t2, t3, t4;
-
-# 3 table should have been discovered
-show status like 'handler_discover%';
-
-drop table t1, t2, t3, t4;
-
-
-#########################################################
-# Test that a table that has been changed in NDB
-# since it's been opened will be refreshed and discovered
-# again
-#
-
-flush status;
-
-show status like 'handler_discover%';
-
-create table t5(
- id int not null primary key,
- name char(200)
-) engine=ndb;
-insert into t5 values (1, "Magnus");
-select * from t5;
-
-ALTER TABLE t5 ADD COLUMN adress char(255) FIRST;
-
-select * from t5;
-
-insert into t5 values
- ("Adress for record 2", 2, "Carl-Gustav"),
- ("Adress for record 3", 3, "Karl-Emil");
-update t5 set name="Bertil" where id = 2;
-select * from t5 order by id;
-
-show status like 'handler_discover%';
-
-drop table t5;
-
-
-################################################################
-# Test that a table that has been changed with ALTER TABLE
-# can be used from the same thread
-#
-
-flush status;
-
-show status like 'handler_discover%';
-
-create table t6(
- id int not null primary key,
- name char(20)
-) engine=ndb;
-insert into t6 values (1, "Magnus");
-select * from t6;
-
-ALTER TABLE t6 ADD COLUMN adress char(255) FIRST;
-
-select * from t6;
-insert into t6 values
- ("Adress for record 2", 2, "Carl-Gustav"),
- ("Adress for record 3", 3, "Karl-Emil");
-update t6 set name="Bertil" where id = 2;
-select * from t6 order by id;
-
-show status like 'handler_discover%';
-
-drop table t6;
-
-#####################################################
-# Test that only tables in the current database shows
-# up in SHOW TABLES
-#
-
-show tables;
-
-create table t1 (a int,b longblob) engine=ndb;
-show tables;
-create database test2;
-use test2;
-show tables;
---error ER_NO_SUCH_TABLE
-select * from t1;
-create table t2 (b int,c longblob) engine=ndb;
-use test;
-select * from t1;
-show tables;
-drop table t1;
-use test2;
-drop table t2;
-drop database test2;
-use test;
-
-#########################################################
-# Bug#8035
-# mysqld would segfault on second select * before bug was fixed
-#
---disable_warnings
-drop database if exists test_only_ndb_tables;
---enable_warnings
-create database test_only_ndb_tables;
-use test_only_ndb_tables;
-create table t1 (a int primary key) engine=ndb;
-select * from t1;
---exec $NDB_MGM --no-defaults -e "all restart -n" > /dev/null
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults --not-started > /dev/null
---error ER_CANT_LOCK
-select * from t1;
---exec $NDB_MGM --no-defaults -e "all start" > /dev/null
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults > /dev/null
---source include/ndb_wait_connected.inc
-use test;
-drop database test_only_ndb_tables;
-
-#####################################################
-# Test that it's not possible to create tables
-# with same name as NDB internal tables
-# This will also test that it's not possible to create
-# a table with tha same name as a table that can't be
-# discovered( for example a table created via NDBAPI)
-
-# Test disabled since it doesn't work on case insensitive systems
-#--error ER_TABLE_EXISTS_ERROR
-#CREATE TABLE sys.SYSTAB_0 (a int);
-#--error ER_UNKNOWN_ERROR
-#select * from sys.SYSTAB_0;
-
-#CREATE TABLE IF NOT EXISTS sys.SYSTAB_0 (a int);
-#show warnings;
-#--error ER_UNKNOWN_ERROR
-#select * from sys.SYSTAB_0;
-
-#--error ER_BAD_TABLE_ERROR
-#drop table sys.SYSTAB_0;
-#drop table IF EXISTS sys.SYSTAB_0;
-
-######################################################
-# Note! This should always be the last step in this
-# file, the table t9 will be used and dropped
-# by ndb_autodiscover2
-#
-
-CREATE TABLE t9 (
- a int NOT NULL PRIMARY KEY,
- b int
-) engine=ndb;
-
-insert t9 values(1, 2), (2,3), (3, 4), (4, 5);
-
-#Don't drop the table, instead remove the frm file
---remove_file $MYSQLTEST_VARDIR/master-data/test/t9.frm
-
-# Now leave test case, when ndb_autodiscover2 will run, this
-# MySQL Server will have been restarted because it has a
-# ndb_autodiscover2-master.opt file.
-
-create table t10 (
- a int not null primary key,
- b blob
-) engine=ndb;
-
-insert into t10 values (1, 'kalle');
-
---exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test `$NDB_TOOLS_DIR/ndb_show_tables --no-defaults | grep BLOB | while read a b c d e f g; do echo $g; done` >> $NDB_TOOLS_OUTPUT 2>&1 || true
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt b/mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt
deleted file mode 100644
index e0d075c3fbd..00000000000
--- a/mysql-test/suite/ndb_team/t/ndb_autodiscover2-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---skip-external-locking
diff --git a/mysql-test/suite/ndb_team/t/ndb_autodiscover2.test b/mysql-test/suite/ndb_team/t/ndb_autodiscover2.test
deleted file mode 100644
index ebe14696cd2..00000000000
--- a/mysql-test/suite/ndb_team/t/ndb_autodiscover2.test
+++ /dev/null
@@ -1,21 +0,0 @@
--- source include/have_ndb.inc
--- source include/not_embedded.inc
-
-#
-# Simple test to show use of discover when the server has been restarted
-# The previous step has simply removed the frm file
-# from disk, but left the table in NDB
-#
---sleep 3
-select * from t9 order by a;
-
-# handler_discover should be 1
-show status like 'handler_discover%';
-
-drop table t9;
-
---error 1296
-select * from t10;
-drop table t10;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb_team/t/ndb_autodiscover3.test b/mysql-test/suite/ndb_team/t/ndb_autodiscover3.test
deleted file mode 100644
index 10416aee11f..00000000000
--- a/mysql-test/suite/ndb_team/t/ndb_autodiscover3.test
+++ /dev/null
@@ -1,104 +0,0 @@
--- source include/have_multi_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
-# see bug#21563
--- source include/have_binlog_format_mixed_or_row.inc
-
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
-
-connect (con1,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (con2,127.0.0.1,root,,test,$MASTER_MYPORT1,);
-
-# Workaround for Bug#27644
-# ndb: connecting api node/mysqld may "steal" node_id from running mysqld
-# - let ndb_waiter use a fixed node id so "steal" cannot happen
---let connect_str = "nodeid=6;$NDB_CONNECTSTRING"
-
-#
-# Transaction ongoing while cluster is restarted
-#
---connection server1
-create table t1 (a int key) engine=ndbcluster;
-
-begin;
-insert into t1 values (1);
-
---exec $NDB_MGM --no-defaults -e "all restart" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
-# Wait for mysqld to reconnect and exit from readonly mode
---disable_query_log
---connection con1
---source include/ndb_not_readonly.inc
---connection con2
---source include/ndb_not_readonly.inc
---enable_query_log
-
---connection server1
---error 1297
-insert into t1 values (2);
---error 1296
-commit;
-
-drop table t1;
-
-#
-# Stale cache after restart -i
-#
---connection server1
-create table t2 (a int, b int, primary key(a,b)) engine=ndbcluster;
-insert into t2 values (1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1);
-select * from t2 order by a limit 3;
-
---exec $NDB_MGM --no-defaults -e "all restart -i" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
-# to ensure mysqld has connected again, and recreated system tables
---disable_query_log
---connection con1
---source include/ndb_not_readonly.inc
---connection con2
---source include/ndb_not_readonly.inc
---enable_query_log
-
---connection server2
---error ER_NO_SUCH_TABLE
-select * from t2;
-show tables like 't2';
-reset master;
-create table t2 (a int key) engine=ndbcluster;
-insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-select * from t2 order by a limit 3;
-
-# server 1 should have a stale cache, and in this case wrong frm, transaction must be retried
---connection server1
-select * from t2 order by a limit 3;
-reset master;
-
---exec $NDB_MGM --no-defaults -e "all restart -i" >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT
-# to ensure mysqld has connected again, and recreated system tables
---disable_query_log
---connection con1
---source include/ndb_not_readonly.inc
---connection con2
---source include/ndb_not_readonly.inc
---enable_query_log
-
---connection server1
---error ER_NO_SUCH_TABLE
-select * from t2;
-show tables like 't2';
-reset master;
-create table t2 (a int key) engine=ndbcluster;
-insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-select * from t2 order by a limit 3;
-
-# server 2 should have a stale cache, but with right frm, transaction need not be retried
---connection server2
-select * from t2 order by a limit 3;
-reset master;
-
-drop table t2;
-# End of 4.1 tests
diff --git a/mysql-test/suite/ndb_team/t/ndb_backup_print.test b/mysql-test/suite/ndb_team/t/ndb_backup_print.test
deleted file mode 100644
index cf869fd56f5..00000000000
--- a/mysql-test/suite/ndb_team/t/ndb_backup_print.test
+++ /dev/null
@@ -1,68 +0,0 @@
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---disable_warnings
-use test;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
---enable_warnings
-
-#NO.1 test output of backup
---exec $NDB_MGM --no-defaults -e "start backup" |sed -e 's/[0-9]//g' |sed -e 's/localhost//g' |sed -e 's/\.\.\.*//g'
-
-create table t1
- (pk int key
- ,a1 BIT(1), a2 BIT(5), a3 BIT(33), a4 BIT(63), a5 BIT(64)
- ,b1 TINYINT, b2 TINYINT UNSIGNED
- ,c1 SMALLINT, c2 SMALLINT UNSIGNED
- ,d1 INT, d2 INT UNSIGNED
- ,e1 BIGINT, e2 BIGINT UNSIGNED
- ,f1 CHAR(1) BINARY, f2 CHAR(32) BINARY, f3 CHAR(255) BINARY
- ,g1 VARCHAR(32) BINARY, g2 VARCHAR(255) BINARY, g3 VARCHAR(1000) BINARY
- ,h1 BINARY(1), h2 BINARY(8), h3 BINARY(255)
- ,i1 VARBINARY(32), i2 VARBINARY(255), i3 VARBINARY(1000)
- ) engine ndb;
-
-insert into t1 values
- (1
- ,0x1, 0x17, 0x789a, 0x789abcde, 0xfedc0001
- ,127, 255
- ,32767, 65535
- ,2147483647, 4294967295
- ,9223372036854775807, 18446744073709551615
- ,'1','12345678901234567890123456789012','123456789'
- ,'1','12345678901234567890123456789012','123456789'
- ,0x12,0x123456789abcdef0, 0x012345
- ,0x12,0x123456789abcdef0, 0x00123450
- );
-
-insert into t1 values
- (2
- ,0, 0, 0, 0, 0
- ,-128, 0
- ,-32768, 0
- ,-2147483648, 0
- ,-9223372036854775808, 0
- ,'','',''
- ,'','',''
- ,0x0,0x0,0x0
- ,0x0,0x0,0x0
- );
-
-insert into t1 values
- (3
- ,NULL,NULL,NULL,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL
- ,NULL,NULL,NULL
- ,NULL,NULL,NULL
- ,NULL,NULL,NULL
- ,NULL,NULL,NULL
- );
-
-#NO.2 test output of backup after some simple SQL operations
---exec $NDB_MGM --no-defaults -e "start backup" |sed -e 's/[0-9]//g' |sed -e 's/localhost//g' |sed -e 's/\.\.\.*//g'
-
-drop table t1;
diff --git a/mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test b/mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test
deleted file mode 100644
index 48db8ec3e0b..00000000000
--- a/mysql-test/suite/ndb_team/t/ndb_dd_backuprestore.test
+++ /dev/null
@@ -1,349 +0,0 @@
-########################################
-# Author: JBM
-# Date: 2006-01-24
-# Purpose: Test CDD backup and restore
-########################################
-
--- source include/have_ndb.inc
--- source include/ndb_default_cluster.inc
--- source include/not_embedded.inc
-
---disable_query_log
-set new=on;
---enable_query_log
-
---disable_warnings
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t4;
-DROP TABLE IF EXISTS test.t5;
-DROP TABLE IF EXISTS test.t6;
---enable_warnings
-
-############ Test 1 Simple DD backup and restore #############
--- echo **** Test 1 Simple DD backup and restore ****
-
-CREATE LOGFILE GROUP log_group1
-ADD UNDOFILE './log_group1/undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-CREATE TABLESPACE table_space1
-ADD DATAFILE './table_space1/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-
-CREATE TABLE test.t1
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 CHAR(50) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-
-let $j= 500;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO test.t1 VALUES (NULL, "Sweden", $j, b'1');
- dec $j;
-}
---enable_query_log
-SELECT COUNT(*) FROM test.t1;
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
--- source include/ndb_backup.inc
-
-DROP TABLE test.t1;
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
--- source include/ndb_restore_master.inc
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
-################# Mixed Cluster Test ############################
--- echo **** Test 2 Mixed Cluster Test backup and restore ****
-
-CREATE TABLE test.t2
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
-
-let $j= 500;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas", $j, b'0');
- dec $j;
-}
---enable_query_log
-
-CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-
-CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
-
-let $j= 50;
---disable_query_log
-while ($j)
-{
- INSERT INTO test.t3 VALUES (NULL, repeat('a',1*1024));
- INSERT INTO test.t3 VALUES (NULL, repeat('b',16*1024));
- INSERT INTO test.t4 VALUES (NULL, repeat('a',1*1024));
- INSERT INTO test.t4 VALUES (NULL, repeat('b',16*1024));
- dec $j;
-}
---enable_query_log
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-
--- source include/ndb_backup.inc
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
--- source include/ndb_restore_master.inc
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-###################### Adding partition #################################
--- echo **** Test 3 Adding partition Test backup and restore ****
-
-CREATE TABLESPACE table_space2
-ADD DATAFILE './table_space2/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
-
-CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
-
-CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
-
-CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
-
-SHOW CREATE TABLE test.t1;
-
-SHOW CREATE TABLE test.t2;
-
-SHOW CREATE TABLE test.t3;
-
-SHOW CREATE TABLE test.t4;
-
-SHOW CREATE TABLE test.t5;
-
-SHOW CREATE TABLE test.t6;
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-
-
-let $j= 500;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO test.t1 VALUES (NULL, "Sweden, Texas", $j, b'0');
- eval INSERT INTO test.t4 VALUES (NULL, "Sweden, Texas", $j, b'0');
- dec $j;
- eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
- eval INSERT INTO test.t5 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
- dec $j;
- eval INSERT INTO test.t3 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1');
- eval INSERT INTO test.t6 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1'); } --enable_query_log
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t5;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t6;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-
--- source include/ndb_backup.inc
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE table_space2
-DROP DATAFILE './table_space2/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP TABLESPACE table_space2
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
--- source include/ndb_restore_master.inc
-
-
-SHOW CREATE TABLE test.t1;
-
-SHOW CREATE TABLE test.t2;
-
-SHOW CREATE TABLE test.t3;
-
-SHOW CREATE TABLE test.t4;
-
-SHOW CREATE TABLE test.t5;
-
-SHOW CREATE TABLE test.t6;
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t5;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t6;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-
-# Cleanup
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-
-ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
-
-ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
-
-DROP TABLESPACE table_space1 ENGINE = NDB;
-
-DROP TABLESPACE table_space2 ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1 ENGINE = NDB;
-
-#End 5.1 test case
-
-
diff --git a/mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test b/mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test
deleted file mode 100644
index e08b1b6f701..00000000000
--- a/mysql-test/suite/ndb_team/t/rpl_ndb_dd_advance.test
+++ /dev/null
@@ -1,410 +0,0 @@
-###############################################
-# Author: JBM #
-# Date: 2006-03-07 #
-# Purpose: To test advance DD and replication #
-###############################################
-
-#### Include Section ####
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_default_cluster.inc
---source include/not_embedded.inc
---source include/ndb_master-slave.inc
-
-#### Test start cleanup section #####
---disable_warnings
-DROP TABLE IF EXISTS t1, t2, t3;
---enable_warnings
-
-######################################################
-# Requirment: Cluster DD and replication must be able#
-# to handle ALTER tables and indexes and must rpl #
-# to the slave correctly #
-######################################################
-
-## Test #1 replication of CDD and Alter Tables #####
---echo ***** Test 1 RPL of CDD and Alter *****
---echo ***** Test 1 setup *****
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE 4M
-ENGINE=NDB;
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE 4M
-ENGINE=NDB;
-
-CREATE TABLE t1
- (c1 INT NOT NULL PRIMARY KEY,
- c2 INT NOT NULL,
- c3 INT NOT NULL)
- TABLESPACE ts1 STORAGE DISK
- ENGINE=NDB;
-
---echo ***** insert some data *****
-
-let $j= 900;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO t1 VALUES($j,$j*2,$j+3);
- dec $j;
-}
---enable_query_log
-
---echo ***** Select from Master *****
-
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-
---echo ***** Select from Slave *****
---sync_slave_with_master
-connection slave;
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-
-###################################
-# Just to some File Schema check #
-###################################
-
---disable_query_log
-SELECT DISTINCT FILE_NAME, FILE_TYPE, TABLESPACE_NAME, LOGFILE_GROUP_NAME
- FROM INFORMATION_SCHEMA.FILES
- WHERE ENGINE="ndbcluster" ORDER BY FILE_NAME;
---enable_query_log
-
---echo **** Do First Set of ALTERs in the master table ****
-###################################################
-# On this first set of alters I expect:
-# 1. To be able to create and index on 2 columns
-# 2. To be able to create a unique index
-# 3. To be able to add two columns and have
-# it all replicated correctly to the slave cluster.
-###################################################
-connection master;
-CREATE INDEX t1_i ON t1(c2, c3);
-#Bug 18039
-CREATE UNIQUE INDEX t1_i2 ON t1(c2);
-ALTER TABLE t1 ADD c4 TIMESTAMP;
-ALTER TABLE t1 ADD c5 DOUBLE;
-ALTER TABLE t1 ADD INDEX (c5);
-SHOW CREATE TABLE t1;
-
---echo **** Show first set of ALTERs on SLAVE ****
---sync_slave_with_master
-connection slave;
-SHOW CREATE TABLE t1;
-
---echo **** Second set of alters test 1 ****
-############################################
-# With this next set of alters we have had
-# Some issues with renames of tables. So this
-# test renames our main table, drop and index off
-# of it, creates another table with then name
-# of the orginal table, inserts a row, drops
-# the table and renames the orginal table back.
-# I want to make sure that 1) the cluster does
-# okay with this and 2) that it is replicated
-# correctly.
-#############################################
-connection master;
-ALTER TABLE t1 RENAME t2;
-ALTER TABLE t2 DROP INDEX c5;
-CREATE TABLE t1(c1 INT)ENGINE=NDB;
-INSERT INTO t1 VALUES(1);
-DROP TABLE t1;
-ALTER TABLE t2 RENAME t1;
-
---echo **** Show second set of ALTERs on MASTER ****
-
-SHOW CREATE TABLE t1;
-
---echo **** Show second set of ALTERs on SLAVE ****
---sync_slave_with_master
-connection slave;
-SHOW CREATE TABLE t1;
-
---echo **** Third and last set of alters for test1 ****
-#########################################################
-# In this last set of alters, we are messing with the
-# cluster ability to rebuild indexes, drop a column that make up
-# an index with another column and change types several times in
-# a row. I have choosen the BLOB as it seems to have had many
-# issues in this release. I want to make sure that the cluster
-# deals with these radical changes and that the replication to
-# the slave cluster is dones correctly.
-###########################################################
-connection master;
-ALTER TABLE t1 CHANGE c1 c1 DOUBLE;
-ALTER TABLE t1 CHANGE c2 c2 DECIMAL(10,2);
-ALTER TABLE t1 DROP COLUMN c3;
-ALTER TABLE t1 CHANGE c4 c4 TEXT CHARACTER SET utf8;
-ALTER TABLE t1 CHANGE c4 c4 BLOB;
-ALTER TABLE t1 CHANGE c4 c3 BLOB;
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-UPDATE t1 SET c3=@b1 where c1 = 1;
-UPDATE t1 SET c3=@b1 where c1 = 2;
-
---echo **** Show last set of ALTERs on MASTER ****
-
-SHOW CREATE TABLE t1;
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-
---echo **** Show last set of ALTERs on SLAVE ****
---sync_slave_with_master
-connection slave;
-SHOW CREATE TABLE t1;
-# Bug 18094
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-SELECT * FROM t1 where c1 = 1;
-
-connection master;
-DROP TABLE t1;
---sync_slave_with_master
-connection slave;
-STOP SLAVE;
-RESET SLAVE;
-connection master;
-RESET MASTER;
-connection slave;
-START SLAVE;
-
-################### TEST 2 TPCB for disk data ###########################
-# Requirement: To have Stored Procedures and Functions that are used to #
-# populate and post transactions to the data base using CDD that span #
-# 2 tables spaces and also use a memory only cluster tables. In addition#
-# The slave is to be stopped, cleaned and restored and synced with the #
-# Master cluster #
-#########################################################################
-
---echo ******** Create additional TABLESPACE test 2 **************
-
-connection master;
-CREATE TABLESPACE ts2
-ADD DATAFILE 'datafile03.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 10M
-ENGINE=NDB;
-
-ALTER TABLESPACE ts2
-ADD DATAFILE 'datafile04.dat'
-INITIAL_SIZE 5M
-ENGINE=NDB;
-
-let engine_type=NDBCLUSTER;
-let table_space=ts2;
-let format='RBR';
-
---source include/tpcb_disk_data.inc
-
---echo ****** TEST 2 test time *********************************
-USE tpcb;
-
---echo *********** Load up the database ******************
-CALL tpcb.load();
-
---echo ********** Check load master and slave **************
-SELECT COUNT(*) FROM account;
---sync_slave_with_master
-connection slave;
-USE tpcb;
-SELECT COUNT(*) FROM account;
-
---echo ******** Run in some transactions ***************
-
-connection master;
-let $j= 100;
---disable_query_log
-while ($j)
-{
- eval CALL tpcb.trans($format);
- dec $j;
-}
---enable_query_log
-
-
---echo ***** Time to try slave sync ***********
---echo **** Must make sure slave is clean *****
---connection slave
-STOP SLAVE;
-RESET SLAVE;
-DROP PROCEDURE IF EXISTS tpcb.load;
-DROP PROCEDURE IF EXISTS tpcb.trans;
-DROP TABLE IF EXISTS tpcb.account;
-DROP TABLE IF EXISTS tpcb.teller;
-DROP TABLE IF EXISTS tpcb.branch;
-DROP TABLE IF EXISTS tpcb.history;
-DROP DATABASE tpcb;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE=NDB;
-
-DROP TABLESPACE ts1 ENGINE=NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile03.dat'
-ENGINE=NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile04.dat'
-ENGINE=NDB;
-
-DROP TABLESPACE ts2 ENGINE=NDB;
-
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
-
---echo ********** Take a backup of the Master *************
-connection master;
-
-SELECT COUNT(*) FROM history;
-
-let $j= 100;
---disable_query_log
-while ($j)
-{
- eval CALL tpcb.trans($format);
- dec $j;
-}
---enable_query_log
-
-SELECT COUNT(*) FROM history;
-
---source include/ndb_backup.inc
-
---echo ************ Restore the slave ************************
-connection slave;
-CREATE DATABASE tpcb;
---source include/ndb_restore_slave_eoption.inc
-
---echo ***** Check a few slave restore values ***************
-connection slave;
-USE tpcb;
-SELECT COUNT(*) FROM account;
-
---echo ***** Add some more records to master *********
-connection master;
-let $j= 100;
---disable_query_log
-while ($j)
-{
- eval CALL tpcb.trans($format);
- dec $j;
-}
---enable_query_log
-
-#
-# now setup replication to continue from last epoch
-# 1. get apply_status epoch from slave
-# 2. get corresponding _next_ binlog postition from master
-# 3. change master on slave
-# 4. add some transaction for slave to process
-# 5. start the replication
-
---echo ***** Finsh the slave sync process *******
---disable_query_log
-# 1. 2. 3.
---sync_slave_with_master
---source include/ndb_setup_slave.inc
---enable_query_log
-
-# 4.
---echo * 4. *
-connection master;
-let $j= 100;
---disable_query_log
-while ($j)
-{
- eval CALL tpcb.trans($format);
- dec $j;
-}
---enable_query_log
-
-# 5.
---echo * 5. *
-connection slave;
-START SLAVE;
-
---echo **** We should be ready to continue on *************
-
-connection master;
---echo ****** Let's make sure we match *******
---echo ***** MASTER *******
-USE tpcb;
-SELECT COUNT(*) FROM history;
-
---echo ****** SLAVE ********
---sync_slave_with_master
-connection slave;
-USE tpcb;
-SELECT COUNT(*) FROM history;
-
---echo *** DUMP MASTER & SLAVE FOR COMPARE ********
-
---exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert tpcb account teller branch history > $MYSQLTEST_VARDIR/tmp/RPL_DD_ADV_M.sql
-
---exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert tpcb account teller branch history > $MYSQLTEST_VARDIR/tmp/RPL_DD_ADV_S.sql
-
---echo *************** TEST 2 CLEANUP SECTION ********************
-connection master;
-DROP PROCEDURE IF EXISTS tpcb.load;
-DROP PROCEDURE IF EXISTS tpcb.trans;
-DROP TABLE tpcb.account;
-DROP TABLE tpcb.teller;
-DROP TABLE tpcb.branch;
-DROP TABLE tpcb.history;
-DROP DATABASE tpcb;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile.dat'
-ENGINE=NDB;
-
-ALTER TABLESPACE ts1
-DROP DATAFILE 'datafile02.dat'
-ENGINE=NDB;
-
-DROP TABLESPACE ts1 ENGINE=NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile03.dat'
-ENGINE=NDB;
-
-ALTER TABLESPACE ts2
-DROP DATAFILE 'datafile04.dat'
-ENGINE=NDB;
-
-DROP TABLESPACE ts2 ENGINE=NDB;
-
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
-
---sync_slave_with_master
-
-connection master;
-
---echo ****** Do dumps compare ************
-
-diff_files $MYSQLTEST_VARDIR/tmp/RPL_DD_ADV_M.sql $MYSQLTEST_VARDIR/tmp/RPL_DD_ADV_S.sql;
-
-## Note: Ths files should only get removed, if the above diff succeeds.
-
-remove_file $MYSQLTEST_VARDIR/tmp/RPL_DD_ADV_M.sql;
-remove_file $MYSQLTEST_VARDIR/tmp/RPL_DD_ADV_S.sql;
-
-# End 5.1 test case
diff --git a/mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test b/mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test
deleted file mode 100644
index d78eda7eef1..00000000000
--- a/mysql-test/suite/ndb_team/t/rpl_ndb_extraColMaster.test
+++ /dev/null
@@ -1,14 +0,0 @@
-#############################################################
-# Purpose: To test having extra columns on the master WL#3915
-#############################################################
--- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
--- source include/have_binlog_format_mixed_or_row.inc
-
-let $engine_type = 'NDB';
-
-set binlog_format=row;
--- source extra/rpl_tests/rpl_extraMaster_Col.test
-
-set binlog_format=mixed;
--- source extra/rpl_tests/rpl_extraMaster_Col.test
diff --git a/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb-master.opt b/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb-master.opt
deleted file mode 100644
index 416f8692654..00000000000
--- a/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb --default-storage-engine=innodb
diff --git a/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test b/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test
deleted file mode 100644
index b730bcc08e0..00000000000
--- a/mysql-test/suite/ndb_team/t/rpl_ndb_mix_innodb.test
+++ /dev/null
@@ -1,36 +0,0 @@
-#############################################
-#Authors: TU and Jeb
-#Date: 2007/04
-#Purpose: Generic replication to cluster
-# and ensuring that the ndb_apply_status
-# table is updated.
-#############################################
-# Notes:
-# include/select_ndb_apply_status.inc
-# Selects out the log name, start & end pos
-# from the ndb_apply_status table
-#
-# include/show_binlog_using_logname.inc
-# To select out 1 row from offset 1
-# from the start position in the binlog whose
-# name is = log_name
-#
-# include/tpcb.inc
-# Creates DATABASE tpcb, the tables and
-# stored procedures for loading the DB
-# and for running transactions against DB.
-##############################################
-
-
-## Includes ##
-
---disable_query_log
---source include/have_ndb.inc
---source include/have_innodb.inc
---source include/have_binlog_format_mixed.inc
---source include/ndb_master-slave.inc
---enable_query_log
-let $off_set = 9;
-let $rpl_format = 'MIX';
---source extra/rpl_tests/rpl_ndb_apply_status.test
-
diff --git a/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc b/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc
index 25a9774d2a1..b7a170dd9d8 100644
--- a/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc
+++ b/mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc
@@ -39,29 +39,6 @@ let $val3 = 17 ;
let $val4 = 15 ;
--source suite/parts/inc/partition_supported_sql_funcs.inc
-
-let $sqlfunc = ceiling(col1);
-let $valsqlfunc = ceiling(15);
-let $coltype = float(7,4);
-let $infile = part_supported_sql_funcs_int_float.inc;
-let $val1 = 5.1230;
-let $val2 = 13.345;
-let $val3 = 17.987;
-let $val4 = 15.654 ;
-# DISABLED due to bug 30577
-#--source suite/parts/inc/partition_supported_sql_funcs.inc
-
-let $sqlfunc = floor(col1);
-let $valsqlfunc = floor(15.123);
-let $coltype = float(7,4);
-let $infile = part_supported_sql_funcs_int_float.inc;
-let $val1 = 5.1230;
-let $val2 = 13.345;
-let $val3 = 17.987;
-let $val4 = 15.654 ;
-# DISABLED due to bug 30577
-#--source suite/parts/inc/partition_supported_sql_funcs.inc
-
let $sqlfunc = mod(col1,10);
let $valsqlfunc = mod(15,10);
let $coltype = int;
@@ -111,8 +88,9 @@ let $val2 = '2006-01-17';
let $val3 = '2006-02-25';
let $val4 = '2006-02-05';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-let $coltype = char(30);
---source suite/parts/inc/partition_supported_sql_funcs.inc
+# Disabled after fixing bug#54483.
+#let $coltype = char(30);
+#--source suite/parts/inc/partition_supported_sql_funcs.inc
let $sqlfunc = extract(month from col1);
let $valsqlfunc = extract(year from '1998-11-23');
@@ -162,8 +140,9 @@ let $val2 = '14:30:20';
let $val3 = '21:59:22';
let $val4 = '10:22:33';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-let $coltype = char(30);
---source suite/parts/inc/partition_supported_sql_funcs.inc
+# second(non_time_col) is disabled after bug#54483.
+#let $coltype = char(30);
+#--source suite/parts/inc/partition_supported_sql_funcs.inc
let $sqlfunc = month(col1);
let $valsqlfunc = month('2006-10-14');
@@ -195,26 +174,28 @@ let $val3 = '21:59:22';
let $val4 = '10:33:11';
--source suite/parts/inc/partition_supported_sql_funcs.inc
-let $sqlfunc = to_days(col1)-to_days('2006-01-01');
-let $valsqlfunc = to_days('2006-02-02')-to_days('2006-01-01');
-let $coltype = date;
-let $infile = part_supported_sql_funcs_int_date.inc;
-let $val1 = '2006-02-03';
-let $val2 = '2006-01-17';
-let $val3 = '2006-01-25';
-let $val4 = '2006-02-06';
---source suite/parts/inc/partition_supported_sql_funcs.inc
+# to_days(non_date_col) is disabled after bug#54483.
+#let $sqlfunc = to_days(col1)-to_days('2006-01-01');
+#let $valsqlfunc = to_days('2006-02-02')-to_days('2006-01-01');
+#let $coltype = date;
+#let $infile = part_supported_sql_funcs_int_date.inc;
+#let $val1 = '2006-02-03';
+#let $val2 = '2006-01-17';
+#let $val3 = '2006-01-25';
+#let $val4 = '2006-02-06';
+#--source suite/parts/inc/partition_supported_sql_funcs.inc
+# to_days(non_date_col) is disabled after bug#54483.
# DATEDIFF() is implemented as (TO_DAYS(d1) - TO_DAYS(d2))
-let $sqlfunc = datediff(col1, '2006-01-01');
-let $valsqlfunc = datediff('2006-02-02', '2006-01-01');
-let $coltype = date;
-let $infile = part_supported_sql_funcs_int_date.inc;
-let $val1 = '2006-02-03';
-let $val2 = '2006-01-17';
-let $val3 = '2006-01-25';
-let $val4 = '2006-02-06';
---source suite/parts/inc/partition_supported_sql_funcs.inc
+#let $sqlfunc = datediff(col1, '2006-01-01');
+#let $valsqlfunc = datediff('2006-02-02', '2006-01-01');
+#let $coltype = date;
+#let $infile = part_supported_sql_funcs_int_date.inc;
+#let $val1 = '2006-02-03';
+#let $val2 = '2006-01-17';
+#let $val3 = '2006-01-25';
+#let $val4 = '2006-02-06';
+#--source suite/parts/inc/partition_supported_sql_funcs.inc
let $sqlfunc = weekday(col1);
let $valsqlfunc = weekday('2006-10-14');
diff --git a/mysql-test/suite/parts/inc/partition_auto_increment.inc b/mysql-test/suite/parts/inc/partition_auto_increment.inc
index 102e57d3d04..034460d49ac 100644
--- a/mysql-test/suite/parts/inc/partition_auto_increment.inc
+++ b/mysql-test/suite/parts/inc/partition_auto_increment.inc
@@ -105,6 +105,30 @@ OPTIMIZE TABLE t1;
SHOW CREATE TABLE t1;
DROP TABLE t1;
+if (!$skip_update)
+{
+eval CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+ UNIQUE KEY (a))
+ENGINE=$engine;
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+DROP TABLE t1;
+SET INSERT_ID = 1;
+}
+
-- echo # Simple test with NULL
eval CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT,
@@ -831,5 +855,30 @@ SELECT * FROM t ORDER BY c1 ASC;
DROP TABLE t;
+if (!$skip_update)
+{
+eval CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+ UNIQUE KEY (a))
+ENGINE=$engine
+PARTITION BY KEY(a) PARTITIONS 2;
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+SELECT * FROM t1;
+DROP TABLE t1;
+}
+
+
--echo ##############################################################################
}
diff --git a/mysql-test/suite/parts/inc/partition_check.inc b/mysql-test/suite/parts/inc/partition_check.inc
index 19d548cc8ef..235764a034f 100644
--- a/mysql-test/suite/parts/inc/partition_check.inc
+++ b/mysql-test/suite/parts/inc/partition_check.inc
@@ -177,7 +177,7 @@ let $any_unique= `SELECT @my_errno IN ($ER_DUP_KEY,$ER_DUP_ENTRY)`;
# @my_errno AS sql_errno;
if (`SELECT @my_errno NOT IN (0,$ER_DUP_KEY,$ER_DUP_ENTRY)`)
{
- --echo # The last command got an unexepected error response.
+ --echo # The last command got an unexpected error response.
--echo # Expected/handled SQL codes are 0,$ER_DUP_KEY,$ER_DUP_ENTRY
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
@@ -219,7 +219,7 @@ if ($any_unique)
# @my_errno AS sql_errno;
if (`SELECT @my_errno NOT IN (0,$ER_DUP_KEY,$ER_DUP_ENTRY)`)
{
- --echo # The last command got an unexepected error response.
+ --echo # The last command got an unexpected error response.
--echo # Expected/handled SQL codes are 0,$ER_DUP_KEY,$ER_DUP_ENTRY
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
@@ -255,7 +255,7 @@ if ($any_unique)
# @my_errno AS sql_errno;
if (`SELECT @my_errno NOT IN (0,$ER_DUP_KEY,$ER_DUP_ENTRY)`)
{
- --echo # The last command got an unexepected error response.
+ --echo # The last command got an unexpected error response.
--echo # Expected/handled SQL codes are 0,$ER_DUP_KEY,$ER_DUP_ENTRY
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
@@ -503,7 +503,7 @@ if ($no_debug)
eval SET @my_errno = $mysql_errno;
if (`SELECT @my_errno NOT IN (0,$ER_SAME_NAME_PARTITION,$ER_NO_PARTITION_FOR_GIVEN_VALUE)`)
{
- --echo # The last command got an unexepected error response.
+ --echo # The last command got an unexpected error response.
--echo # Expected/handled SQL codes are 0,$ER_SAME_NAME_PARTITION,$ER_NO_PARTITION_FOR_GIVEN_VALUE
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
@@ -566,7 +566,7 @@ eval SET @my_errno = $mysql_errno;
let $run= `SELECT @my_errno = 0`;
if (`SELECT @my_errno NOT IN (0,$ER_BAD_NULL_ERROR)`)
{
- --echo # The last command got an unexepected error response.
+ --echo # The last command got an unexpected error response.
--echo # Expected/handled SQL codes are 0,$ER_BAD_NULL_ERROR
SELECT '# SQL code we got was: ' AS "", @my_errno AS "";
--echo # Sorry, have to abort.
diff --git a/mysql-test/suite/parts/inc/partition_check_drop.inc b/mysql-test/suite/parts/inc/partition_check_drop.inc
index daaa5e541c7..7f8b5b7929b 100644
--- a/mysql-test/suite/parts/inc/partition_check_drop.inc
+++ b/mysql-test/suite/parts/inc/partition_check_drop.inc
@@ -26,16 +26,18 @@ if ($do_file_tests)
{
let $ls_file= $MYSQLD_DATADIR/test/tmp2;
# List the files belonging to the table t1
+ --replace_result $MYSQLTEST_VARDIR \$MYSQLTEST_VARDIR #p# #P# #sp# #SP#
--list_files_write_file $ls_file $MYSQLD_DATADIR/test t1*
--chmod 0644 $ls_file
if ($with_directories)
{
+ --replace_result $MYSQLTEST_VARDIR \$MYSQLTEST_VARDIR #p# #P# #sp# #SP#
--list_files_append_file $ls_file $MYSQLTEST_VARDIR/tmp t1*
}
eval SET @aux = load_file('$ls_file');
# clean up
- remove_file $ls_file;
+ --remove_file $ls_file
}
if (!$do_file_tests)
{
@@ -60,16 +62,15 @@ if ($found_garbage)
--echo # <alter partitioning> worked incomplete.
--echo # We found:
# Print the list of files into the protocol
- eval SELECT REPLACE(file_list,'$MYSQLTEST_VARDIR','\$MYSQLTEST_VARDIR')
- AS "unified filelist"
+ eval SELECT file_list AS "unified filelist"
FROM t0_definition WHERE state = 'old';
}
# Do a manual cleanup, because the following tests should not suffer from
# remaining files
- --exec rm -f $MYSQLD_DATADIR/test/t1* || true
+ --remove_files_wildcard $MYSQLD_DATADIR/test t1*
if ($with_directories)
{
- --exec rm -f $MYSQLTEST_VARDIR/tmp/t1* || true
+ --remove_files_wildcard $MYSQLTEST_VARDIR/tmp t1*
}
}
--enable_query_log
diff --git a/mysql-test/suite/parts/inc/partition_crash.inc b/mysql-test/suite/parts/inc/partition_crash.inc
index f18b8728784..b8a7c61792b 100644
--- a/mysql-test/suite/parts/inc/partition_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_crash.inc
@@ -3,7 +3,7 @@
--eval $create_statement
--eval $insert_statement
--echo # State before crash
---replace_result #p# #P#
+--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
@@ -14,13 +14,13 @@ SELECT * FROM t1;
--error 2013
--eval $crash_statement
--echo # State after crash (before recovery)
---replace_regex /sqlx.*\./sqlx-nnnn_nnnn./ /#p#/#P#/
+--replace_regex /sqlx.*\./sqlx-nnnn_nnnn./ /#p#/#P#/ /#sp#/#SP#/ /#tmp#/#TMP#/
--list_files $DATADIR/test
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
--echo # State after crash recovery
---replace_result #p# #P#
+--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
diff --git a/mysql-test/suite/parts/inc/partition_decimal.inc b/mysql-test/suite/parts/inc/partition_decimal.inc
index 95ef878b957..93e9e48c9c9 100644
--- a/mysql-test/suite/parts/inc/partition_decimal.inc
+++ b/mysql-test/suite/parts/inc/partition_decimal.inc
@@ -39,10 +39,8 @@ drop table t2;
# Bug 30577: FLOOR() and CEILING() not usable as partition functions
# Partition functions are required to return INT_RESULT; FLOOR() and
-# CEILING() do not, unless they have an INT argument. Disable this
-# portion of the test until bug 30577 is fixed.
+# CEILING() do not, unless they have an INT or DECIMAL argument.
---disable_parsing
eval create table t3 (a decimal(18,9) not null, primary key(a)) engine=$engine
partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
@@ -70,7 +68,7 @@ select count(*) from t3;
drop table t3;
eval create table t4 (a decimal(18,9) not null, primary key(a)) engine=$engine
-partition by list (floor(a)) subpartition by key (a) subpartitions 2 (
+partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
partition pa2 values in (1,2),
partition pa4 values in (3,4),
partition pa6 values in (5,6),
@@ -93,6 +91,3 @@ commit;
--enable_query_log
select count(*) from t4;
drop table t4;
-
-# Disabled due to Bug 30577
---enable_parsing
diff --git a/mysql-test/suite/parts/inc/partition_double.inc b/mysql-test/suite/parts/inc/partition_double.inc
index aef5aa4f675..9e43887be09 100644
--- a/mysql-test/suite/parts/inc/partition_double.inc
+++ b/mysql-test/suite/parts/inc/partition_double.inc
@@ -37,61 +37,3 @@ commit;
select count(*) from t2;
drop table t2;
-
-# Bug 30577: FLOOR() and CEILING() not usable as partition functions
-# Partition functions are required to return INT_RESULT; FLOOR() and
-# CEILING() do not, unless they have an INT argument. Disable this
-# portion of the test until bug 30577 is fixed.
-
---disable_parsing
-
-eval create table t3 (a double not null, primary key(a)) engine=$engine
-partition by range (floor(a)) subpartition by key (a) subpartitions 3 (
-partition pa1 values less than (3),
-partition pa3 values less than (6),
-partition pa10 values less than (10)
-);
-show create table t3;
-let $count=9;
---echo $count*3 inserts;
---disable_query_log
-begin;
-while ($count)
-{
-eval insert into t3 values ($count);
-eval insert into t3 values ($count+0.33);
-eval insert into t3 values ($count+0.75);
-dec $count;
-}
-commit;
---enable_query_log
-select count(*) from t3;
-select * from t3;
-drop table t3;
-
-eval create table t4 (a double not null, primary key(a)) engine=$engine
-partition by list (floor(a)) subpartition by key (a) subpartitions 3 (
-partition pa1 values in (1,2,3),
-partition pa3 values in (4,5,6),
-partition pa10 values in (7,8,9,10)
-);
-show create table t4;
-let $count=9;
---echo $count*3 inserts;
---disable_query_log
-begin;
-while ($count)
-{
-eval insert into t4 values ($count);
-eval insert into t4 values ($count+0.33);
-eval insert into t4 values ($count+0.75);
-dec $count;
-}
-commit;
---enable_query_log
-select count(*) from t4;
-select * from t4;
-drop table t4;
-
-# Disabled due to Bug 30577
---enable_parsing
diff --git a/mysql-test/suite/parts/inc/partition_fail.inc b/mysql-test/suite/parts/inc/partition_fail.inc
index 6942b40042a..dd79cdf1dc8 100644
--- a/mysql-test/suite/parts/inc/partition_fail.inc
+++ b/mysql-test/suite/parts/inc/partition_fail.inc
@@ -3,6 +3,7 @@
--eval $create_statement
--eval $insert_statement
--echo # State before failure
+--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
@@ -11,8 +12,31 @@ SELECT * FROM t1;
--eval $fail_statement
--enable_abort_on_error
--echo # State after failure
+--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
DROP TABLE t1;
+
+--echo # Same test under LOCK TABLE
+--eval $create_statement
+--eval $insert_statement
+--echo # State before failure
+--replace_result #p# #P# #sp# #SP#
+--list_files $DATADIR/test
+SHOW CREATE TABLE t1;
+--sorted_result
+SELECT * FROM t1;
+LOCK TABLE t1 WRITE;
+--disable_abort_on_error
+--eval $fail_statement
+--enable_abort_on_error
+--echo # State after failure
+--replace_result #p# #P# #sp# #SP#
+--list_files $DATADIR/test
+SHOW CREATE TABLE t1;
+--sorted_result
+SELECT * FROM t1;
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/suite/parts/inc/partition_float.inc b/mysql-test/suite/parts/inc/partition_float.inc
index 8da12a3e5bd..b9c6af84fc4 100644
--- a/mysql-test/suite/parts/inc/partition_float.inc
+++ b/mysql-test/suite/parts/inc/partition_float.inc
@@ -40,61 +40,3 @@ commit;
--enable_query_log
select count(*) from t2;
drop table t2;
-
-# Bug 30577: FLOOR() and CEILING() not usable as partition functions
-# Partition functions are required to return INT_RESULT; FLOOR() and
-# CEILING() do not, unless they have an INT argument. Disable this
-# portion of the test until bug 30577 is fixed.
-
---disable_parsing
-
-eval create table t3 (a float not null, primary key(a)) engine=$engine
-partition by range (floor(a)) subpartition by key (a) subpartitions 3 (
-partition pa1 values less than (3),
-partition pa3 values less than (6),
-partition pa10 values less than (10)
-);
-show create table t3;
-let $count=9;
---echo $count*3 inserts;
---disable_query_log
-begin;
-while ($count)
-{
-eval insert into t3 values ($count);
-eval insert into t3 values ($count+0.33);
-eval insert into t3 values ($count+0.75);
-dec $count;
-}
-commit;
---enable_query_log
-select count(*) from t3;
-select * from t3;
-drop table t3;
-
-eval create table t4 (a float not null, primary key(a)) engine=$engine
-partition by list (floor(a)) subpartition by key (a) subpartitions 3 (
-partition pa1 values in (1,2,3),
-partition pa3 values in (4,5,6),
-partition pa10 values in (7,8,9,10)
-);
-show create table t4;
-let $count=9;
---echo $count*3 inserts;
---disable_query_log
-begin;
-while ($count)
-{
-eval insert into t4 values ($count);
-eval insert into t4 values ($count+0.33);
-eval insert into t4 values ($count+0.75);
-dec $count;
-}
-commit;
---enable_query_log
-select count(*) from t4;
-select * from t4;
-drop table t4;
-
-# Disabled due to Bug 30577
---enable_parsing
diff --git a/mysql-test/suite/parts/inc/partition_layout.inc b/mysql-test/suite/parts/inc/partition_layout.inc
index 67d0fd4c0e9..12fbfb9a46a 100644
--- a/mysql-test/suite/parts/inc/partition_layout.inc
+++ b/mysql-test/suite/parts/inc/partition_layout.inc
@@ -10,6 +10,6 @@ eval SHOW CREATE TABLE t1;
if ($ls)
{
let $MYSQLD_DATADIR= `select @@datadir`;
- --replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+ --replace_result $MYSQLD_DATADIR MYSQLD_DATADIR #p# #P# #sp# #SP#
--list_files $MYSQLD_DATADIR/test t1*
}
diff --git a/mysql-test/suite/parts/inc/partition_layout_check1.inc b/mysql-test/suite/parts/inc/partition_layout_check1.inc
index bca41b6f9c7..76df4c1a250 100644
--- a/mysql-test/suite/parts/inc/partition_layout_check1.inc
+++ b/mysql-test/suite/parts/inc/partition_layout_check1.inc
@@ -29,14 +29,10 @@ DELETE FROM t0_definition;
let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`;
#echo MYSQLD_DATADIR: $MYSQLD_DATADIR;
-# Dump the current definition of the table t1 to tmp1
-# This complicated method - let another mysqltest collect the output - is used
-# because of two reasons
+# Save the current definition of the table t1
# - SHOW CREATE TABLE t1 is at least currently most probably more reliable than
# the corresponding SELECT on the INFORMATION_SCHEMA
-# - SHOW CREATE TABLE .. cannot write its out put into a file like SELECT
-let $show_file= $MYSQLD_DATADIR/test/tmp1;
---exec echo "SHOW CREATE TABLE t1; exit; " | $MYSQL_TEST > $show_file 2>&1
+let $show_create= `SHOW CREATE TABLE t1`;
if ($do_file_tests)
{
# List the files belonging to the table t1
@@ -49,6 +45,9 @@ if ($do_file_tests)
--list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-idx-dir t1*
}
eval SET @aux = load_file('$ls_file');
+
+ # clean up
+ --remove_file $ls_file
}
if (!$do_file_tests)
{
@@ -57,19 +56,20 @@ if (!$do_file_tests)
# Insert the current definition of the table t1 into t0_definition
eval INSERT INTO t0_definition SET state = 'old',
- create_command = load_file('$show_file'),
+ create_command = "$show_create",
file_list = @aux;
# Print the create table statement into the protocol
+# Added the concat to avoid changing the result files
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR '\r' ''
-SELECT create_command FROM t0_definition WHERE state = 'old';
+SELECT concat('SHOW CREATE TABLE t1;\nTable\tCreate Table\n',create_command,'\n') as `create_command` FROM t0_definition WHERE state = 'old';
if ($do_file_tests)
{
# We stored the list of files, therefore printing the content makes sense
if ($ls)
{
# Print the list of files into the protocol
- replace_result $MYSQLD_DATADIR MYSQLD_DATADIR $MYSQLTEST_VARDIR MYSQLTEST_VARDIR;
+ replace_result $MYSQLD_DATADIR MYSQLD_DATADIR $MYSQLTEST_VARDIR MYSQLTEST_VARDIR #p# #P# #sp# #SP# part_n part_N;
SELECT file_list AS "unified filelist"
FROM t0_definition WHERE state = 'old';
}
diff --git a/mysql-test/suite/parts/inc/partition_layout_check2.inc b/mysql-test/suite/parts/inc/partition_layout_check2.inc
index 7ff871a4c45..23e4a9e1e95 100644
--- a/mysql-test/suite/parts/inc/partition_layout_check2.inc
+++ b/mysql-test/suite/parts/inc/partition_layout_check2.inc
@@ -28,9 +28,8 @@ DELETE FROM t0_definition WHERE state = 'new';
let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`;
#echo MYSQLD_DATADIR: $MYSQLD_DATADIR;
-# Dump the current definition of the table t1 to tmp1
-let $show_file= $MYSQLD_DATADIR/test/tmp1;
---exec echo "SHOW CREATE TABLE t1; exit; " | $MYSQL_TEST > $show_file 2>&1
+# Save the current definition of the table t1
+let $show_create= `SHOW CREATE TABLE t1`;
if ($do_file_tests)
{
@@ -44,6 +43,9 @@ if ($do_file_tests)
--list_files_append_file $ls_file $MYSQLTEST_VARDIR/mysql-test-idx-dir t1*
}
eval SET @aux = load_file('$ls_file');
+
+ # clean up
+ --remove_file $ls_file
}
if (!$do_file_tests)
{
@@ -52,7 +54,7 @@ if (!$do_file_tests)
# Insert the current definition of the table t1 into t0_definition
eval INSERT INTO t0_definition SET state = 'new',
- create_command = load_file('$show_file'),
+ create_command = "$show_create",
file_list = @aux;
# Print the old and new table layout, if they differ
@@ -65,7 +67,7 @@ let $run= `SELECT @aux`;
if ($run)
{
--vertical_results
- --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+ --replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR #p# #P# #sp# #SP#
SELECT state,
REPLACE(create_command,'\n',' ') AS "Table definition",
REPLACE(file_list ,'\n',' ') AS "File list"
diff --git a/mysql-test/suite/parts/r/ndb_dd_backuprestore.result b/mysql-test/suite/parts/r/ndb_dd_backuprestore.result
deleted file mode 100644
index 12a65a433a3..00000000000
--- a/mysql-test/suite/parts/r/ndb_dd_backuprestore.result
+++ /dev/null
@@ -1,512 +0,0 @@
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t4;
-DROP TABLE IF EXISTS test.t5;
-DROP TABLE IF EXISTS test.t6;
-**** Test 1 Simple DD backup and restore ****
-CREATE LOGFILE GROUP log_group1
-ADD UNDOFILE './log_group1/undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-CREATE TABLESPACE table_space1
-ADD DATAFILE './table_space1/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 CHAR(50) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-DROP TABLE test.t1;
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-**** Test 2 Mixed Cluster Test backup and restore ****
-CREATE TABLE test.t2
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
-CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden, Texas 500 0
-2 Sweden, Texas 499 0
-3 Sweden, Texas 498 0
-4 Sweden, Texas 497 0
-5 Sweden, Texas 496 0
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-LENGTH(data)
-16384
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-LENGTH(data)
-16384
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden 500 1
-2 Sweden 499 1
-3 Sweden 498 1
-4 Sweden 497 1
-5 Sweden 496 1
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-500
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-pk1 c2 c3 hex(c4)
-1 Sweden, Texas 500 0
-2 Sweden, Texas 499 0
-3 Sweden, Texas 498 0
-4 Sweden, Texas 497 0
-5 Sweden, Texas 496 0
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-LENGTH(data)
-16384
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-100
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-LENGTH(data)
-16384
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-**** Test 3 Adding partition Test backup and restore ****
-CREATE TABLESPACE table_space2
-ADD DATAFILE './table_space2/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
-CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
-CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
-CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(150) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 4 */
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (c3)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(202) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (c3)
-(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(180) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 2 */
-SHOW CREATE TABLE test.t5;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (pk1)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t6;
-Table Create Table
-t6 CREATE TABLE `t6` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(220) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (pk1)
-(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t5;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t6;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-ALTER TABLESPACE table_space2
-DROP DATAFILE './table_space2/datafile.dat'
-ENGINE = NDB;
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-DROP TABLESPACE table_space2
-ENGINE = NDB;
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(150) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 4 */
-SHOW CREATE TABLE test.t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (c3)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(202) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) /*!50100 TABLESPACE table_space2 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (c3)
-(PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t4;
-Table Create Table
-t4 CREATE TABLE `t4` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(180) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c3)
-PARTITIONS 2 */
-SHOW CREATE TABLE test.t5;
-Table Create Table
-t5 CREATE TABLE `t5` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` text NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (pk1)
-(PARTITION p0 ENGINE = ndbcluster,
- PARTITION p1 ENGINE = ndbcluster) */
-SHOW CREATE TABLE test.t6;
-Table Create Table
-t6 CREATE TABLE `t6` (
- `pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
- `c2` varchar(220) NOT NULL,
- `c3` int(11) NOT NULL,
- `c4` bit(1) NOT NULL,
- PRIMARY KEY (`pk1`,`c3`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (pk1)
-(PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster,
- PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
-NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
-SELECT COUNT(*) FROM test.t1;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t2;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t3;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-SELECT COUNT(*) FROM test.t4;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas 2 0
-249 Sweden, Texas 4 0
-248 Sweden, Texas 6 0
-247 Sweden, Texas 8 0
-246 Sweden, Texas 10 0
-SELECT COUNT(*) FROM test.t5;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
-249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
-248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
-247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
-246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
-SELECT COUNT(*) FROM test.t6;
-COUNT(*)
-250
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-pk1 c2 c3 hex(c4)
-250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
-249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
-248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
-247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
-246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
-ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
-DROP TABLESPACE table_space1 ENGINE = NDB;
-DROP TABLESPACE table_space2 ENGINE = NDB;
-DROP LOGFILE GROUP log_group1 ENGINE = NDB;
diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result
index 79462c25050..c5b4e0a8665 100644
--- a/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result
+++ b/mysql-test/suite/parts/r/part_supported_sql_func_innodb.result
@@ -5425,513 +5425,6 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- dayofyear(col1) in partition with coltype char(30)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with dayofyear(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(30)) engine='INNODB'
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(30)) engine='INNODB'
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(30)) engine='INNODB'
-partition by hash(dayofyear(col1));
-create table t4 (colint int, col1 char(30)) engine='INNODB'
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(30)) engine='INNODB'
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(30)) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with dayofyear(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-02-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-02-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select dayofyear(col1) from t1 order by col1;
-dayofyear(col1)
-3
-17
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-01-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-01-03';
-update t2 set col1='2006-02-05' where col1='2006-01-03';
-update t3 set col1='2006-02-05' where col1='2006-01-03';
-update t4 set col1='2006-02-05' where col1='2006-01-03';
-update t5 set col1='2006-02-05' where col1='2006-01-03';
-update t6 set col1='2006-02-05' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with dayofyear(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='INNODB' as select * from t1;
-create table t22 engine='INNODB' as select * from t2;
-create table t33 engine='INNODB' as select * from t3;
-create table t44 engine='INNODB' as select * from t4;
-create table t55 engine='INNODB' as select * from t5;
-create table t66 engine='INNODB' as select * from t6;
-alter table t11
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(dayofyear(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` char(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (dayofyear(col1))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
--- extract(month from col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
@@ -8489,525 +7982,6 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- second(col1) in partition with coltype char(30)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with second(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(30)) engine='INNODB'
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(30)) engine='INNODB'
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(30)) engine='INNODB'
-partition by hash(second(col1));
-create table t4 (colint int, col1 char(30)) engine='INNODB'
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(30)) engine='INNODB'
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(30)) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with second(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:09');
-insert into t1 values ('14:30:20');
-insert into t2 values ('09:09:09');
-insert into t2 values ('14:30:20');
-insert into t2 values ('21:59:22');
-insert into t3 values ('09:09:09');
-insert into t3 values ('14:30:20');
-insert into t3 values ('21:59:22');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select second(col1) from t1 order by col1;
-second(col1)
-9
-20
-select * from t1 order by col1;
-col1
-09:09:09
-14:30:20
-select * from t2 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-update t1 set col1='10:22:33' where col1='09:09:09';
-update t2 set col1='10:22:33' where col1='09:09:09';
-update t3 set col1='10:22:33' where col1='09:09:09';
-update t4 set col1='10:22:33' where col1='09:09:09';
-update t5 set col1='10:22:33' where col1='09:09:09';
-update t6 set col1='10:22:33' where col1='09:09:09';
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
--------------------------------------------------------------------------
---- Alter tables with second(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='INNODB' as select * from t1;
-create table t22 engine='INNODB' as select * from t2;
-create table t33 engine='INNODB' as select * from t3;
-create table t44 engine='INNODB' as select * from t4;
-create table t55 engine='INNODB' as select * from t5;
-create table t66 engine='INNODB' as select * from t6;
-alter table t11
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(second(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` char(30) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (second(col1))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30:20';
-delete from t2 where col1='14:30:20';
-delete from t3 where col1='14:30:20';
-delete from t4 where col1='14:30:20';
-delete from t5 where col1='14:30:20';
-delete from t6 where col1='14:30:20';
-select * from t1 order by col1;
-col1
-10:22:33
-select * from t2 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-insert into t1 values ('14:30:20');
-insert into t2 values ('14:30:20');
-insert into t3 values ('14:30:20');
-insert into t4 values (60,'14:30:20');
-insert into t5 values (60,'14:30:20');
-insert into t6 values (60,'14:30:20');
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-60 14:30:20
-select * from t5 order by colint;
-colint col1
-60 14:30:20
-select * from t6 order by colint;
-colint col1
-60 14:30:20
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30:20';
-delete from t22 where col1='14:30:20';
-delete from t33 where col1='14:30:20';
-delete from t44 where col1='14:30:20';
-delete from t55 where col1='14:30:20';
-delete from t66 where col1='14:30:20';
-select * from t11 order by col1;
-col1
-10:22:33
-select * from t22 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-insert into t11 values ('14:30:20');
-insert into t22 values ('14:30:20');
-insert into t33 values ('14:30:20');
-insert into t44 values (60,'14:30:20');
-insert into t55 values (60,'14:30:20');
-insert into t66 values (60,'14:30:20');
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-60 14:30:20
-select * from t55 order by colint;
-colint col1
-60 14:30:20
-select * from t66 order by colint;
-colint col1
-60 14:30:20
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
--- month(col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
@@ -10549,1024 +9523,6 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- to_days(col1)-to_days('2006-01-01') in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='INNODB'
-partition by range(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='INNODB'
-partition by list(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='INNODB'
-partition by hash(to_days(col1)-to_days('2006-01-01'));
-create table t4 (colint int, col1 date) engine='INNODB'
-partition by range(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='INNODB'
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select to_days(col1)-to_days('2006-01-01') from t1 order by col1;
-to_days(col1)-to_days('2006-01-01')
-16
-33
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-02-03';
-update t2 set col1='2006-02-06' where col1='2006-02-03';
-update t3 set col1='2006-02-06' where col1='2006-02-03';
-update t4 set col1='2006-02-06' where col1='2006-02-03';
-update t5 set col1='2006-02-06' where col1='2006-02-03';
-update t6 set col1='2006-02-06' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='INNODB' as select * from t1;
-create table t22 engine='INNODB' as select * from t2;
-create table t33 engine='INNODB' as select * from t3;
-create table t44 engine='INNODB' as select * from t4;
-create table t55 engine='INNODB' as select * from t5;
-create table t66 engine='INNODB' as select * from t6;
-alter table t11
-partition by range(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(to_days(col1)-to_days('2006-01-01'));
-alter table t44
-partition by range(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t55
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01'))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- datediff(col1, '2006-01-01') in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='INNODB'
-partition by range(datediff(col1, '2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='INNODB'
-partition by list(datediff(col1, '2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='INNODB'
-partition by hash(datediff(col1, '2006-01-01'));
-create table t4 (colint int, col1 date) engine='INNODB'
-partition by range(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='INNODB'
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='INNODB'
-partition by range(colint)
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select datediff(col1, '2006-01-01') from t1 order by col1;
-datediff(col1, '2006-01-01')
-16
-33
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-02-03';
-update t2 set col1='2006-02-06' where col1='2006-02-03';
-update t3 set col1='2006-02-06' where col1='2006-02-03';
-update t4 set col1='2006-02-06' where col1='2006-02-03';
-update t5 set col1='2006-02-06' where col1='2006-02-03';
-update t6 set col1='2006-02-06' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='INNODB' as select * from t1;
-create table t22 engine='INNODB' as select * from t2;
-create table t33 engine='INNODB' as select * from t3;
-create table t44 engine='INNODB' as select * from t4;
-create table t55 engine='INNODB' as select * from t5;
-create table t66 engine='INNODB' as select * from t6;
-alter table t11
-partition by range(datediff(col1, '2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(datediff(col1, '2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(datediff(col1, '2006-01-01'));
-alter table t44
-partition by range(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (datediff(col1, '2006-01-01'))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = InnoDB,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = InnoDB,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = InnoDB,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = InnoDB) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
--- weekday(col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result b/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result
index 375a6e130be..3cd8e10a4f3 100644
--- a/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result
+++ b/mysql-test/suite/parts/r/part_supported_sql_func_myisam.result
@@ -5425,513 +5425,6 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- dayofyear(col1) in partition with coltype char(30)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with dayofyear(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(30)) engine='MYISAM'
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(30)) engine='MYISAM'
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(30)) engine='MYISAM'
-partition by hash(dayofyear(col1));
-create table t4 (colint int, col1 char(30)) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(30)) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(30)) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with dayofyear(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-02-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-02-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select dayofyear(col1) from t1 order by col1;
-dayofyear(col1)
-3
-17
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-01-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-01-03';
-update t2 set col1='2006-02-05' where col1='2006-01-03';
-update t3 set col1='2006-02-05' where col1='2006-01-03';
-update t4 set col1='2006-02-05' where col1='2006-01-03';
-update t5 set col1='2006-02-05' where col1='2006-01-03';
-update t6 set col1='2006-02-05' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with dayofyear(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='MYISAM' as select * from t1;
-create table t22 engine='MYISAM' as select * from t2;
-create table t33 engine='MYISAM' as select * from t3;
-create table t44 engine='MYISAM' as select * from t4;
-create table t55 engine='MYISAM' as select * from t5;
-create table t66 engine='MYISAM' as select * from t6;
-alter table t11
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(dayofyear(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` char(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (dayofyear(col1))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
--- extract(month from col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
@@ -8489,525 +7982,6 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- second(col1) in partition with coltype char(30)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with second(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(30)) engine='MYISAM'
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(30)) engine='MYISAM'
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(30)) engine='MYISAM'
-partition by hash(second(col1));
-create table t4 (colint int, col1 char(30)) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(30)) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(30)) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with second(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:09');
-insert into t1 values ('14:30:20');
-insert into t2 values ('09:09:09');
-insert into t2 values ('14:30:20');
-insert into t2 values ('21:59:22');
-insert into t3 values ('09:09:09');
-insert into t3 values ('14:30:20');
-insert into t3 values ('21:59:22');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select second(col1) from t1 order by col1;
-second(col1)
-9
-20
-select * from t1 order by col1;
-col1
-09:09:09
-14:30:20
-select * from t2 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-update t1 set col1='10:22:33' where col1='09:09:09';
-update t2 set col1='10:22:33' where col1='09:09:09';
-update t3 set col1='10:22:33' where col1='09:09:09';
-update t4 set col1='10:22:33' where col1='09:09:09';
-update t5 set col1='10:22:33' where col1='09:09:09';
-update t6 set col1='10:22:33' where col1='09:09:09';
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
--------------------------------------------------------------------------
---- Alter tables with second(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='MYISAM' as select * from t1;
-create table t22 engine='MYISAM' as select * from t2;
-create table t33 engine='MYISAM' as select * from t3;
-create table t44 engine='MYISAM' as select * from t4;
-create table t55 engine='MYISAM' as select * from t5;
-create table t66 engine='MYISAM' as select * from t6;
-alter table t11
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(second(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` char(30) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (second(col1))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30:20';
-delete from t2 where col1='14:30:20';
-delete from t3 where col1='14:30:20';
-delete from t4 where col1='14:30:20';
-delete from t5 where col1='14:30:20';
-delete from t6 where col1='14:30:20';
-select * from t1 order by col1;
-col1
-10:22:33
-select * from t2 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-insert into t1 values ('14:30:20');
-insert into t2 values ('14:30:20');
-insert into t3 values ('14:30:20');
-insert into t4 values (60,'14:30:20');
-insert into t5 values (60,'14:30:20');
-insert into t6 values (60,'14:30:20');
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-60 14:30:20
-select * from t5 order by colint;
-colint col1
-60 14:30:20
-select * from t6 order by colint;
-colint col1
-60 14:30:20
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30:20';
-delete from t22 where col1='14:30:20';
-delete from t33 where col1='14:30:20';
-delete from t44 where col1='14:30:20';
-delete from t55 where col1='14:30:20';
-delete from t66 where col1='14:30:20';
-select * from t11 order by col1;
-col1
-10:22:33
-select * from t22 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-insert into t11 values ('14:30:20');
-insert into t22 values ('14:30:20');
-insert into t33 values ('14:30:20');
-insert into t44 values (60,'14:30:20');
-insert into t55 values (60,'14:30:20');
-insert into t66 values (60,'14:30:20');
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-60 14:30:20
-select * from t55 order by colint;
-colint col1
-60 14:30:20
-select * from t66 order by colint;
-colint col1
-60 14:30:20
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
--- month(col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
@@ -10549,1024 +9523,6 @@ drop table if exists t44 ;
drop table if exists t55 ;
drop table if exists t66 ;
-------------------------------------------------------------------------
---- to_days(col1)-to_days('2006-01-01') in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='MYISAM'
-partition by range(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='MYISAM'
-partition by list(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='MYISAM'
-partition by hash(to_days(col1)-to_days('2006-01-01'));
-create table t4 (colint int, col1 date) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select to_days(col1)-to_days('2006-01-01') from t1 order by col1;
-to_days(col1)-to_days('2006-01-01')
-16
-33
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-02-03';
-update t2 set col1='2006-02-06' where col1='2006-02-03';
-update t3 set col1='2006-02-06' where col1='2006-02-03';
-update t4 set col1='2006-02-06' where col1='2006-02-03';
-update t5 set col1='2006-02-06' where col1='2006-02-03';
-update t6 set col1='2006-02-06' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='MYISAM' as select * from t1;
-create table t22 engine='MYISAM' as select * from t2;
-create table t33 engine='MYISAM' as select * from t3;
-create table t44 engine='MYISAM' as select * from t4;
-create table t55 engine='MYISAM' as select * from t5;
-create table t66 engine='MYISAM' as select * from t6;
-alter table t11
-partition by range(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(to_days(col1)-to_days('2006-01-01'));
-alter table t44
-partition by range(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t55
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01'))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- datediff(col1, '2006-01-01') in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='MYISAM'
-partition by range(datediff(col1, '2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='MYISAM'
-partition by list(datediff(col1, '2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='MYISAM'
-partition by hash(datediff(col1, '2006-01-01'));
-create table t4 (colint int, col1 date) engine='MYISAM'
-partition by range(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='MYISAM'
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='MYISAM'
-partition by range(colint)
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select datediff(col1, '2006-01-01') from t1 order by col1;
-datediff(col1, '2006-01-01')
-16
-33
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-02-03';
-update t2 set col1='2006-02-06' where col1='2006-02-03';
-update t3 set col1='2006-02-06' where col1='2006-02-03';
-update t4 set col1='2006-02-06' where col1='2006-02-03';
-update t5 set col1='2006-02-06' where col1='2006-02-03';
-update t6 set col1='2006-02-06' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='MYISAM' as select * from t1;
-create table t22 engine='MYISAM' as select * from t2;
-create table t33 engine='MYISAM' as select * from t3;
-create table t44 engine='MYISAM' as select * from t4;
-create table t55 engine='MYISAM' as select * from t5;
-create table t66 engine='MYISAM' as select * from t6;
-alter table t11
-partition by range(datediff(col1, '2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(datediff(col1, '2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(datediff(col1, '2006-01-01'));
-alter table t44
-partition by range(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t11
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t11
-reorganize partition s1 into
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 5
-(partition p0 values in (1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (datediff(col1, '2006-01-01'))
-SUBPARTITIONS 5
-(PARTITION p0 VALUES IN (1,2,3,4,5,6,7,8,9,10) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (11,12,13,14,15,16,17,18,19,20) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (21,22,23,24,25,26,27,28,29,30) ENGINE = MyISAM,
- PARTITION p3 VALUES IN (31,32,33,34,35,36,37,38,39,40) ENGINE = MyISAM,
- PARTITION p4 VALUES IN (41,42,43,44,45,46,47,48,49,50) ENGINE = MyISAM,
- PARTITION p5 VALUES IN (51,52,53,54,55,56,57,58,59,60) ENGINE = MyISAM) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition p0,p1 into
-(partition s1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-alter table t66
-reorganize partition s1 into
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t1 drop partition p0;
-alter table t2 drop partition p0;
-alter table t4 drop partition p0;
-alter table t5 drop partition p0;
-alter table t6 drop partition p0;
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-alter table t11 drop partition p0;
-alter table t22 drop partition p0;
-alter table t44 drop partition p0;
-alter table t55 drop partition p0;
-alter table t66 drop partition p0;
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
--- weekday(col1) in partition with coltype date
-------------------------------------------------------------------------
drop table if exists t1 ;
diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result b/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result
deleted file mode 100644
index a1e10ee4a9c..00000000000
--- a/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result
+++ /dev/null
@@ -1,9918 +0,0 @@
--------------------------------------------------------------------------
---- abs(col1) in partition with coltype int
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with abs(col1)
--------------------------------------------------------------------------
-create table t1 (col1 int) engine='NDB'
-partition by range(abs(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 int) engine='NDB'
-partition by list(abs(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 int) engine='NDB'
-partition by hash(abs(col1));
-create table t4 (colint int, col1 int) engine='NDB'
-partition by range(colint)
-subpartition by hash(abs(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 int) engine='NDB'
-partition by list(colint)
-subpartition by hash(abs(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 int) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (abs(15)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with abs(col1)
--------------------------------------------------------------------------
-insert into t1 values (5 );
-insert into t1 values (13 );
-insert into t2 values (5 );
-insert into t2 values (13 );
-insert into t2 values (17 );
-insert into t3 values (5 );
-insert into t3 values (13 );
-insert into t3 values (17 );
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t6;
-select abs(col1) from t1 order by col1;
-abs(col1)
-5
-13
-select * from t1 order by col1;
-col1
-5
-13
-select * from t2 order by col1;
-col1
-5
-13
-17
-select * from t3 order by col1;
-col1
-5
-13
-17
-select * from t4 order by colint;
-colint col1
-1 5
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 5
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t5 order by colint;
-colint col1
-1 5
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 5
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t6 order by colint;
-colint col1
-1 5
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 5
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-update t1 set col1=15 where col1=5 ;
-update t2 set col1=15 where col1=5 ;
-update t3 set col1=15 where col1=5 ;
-update t4 set col1=15 where col1=5 ;
-update t5 set col1=15 where col1=5 ;
-update t6 set col1=15 where col1=5 ;
-select * from t1 order by col1;
-col1
-13
-15
-select * from t2 order by col1;
-col1
-13
-15
-17
-select * from t3 order by col1;
-col1
-13
-15
-17
-select * from t4 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t5 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t6 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
--------------------------------------------------------------------------
---- Alter tables with abs(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(abs(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(abs(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(abs(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(abs(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(abs(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (abs(15)),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-13
-15
-select * from t22 order by col1;
-col1
-13
-15
-17
-select * from t33 order by col1;
-col1
-13
-15
-17
-select * from t44 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t55 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t66 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(abs(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (abs(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with abs(col1)
--------------------------------------------------------------------------
-delete from t1 where col1=13 ;
-delete from t2 where col1=13 ;
-delete from t3 where col1=13 ;
-delete from t4 where col1=13 ;
-delete from t5 where col1=13 ;
-delete from t6 where col1=13 ;
-select * from t1 order by col1;
-col1
-15
-select * from t2 order by col1;
-col1
-15
-17
-select * from t3 order by col1;
-col1
-15
-17
-select * from t4 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t5 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-insert into t1 values (13 );
-insert into t2 values (13 );
-insert into t3 values (13 );
-insert into t4 values (60,13 );
-insert into t5 values (60,13 );
-insert into t6 values (60,13 );
-select * from t1 order by col1;
-col1
-13
-15
-select * from t2 order by col1;
-col1
-13
-15
-17
-select * from t3 order by col1;
-col1
-13
-15
-17
-select * from t4 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 13
-select * from t5 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 13
-select * from t6 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 13
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with abs(col1)
--------------------------------------------------------------------------
-delete from t11 where col1=13 ;
-delete from t22 where col1=13 ;
-delete from t33 where col1=13 ;
-delete from t44 where col1=13 ;
-delete from t55 where col1=13 ;
-delete from t66 where col1=13 ;
-select * from t11 order by col1;
-col1
-15
-select * from t22 order by col1;
-col1
-15
-17
-select * from t33 order by col1;
-col1
-15
-17
-select * from t44 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t55 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-insert into t11 values (13 );
-insert into t22 values (13 );
-insert into t33 values (13 );
-insert into t44 values (60,13 );
-insert into t55 values (60,13 );
-insert into t66 values (60,13 );
-select * from t11 order by col1;
-col1
-13
-15
-select * from t22 order by col1;
-col1
-13
-15
-17
-select * from t33 order by col1;
-col1
-13
-15
-17
-select * from t44 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 13
-select * from t55 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 13
-select * from t66 order by colint;
-colint col1
-1 15
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 13
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- mod(col1,10) in partition with coltype int
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with mod(col1,10)
--------------------------------------------------------------------------
-create table t1 (col1 int) engine='NDB'
-partition by range(mod(col1,10))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 int) engine='NDB'
-partition by list(mod(col1,10))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 int) engine='NDB'
-partition by hash(mod(col1,10));
-create table t4 (colint int, col1 int) engine='NDB'
-partition by range(colint)
-subpartition by hash(mod(col1,10)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 int) engine='NDB'
-partition by list(colint)
-subpartition by hash(mod(col1,10)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 int) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (mod(15,10)),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with mod(col1,10)
--------------------------------------------------------------------------
-insert into t1 values (5);
-insert into t1 values (19);
-insert into t2 values (5);
-insert into t2 values (19);
-insert into t2 values (17);
-insert into t3 values (5);
-insert into t3 values (19);
-insert into t3 values (17);
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t6;
-select mod(col1,10) from t1 order by col1;
-mod(col1,10)
-5
-9
-select * from t1 order by col1;
-col1
-5
-19
-select * from t2 order by col1;
-col1
-5
-17
-19
-select * from t3 order by col1;
-col1
-5
-17
-19
-select * from t4 order by colint;
-colint col1
-1 5
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 5
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t5 order by colint;
-colint col1
-1 5
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 5
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t6 order by colint;
-colint col1
-1 5
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 5
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-update t1 set col1=15 where col1=5;
-update t2 set col1=15 where col1=5;
-update t3 set col1=15 where col1=5;
-update t4 set col1=15 where col1=5;
-update t5 set col1=15 where col1=5;
-update t6 set col1=15 where col1=5;
-select * from t1 order by col1;
-col1
-15
-19
-select * from t2 order by col1;
-col1
-15
-17
-19
-select * from t3 order by col1;
-col1
-15
-17
-19
-select * from t4 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t5 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t6 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
--------------------------------------------------------------------------
---- Alter tables with mod(col1,10)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(mod(col1,10))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(mod(col1,10))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(mod(col1,10));
-alter table t44
-partition by range(colint)
-subpartition by hash(mod(col1,10)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(mod(col1,10)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (mod(15,10)),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-15
-19
-select * from t22 order by col1;
-col1
-15
-17
-19
-select * from t33 order by col1;
-col1
-15
-17
-19
-select * from t44 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t55 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t66 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(mod(col1,10)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (mod(col1,10))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with mod(col1,10)
--------------------------------------------------------------------------
-delete from t1 where col1=19;
-delete from t2 where col1=19;
-delete from t3 where col1=19;
-delete from t4 where col1=19;
-delete from t5 where col1=19;
-delete from t6 where col1=19;
-select * from t1 order by col1;
-col1
-15
-select * from t2 order by col1;
-col1
-15
-17
-select * from t3 order by col1;
-col1
-15
-17
-select * from t4 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t5 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-insert into t1 values (19);
-insert into t2 values (19);
-insert into t3 values (19);
-insert into t4 values (60,19);
-insert into t5 values (60,19);
-insert into t6 values (60,19);
-select * from t1 order by col1;
-col1
-15
-19
-select * from t2 order by col1;
-col1
-15
-17
-19
-select * from t3 order by col1;
-col1
-15
-17
-19
-select * from t4 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 19
-select * from t5 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 19
-select * from t6 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 19
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with mod(col1,10)
--------------------------------------------------------------------------
-delete from t11 where col1=19;
-delete from t22 where col1=19;
-delete from t33 where col1=19;
-delete from t44 where col1=19;
-delete from t55 where col1=19;
-delete from t66 where col1=19;
-select * from t11 order by col1;
-col1
-15
-select * from t22 order by col1;
-col1
-15
-17
-select * from t33 order by col1;
-col1
-15
-17
-select * from t44 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-select * from t55 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-insert into t11 values (19);
-insert into t22 values (19);
-insert into t33 values (19);
-insert into t44 values (60,19);
-insert into t55 values (60,19);
-insert into t66 values (60,19);
-select * from t11 order by col1;
-col1
-15
-19
-select * from t22 order by col1;
-col1
-15
-17
-19
-select * from t33 order by col1;
-col1
-15
-17
-19
-select * from t44 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 19
-select * from t55 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 19
-select * from t66 order by colint;
-colint col1
-1 15
-2 13
-3 15
-4 17
-5 23
-6 34
-7 56
-8 56
-9 45
-10 34
-11 78
-12 89
-13 67
-14 46
-15 34
-16 324
-17 345
-18 34
-19 78
-20 567
-21 4
-22 435
-23 34
-24 45
-25 4565
-26 4
-27 3
-28 2
-29 3
-30 15
-31 6
-32 8
-33 9
-34 745
-35 34
-36 34
-37 324
-38 67
-39 78
-40 89
-41 90
-42 78967
-50 56
-51 34
-55 123
-60 19
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- day(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with day(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(day(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(day(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(day(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(day(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(day(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (day('2006-12-21')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with day(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select day(col1) from t1 order by col1;
-day(col1)
-17
-3
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-02-03';
-update t2 set col1='2006-02-05' where col1='2006-02-03';
-update t3 set col1='2006-02-05' where col1='2006-02-03';
-update t4 set col1='2006-02-05' where col1='2006-02-03';
-update t5 set col1='2006-02-05' where col1='2006-02-03';
-update t6 set col1='2006-02-05' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with day(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(day(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(day(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(day(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(day(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(day(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (day('2006-12-21')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(day(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (day(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with day(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with day(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- dayofmonth(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with dayofmonth(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(dayofmonth(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(dayofmonth(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(dayofmonth(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(dayofmonth(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(dayofmonth(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (dayofmonth('2006-12-24')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with dayofmonth(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select dayofmonth(col1) from t1 order by col1;
-dayofmonth(col1)
-17
-3
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-02-03';
-update t2 set col1='2006-02-05' where col1='2006-02-03';
-update t3 set col1='2006-02-05' where col1='2006-02-03';
-update t4 set col1='2006-02-05' where col1='2006-02-03';
-update t5 set col1='2006-02-05' where col1='2006-02-03';
-update t6 set col1='2006-02-05' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with dayofmonth(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(dayofmonth(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(dayofmonth(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(dayofmonth(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(dayofmonth(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofmonth(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (dayofmonth('2006-12-24')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofmonth(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (dayofmonth(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofmonth(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofmonth(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-05
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- dayofweek(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with dayofweek(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(dayofweek(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(dayofweek(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(dayofweek(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(dayofweek(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(dayofweek(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (dayofweek('2006-12-24')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with dayofweek(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-02-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-02-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-02-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select dayofweek(col1) from t1 order by col1;
-dayofweek(col1)
-3
-6
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-02-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-01-25
-2006-02-17
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-01-25
-2006-02-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-01-03';
-update t2 set col1='2006-02-05' where col1='2006-01-03';
-update t3 set col1='2006-02-05' where col1='2006-01-03';
-update t4 set col1='2006-02-05' where col1='2006-01-03';
-update t5 set col1='2006-02-05' where col1='2006-01-03';
-update t6 set col1='2006-02-05' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with dayofweek(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(dayofweek(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(dayofweek(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(dayofweek(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(dayofweek(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofweek(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (dayofweek('2006-12-24')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofweek(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (dayofweek(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofweek(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-02-17';
-delete from t2 where col1='2006-02-17';
-delete from t3 where col1='2006-02-17';
-delete from t4 where col1='2006-02-17';
-delete from t5 where col1='2006-02-17';
-delete from t6 where col1='2006-02-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-02-17');
-insert into t2 values ('2006-02-17');
-insert into t3 values ('2006-02-17');
-insert into t4 values (60,'2006-02-17');
-insert into t5 values (60,'2006-02-17');
-insert into t6 values (60,'2006-02-17');
-select * from t1 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofweek(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-02-17';
-delete from t22 where col1='2006-02-17';
-delete from t33 where col1='2006-02-17';
-delete from t44 where col1='2006-02-17';
-delete from t55 where col1='2006-02-17';
-delete from t66 where col1='2006-02-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-02-17');
-insert into t22 values ('2006-02-17');
-insert into t33 values ('2006-02-17');
-insert into t44 values (60,'2006-02-17');
-insert into t55 values (60,'2006-02-17');
-insert into t66 values (60,'2006-02-17');
-select * from t11 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- dayofyear(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with dayofyear(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(dayofyear(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with dayofyear(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-02-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-02-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select dayofyear(col1) from t1 order by col1;
-dayofyear(col1)
-3
-17
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-01-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-01-03';
-update t2 set col1='2006-02-05' where col1='2006-01-03';
-update t3 set col1='2006-02-05' where col1='2006-01-03';
-update t4 set col1='2006-02-05' where col1='2006-01-03';
-update t5 set col1='2006-02-05' where col1='2006-01-03';
-update t6 set col1='2006-02-05' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with dayofyear(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(dayofyear(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (dayofyear(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- dayofyear(col1) in partition with coltype char(30)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with dayofyear(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(30)) engine='NDB'
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(30)) engine='NDB'
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(30)) engine='NDB'
-partition by hash(dayofyear(col1));
-create table t4 (colint int, col1 char(30)) engine='NDB'
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(30)) engine='NDB'
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(30)) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with dayofyear(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-02-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-02-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select dayofyear(col1) from t1 order by col1;
-dayofyear(col1)
-3
-17
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-01-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-01-17
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-01-03';
-update t2 set col1='2006-02-05' where col1='2006-01-03';
-update t3 set col1='2006-02-05' where col1='2006-01-03';
-update t4 set col1='2006-02-05' where col1='2006-01-03';
-update t5 set col1='2006-02-05' where col1='2006-01-03';
-update t6 set col1='2006-02-05' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with dayofyear(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(dayofyear(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(dayofyear(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(dayofyear(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (dayofyear('2006-12-25')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(dayofyear(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` char(30) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (dayofyear(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with dayofyear(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-02-05
-2006-02-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- extract(month from col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with extract(month from col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(extract(month from col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(extract(month from col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(extract(month from col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(extract(month from col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(extract(month from col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (extract(year from '1998-11-23')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with extract(month from col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-02-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-02-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-02-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select extract(month from col1) from t1 order by col1;
-extract(month from col1)
-1
-2
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-02-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-01-25
-2006-02-17
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-01-25
-2006-02-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-05' where col1='2006-01-03';
-update t2 set col1='2006-02-05' where col1='2006-01-03';
-update t3 set col1='2006-02-05' where col1='2006-01-03';
-update t4 set col1='2006-02-05' where col1='2006-01-03';
-update t5 set col1='2006-02-05' where col1='2006-01-03';
-update t6 set col1='2006-02-05' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with extract(month from col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(extract(month from col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(extract(month from col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(extract(month from col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(extract(month from col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(extract(month from col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (extract(year from '1998-11-23')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(extract(month from col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (extract(month from col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with extract(month from col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-02-17';
-delete from t2 where col1='2006-02-17';
-delete from t3 where col1='2006-02-17';
-delete from t4 where col1='2006-02-17';
-delete from t5 where col1='2006-02-17';
-delete from t6 where col1='2006-02-17';
-select * from t1 order by col1;
-col1
-2006-02-05
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-02-17');
-insert into t2 values ('2006-02-17');
-insert into t3 values ('2006-02-17');
-insert into t4 values (60,'2006-02-17');
-insert into t5 values (60,'2006-02-17');
-insert into t6 values (60,'2006-02-17');
-select * from t1 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with extract(month from col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-02-17';
-delete from t22 where col1='2006-02-17';
-delete from t33 where col1='2006-02-17';
-delete from t44 where col1='2006-02-17';
-delete from t55 where col1='2006-02-17';
-delete from t66 where col1='2006-02-17';
-select * from t11 order by col1;
-col1
-2006-02-05
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-02-17');
-insert into t22 values ('2006-02-17');
-insert into t33 values ('2006-02-17');
-insert into t44 values (60,'2006-02-17');
-insert into t55 values (60,'2006-02-17');
-insert into t66 values (60,'2006-02-17');
-select * from t11 order by col1;
-col1
-2006-02-05
-2006-02-17
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-05
-2006-02-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-02-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- hour(col1) in partition with coltype time
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with hour(col1)
--------------------------------------------------------------------------
-create table t1 (col1 time) engine='NDB'
-partition by range(hour(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 time) engine='NDB'
-partition by list(hour(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 time) engine='NDB'
-partition by hash(hour(col1));
-create table t4 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-subpartition by hash(hour(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 time) engine='NDB'
-partition by list(colint)
-subpartition by hash(hour(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (hour('18:30')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with hour(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09');
-insert into t1 values ('14:30');
-insert into t2 values ('09:09');
-insert into t2 values ('14:30');
-insert into t2 values ('21:59');
-insert into t3 values ('09:09');
-insert into t3 values ('14:30');
-insert into t3 values ('21:59');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select hour(col1) from t1 order by col1;
-hour(col1)
-9
-14
-select * from t1 order by col1;
-col1
-09:09:00
-14:30:00
-select * from t2 order by col1;
-col1
-09:09:00
-14:30:00
-21:59:00
-select * from t3 order by col1;
-col1
-09:09:00
-14:30:00
-21:59:00
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-update t1 set col1='10:30' where col1='09:09';
-update t2 set col1='10:30' where col1='09:09';
-update t3 set col1='10:30' where col1='09:09';
-update t4 set col1='10:30' where col1='09:09';
-update t5 set col1='10:30' where col1='09:09';
-update t6 set col1='10:30' where col1='09:09';
-select * from t1 order by col1;
-col1
-10:30:00
-14:30:00
-select * from t2 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t3 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Alter tables with hour(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(hour(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(hour(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(hour(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(hour(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(hour(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (hour('18:30')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:30:00
-14:30:00
-select * from t22 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t33 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t44 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t66 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(hour(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` time DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (hour(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with hour(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30';
-delete from t2 where col1='14:30';
-delete from t3 where col1='14:30';
-delete from t4 where col1='14:30';
-delete from t5 where col1='14:30';
-delete from t6 where col1='14:30';
-select * from t1 order by col1;
-col1
-10:30:00
-select * from t2 order by col1;
-col1
-10:30:00
-21:59:00
-select * from t3 order by col1;
-col1
-10:30:00
-21:59:00
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t1 values ('14:30');
-insert into t2 values ('14:30');
-insert into t3 values ('14:30');
-insert into t4 values (60,'14:30');
-insert into t5 values (60,'14:30');
-insert into t6 values (60,'14:30');
-select * from t1 order by col1;
-col1
-10:30:00
-14:30:00
-select * from t2 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t3 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:00
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:00
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:00
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with hour(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30';
-delete from t22 where col1='14:30';
-delete from t33 where col1='14:30';
-delete from t44 where col1='14:30';
-delete from t55 where col1='14:30';
-delete from t66 where col1='14:30';
-select * from t11 order by col1;
-col1
-10:30:00
-select * from t22 order by col1;
-col1
-10:30:00
-21:59:00
-select * from t33 order by col1;
-col1
-10:30:00
-21:59:00
-select * from t44 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t11 values ('14:30');
-insert into t22 values ('14:30');
-insert into t33 values ('14:30');
-insert into t44 values (60,'14:30');
-insert into t55 values (60,'14:30');
-insert into t66 values (60,'14:30');
-select * from t11 order by col1;
-col1
-10:30:00
-14:30:00
-select * from t22 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t33 order by col1;
-col1
-10:30:00
-14:30:00
-21:59:00
-select * from t44 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:00
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:00
-select * from t66 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:00
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- microsecond(col1) in partition with coltype time
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with microsecond(col1)
--------------------------------------------------------------------------
-create table t1 (col1 time) engine='NDB'
-partition by range(microsecond(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 time) engine='NDB'
-partition by list(microsecond(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 time) engine='NDB'
-partition by hash(microsecond(col1));
-create table t4 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-subpartition by hash(microsecond(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 time) engine='NDB'
-partition by list(colint)
-subpartition by hash(microsecond(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (microsecond('10:30:10.000010')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with microsecond(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:15.000002');
-insert into t1 values ('04:30:01.000018');
-insert into t2 values ('09:09:15.000002');
-insert into t2 values ('04:30:01.000018');
-insert into t2 values ('00:59:22.000024');
-insert into t3 values ('09:09:15.000002');
-insert into t3 values ('04:30:01.000018');
-insert into t3 values ('00:59:22.000024');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select microsecond(col1) from t1 order by col1;
-microsecond(col1)
-0
-0
-select * from t1 order by col1;
-col1
-04:30:01
-09:09:15
-select * from t2 order by col1;
-col1
-00:59:22
-04:30:01
-09:09:15
-select * from t3 order by col1;
-col1
-00:59:22
-04:30:01
-09:09:15
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-update t1 set col1='05:30:34.000037' where col1='09:09:15.000002';
-update t2 set col1='05:30:34.000037' where col1='09:09:15.000002';
-update t3 set col1='05:30:34.000037' where col1='09:09:15.000002';
-update t4 set col1='05:30:34.000037' where col1='09:09:15.000002';
-update t5 set col1='05:30:34.000037' where col1='09:09:15.000002';
-update t6 set col1='05:30:34.000037' where col1='09:09:15.000002';
-select * from t1 order by col1;
-col1
-04:30:01
-05:30:34
-select * from t2 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t3 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t4 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Alter tables with microsecond(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(microsecond(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(microsecond(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(microsecond(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(microsecond(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(microsecond(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (microsecond('10:30:10.000010')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-04:30:01
-05:30:34
-select * from t22 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t33 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t44 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t66 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(microsecond(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` time DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (microsecond(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 05:30:34
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with microsecond(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='04:30:01.000018';
-delete from t2 where col1='04:30:01.000018';
-delete from t3 where col1='04:30:01.000018';
-delete from t4 where col1='04:30:01.000018';
-delete from t5 where col1='04:30:01.000018';
-delete from t6 where col1='04:30:01.000018';
-select * from t1 order by col1;
-col1
-05:30:34
-select * from t2 order by col1;
-col1
-00:59:22
-05:30:34
-select * from t3 order by col1;
-col1
-00:59:22
-05:30:34
-select * from t4 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-insert into t1 values ('04:30:01.000018');
-insert into t2 values ('04:30:01.000018');
-insert into t3 values ('04:30:01.000018');
-insert into t4 values (60,'04:30:01.000018');
-insert into t5 values (60,'04:30:01.000018');
-insert into t6 values (60,'04:30:01.000018');
-select * from t1 order by col1;
-col1
-04:30:01
-05:30:34
-select * from t2 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t3 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t4 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-60 04:30:01
-select * from t5 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-60 04:30:01
-select * from t6 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-60 04:30:01
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with microsecond(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='04:30:01.000018';
-delete from t22 where col1='04:30:01.000018';
-delete from t33 where col1='04:30:01.000018';
-delete from t44 where col1='04:30:01.000018';
-delete from t55 where col1='04:30:01.000018';
-delete from t66 where col1='04:30:01.000018';
-select * from t11 order by col1;
-col1
-05:30:34
-select * from t22 order by col1;
-col1
-00:59:22
-05:30:34
-select * from t33 order by col1;
-col1
-00:59:22
-05:30:34
-select * from t44 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-insert into t11 values ('04:30:01.000018');
-insert into t22 values ('04:30:01.000018');
-insert into t33 values ('04:30:01.000018');
-insert into t44 values (60,'04:30:01.000018');
-insert into t55 values (60,'04:30:01.000018');
-insert into t66 values (60,'04:30:01.000018');
-select * from t11 order by col1;
-col1
-04:30:01
-05:30:34
-select * from t22 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t33 order by col1;
-col1
-00:59:22
-04:30:01
-05:30:34
-select * from t44 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-60 04:30:01
-select * from t55 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-60 04:30:01
-select * from t66 order by colint;
-colint col1
-1 05:30:34
-3 00:59:22
-4 05:30:34
-60 04:30:01
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- minute(col1) in partition with coltype time
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with minute(col1)
--------------------------------------------------------------------------
-create table t1 (col1 time) engine='NDB'
-partition by range(minute(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 time) engine='NDB'
-partition by list(minute(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 time) engine='NDB'
-partition by hash(minute(col1));
-create table t4 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-subpartition by hash(minute(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 time) engine='NDB'
-partition by list(colint)
-subpartition by hash(minute(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (minute('18:30')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with minute(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:15');
-insert into t1 values ('14:30:45');
-insert into t2 values ('09:09:15');
-insert into t2 values ('14:30:45');
-insert into t2 values ('21:59:22');
-insert into t3 values ('09:09:15');
-insert into t3 values ('14:30:45');
-insert into t3 values ('21:59:22');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select minute(col1) from t1 order by col1;
-minute(col1)
-9
-30
-select * from t1 order by col1;
-col1
-09:09:15
-14:30:45
-select * from t2 order by col1;
-col1
-09:09:15
-14:30:45
-21:59:22
-select * from t3 order by col1;
-col1
-09:09:15
-14:30:45
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-update t1 set col1='10:24:23' where col1='09:09:15';
-update t2 set col1='10:24:23' where col1='09:09:15';
-update t3 set col1='10:24:23' where col1='09:09:15';
-update t4 set col1='10:24:23' where col1='09:09:15';
-update t5 set col1='10:24:23' where col1='09:09:15';
-update t6 set col1='10:24:23' where col1='09:09:15';
-select * from t1 order by col1;
-col1
-10:24:23
-14:30:45
-select * from t2 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t3 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Alter tables with minute(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(minute(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(minute(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(minute(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(minute(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(minute(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (minute('18:30')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:24:23
-14:30:45
-select * from t22 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t33 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t66 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(minute(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` time DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (minute(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with minute(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30:45';
-delete from t2 where col1='14:30:45';
-delete from t3 where col1='14:30:45';
-delete from t4 where col1='14:30:45';
-delete from t5 where col1='14:30:45';
-delete from t6 where col1='14:30:45';
-select * from t1 order by col1;
-col1
-10:24:23
-select * from t2 order by col1;
-col1
-10:24:23
-21:59:22
-select * from t3 order by col1;
-col1
-10:24:23
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t1 values ('14:30:45');
-insert into t2 values ('14:30:45');
-insert into t3 values ('14:30:45');
-insert into t4 values (60,'14:30:45');
-insert into t5 values (60,'14:30:45');
-insert into t6 values (60,'14:30:45');
-select * from t1 order by col1;
-col1
-10:24:23
-14:30:45
-select * from t2 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t3 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t5 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t6 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with minute(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30:45';
-delete from t22 where col1='14:30:45';
-delete from t33 where col1='14:30:45';
-delete from t44 where col1='14:30:45';
-delete from t55 where col1='14:30:45';
-delete from t66 where col1='14:30:45';
-select * from t11 order by col1;
-col1
-10:24:23
-select * from t22 order by col1;
-col1
-10:24:23
-21:59:22
-select * from t33 order by col1;
-col1
-10:24:23
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t11 values ('14:30:45');
-insert into t22 values ('14:30:45');
-insert into t33 values ('14:30:45');
-insert into t44 values (60,'14:30:45');
-insert into t55 values (60,'14:30:45');
-insert into t66 values (60,'14:30:45');
-select * from t11 order by col1;
-col1
-10:24:23
-14:30:45
-select * from t22 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t33 order by col1;
-col1
-10:24:23
-14:30:45
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t55 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t66 order by colint;
-colint col1
-1 10:24:23
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- second(col1) in partition with coltype time
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with second(col1)
--------------------------------------------------------------------------
-create table t1 (col1 time) engine='NDB'
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 time) engine='NDB'
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 time) engine='NDB'
-partition by hash(second(col1));
-create table t4 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 time) engine='NDB'
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with second(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:09');
-insert into t1 values ('14:30:20');
-insert into t2 values ('09:09:09');
-insert into t2 values ('14:30:20');
-insert into t2 values ('21:59:22');
-insert into t3 values ('09:09:09');
-insert into t3 values ('14:30:20');
-insert into t3 values ('21:59:22');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select second(col1) from t1 order by col1;
-second(col1)
-9
-20
-select * from t1 order by col1;
-col1
-09:09:09
-14:30:20
-select * from t2 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-update t1 set col1='10:22:33' where col1='09:09:09';
-update t2 set col1='10:22:33' where col1='09:09:09';
-update t3 set col1='10:22:33' where col1='09:09:09';
-update t4 set col1='10:22:33' where col1='09:09:09';
-update t5 set col1='10:22:33' where col1='09:09:09';
-update t6 set col1='10:22:33' where col1='09:09:09';
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Alter tables with second(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(second(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t66 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` time DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (second(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30:20';
-delete from t2 where col1='14:30:20';
-delete from t3 where col1='14:30:20';
-delete from t4 where col1='14:30:20';
-delete from t5 where col1='14:30:20';
-delete from t6 where col1='14:30:20';
-select * from t1 order by col1;
-col1
-10:22:33
-select * from t2 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t1 values ('14:30:20');
-insert into t2 values ('14:30:20');
-insert into t3 values ('14:30:20');
-insert into t4 values (60,'14:30:20');
-insert into t5 values (60,'14:30:20');
-insert into t6 values (60,'14:30:20');
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:20
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:20
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:20
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30:20';
-delete from t22 where col1='14:30:20';
-delete from t33 where col1='14:30:20';
-delete from t44 where col1='14:30:20';
-delete from t55 where col1='14:30:20';
-delete from t66 where col1='14:30:20';
-select * from t11 order by col1;
-col1
-10:22:33
-select * from t22 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t11 values ('14:30:20');
-insert into t22 values ('14:30:20');
-insert into t33 values ('14:30:20');
-insert into t44 values (60,'14:30:20');
-insert into t55 values (60,'14:30:20');
-insert into t66 values (60,'14:30:20');
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:20
-select * from t55 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:20
-select * from t66 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:20
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- second(col1) in partition with coltype char(30)
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with second(col1)
--------------------------------------------------------------------------
-create table t1 (col1 char(30)) engine='NDB'
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 char(30)) engine='NDB'
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 char(30)) engine='NDB'
-partition by hash(second(col1));
-create table t4 (colint int, col1 char(30)) engine='NDB'
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 char(30)) engine='NDB'
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 char(30)) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with second(col1)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:09');
-insert into t1 values ('14:30:20');
-insert into t2 values ('09:09:09');
-insert into t2 values ('14:30:20');
-insert into t2 values ('21:59:22');
-insert into t3 values ('09:09:09');
-insert into t3 values ('14:30:20');
-insert into t3 values ('21:59:22');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select second(col1) from t1 order by col1;
-second(col1)
-9
-20
-select * from t1 order by col1;
-col1
-09:09:09
-14:30:20
-select * from t2 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-09:09:09
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-update t1 set col1='10:22:33' where col1='09:09:09';
-update t2 set col1='10:22:33' where col1='09:09:09';
-update t3 set col1='10:22:33' where col1='09:09:09';
-update t4 set col1='10:22:33' where col1='09:09:09';
-update t5 set col1='10:22:33' where col1='09:09:09';
-update t6 set col1='10:22:33' where col1='09:09:09';
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
--------------------------------------------------------------------------
---- Alter tables with second(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(second(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(second(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(second(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (second('18:30:14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(second(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` char(30) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (second(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30:20';
-delete from t2 where col1='14:30:20';
-delete from t3 where col1='14:30:20';
-delete from t4 where col1='14:30:20';
-delete from t5 where col1='14:30:20';
-delete from t6 where col1='14:30:20';
-select * from t1 order by col1;
-col1
-10:22:33
-select * from t2 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-insert into t1 values ('14:30:20');
-insert into t2 values ('14:30:20');
-insert into t3 values ('14:30:20');
-insert into t4 values (60,'14:30:20');
-insert into t5 values (60,'14:30:20');
-insert into t6 values (60,'14:30:20');
-select * from t1 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t2 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t3 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t5 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t6 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with second(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30:20';
-delete from t22 where col1='14:30:20';
-delete from t33 where col1='14:30:20';
-delete from t44 where col1='14:30:20';
-delete from t55 where col1='14:30:20';
-delete from t66 where col1='14:30:20';
-select * from t11 order by col1;
-col1
-10:22:33
-select * from t22 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-insert into t11 values ('14:30:20');
-insert into t22 values ('14:30:20');
-insert into t33 values ('14:30:20');
-insert into t44 values (60,'14:30:20');
-insert into t55 values (60,'14:30:20');
-insert into t66 values (60,'14:30:20');
-select * from t11 order by col1;
-col1
-10:22:33
-14:30:20
-select * from t22 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t33 order by col1;
-col1
-10:22:33
-14:30:20
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t55 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
-select * from t66 order by colint;
-colint col1
-1 09:09:15.000002
-2 04:30:01.000018
-3 00:59:22.000024
-4 05:30:34.000037
-60 14:30:20
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- month(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with month(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(month(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(month(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(month(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(month(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(month(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (month('2006-10-14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with month(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-12-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-12-17');
-insert into t2 values ('2006-05-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-12-17');
-insert into t3 values ('2006-05-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select month(col1) from t1 order by col1;
-month(col1)
-1
-12
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-12-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-05-25
-2006-12-17
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-05-25
-2006-12-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-11-06' where col1='2006-01-03';
-update t2 set col1='2006-11-06' where col1='2006-01-03';
-update t3 set col1='2006-11-06' where col1='2006-01-03';
-update t4 set col1='2006-11-06' where col1='2006-01-03';
-update t5 set col1='2006-11-06' where col1='2006-01-03';
-update t6 set col1='2006-11-06' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-11-06
-2006-12-17
-select * from t2 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t3 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with month(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(month(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(month(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(month(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(month(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(month(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (month('2006-10-14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-11-06
-2006-12-17
-select * from t22 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t33 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(month(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (month(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with month(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-12-17';
-delete from t2 where col1='2006-12-17';
-delete from t3 where col1='2006-12-17';
-delete from t4 where col1='2006-12-17';
-delete from t5 where col1='2006-12-17';
-delete from t6 where col1='2006-12-17';
-select * from t1 order by col1;
-col1
-2006-11-06
-select * from t2 order by col1;
-col1
-2006-05-25
-2006-11-06
-select * from t3 order by col1;
-col1
-2006-05-25
-2006-11-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-12-17');
-insert into t2 values ('2006-12-17');
-insert into t3 values ('2006-12-17');
-insert into t4 values (60,'2006-12-17');
-insert into t5 values (60,'2006-12-17');
-insert into t6 values (60,'2006-12-17');
-select * from t1 order by col1;
-col1
-2006-11-06
-2006-12-17
-select * from t2 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t3 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with month(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-12-17';
-delete from t22 where col1='2006-12-17';
-delete from t33 where col1='2006-12-17';
-delete from t44 where col1='2006-12-17';
-delete from t55 where col1='2006-12-17';
-delete from t66 where col1='2006-12-17';
-select * from t11 order by col1;
-col1
-2006-11-06
-select * from t22 order by col1;
-col1
-2006-05-25
-2006-11-06
-select * from t33 order by col1;
-col1
-2006-05-25
-2006-11-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-12-17');
-insert into t22 values ('2006-12-17');
-insert into t33 values ('2006-12-17');
-insert into t44 values (60,'2006-12-17');
-insert into t55 values (60,'2006-12-17');
-insert into t66 values (60,'2006-12-17');
-select * from t11 order by col1;
-col1
-2006-11-06
-2006-12-17
-select * from t22 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t33 order by col1;
-col1
-2006-05-25
-2006-11-06
-2006-12-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- quarter(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with quarter(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(quarter(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(quarter(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(quarter(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(quarter(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(quarter(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (quarter('2006-10-14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with quarter(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-12-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-12-17');
-insert into t2 values ('2006-09-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-12-17');
-insert into t3 values ('2006-09-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select quarter(col1) from t1 order by col1;
-quarter(col1)
-1
-4
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-12-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-09-25
-2006-12-17
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-09-25
-2006-12-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-07-30' where col1='2006-01-03';
-update t2 set col1='2006-07-30' where col1='2006-01-03';
-update t3 set col1='2006-07-30' where col1='2006-01-03';
-update t4 set col1='2006-07-30' where col1='2006-01-03';
-update t5 set col1='2006-07-30' where col1='2006-01-03';
-update t6 set col1='2006-07-30' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-07-30
-2006-12-17
-select * from t2 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t3 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with quarter(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(quarter(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(quarter(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(quarter(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(quarter(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(quarter(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (quarter('2006-10-14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-07-30
-2006-12-17
-select * from t22 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t33 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(quarter(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (quarter(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with quarter(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-12-17';
-delete from t2 where col1='2006-12-17';
-delete from t3 where col1='2006-12-17';
-delete from t4 where col1='2006-12-17';
-delete from t5 where col1='2006-12-17';
-delete from t6 where col1='2006-12-17';
-select * from t1 order by col1;
-col1
-2006-07-30
-select * from t2 order by col1;
-col1
-2006-07-30
-2006-09-25
-select * from t3 order by col1;
-col1
-2006-07-30
-2006-09-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-12-17');
-insert into t2 values ('2006-12-17');
-insert into t3 values ('2006-12-17');
-insert into t4 values (60,'2006-12-17');
-insert into t5 values (60,'2006-12-17');
-insert into t6 values (60,'2006-12-17');
-select * from t1 order by col1;
-col1
-2006-07-30
-2006-12-17
-select * from t2 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t3 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with quarter(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-12-17';
-delete from t22 where col1='2006-12-17';
-delete from t33 where col1='2006-12-17';
-delete from t44 where col1='2006-12-17';
-delete from t55 where col1='2006-12-17';
-delete from t66 where col1='2006-12-17';
-select * from t11 order by col1;
-col1
-2006-07-30
-select * from t22 order by col1;
-col1
-2006-07-30
-2006-09-25
-select * from t33 order by col1;
-col1
-2006-07-30
-2006-09-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-12-17');
-insert into t22 values ('2006-12-17');
-insert into t33 values ('2006-12-17');
-insert into t44 values (60,'2006-12-17');
-insert into t55 values (60,'2006-12-17');
-insert into t66 values (60,'2006-12-17');
-select * from t11 order by col1;
-col1
-2006-07-30
-2006-12-17
-select * from t22 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t33 order by col1;
-col1
-2006-07-30
-2006-09-25
-2006-12-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-12-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- time_to_sec(col1)-(time_to_sec(col1)-20) in partition with coltype time
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with time_to_sec(col1)-(time_to_sec(col1)-20)
--------------------------------------------------------------------------
-create table t1 (col1 time) engine='NDB'
-partition by range(time_to_sec(col1)-(time_to_sec(col1)-20))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 time) engine='NDB'
-partition by list(time_to_sec(col1)-(time_to_sec(col1)-20))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 time) engine='NDB'
-partition by hash(time_to_sec(col1)-(time_to_sec(col1)-20));
-create table t4 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-subpartition by hash(time_to_sec(col1)-(time_to_sec(col1)-20)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 time) engine='NDB'
-partition by list(colint)
-subpartition by hash(time_to_sec(col1)-(time_to_sec(col1)-20)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 time) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (time_to_sec('18:30:14')-(time_to_sec('17:59:59'))),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with time_to_sec(col1)-(time_to_sec(col1)-20)
--------------------------------------------------------------------------
-insert into t1 values ('09:09:15');
-insert into t1 values ('14:30:45');
-insert into t2 values ('09:09:15');
-insert into t2 values ('14:30:45');
-insert into t2 values ('21:59:22');
-insert into t3 values ('09:09:15');
-insert into t3 values ('14:30:45');
-insert into t3 values ('21:59:22');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6;
-select time_to_sec(col1)-(time_to_sec(col1)-20) from t1 order by col1;
-time_to_sec(col1)-(time_to_sec(col1)-20)
-20
-20
-select * from t1 order by col1;
-col1
-09:09:15
-14:30:45
-select * from t2 order by col1;
-col1
-09:09:15
-14:30:45
-21:59:22
-select * from t3 order by col1;
-col1
-09:09:15
-14:30:45
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 09:09:15
-2 04:30:01
-3 00:59:22
-4 05:30:34
-update t1 set col1='10:33:11' where col1='09:09:15';
-update t2 set col1='10:33:11' where col1='09:09:15';
-update t3 set col1='10:33:11' where col1='09:09:15';
-update t4 set col1='10:33:11' where col1='09:09:15';
-update t5 set col1='10:33:11' where col1='09:09:15';
-update t6 set col1='10:33:11' where col1='09:09:15';
-select * from t1 order by col1;
-col1
-10:33:11
-14:30:45
-select * from t2 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t3 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t6 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Alter tables with time_to_sec(col1)-(time_to_sec(col1)-20)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(time_to_sec(col1)-(time_to_sec(col1)-20))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(time_to_sec(col1)-(time_to_sec(col1)-20))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(time_to_sec(col1)-(time_to_sec(col1)-20));
-alter table t44
-partition by range(colint)
-subpartition by hash(time_to_sec(col1)-(time_to_sec(col1)-20)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(time_to_sec(col1)-(time_to_sec(col1)-20)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (time_to_sec('18:30:14')-(time_to_sec('17:59:59'))),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-10:33:11
-14:30:45
-select * from t22 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t33 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t66 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(time_to_sec(col1)-(time_to_sec(col1)-20)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` time DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (time_to_sec(col1)-(time_to_sec(col1)-20))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with time_to_sec(col1)-(time_to_sec(col1)-20)
--------------------------------------------------------------------------
-delete from t1 where col1='14:30:45';
-delete from t2 where col1='14:30:45';
-delete from t3 where col1='14:30:45';
-delete from t4 where col1='14:30:45';
-delete from t5 where col1='14:30:45';
-delete from t6 where col1='14:30:45';
-select * from t1 order by col1;
-col1
-10:33:11
-select * from t2 order by col1;
-col1
-10:33:11
-21:59:22
-select * from t3 order by col1;
-col1
-10:33:11
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t5 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t1 values ('14:30:45');
-insert into t2 values ('14:30:45');
-insert into t3 values ('14:30:45');
-insert into t4 values (60,'14:30:45');
-insert into t5 values (60,'14:30:45');
-insert into t6 values (60,'14:30:45');
-select * from t1 order by col1;
-col1
-10:33:11
-14:30:45
-select * from t2 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t3 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t4 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t5 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t6 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with time_to_sec(col1)-(time_to_sec(col1)-20)
--------------------------------------------------------------------------
-delete from t11 where col1='14:30:45';
-delete from t22 where col1='14:30:45';
-delete from t33 where col1='14:30:45';
-delete from t44 where col1='14:30:45';
-delete from t55 where col1='14:30:45';
-delete from t66 where col1='14:30:45';
-select * from t11 order by col1;
-col1
-10:33:11
-select * from t22 order by col1;
-col1
-10:33:11
-21:59:22
-select * from t33 order by col1;
-col1
-10:33:11
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-select * from t55 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-insert into t11 values ('14:30:45');
-insert into t22 values ('14:30:45');
-insert into t33 values ('14:30:45');
-insert into t44 values (60,'14:30:45');
-insert into t55 values (60,'14:30:45');
-insert into t66 values (60,'14:30:45');
-select * from t11 order by col1;
-col1
-10:33:11
-14:30:45
-select * from t22 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t33 order by col1;
-col1
-10:33:11
-14:30:45
-21:59:22
-select * from t44 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t55 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
-select * from t66 order by colint;
-colint col1
-1 10:33:11
-2 04:30:01
-3 00:59:22
-4 05:30:34
-60 14:30:45
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- to_days(col1)-to_days('2006-01-01') in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(to_days(col1)-to_days('2006-01-01'));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select to_days(col1)-to_days('2006-01-01') from t1 order by col1;
-to_days(col1)-to_days('2006-01-01')
-16
-33
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-02-03';
-update t2 set col1='2006-02-06' where col1='2006-02-03';
-update t3 set col1='2006-02-06' where col1='2006-02-03';
-update t4 set col1='2006-02-06' where col1='2006-02-03';
-update t5 set col1='2006-02-06' where col1='2006-02-03';
-update t6 set col1='2006-02-06' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(to_days(col1)-to_days('2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(to_days(col1)-to_days('2006-01-01'));
-alter table t44
-partition by range(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (to_days('2006-02-02')-to_days('2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(to_days(col1)-to_days('2006-01-01')) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (to_days(col1)-to_days('2006-01-01'))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with to_days(col1)-to_days('2006-01-01')
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- datediff(col1, '2006-01-01') in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(datediff(col1, '2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(datediff(col1, '2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(datediff(col1, '2006-01-01'));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-insert into t1 values ('2006-02-03');
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-02-03');
-insert into t2 values ('2006-01-17');
-insert into t2 values ('2006-01-25');
-insert into t3 values ('2006-02-03');
-insert into t3 values ('2006-01-17');
-insert into t3 values ('2006-01-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select datediff(col1, '2006-01-01') from t1 order by col1;
-datediff(col1, '2006-01-01')
-16
-33
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-03
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-02-03';
-update t2 set col1='2006-02-06' where col1='2006-02-03';
-update t3 set col1='2006-02-06' where col1='2006-02-03';
-update t4 set col1='2006-02-06' where col1='2006-02-03';
-update t5 set col1='2006-02-06' where col1='2006-02-03';
-update t6 set col1='2006-02-06' where col1='2006-02-03';
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(datediff(col1, '2006-01-01'))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(datediff(col1, '2006-01-01'))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(datediff(col1, '2006-01-01'));
-alter table t44
-partition by range(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (datediff('2006-02-02', '2006-01-01')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(datediff(col1, '2006-01-01')) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (datediff(col1, '2006-01-01'))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-delete from t1 where col1='2006-01-17';
-delete from t2 where col1='2006-01-17';
-delete from t3 where col1='2006-01-17';
-delete from t4 where col1='2006-01-17';
-delete from t5 where col1='2006-01-17';
-delete from t6 where col1='2006-01-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-01-17');
-insert into t2 values ('2006-01-17');
-insert into t3 values ('2006-01-17');
-insert into t4 values (60,'2006-01-17');
-insert into t5 values (60,'2006-01-17');
-insert into t6 values (60,'2006-01-17');
-select * from t1 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t3 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t4 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with datediff(col1, '2006-01-01')
--------------------------------------------------------------------------
-delete from t11 where col1='2006-01-17';
-delete from t22 where col1='2006-01-17';
-delete from t33 where col1='2006-01-17';
-delete from t44 where col1='2006-01-17';
-delete from t55 where col1='2006-01-17';
-delete from t66 where col1='2006-01-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-01-17');
-insert into t22 values ('2006-01-17');
-insert into t33 values ('2006-01-17');
-insert into t44 values (60,'2006-01-17');
-insert into t55 values (60,'2006-01-17');
-insert into t66 values (60,'2006-01-17');
-select * from t11 order by col1;
-col1
-2006-01-17
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t33 order by col1;
-col1
-2006-01-17
-2006-01-25
-2006-02-06
-select * from t44 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-06
-3 2006-01-25
-4 2006-02-05
-60 2006-01-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- weekday(col1) in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with weekday(col1)
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(weekday(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(weekday(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(weekday(col1));
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (weekday('2006-10-14')),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with weekday(col1)
--------------------------------------------------------------------------
-insert into t1 values ('2006-12-03');
-insert into t1 values ('2006-11-17');
-insert into t2 values ('2006-12-03');
-insert into t2 values ('2006-11-17');
-insert into t2 values ('2006-05-25');
-insert into t3 values ('2006-12-03');
-insert into t3 values ('2006-11-17');
-insert into t3 values ('2006-05-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select weekday(col1) from t1 order by col1;
-weekday(col1)
-4
-6
-select * from t1 order by col1;
-col1
-2006-11-17
-2006-12-03
-select * from t2 order by col1;
-col1
-2006-05-25
-2006-11-17
-2006-12-03
-select * from t3 order by col1;
-col1
-2006-05-25
-2006-11-17
-2006-12-03
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-02-06' where col1='2006-12-03';
-update t2 set col1='2006-02-06' where col1='2006-12-03';
-update t3 set col1='2006-02-06' where col1='2006-12-03';
-update t4 set col1='2006-02-06' where col1='2006-12-03';
-update t5 set col1='2006-02-06' where col1='2006-12-03';
-update t6 set col1='2006-02-06' where col1='2006-12-03';
-select * from t1 order by col1;
-col1
-2006-02-06
-2006-11-17
-select * from t2 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t3 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with weekday(col1)
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(weekday(col1))
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(weekday(col1))
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(weekday(col1));
-alter table t44
-partition by range(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(weekday(col1)) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (weekday('2006-10-14')),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-02-06
-2006-11-17
-select * from t22 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t33 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(weekday(col1)) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (weekday(col1))
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekday(col1)
--------------------------------------------------------------------------
-delete from t1 where col1='2006-11-17';
-delete from t2 where col1='2006-11-17';
-delete from t3 where col1='2006-11-17';
-delete from t4 where col1='2006-11-17';
-delete from t5 where col1='2006-11-17';
-delete from t6 where col1='2006-11-17';
-select * from t1 order by col1;
-col1
-2006-02-06
-select * from t2 order by col1;
-col1
-2006-02-06
-2006-05-25
-select * from t3 order by col1;
-col1
-2006-02-06
-2006-05-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-11-17');
-insert into t2 values ('2006-11-17');
-insert into t3 values ('2006-11-17');
-insert into t4 values (60,'2006-11-17');
-insert into t5 values (60,'2006-11-17');
-insert into t6 values (60,'2006-11-17');
-select * from t1 order by col1;
-col1
-2006-02-06
-2006-11-17
-select * from t2 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t3 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-11-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-11-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-11-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with weekday(col1)
--------------------------------------------------------------------------
-delete from t11 where col1='2006-11-17';
-delete from t22 where col1='2006-11-17';
-delete from t33 where col1='2006-11-17';
-delete from t44 where col1='2006-11-17';
-delete from t55 where col1='2006-11-17';
-delete from t66 where col1='2006-11-17';
-select * from t11 order by col1;
-col1
-2006-02-06
-select * from t22 order by col1;
-col1
-2006-02-06
-2006-05-25
-select * from t33 order by col1;
-col1
-2006-02-06
-2006-05-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-11-17');
-insert into t22 values ('2006-11-17');
-insert into t33 values ('2006-11-17');
-insert into t44 values (60,'2006-11-17');
-insert into t55 values (60,'2006-11-17');
-insert into t66 values (60,'2006-11-17');
-select * from t11 order by col1;
-col1
-2006-02-06
-2006-11-17
-select * from t22 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t33 order by col1;
-col1
-2006-02-06
-2006-05-25
-2006-11-17
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-11-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-11-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-11-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- year(col1)-1990 in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with year(col1)-1990
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(year(col1)-1990)
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(year(col1)-1990)
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(year(col1)-1990);
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(year(col1)-1990) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(year(col1)-1990) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (year('2005-10-14')-1990),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with year(col1)-1990
--------------------------------------------------------------------------
-insert into t1 values ('1996-01-03');
-insert into t1 values ('2000-02-17');
-insert into t2 values ('1996-01-03');
-insert into t2 values ('2000-02-17');
-insert into t2 values ('2004-05-25');
-insert into t3 values ('1996-01-03');
-insert into t3 values ('2000-02-17');
-insert into t3 values ('2004-05-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select year(col1)-1990 from t1 order by col1;
-year(col1)-1990
-6
-10
-select * from t1 order by col1;
-col1
-1996-01-03
-2000-02-17
-select * from t2 order by col1;
-col1
-1996-01-03
-2000-02-17
-2004-05-25
-select * from t3 order by col1;
-col1
-1996-01-03
-2000-02-17
-2004-05-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2002-02-15' where col1='1996-01-03';
-update t2 set col1='2002-02-15' where col1='1996-01-03';
-update t3 set col1='2002-02-15' where col1='1996-01-03';
-update t4 set col1='2002-02-15' where col1='1996-01-03';
-update t5 set col1='2002-02-15' where col1='1996-01-03';
-update t6 set col1='2002-02-15' where col1='1996-01-03';
-select * from t1 order by col1;
-col1
-2000-02-17
-2002-02-15
-select * from t2 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t3 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with year(col1)-1990
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(year(col1)-1990)
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(year(col1)-1990)
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(year(col1)-1990);
-alter table t44
-partition by range(colint)
-subpartition by hash(year(col1)-1990) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(year(col1)-1990) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (year('2005-10-14')-1990),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2000-02-17
-2002-02-15
-select * from t22 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t33 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(year(col1)-1990) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (year(col1)-1990)
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with year(col1)-1990
--------------------------------------------------------------------------
-delete from t1 where col1='2000-02-17';
-delete from t2 where col1='2000-02-17';
-delete from t3 where col1='2000-02-17';
-delete from t4 where col1='2000-02-17';
-delete from t5 where col1='2000-02-17';
-delete from t6 where col1='2000-02-17';
-select * from t1 order by col1;
-col1
-2002-02-15
-select * from t2 order by col1;
-col1
-2002-02-15
-2004-05-25
-select * from t3 order by col1;
-col1
-2002-02-15
-2004-05-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2000-02-17');
-insert into t2 values ('2000-02-17');
-insert into t3 values ('2000-02-17');
-insert into t4 values (60,'2000-02-17');
-insert into t5 values (60,'2000-02-17');
-insert into t6 values (60,'2000-02-17');
-select * from t1 order by col1;
-col1
-2000-02-17
-2002-02-15
-select * from t2 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t3 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2000-02-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2000-02-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2000-02-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with year(col1)-1990
--------------------------------------------------------------------------
-delete from t11 where col1='2000-02-17';
-delete from t22 where col1='2000-02-17';
-delete from t33 where col1='2000-02-17';
-delete from t44 where col1='2000-02-17';
-delete from t55 where col1='2000-02-17';
-delete from t66 where col1='2000-02-17';
-select * from t11 order by col1;
-col1
-2002-02-15
-select * from t22 order by col1;
-col1
-2002-02-15
-2004-05-25
-select * from t33 order by col1;
-col1
-2002-02-15
-2004-05-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2000-02-17');
-insert into t22 values ('2000-02-17');
-insert into t33 values ('2000-02-17');
-insert into t44 values (60,'2000-02-17');
-insert into t55 values (60,'2000-02-17');
-insert into t66 values (60,'2000-02-17');
-select * from t11 order by col1;
-col1
-2000-02-17
-2002-02-15
-select * from t22 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t33 order by col1;
-col1
-2000-02-17
-2002-02-15
-2004-05-25
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2000-02-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2000-02-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2000-02-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
--------------------------------------------------------------------------
---- yearweek(col1)-200600 in partition with coltype date
--------------------------------------------------------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
--------------------------------------------------------------------------
---- Create tables with yearweek(col1)-200600
--------------------------------------------------------------------------
-create table t1 (col1 date) engine='NDB'
-partition by range(yearweek(col1)-200600)
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t2 (col1 date) engine='NDB'
-partition by list(yearweek(col1)-200600)
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-create table t3 (col1 date) engine='NDB'
-partition by hash(yearweek(col1)-200600);
-create table t4 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-subpartition by hash(yearweek(col1)-200600) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-create table t5 (colint int, col1 date) engine='NDB'
-partition by list(colint)
-subpartition by hash(yearweek(col1)-200600) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-create table t6 (colint int, col1 date) engine='NDB'
-partition by range(colint)
-(partition p0 values less than (yearweek('2006-10-14')-200600),
-partition p1 values less than maxvalue);
--------------------------------------------------------------------------
---- Access tables with yearweek(col1)-200600
--------------------------------------------------------------------------
-insert into t1 values ('2006-01-03');
-insert into t1 values ('2006-08-17');
-insert into t2 values ('2006-01-03');
-insert into t2 values ('2006-08-17');
-insert into t2 values ('2006-03-25');
-insert into t3 values ('2006-01-03');
-insert into t3 values ('2006-08-17');
-insert into t3 values ('2006-03-25');
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5;
-load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6;
-select yearweek(col1)-200600 from t1 order by col1;
-yearweek(col1)-200600
-1
-33
-select * from t1 order by col1;
-col1
-2006-01-03
-2006-08-17
-select * from t2 order by col1;
-col1
-2006-01-03
-2006-03-25
-2006-08-17
-select * from t3 order by col1;
-col1
-2006-01-03
-2006-03-25
-2006-08-17
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-update t1 set col1='2006-11-15' where col1='2006-01-03';
-update t2 set col1='2006-11-15' where col1='2006-01-03';
-update t3 set col1='2006-11-15' where col1='2006-01-03';
-update t4 set col1='2006-11-15' where col1='2006-01-03';
-update t5 set col1='2006-11-15' where col1='2006-01-03';
-update t6 set col1='2006-11-15' where col1='2006-01-03';
-select * from t1 order by col1;
-col1
-2006-08-17
-2006-11-15
-select * from t2 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t3 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Alter tables with yearweek(col1)-200600
--------------------------------------------------------------------------
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
-create table t11 engine='NDB' as select * from t1;
-create table t22 engine='NDB' as select * from t2;
-create table t33 engine='NDB' as select * from t3;
-create table t44 engine='NDB' as select * from t4;
-create table t55 engine='NDB' as select * from t5;
-create table t66 engine='NDB' as select * from t6;
-alter table t11
-partition by range(yearweek(col1)-200600)
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t22
-partition by list(yearweek(col1)-200600)
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10),
-partition p1 values in (11,12,13,14,15,16,17,18,19,20),
-partition p2 values in (21,22,23,24,25,26,27,28,29,30),
-partition p3 values in (31,32,33,34,35,36,37,38,39,40),
-partition p4 values in (41,42,43,44,45,46,47,48,49,50),
-partition p5 values in (51,52,53,54,55,56,57,58,59,60)
-);
-alter table t33
-partition by hash(yearweek(col1)-200600);
-alter table t44
-partition by range(colint)
-subpartition by hash(yearweek(col1)-200600) subpartitions 2
-(partition p0 values less than (15),
-partition p1 values less than maxvalue);
-alter table t55
-partition by list(colint)
-subpartition by hash(yearweek(col1)-200600) subpartitions 2
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),
-partition p1 values in (16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p2 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45),
-partition p3 values in (46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-alter table t66
-partition by range(colint)
-(partition p0 values less than (yearweek('2006-10-14')-200600),
-partition p1 values less than maxvalue);
-select * from t11 order by col1;
-col1
-2006-08-17
-2006-11-15
-select * from t22 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t33 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
----------------------------
----- some alter table begin
----------------------------
-alter table t55
-partition by list(colint)
-subpartition by hash(yearweek(col1)-200600) subpartitions 4
-(partition p0 values in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30),
-partition p1 values in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60)
-);
-show create table t55;
-Table Create Table
-t55 CREATE TABLE `t55` (
- `colint` int(11) DEFAULT NULL,
- `col1` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (colint)
-SUBPARTITION BY HASH (yearweek(col1)-200600)
-SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60) ENGINE = ndbcluster) */
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with yearweek(col1)-200600
--------------------------------------------------------------------------
-delete from t1 where col1='2006-08-17';
-delete from t2 where col1='2006-08-17';
-delete from t3 where col1='2006-08-17';
-delete from t4 where col1='2006-08-17';
-delete from t5 where col1='2006-08-17';
-delete from t6 where col1='2006-08-17';
-select * from t1 order by col1;
-col1
-2006-11-15
-select * from t2 order by col1;
-col1
-2006-03-25
-2006-11-15
-select * from t3 order by col1;
-col1
-2006-03-25
-2006-11-15
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t1 values ('2006-08-17');
-insert into t2 values ('2006-08-17');
-insert into t3 values ('2006-08-17');
-insert into t4 values (60,'2006-08-17');
-insert into t5 values (60,'2006-08-17');
-insert into t6 values (60,'2006-08-17');
-select * from t1 order by col1;
-col1
-2006-08-17
-2006-11-15
-select * from t2 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t3 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t4 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-08-17
-select * from t5 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-08-17
-select * from t6 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-08-17
--------------------------------------------------------------------------
---- Delete rows and partitions of tables with yearweek(col1)-200600
--------------------------------------------------------------------------
-delete from t11 where col1='2006-08-17';
-delete from t22 where col1='2006-08-17';
-delete from t33 where col1='2006-08-17';
-delete from t44 where col1='2006-08-17';
-delete from t55 where col1='2006-08-17';
-delete from t66 where col1='2006-08-17';
-select * from t11 order by col1;
-col1
-2006-11-15
-select * from t22 order by col1;
-col1
-2006-03-25
-2006-11-15
-select * from t33 order by col1;
-col1
-2006-03-25
-2006-11-15
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-insert into t11 values ('2006-08-17');
-insert into t22 values ('2006-08-17');
-insert into t33 values ('2006-08-17');
-insert into t44 values (60,'2006-08-17');
-insert into t55 values (60,'2006-08-17');
-insert into t66 values (60,'2006-08-17');
-select * from t11 order by col1;
-col1
-2006-08-17
-2006-11-15
-select * from t22 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t33 order by col1;
-col1
-2006-03-25
-2006-08-17
-2006-11-15
-select * from t44 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-08-17
-select * from t55 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-08-17
-select * from t66 order by colint;
-colint col1
-1 2006-02-03
-2 2006-01-17
-3 2006-01-25
-4 2006-02-05
-60 2006-08-17
--------------------------
----- some alter table end
--------------------------
-drop table if exists t1 ;
-drop table if exists t2 ;
-drop table if exists t3 ;
-drop table if exists t4 ;
-drop table if exists t5 ;
-drop table if exists t6 ;
-drop table if exists t11 ;
-drop table if exists t22 ;
-drop table if exists t33 ;
-drop table if exists t44 ;
-drop table if exists t55 ;
-drop table if exists t66 ;
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_2_ndb.result b/mysql-test/suite/parts/r/partition_alter1_1_2_ndb.result
deleted file mode 100644
index c2095bffd5e..00000000000
--- a/mysql-test/suite/parts/r/partition_alter1_1_2_ndb.result
+++ /dev/null
@@ -1,27726 +0,0 @@
-SET @max_row = 20;
-SET @@session.storage_engine = 'ndbcluster';
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary tables
-# needed in many testcases
-#------------------------------------------------------------------------
-SELECT @max_row DIV 2 INTO @max_row_div2;
-SELECT @max_row DIV 3 INTO @max_row_div3;
-SELECT @max_row DIV 4 INTO @max_row_div4;
-SET @max_int_4 = 2147483647;
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) ,
-PRIMARY KEY(f_int1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-DROP TABLE IF EXISTS t0_definition;
-CREATE TABLE t0_definition (
-state CHAR(3),
-create_command VARBINARY(5000),
-file_list VARBINARY(10000),
-PRIMARY KEY (state)
-) ENGINE = MEMORY;
-DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-ENGINE = MEMORY;
-SET AUTOCOMMIT= 1;
-SET @@session.sql_mode= '';
-# End of basic preparations needed for all tests
-#-----------------------------------------------
-
-#========================================================================
-# 1. ALTER TABLE ADD PRIMARY KEY and/or UNIQUE INDEX
-#========================================================================
-#------------------------------------------------------------------------
-# 1.2 ADD PRIMARY KEY or UNIQUE INDEX to table with two columns
-# (f_int1 and f_int2) within the partitioning function
-#------------------------------------------------------------------------
-# 1.2.1 PRIMARY KEY consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 1.2.2 UNIQUE INDEX consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 1.2.3 PRIMARY KEY and UNIQUE INDEX consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2), ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`),
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1), ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`),
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP VIEW IF EXISTS v1;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t0_aux;
-DROP TABLE IF EXISTS t0_definition;
-DROP TABLE IF EXISTS t0_template;
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_ndb.result b/mysql-test/suite/parts/r/partition_alter1_1_ndb.result
deleted file mode 100644
index 86608ece057..00000000000
--- a/mysql-test/suite/parts/r/partition_alter1_1_ndb.result
+++ /dev/null
@@ -1,24316 +0,0 @@
-SET @max_row = 20;
-SET @@session.storage_engine = 'ndbcluster';
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary tables
-# needed in many testcases
-#------------------------------------------------------------------------
-SELECT @max_row DIV 2 INTO @max_row_div2;
-SELECT @max_row DIV 3 INTO @max_row_div3;
-SELECT @max_row DIV 4 INTO @max_row_div4;
-SET @max_int_4 = 2147483647;
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) ,
-PRIMARY KEY(f_int1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-DROP TABLE IF EXISTS t0_definition;
-CREATE TABLE t0_definition (
-state CHAR(3),
-create_command VARBINARY(5000),
-file_list VARBINARY(10000),
-PRIMARY KEY (state)
-) ENGINE = MEMORY;
-DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-ENGINE = MEMORY;
-SET AUTOCOMMIT= 1;
-SET @@session.sql_mode= '';
-# End of basic preparations needed for all tests
-#-----------------------------------------------
-
-#========================================================================
-# 1. ALTER TABLE ADD PRIMARY KEY and/or UNIQUE INDEX
-#========================================================================
-#------------------------------------------------------------------------
-# 1.1 ADD PRIMARY KEY or UNIQUE INDEX to table with one column (f_int1)
-# within the partitioning function
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-2-a success: 1
-
-# check unique-2-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 1.1.3 PRIMARY KEY consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- PRIMARY KEY (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 1.1.4 UNIQUE INDEX consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int1`,`f_int2`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL,
- UNIQUE KEY `uidx1` (`f_int2`,`f_int1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-ERROR 23000: Can't write; duplicate key in table 't1'
-# check prerequisites-3 success: 1
-# INFO: f_int1 AND/OR f_int2 AND/OR (f_int1,f_int2) is UNIQUE
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, 2 * @max_row + f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT 2 * @max_row + f_int1, f_int1, CAST((2 * @max_row + f_int1) AS CHAR),
-CAST((2 * @max_row + f_int1) AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT COUNT(*) INTO @try_count FROM t0_template
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT COUNT(*) INTO @clash_count
-FROM t1 INNER JOIN t0_template USING(f_int1)
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0
-AND f_int1 BETWEEN @max_row_div2 AND @max_row
-ON DUPLICATE KEY
-UPDATE f_int1 = 2 * @max_row + source_tab.f_int1,
-f_int2 = 2 * @max_row + source_tab.f_int1,
-f_charbig = 'was updated';
-
-# check unique-1-a success: 1
-
-# check unique-1-b success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===')
-WHERE f_charbig = 'was updated';
-REPLACE INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, - f_int1, '', '', 'was inserted or replaced'
- FROM t0_template source_tab
-WHERE MOD(f_int1,3) = 0 AND f_int1 BETWEEN @max_row_div2 AND @max_row;
-
-# check replace success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row_div2 + @max_row_div4;
-DELETE FROM t1
-WHERE f_int1 = f_int2 AND MOD(f_int1,3) = 0 AND
-f_int1 BETWEEN @max_row_div2 + @max_row_div4 AND @max_row;
-UPDATE t1 SET f_int2 = f_int1,
-f_char1 = CAST(f_int1 AS CHAR),
-f_char2 = CAST(f_int1 AS CHAR),
-f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===')
-WHERE f_charbig = 'was inserted or replaced' AND f_int1 = - f_int2;
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP VIEW IF EXISTS v1;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t0_aux;
-DROP TABLE IF EXISTS t0_definition;
-DROP TABLE IF EXISTS t0_template;
diff --git a/mysql-test/suite/parts/r/partition_alter1_2_ndb.result b/mysql-test/suite/parts/r/partition_alter1_2_ndb.result
deleted file mode 100644
index e3f3f6f41c1..00000000000
--- a/mysql-test/suite/parts/r/partition_alter1_2_ndb.result
+++ /dev/null
@@ -1,35540 +0,0 @@
-SET @max_row = 20;
-SET @@session.storage_engine = 'ndbcluster';
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary tables
-# needed in many testcases
-#------------------------------------------------------------------------
-SELECT @max_row DIV 2 INTO @max_row_div2;
-SELECT @max_row DIV 3 INTO @max_row_div3;
-SELECT @max_row DIV 4 INTO @max_row_div4;
-SET @max_int_4 = 2147483647;
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) ,
-PRIMARY KEY(f_int1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-DROP TABLE IF EXISTS t0_definition;
-CREATE TABLE t0_definition (
-state CHAR(3),
-create_command VARBINARY(5000),
-file_list VARBINARY(10000),
-PRIMARY KEY (state)
-) ENGINE = MEMORY;
-DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-ENGINE = MEMORY;
-SET AUTOCOMMIT= 1;
-SET @@session.sql_mode= '';
-# End of basic preparations needed for all tests
-#-----------------------------------------------
-
-#========================================================================
-# 2 DROP PRIMARY KEY or UNIQUE INDEX
-#========================================================================
-#------------------------------------------------------------------------
-# 2.1 Partitioning function contains one column(f_int1)
-#------------------------------------------------------------------------
-# 2.1.5 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 2.2 Partitioning function contains two columns (f_int1,f_int2)
-#------------------------------------------------------------------------
-# 2.2.1 DROP PRIMARY KEY consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 2.2.2 DROP UNIQUE INDEX consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 2.2.3 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) NOT NULL DEFAULT '0',
- `f_int2` int(11) NOT NULL DEFAULT '0',
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-ERROR 23000: Column 'f_int1' cannot be null
-# check null success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-, UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1)
-)
-;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
-ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-DROP VIEW IF EXISTS v1;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t0_aux;
-DROP TABLE IF EXISTS t0_definition;
-DROP TABLE IF EXISTS t0_template;
diff --git a/mysql-test/suite/parts/r/partition_alter3_innodb.result b/mysql-test/suite/parts/r/partition_alter3_innodb.result
index c5750e007e6..7825a2350b0 100644
--- a/mysql-test/suite/parts/r/partition_alter3_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter3_innodb.result
@@ -57,7 +57,6 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
-t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -79,7 +78,6 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) */
-t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -98,7 +96,6 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (DAYOFYEAR(f_date)) */
-t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -115,7 +112,6 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date)) */
-t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -141,9 +137,6 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -168,10 +161,6 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -197,14 +186,6 @@ t1 CREATE TABLE `t1` (
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB,
PARTITION p7 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#p5.ibd
-t1#P#p6.ibd
-t1#P#p7.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -241,13 +222,6 @@ t1 CREATE TABLE `t1` (
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#p5.ibd
-t1#P#p6.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -270,12 +244,6 @@ t1 CREATE TABLE `t1` (
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#p5.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -297,11 +265,6 @@ t1 CREATE TABLE `t1` (
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -322,10 +285,6 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -345,9 +304,6 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -366,8 +322,6 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY HASH (YEAR(f_date))
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -385,7 +339,6 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (YEAR(f_date))
(PARTITION p0 ENGINE = InnoDB) */
-t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
@@ -406,7 +359,6 @@ t1 CREATE TABLE `t1` (
`f_varchar` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
-t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -446,7 +398,6 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
-t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
@@ -469,7 +420,6 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (f_int1) */
-t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -498,9 +448,6 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -525,10 +472,6 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -557,14 +500,6 @@ t1 CREATE TABLE `t1` (
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB,
PARTITION p7 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#p5.ibd
-t1#P#p6.ibd
-t1#P#p7.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -599,13 +534,6 @@ t1 CREATE TABLE `t1` (
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB,
PARTITION p6 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#p5.ibd
-t1#P#p6.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -631,12 +559,6 @@ t1 CREATE TABLE `t1` (
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB,
PARTITION p5 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#p5.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -661,11 +583,6 @@ t1 CREATE TABLE `t1` (
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB,
PARTITION p4 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#p4.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -689,10 +606,6 @@ t1 CREATE TABLE `t1` (
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB,
PARTITION part2 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -715,9 +628,6 @@ t1 CREATE TABLE `t1` (
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB,
PARTITION part7 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
-t1#P#part7.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -739,8 +649,6 @@ t1 CREATE TABLE `t1` (
/*!50100 PARTITION BY KEY (f_int1)
(PARTITION p0 ENGINE = InnoDB,
PARTITION part1 ENGINE = InnoDB) */
-t1#P#p0.ibd
-t1#P#part1.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -761,7 +669,6 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (f_int1)
(PARTITION p0 ENGINE = InnoDB) */
-t1#P#p0.ibd
t1.frm
t1.par
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
@@ -785,7 +692,6 @@ t1 CREATE TABLE `t1` (
`f_charbig` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
t1.frm
-t1.ibd
EXPLAIN PARTITIONS SELECT COUNT(*) <> 1 FROM t1 WHERE f_int1 = 3;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 20 Using where
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
index d6ea8ba0fe4..2344f03ce3f 100644
--- a/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
+++ b/mysql-test/suite/parts/r/partition_auto_increment_blackhole.result
@@ -120,6 +120,38 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`c1`)
) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1
DROP TABLE t1;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='Blackhole';
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+DROP TABLE t1;
+SET INSERT_ID = 1;
# Simple test with NULL
CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT,
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result
index 4cd7aa57417..34e47f58272 100644
--- a/mysql-test/suite/parts/r/partition_auto_increment_innodb.result
+++ b/mysql-test/suite/parts/r/partition_auto_increment_innodb.result
@@ -134,8 +134,44 @@ Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`c1`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
+) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='InnoDB';
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+1
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
DROP TABLE t1;
+SET INSERT_ID = 1;
# Simple test with NULL
CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT,
@@ -404,7 +440,7 @@ Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`c1`)
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
+) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (c1)
PARTITIONS 2 */
DROP TABLE t1;
@@ -1023,4 +1059,40 @@ c1 c2
2 20
127 40
DROP TABLE t;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='InnoDB'
+PARTITION BY KEY(a) PARTITIONS 2;
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+1
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+DROP TABLE t1;
##############################################################################
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_memory.result b/mysql-test/suite/parts/r/partition_auto_increment_memory.result
index 1a27d1c2e52..c3a5073b029 100644
--- a/mysql-test/suite/parts/r/partition_auto_increment_memory.result
+++ b/mysql-test/suite/parts/r/partition_auto_increment_memory.result
@@ -136,6 +136,42 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`c1`)
) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
DROP TABLE t1;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='Memory';
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+1
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+DROP TABLE t1;
+SET INSERT_ID = 1;
# Simple test with NULL
CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT,
@@ -1051,4 +1087,40 @@ c1 c2
2 20
127 40
DROP TABLE t;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='Memory'
+PARTITION BY KEY(a) PARTITIONS 2;
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+1
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+DROP TABLE t1;
##############################################################################
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_myisam.result b/mysql-test/suite/parts/r/partition_auto_increment_myisam.result
index 9885c78a921..ad440155d33 100644
--- a/mysql-test/suite/parts/r/partition_auto_increment_myisam.result
+++ b/mysql-test/suite/parts/r/partition_auto_increment_myisam.result
@@ -136,6 +136,42 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`c1`)
) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
DROP TABLE t1;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='MyISAM';
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+1
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+DROP TABLE t1;
+SET INSERT_ID = 1;
# Simple test with NULL
CREATE TABLE t1 (
c1 INT NOT NULL AUTO_INCREMENT,
@@ -1070,4 +1106,40 @@ c1 c2
2 20
127 40
DROP TABLE t;
+CREATE TABLE t1
+(a INT NULL AUTO_INCREMENT,
+UNIQUE KEY (a))
+ENGINE='MyISAM'
+PARTITION BY KEY(a) PARTITIONS 2;
+SET LAST_INSERT_ID = 999;
+SET INSERT_ID = 0;
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+1
+INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = 1 WHERE a IS NULL;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+UPDATE t1 SET a = NULL WHERE a = 1;
+SELECT LAST_INSERT_ID();
+LAST_INSERT_ID()
+999
+SELECT * FROM t1;
+a
+0
+DROP TABLE t1;
##############################################################################
diff --git a/mysql-test/suite/parts/r/partition_auto_increment_ndb.result b/mysql-test/suite/parts/r/partition_auto_increment_ndb.result
deleted file mode 100644
index 40387b9777a..00000000000
--- a/mysql-test/suite/parts/r/partition_auto_increment_ndb.result
+++ /dev/null
@@ -1,1047 +0,0 @@
-SET new=on;
-DROP TABLE IF EXISTS t1;
-# test without partitioning for reference
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-1
-INSERT INTO t1 VALUES (2);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (NULL);
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-6
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-6
-INSERT INTO t1 VALUES (0);
-INSERT INTO t1 VALUES (5), (16);
-INSERT INTO t1 VALUES (17);
-INSERT INTO t1 VALUES (19), (NULL);
-INSERT INTO t1 VALUES (NULL), (10), (NULL);
-INSERT INTO t1 VALUES (NULL);
-SET INSERT_ID = 30;
-INSERT INTO t1 VALUES (NULL);
-SET INSERT_ID = 29;
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-INSERT INTO t1 VALUES (NULL);
-UPDATE t1 SET c1 = 50 WHERE c1 = 17;
-UPDATE t1 SET c1 = 51 WHERE c1 = 19;
-FLUSH TABLES;
-UPDATE t1 SET c1 = 40 WHERE c1 = 50;
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
- AND TABLE_NAME='t1';
-AUTO_INCREMENT
-52
-UPDATE t1 SET c1 = NULL WHERE c1 = 4;
-Warnings:
-Warning 1048 Column 'c1' cannot be null
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-0
-2
-5
-6
-10
-20
-21
-22
-23
-24
-30
-40
-51
-52
-53
-DROP TABLE t1;
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB';
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-FLUSH TABLE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES (4);
-FLUSH TABLE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES (NULL);
-FLUSH TABLE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-DELETE FROM t1;
-INSERT INTO t1 VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM t1 ORDER BY c1;
-c1
-6
-TRUNCATE TABLE t1;
-INSERT INTO t1 VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT * FROM t1 ORDER BY c1;
-c1
-1
-INSERT INTO t1 VALUES (100);
-INSERT INTO t1 VALUES (NULL);
-DELETE FROM t1 WHERE c1 >= 100;
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-DROP TABLE t1;
-# Simple test with NULL
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1;
-c1
-1
-DROP TABLE t1;
-# Test with sql_mode and first insert as 0
-CREATE TABLE t1 (
-c1 INT,
-c2 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c2))
-ENGINE='NDB'
-PARTITION BY HASH(c2)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (1, NULL);
-INSERT INTO t1 VALUES (1, 1), (99, 99);
-INSERT INTO t1 VALUES (1, NULL);
-SET @@session.sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
-INSERT INTO t1 VALUES (1, 0);
-SELECT * FROM t1 ORDER BY c1, c2;
-c1 c2
-1 0
-1 1
-1 100
-DROP TABLE t1;
-CREATE TABLE t1 (
-c1 INT,
-c2 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c2))
-ENGINE='NDB'
-PARTITION BY HASH(c2)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (1, 0);
-INSERT INTO t1 VALUES (1, 1), (1, NULL);
-INSERT INTO t1 VALUES (2, NULL), (4, 7);
-INSERT INTO t1 VALUES (1, NULL);
-SELECT * FROM t1 ORDER BY c1, c2;
-c1 c2
-1 0
-1 1
-1 2
-1 8
-2 3
-4 7
-SET @@session.sql_mode = '';
-DROP TABLE t1;
-# Simple test with NULL, 0 and explicit values both incr. and desc.
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (2), (4), (NULL);
-INSERT INTO t1 VALUES (0);
-INSERT INTO t1 VALUES (5), (16);
-INSERT INTO t1 VALUES (17), (19), (NULL);
-INSERT INTO t1 VALUES (NULL), (10), (NULL);
-INSERT INTO t1 VALUES (NULL), (9);
-INSERT INTO t1 VALUES (59), (55);
-INSERT INTO t1 VALUES (NULL), (90);
-INSERT INTO t1 VALUES (NULL);
-UPDATE t1 SET c1 = 150 WHERE c1 = 17;
-UPDATE t1 SET c1 = 151 WHERE c1 = 19;
-FLUSH TABLES;
-UPDATE t1 SET c1 = 140 WHERE c1 = 150;
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
- AND TABLE_NAME='t1';
-AUTO_INCREMENT
-152
-UPDATE t1 SET c1 = NULL WHERE c1 = 4;
-Warnings:
-Warning 1048 Column 'c1' cannot be null
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-0
-2
-5
-6
-9
-10
-20
-21
-22
-23
-55
-59
-60
-90
-91
-140
-151
-152
-153
-DROP TABLE t1;
-# Test with auto_increment_increment and auto_increment_offset.
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-SET @@session.auto_increment_increment = 10;
-SET @@session.auto_increment_offset = 5;
-INSERT INTO t1 VALUES (1);
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-SET @@session.auto_increment_increment = 5;
-SET @@session.auto_increment_offset = 3;
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (33 + 1);
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (38 + 2);
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (43 + 3);
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (48 + 4);
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (53 + 5);
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (63 + 6);
-INSERT INTO t1 VALUES (NULL);
-SET @@session.auto_increment_increment = 1;
-SET @@session.auto_increment_offset = 1;
-SELECT * FROM t1 ORDER BY c1;
-c1
-1
-5
-15
-25
-33
-34
-38
-40
-43
-46
-48
-52
-53
-58
-63
-69
-73
-DROP TABLE t1;
-# Test reported auto_increment value
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB'
-PARTITION BY HASH (c1)
-PARTITIONS 2;
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-1
-INSERT INTO t1 VALUES (2);
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-3
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (NULL);
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-6
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (17);
-INSERT INTO t1 VALUES (19);
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (NULL);
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-22
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-22
-INSERT INTO t1 VALUES (10);
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-6
-10
-17
-19
-20
-21
-INSERT INTO t1 VALUES (NULL);
-SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='test'
-AND TABLE_NAME='t1';
-AUTO_INCREMENT
-23
-INSERT INTO t1 VALUES (NULL);
-INSERT INTO t1 VALUES (15);
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-6
-10
-15
-17
-19
-20
-21
-22
-23
-24
-INSERT INTO t1 VALUES (NULL);
-DELETE FROM t1;
-INSERT INTO t1 VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1 ORDER BY c1;
-c1
-26
-TRUNCATE TABLE t1;
-INSERT INTO t1 VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1 ORDER BY c1;
-c1
-1
-INSERT INTO t1 VALUES (100);
-INSERT INTO t1 VALUES (NULL);
-DELETE FROM t1 WHERE c1 >= 100;
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-DROP TABLE t1;
-# Test with two threads
-# con default
-CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
-ENGINE = 'NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-INSERT INTO t1 (c1) VALUES (2);
-INSERT INTO t1 (c1) VALUES (4);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-INSERT INTO t1 (c1) VALUES (10);
-# con default
-INSERT INTO t1 (c1) VALUES (NULL);
-INSERT INTO t1 (c1) VALUES (NULL);
-INSERT INTO t1 (c1) VALUES (19);
-INSERT INTO t1 (c1) VALUES (21);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-# con default
-INSERT INTO t1 (c1) VALUES (16);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-# con default
-INSERT INTO t1 (c1) VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-10
-11
-12
-16
-19
-21
-22
-23
-24
-DROP TABLE t1;
-# Test with two threads + start transaction NO PARTITIONING
-# con default
-CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
-ENGINE = 'NDB';
-START TRANSACTION;
-INSERT INTO t1 (c1) VALUES (2);
-INSERT INTO t1 (c1) VALUES (4);
-# con1
-START TRANSACTION;
-INSERT INTO t1 (c1) VALUES (NULL);
-INSERT INTO t1 (c1) VALUES (10);
-# con default
-INSERT INTO t1 (c1) VALUES (NULL);
-INSERT INTO t1 (c1) VALUES (NULL);
-INSERT INTO t1 (c1) VALUES (19);
-INSERT INTO t1 (c1) VALUES (21);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-# con default
-INSERT INTO t1 (c1) VALUES (16);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-5
-10
-22
-23
-COMMIT;
-SELECT * FROM t1 ORDER BY c1;
-c1
-5
-10
-22
-23
-# con default
-INSERT INTO t1 (c1) VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-10
-11
-12
-16
-19
-21
-22
-23
-24
-COMMIT;
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-10
-11
-12
-16
-19
-21
-22
-23
-24
-DROP TABLE t1;
-# Test with two threads + start transaction
-# con default
-CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
-ENGINE = 'NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-START TRANSACTION;
-INSERT INTO t1 (c1) VALUES (2);
-INSERT INTO t1 (c1) VALUES (4);
-# con1
-START TRANSACTION;
-INSERT INTO t1 (c1) VALUES (NULL), (10);
-# con default
-INSERT INTO t1 (c1) VALUES (NULL), (NULL), (19);
-INSERT INTO t1 (c1) VALUES (21);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-# con default
-INSERT INTO t1 (c1) VALUES (16);
-# con1
-INSERT INTO t1 (c1) VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-5
-10
-22
-23
-COMMIT;
-SELECT * FROM t1 ORDER BY c1;
-c1
-5
-10
-22
-23
-# con default
-INSERT INTO t1 (c1) VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-10
-11
-12
-16
-19
-21
-22
-23
-24
-COMMIT;
-SELECT * FROM t1 ORDER BY c1;
-c1
-2
-4
-5
-10
-11
-12
-16
-19
-21
-22
-23
-24
-DROP TABLE t1;
-# Test with another column after
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-c2 INT,
-PRIMARY KEY (c1,c2))
-ENGINE = 'NDB'
-PARTITION BY HASH(c2)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (1, 0);
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (NULL, 1), (NULL, 2), (NULL, 3);
-INSERT INTO t1 VALUES (NULL, 3);
-INSERT INTO t1 VALUES (2, 0), (NULL, 2);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t1 VALUES (2, 22);
-INSERT INTO t1 VALUES (NULL, 2);
-SELECT * FROM t1 ORDER BY c1,c2;
-c1 c2
-1 0
-1 1
-2 0
-2 1
-2 2
-2 22
-3 2
-4 3
-5 3
-6 2
-7 2
-DROP TABLE t1;
-# Test with another column before
-CREATE TABLE t1 (
-c1 INT,
-c2 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c2))
-ENGINE = 'NDB'
-PARTITION BY HASH(c2)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (1, 0);
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (1, NULL);
-INSERT INTO t1 VALUES (2, NULL), (3, 11), (3, NULL), (2, 0);
-INSERT INTO t1 VALUES (2, NULL);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t1 VALUES (2, 22);
-INSERT INTO t1 VALUES (2, NULL);
-SELECT * FROM t1 ORDER BY c1,c2;
-c1 c2
-1 1
-1 2
-2 3
-2 13
-2 14
-2 22
-2 23
-3 11
-3 12
-DROP TABLE t1;
-# Test with auto_increment on secondary column in multi-column-index
-CREATE TABLE t1 (
-c1 INT,
-c2 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1,c2))
-ENGINE = 'NDB'
-PARTITION BY HASH(c2)
-PARTITIONS 2;
-INSERT INTO t1 VALUES (1, 0);
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (1, NULL);
-INSERT INTO t1 VALUES (2, NULL);
-INSERT INTO t1 VALUES (3, NULL);
-INSERT INTO t1 VALUES (3, NULL), (2, 0), (2, NULL);
-INSERT INTO t1 VALUES (2, 2);
-# ERROR (only OK if Blackhole/NDB) should give ER_DUP_KEY or ER_DUP_ENTRY
-# mysql_errno: 0
-INSERT INTO t1 VALUES (2, 22), (2, NULL);
-SELECT * FROM t1 ORDER BY c1,c2;
-c1 c2
-1 1
-1 2
-2 2
-2 3
-2 6
-2 7
-2 22
-2 23
-3 4
-3 5
-DROP TABLE t1;
-# Test AUTO_INCREMENT in CREATE
-CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
-ENGINE = 'NDB'
-AUTO_INCREMENT = 15
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (4);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (0);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1 ORDER BY c1;
-c1
-4
-15
-16
-# Test sql_mode 'NO_AUTO_VALUE_ON_ZERO'
-SET @@session.sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
-INSERT INTO t1 (c1) VALUES (300);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (0);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1 ORDER BY c1;
-c1
-0
-4
-15
-16
-300
-301
-SET @@session.sql_mode = '';
-DROP TABLE t1;
-# Test SET INSERT_ID
-CREATE TABLE t1 (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (c1))
-ENGINE = 'NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1;
-c1
-1
-SET INSERT_ID = 23;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 (c1) VALUES (NULL);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SET INSERT_ID = 22;
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1 ORDER BY c1;
-c1
-1
-2
-23
-DROP TABLE t1;
-# Testing with FLUSH TABLE
-CREATE TABLE t1 (
-c1 INT NOT NULL AUTO_INCREMENT,
-PRIMARY KEY (c1))
-ENGINE='NDB'
-PARTITION BY HASH(c1)
-PARTITIONS 2;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-FLUSH TABLE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 VALUES (4);
-FLUSH TABLE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-INSERT INTO t1 VALUES (NULL);
-FLUSH TABLE;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `c1` int(11) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (c1)
-PARTITIONS 2 */
-SELECT * FROM t1 ORDER BY c1;
-c1
-4
-5
-DROP TABLE t1;
-#############################################################################
-# Bug #45823 - Assertion failure in file row/row0mysql.c line 1386
-# Bug #43988 - AUTO_INCREMENT errors with partitioned InnoDB tables in 5.1.31
-##############################################################################
-# Inserting negative autoincrement values into a partition table (partitions >= 4)
-CREATE TABLE t (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (-1,-10);
-INSERT INTO t(c2) VALUES (30);
-INSERT INTO t(c2) VALUES (40);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--1 -10
-1 10
-2 20
-3 30
-4 40
-DROP TABLE t;
-# Reading from a partition table (partitions >= 2 ) after inserting a negative
-# value into the auto increment column
-CREATE TABLE t (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 2;
-INSERT INTO t VALUES (-2,-20);
-INSERT INTO t(c2) VALUES (30);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--2 -20
-1 30
-DROP TABLE t;
-# Inserting negative auto increment value into a partition table (partitions >= 2)
-# auto increment value > 2.
-CREATE TABLE t (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 2;
-INSERT INTO t VALUES (-4,-20);
-INSERT INTO t(c2) VALUES (30);
-INSERT INTO t(c2) VALUES (40);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--4 -20
-1 30
-2 40
-DROP TABLE t;
-# Inserting -1 into autoincrement column of a partition table (partition >= 4)
-CREATE TABLE t (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (-1,-10);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--1 -10
-1 10
-2 20
-INSERT INTO t(c2) VALUES (30);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--1 -10
-1 10
-2 20
-3 30
-DROP TABLE t;
-# Deleting from an auto increment table after inserting negative values
-CREATE TABLE t (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (-1,-10);
-INSERT INTO t(c2) VALUES (30);
-INSERT INTO t VALUES (-3,-20);
-INSERT INTO t(c2) VALUES (40);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--3 -20
--1 -10
-1 10
-2 20
-3 30
-4 40
-DELETE FROM t WHERE c1 > 1;
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--3 -20
--1 -10
-1 10
-DROP TABLE t;
-# Inserting a positive value that exceeds maximum allowed value for an
-# Auto Increment column (positive maximum)
-CREATE TABLE t (c1 TINYINT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (126,30);
-INSERT INTO t VALUES (127,40);
-INSERT INTO t VALUES (128,50);
-ERROR 23000: Duplicate entry '127' for key 'PRIMARY'
-INSERT INTO t VALUES (129,60);
-ERROR 23000: Duplicate entry '127' for key 'PRIMARY'
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
-1 10
-2 20
-126 30
-127 40
-DROP TABLE t;
-# Inserting a negative value that goes below minimum allowed value for an
-# Auto Increment column (negative minimum)
-CREATE TABLE t (c1 TINYINT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (-127,30);
-INSERT INTO t VALUES (-128,40);
-INSERT INTO t VALUES (-129,50);
-ERROR 23000: Duplicate entry '-128' for key 'PRIMARY'
-INSERT INTO t VALUES (-130,60);
-ERROR 23000: Duplicate entry '-128' for key 'PRIMARY'
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--128 40
--127 30
-1 10
-2 20
-DROP TABLE t;
-# Updating the partition table with a negative Auto Increment value
-CREATE TABLE t (c1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (-1,-10);
-INSERT INTO t(c2) VALUES (30);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--1 -10
-1 10
-2 20
-3 30
-UPDATE t SET c1 = -6 WHERE c1 = 2;
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--6 20
--1 -10
-1 10
-3 30
-INSERT INTO t(c2) VALUES (40);
-INSERT INTO t(c2) VALUES (50);
-UPDATE t SET c1 = -6 WHERE c1 = 2;
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--6 20
--1 -10
-1 10
-3 30
-4 40
-5 50
-DROP TABLE t;
-# Updating the partition table with a value that crosses the upper limits
-# on both the positive and the negative side.
-CREATE TABLE t (c1 TINYINT NOT NULL AUTO_INCREMENT, PRIMARY KEY(c1),
-c2 INT) ENGINE='NDB' PARTITION BY HASH(c1) PARTITIONS 4;
-INSERT INTO t(c2) VALUES (10);
-INSERT INTO t(c2) VALUES (20);
-INSERT INTO t VALUES (126,30);
-INSERT INTO t VALUES (127,40);
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
-1 10
-2 20
-126 30
-127 40
-UPDATE t SET c1 = 130 where c1 = 127;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
-1 10
-2 20
-126 30
-127 40
-UPDATE t SET c1 = -140 where c1 = 126;
-Warnings:
-Warning 1264 Out of range value for column 'c1' at row 1
-SELECT * FROM t ORDER BY c1 ASC;
-c1 c2
--128 30
-1 10
-2 20
-127 40
-DROP TABLE t;
-##############################################################################
diff --git a/mysql-test/suite/parts/r/partition_basic_innodb.result b/mysql-test/suite/parts/r/partition_basic_innodb.result
index c6a89e970b3..21c5d70e6e3 100644
--- a/mysql-test/suite/parts/r/partition_basic_innodb.result
+++ b/mysql-test/suite/parts/r/partition_basic_innodb.result
@@ -77,8 +77,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -534,11 +532,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -1009,14 +1002,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -1483,12 +1468,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -1951,14 +1930,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -2434,14 +2405,6 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -2919,14 +2882,6 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -3390,15 +3345,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -3856,8 +3802,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -4313,11 +4257,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -4788,14 +4727,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -5262,12 +5193,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -5730,14 +5655,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -6211,14 +6128,6 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -6692,14 +6601,6 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -7163,15 +7064,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -7635,8 +7527,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -8129,11 +8019,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -8641,14 +8526,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -9152,12 +9029,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -9657,14 +9528,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -10177,14 +10040,6 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -10699,14 +10554,6 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -11207,15 +11054,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -11709,8 +11547,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -12203,11 +12039,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -12715,14 +12546,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -13226,12 +13049,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -13731,14 +13548,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -14251,14 +14060,6 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -14773,14 +14574,6 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -15281,15 +15074,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -15783,8 +15567,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -16293,11 +16075,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -16821,14 +16598,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -17348,12 +17117,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -17869,14 +17632,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -18405,14 +18160,6 @@ SUBPARTITION BY KEY (f_int1)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -18943,14 +18690,6 @@ SUBPARTITION BY HASH (f_int1 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -19467,15 +19206,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -19990,8 +19720,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -20484,11 +20212,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -20996,14 +20719,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -21507,12 +21222,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -22012,14 +21721,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -22530,14 +22231,6 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -23048,14 +22741,6 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -23556,15 +23241,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -24058,8 +23734,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -24552,11 +24226,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -25064,14 +24733,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -25575,12 +25236,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -26080,14 +25735,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -26598,14 +26245,6 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -27116,14 +26755,6 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -27624,15 +27255,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
@@ -28126,8 +27748,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 2 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
t1.frm
t1.par
@@ -28636,11 +28256,6 @@ t1 CREATE TABLE `t1` (
PARTITIONS 5 */
unified filelist
-t1#P#p0.ibd
-t1#P#p1.ibd
-t1#P#p2.ibd
-t1#P#p3.ibd
-t1#P#p4.ibd
t1.frm
t1.par
@@ -29164,14 +28779,6 @@ t1 CREATE TABLE `t1` (
PARTITION part3 VALUES IN (3) ENGINE = InnoDB) */
unified filelist
-t1#P#part0.ibd
-t1#P#part1.ibd
-t1#P#part2.ibd
-t1#P#part3.ibd
-t1#P#part_1.ibd
-t1#P#part_2.ibd
-t1#P#part_3.ibd
-t1#P#part_N.ibd
t1.frm
t1.par
@@ -29691,12 +29298,6 @@ t1 CREATE TABLE `t1` (
PARTITION partf VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta.ibd
-t1#P#partb.ibd
-t1#P#partc.ibd
-t1#P#partd.ibd
-t1#P#parte.ibd
-t1#P#partf.ibd
t1.frm
t1.par
@@ -30212,14 +29813,6 @@ SUBPARTITIONS 2
PARTITION partd VALUES LESS THAN (2147483646) ENGINE = InnoDB) */
unified filelist
-t1#P#parta#SP#partasp0.ibd
-t1#P#parta#SP#partasp1.ibd
-t1#P#partb#SP#partbsp0.ibd
-t1#P#partb#SP#partbsp1.ibd
-t1#P#partc#SP#partcsp0.ibd
-t1#P#partc#SP#partcsp1.ibd
-t1#P#partd#SP#partdsp0.ibd
-t1#P#partd#SP#partdsp1.ibd
t1.frm
t1.par
@@ -30746,14 +30339,6 @@ SUBPARTITION BY KEY (f_int2)
SUBPARTITION subpart42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#subpart11.ibd
-t1#P#part1#SP#subpart12.ibd
-t1#P#part2#SP#subpart21.ibd
-t1#P#part2#SP#subpart22.ibd
-t1#P#part3#SP#subpart31.ibd
-t1#P#part3#SP#subpart32.ibd
-t1#P#part4#SP#subpart41.ibd
-t1#P#part4#SP#subpart42.ibd
t1.frm
t1.par
@@ -31280,14 +30865,6 @@ SUBPARTITION BY HASH (f_int2 + 1)
SUBPARTITION sp42 ENGINE = InnoDB)) */
unified filelist
-t1#P#part1#SP#sp11.ibd
-t1#P#part1#SP#sp12.ibd
-t1#P#part2#SP#sp21.ibd
-t1#P#part2#SP#sp22.ibd
-t1#P#part3#SP#sp31.ibd
-t1#P#part3#SP#sp32.ibd
-t1#P#part4#SP#sp41.ibd
-t1#P#part4#SP#sp42.ibd
t1.frm
t1.par
@@ -31804,15 +31381,6 @@ SUBPARTITIONS 3
PARTITION part3 VALUES IN (NULL) ENGINE = InnoDB) */
unified filelist
-t1#P#part1#SP#part1sp0.ibd
-t1#P#part1#SP#part1sp1.ibd
-t1#P#part1#SP#part1sp2.ibd
-t1#P#part2#SP#part2sp0.ibd
-t1#P#part2#SP#part2sp1.ibd
-t1#P#part2#SP#part2sp2.ibd
-t1#P#part3#SP#part3sp0.ibd
-t1#P#part3#SP#part3sp1.ibd
-t1#P#part3#SP#part3sp2.ibd
t1.frm
t1.par
diff --git a/mysql-test/suite/parts/r/partition_debug_innodb.result b/mysql-test/suite/parts/r/partition_debug_innodb.result
index eb2218e204e..49d863bca8e 100644
--- a/mysql-test/suite/parts/r/partition_debug_innodb.result
+++ b/mysql-test/suite/parts/r/partition_debug_innodb.result
@@ -747,6 +747,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_1";
SET SESSION debug="+d,fail_add_partition_2";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -807,6 +868,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_2";
SET SESSION debug="+d,fail_add_partition_3";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -867,6 +989,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_3";
SET SESSION debug="+d,fail_add_partition_4";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -927,6 +1110,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_4";
SET SESSION debug="+d,fail_add_partition_5";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -987,6 +1231,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_5";
SET SESSION debug="+d,fail_add_partition_6";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1047,6 +1352,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_6";
SET SESSION debug="+d,fail_add_partition_7";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1107,6 +1473,67 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_7";
SET SESSION debug="+d,fail_add_partition_8";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1169,6 +1596,69 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_8";
SET SESSION debug="+d,fail_add_partition_9";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1231,6 +1721,69 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_9";
SET SESSION debug="+d,fail_add_partition_10";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1293,6 +1846,69 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_10";
# Test DROP PARTITION
SET SESSION debug="+d,crash_drop_partition_1";
@@ -1902,6 +2518,66 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_1";
SET SESSION debug="+d,fail_drop_partition_2";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1961,6 +2637,66 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_2";
SET SESSION debug="+d,fail_drop_partition_3";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2020,6 +2756,66 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_3";
SET SESSION debug="+d,fail_drop_partition_4";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2073,6 +2869,60 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_4";
SET SESSION debug="+d,fail_drop_partition_5";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2126,6 +2976,60 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_5";
SET SESSION debug="+d,fail_drop_partition_6";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2179,6 +3083,60 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_6";
SET SESSION debug="+d,fail_drop_partition_7";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2232,6 +3190,60 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_7";
SET SESSION debug="+d,fail_drop_partition_8";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2285,6 +3297,60 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_8";
SET SESSION debug="+d,fail_drop_partition_9";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2338,6 +3404,60 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_9";
# Test change partition (REORGANIZE/REBUILD/COALESCE
# or ADD HASH PARTITION).
@@ -2730,6 +3850,7 @@ t1.par
# State after crash recovery
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2740,7 +3861,8 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2861,8 +3983,6 @@ ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
ERROR HY000: Lost connection to MySQL server during query
# State after crash (before recovery)
-#sql-t1.frm
-#sql-t1.par
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
@@ -3237,6 +4357,68 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_1";
SET SESSION debug="+d,fail_change_partition_2";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3298,6 +4480,68 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_2";
SET SESSION debug="+d,fail_change_partition_3";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3359,6 +4603,68 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_3";
SET SESSION debug="+d,fail_change_partition_4";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3420,6 +4726,68 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_4";
SET SESSION debug="+d,fail_change_partition_5";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3481,6 +4849,68 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_5";
SET SESSION debug="+d,fail_change_partition_6";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3520,6 +4950,40 @@ ERROR HY000: Unknown error
# State after failure
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3541,6 +5005,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_6";
SET SESSION debug="+d,fail_change_partition_7";
@@ -3605,6 +5101,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_7";
SET SESSION debug="+d,fail_change_partition_8";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3668,6 +5228,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_8";
SET SESSION debug="+d,fail_change_partition_9";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3731,6 +5355,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_9";
SET SESSION debug="+d,fail_change_partition_10";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3794,6 +5482,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_10";
SET SESSION debug="+d,fail_change_partition_11";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3857,6 +5609,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_11";
SET SESSION debug="+d,fail_change_partition_12";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3920,4 +5736,68 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_12";
diff --git a/mysql-test/suite/parts/r/partition_debug_myisam.result b/mysql-test/suite/parts/r/partition_debug_myisam.result
index d3f40aedee5..ca3dd708972 100644
--- a/mysql-test/suite/parts/r/partition_debug_myisam.result
+++ b/mysql-test/suite/parts/r/partition_debug_myisam.result
@@ -817,6 +817,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_1";
SET SESSION debug="+d,fail_add_partition_2";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -881,6 +946,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_2";
SET SESSION debug="+d,fail_add_partition_3";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -945,6 +1075,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_3";
SET SESSION debug="+d,fail_add_partition_4";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1009,6 +1204,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_4";
SET SESSION debug="+d,fail_add_partition_5";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1073,6 +1333,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_5";
SET SESSION debug="+d,fail_add_partition_6";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1137,6 +1462,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_6";
SET SESSION debug="+d,fail_add_partition_7";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1201,6 +1591,71 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_7";
SET SESSION debug="+d,fail_add_partition_8";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1268,6 +1723,74 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_8";
SET SESSION debug="+d,fail_add_partition_9";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1335,6 +1858,74 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_9";
SET SESSION debug="+d,fail_add_partition_10";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -1402,6 +1993,74 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_add_partition_10";
# Test DROP PARTITION
SET SESSION debug="+d,crash_drop_partition_1";
@@ -2061,6 +2720,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_1";
SET SESSION debug="+d,fail_drop_partition_2";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2124,6 +2847,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_2";
SET SESSION debug="+d,fail_drop_partition_3";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2187,6 +2974,70 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_3";
SET SESSION debug="+d,fail_drop_partition_4";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2243,6 +3094,63 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_4";
SET SESSION debug="+d,fail_drop_partition_5";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2299,6 +3207,63 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_5";
SET SESSION debug="+d,fail_drop_partition_6";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2355,6 +3320,63 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_6";
SET SESSION debug="+d,fail_drop_partition_7";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2411,6 +3433,63 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_7";
SET SESSION debug="+d,fail_drop_partition_8";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2467,6 +3546,63 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_8";
SET SESSION debug="+d,fail_drop_partition_9";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -2523,6 +3659,63 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10;
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_drop_partition_9";
# Test change partition (REORGANIZE/REBUILD/COALESCE
# or ADD HASH PARTITION).
@@ -2957,6 +4150,8 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2967,7 +4162,8 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3099,8 +4295,6 @@ ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
ERROR HY000: Lost connection to MySQL server during query
# State after crash (before recovery)
-#sql-t1.frm
-#sql-t1.par
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10#TMP#.MYD
@@ -3520,6 +4714,72 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_1";
SET SESSION debug="+d,fail_change_partition_2";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3585,6 +4845,72 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_2";
SET SESSION debug="+d,fail_change_partition_3";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3650,6 +4976,72 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_3";
SET SESSION debug="+d,fail_change_partition_4";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3715,6 +5107,72 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_4";
SET SESSION debug="+d,fail_change_partition_5";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3780,6 +5238,72 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_5";
SET SESSION debug="+d,fail_change_partition_6";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3823,6 +5347,43 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3844,6 +5405,41 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_6";
SET SESSION debug="+d,fail_change_partition_7";
@@ -3913,6 +5509,75 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_7";
SET SESSION debug="+d,fail_change_partition_8";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -3981,6 +5646,75 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_8";
SET SESSION debug="+d,fail_change_partition_9";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -4049,6 +5783,75 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_9";
SET SESSION debug="+d,fail_change_partition_10";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -4117,6 +5920,75 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_10";
SET SESSION debug="+d,fail_change_partition_11";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -4185,6 +6057,75 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_11";
SET SESSION debug="+d,fail_change_partition_12";
CREATE TABLE t1 (a INT, b VARCHAR(64))
@@ -4253,4 +6194,73 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+# Same test under LOCK TABLE
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+# State before failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ERROR HY000: Unknown error
+# State after failure
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM) */
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
SET SESSION debug="-d,fail_change_partition_12";
diff --git a/mysql-test/suite/parts/r/partition_decimal_innodb.result b/mysql-test/suite/parts/r/partition_decimal_innodb.result
index 70debf3c595..c69c880cc6f 100644
--- a/mysql-test/suite/parts/r/partition_decimal_innodb.result
+++ b/mysql-test/suite/parts/r/partition_decimal_innodb.result
@@ -86,3 +86,111 @@ select count(*) from t2;
count(*)
3072
drop table t2;
+create table t3 (a decimal(18,9) not null, primary key(a)) engine='InnoDB'
+partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
+partition pa2 values less than (2),
+partition pa4 values less than (4),
+partition pa6 values less than (6),
+partition pa8 values less than (8),
+partition pa10 values less than (10)
+);
+show create table t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` decimal(18,9) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (floor(a))
+SUBPARTITION BY KEY (a)
+SUBPARTITIONS 2
+(PARTITION pa2 VALUES LESS THAN (2) ENGINE = InnoDB,
+ PARTITION pa4 VALUES LESS THAN (4) ENGINE = InnoDB,
+ PARTITION pa6 VALUES LESS THAN (6) ENGINE = InnoDB,
+ PARTITION pa8 VALUES LESS THAN (8) ENGINE = InnoDB,
+ PARTITION pa10 VALUES LESS THAN (10) ENGINE = InnoDB) */
+9*3 inserts;
+insert into t3 values (9);
+insert into t3 values (9+0.333333333);
+insert into t3 values (9+0.755555555);
+insert into t3 values (8);
+insert into t3 values (8+0.333333333);
+insert into t3 values (8+0.755555555);
+insert into t3 values (7);
+insert into t3 values (7+0.333333333);
+insert into t3 values (7+0.755555555);
+insert into t3 values (6);
+insert into t3 values (6+0.333333333);
+insert into t3 values (6+0.755555555);
+insert into t3 values (5);
+insert into t3 values (5+0.333333333);
+insert into t3 values (5+0.755555555);
+insert into t3 values (4);
+insert into t3 values (4+0.333333333);
+insert into t3 values (4+0.755555555);
+insert into t3 values (3);
+insert into t3 values (3+0.333333333);
+insert into t3 values (3+0.755555555);
+insert into t3 values (2);
+insert into t3 values (2+0.333333333);
+insert into t3 values (2+0.755555555);
+insert into t3 values (1);
+insert into t3 values (1+0.333333333);
+insert into t3 values (1+0.755555555);
+select count(*) from t3;
+count(*)
+27
+drop table t3;
+create table t4 (a decimal(18,9) not null, primary key(a)) engine='InnoDB'
+partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
+partition pa2 values in (1,2),
+partition pa4 values in (3,4),
+partition pa6 values in (5,6),
+partition pa8 values in (7,8),
+partition pa10 values in (9,10)
+);
+show create table t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `a` decimal(18,9) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (ceiling(a))
+SUBPARTITION BY KEY (a)
+SUBPARTITIONS 2
+(PARTITION pa2 VALUES IN (1,2) ENGINE = InnoDB,
+ PARTITION pa4 VALUES IN (3,4) ENGINE = InnoDB,
+ PARTITION pa6 VALUES IN (5,6) ENGINE = InnoDB,
+ PARTITION pa8 VALUES IN (7,8) ENGINE = InnoDB,
+ PARTITION pa10 VALUES IN (9,10) ENGINE = InnoDB) */
+9*3 inserts;
+insert into t4 values (9);
+insert into t4 values (9+0.333333333);
+insert into t4 values (9+0.755555555);
+insert into t4 values (8);
+insert into t4 values (8+0.333333333);
+insert into t4 values (8+0.755555555);
+insert into t4 values (7);
+insert into t4 values (7+0.333333333);
+insert into t4 values (7+0.755555555);
+insert into t4 values (6);
+insert into t4 values (6+0.333333333);
+insert into t4 values (6+0.755555555);
+insert into t4 values (5);
+insert into t4 values (5+0.333333333);
+insert into t4 values (5+0.755555555);
+insert into t4 values (4);
+insert into t4 values (4+0.333333333);
+insert into t4 values (4+0.755555555);
+insert into t4 values (3);
+insert into t4 values (3+0.333333333);
+insert into t4 values (3+0.755555555);
+insert into t4 values (2);
+insert into t4 values (2+0.333333333);
+insert into t4 values (2+0.755555555);
+insert into t4 values (1);
+insert into t4 values (1+0.333333333);
+insert into t4 values (1+0.755555555);
+select count(*) from t4;
+count(*)
+27
+drop table t4;
diff --git a/mysql-test/suite/parts/r/partition_decimal_myisam.result b/mysql-test/suite/parts/r/partition_decimal_myisam.result
index f9f7a1e4fe2..cdafb721ea4 100644
--- a/mysql-test/suite/parts/r/partition_decimal_myisam.result
+++ b/mysql-test/suite/parts/r/partition_decimal_myisam.result
@@ -86,3 +86,111 @@ select count(*) from t2;
count(*)
196605
drop table t2;
+create table t3 (a decimal(18,9) not null, primary key(a)) engine='MYISAM'
+partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
+partition pa2 values less than (2),
+partition pa4 values less than (4),
+partition pa6 values less than (6),
+partition pa8 values less than (8),
+partition pa10 values less than (10)
+);
+show create table t3;
+Table Create Table
+t3 CREATE TABLE `t3` (
+ `a` decimal(18,9) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY RANGE (floor(a))
+SUBPARTITION BY KEY (a)
+SUBPARTITIONS 2
+(PARTITION pa2 VALUES LESS THAN (2) ENGINE = MyISAM,
+ PARTITION pa4 VALUES LESS THAN (4) ENGINE = MyISAM,
+ PARTITION pa6 VALUES LESS THAN (6) ENGINE = MyISAM,
+ PARTITION pa8 VALUES LESS THAN (8) ENGINE = MyISAM,
+ PARTITION pa10 VALUES LESS THAN (10) ENGINE = MyISAM) */
+9*3 inserts;
+insert into t3 values (9);
+insert into t3 values (9+0.333333333);
+insert into t3 values (9+0.755555555);
+insert into t3 values (8);
+insert into t3 values (8+0.333333333);
+insert into t3 values (8+0.755555555);
+insert into t3 values (7);
+insert into t3 values (7+0.333333333);
+insert into t3 values (7+0.755555555);
+insert into t3 values (6);
+insert into t3 values (6+0.333333333);
+insert into t3 values (6+0.755555555);
+insert into t3 values (5);
+insert into t3 values (5+0.333333333);
+insert into t3 values (5+0.755555555);
+insert into t3 values (4);
+insert into t3 values (4+0.333333333);
+insert into t3 values (4+0.755555555);
+insert into t3 values (3);
+insert into t3 values (3+0.333333333);
+insert into t3 values (3+0.755555555);
+insert into t3 values (2);
+insert into t3 values (2+0.333333333);
+insert into t3 values (2+0.755555555);
+insert into t3 values (1);
+insert into t3 values (1+0.333333333);
+insert into t3 values (1+0.755555555);
+select count(*) from t3;
+count(*)
+27
+drop table t3;
+create table t4 (a decimal(18,9) not null, primary key(a)) engine='MYISAM'
+partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
+partition pa2 values in (1,2),
+partition pa4 values in (3,4),
+partition pa6 values in (5,6),
+partition pa8 values in (7,8),
+partition pa10 values in (9,10)
+);
+show create table t4;
+Table Create Table
+t4 CREATE TABLE `t4` (
+ `a` decimal(18,9) NOT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY LIST (ceiling(a))
+SUBPARTITION BY KEY (a)
+SUBPARTITIONS 2
+(PARTITION pa2 VALUES IN (1,2) ENGINE = MyISAM,
+ PARTITION pa4 VALUES IN (3,4) ENGINE = MyISAM,
+ PARTITION pa6 VALUES IN (5,6) ENGINE = MyISAM,
+ PARTITION pa8 VALUES IN (7,8) ENGINE = MyISAM,
+ PARTITION pa10 VALUES IN (9,10) ENGINE = MyISAM) */
+9*3 inserts;
+insert into t4 values (9);
+insert into t4 values (9+0.333333333);
+insert into t4 values (9+0.755555555);
+insert into t4 values (8);
+insert into t4 values (8+0.333333333);
+insert into t4 values (8+0.755555555);
+insert into t4 values (7);
+insert into t4 values (7+0.333333333);
+insert into t4 values (7+0.755555555);
+insert into t4 values (6);
+insert into t4 values (6+0.333333333);
+insert into t4 values (6+0.755555555);
+insert into t4 values (5);
+insert into t4 values (5+0.333333333);
+insert into t4 values (5+0.755555555);
+insert into t4 values (4);
+insert into t4 values (4+0.333333333);
+insert into t4 values (4+0.755555555);
+insert into t4 values (3);
+insert into t4 values (3+0.333333333);
+insert into t4 values (3+0.755555555);
+insert into t4 values (2);
+insert into t4 values (2+0.333333333);
+insert into t4 values (2+0.755555555);
+insert into t4 values (1);
+insert into t4 values (1+0.333333333);
+insert into t4 values (1+0.755555555);
+select count(*) from t4;
+count(*)
+27
+drop table t4;
diff --git a/mysql-test/suite/parts/r/partition_engine_ndb.result b/mysql-test/suite/parts/r/partition_engine_ndb.result
deleted file mode 100644
index 6662032ef53..00000000000
--- a/mysql-test/suite/parts/r/partition_engine_ndb.result
+++ /dev/null
@@ -1,5203 +0,0 @@
-SET @max_row = 20;
-SET @@session.storage_engine = 'ndbcluster';
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary tables
-# needed in many testcases
-#------------------------------------------------------------------------
-SELECT @max_row DIV 2 INTO @max_row_div2;
-SELECT @max_row DIV 3 INTO @max_row_div3;
-SELECT @max_row DIV 4 INTO @max_row_div4;
-SET @max_int_4 = 2147483647;
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) ,
-PRIMARY KEY(f_int1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-DROP TABLE IF EXISTS t0_definition;
-CREATE TABLE t0_definition (
-state CHAR(3),
-create_command VARBINARY(5000),
-file_list VARBINARY(10000),
-PRIMARY KEY (state)
-) ENGINE = MEMORY;
-DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-ENGINE = MEMORY;
-SET AUTOCOMMIT= 1;
-SET @@session.sql_mode= '';
-# End of basic preparations needed for all tests
-#-----------------------------------------------
-
-#========================================================================
-# Checks where the engine is assigned on all supported (CREATE TABLE
-# statement) positions + basic operations on the tables
-# Storage engine mixups are currently (2005-12-23) not supported
-#========================================================================
-DROP TABLE IF EXISTS t1;
-#------------------------------------------------------------------------
-# 1 Assignment of storage engine just after column list only
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-) ENGINE = 'ndbcluster'
-PARTITION BY HASH(f_int1) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (f_int1)
-PARTITIONS 2 */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 2 Assignment of storage engine just after partition or subpartition
-# name only
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1)
-( PARTITION part1 STORAGE ENGINE = 'ndbcluster',
-PARTITION part2 STORAGE ENGINE = 'ndbcluster'
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (f_int1)
-(PARTITION part1 ENGINE = ndbcluster,
- PARTITION part2 ENGINE = ndbcluster) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (10)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster),
- PARTITION part2 VALUES LESS THAN (2147483646)
- (SUBPARTITION subpart21 ENGINE = ndbcluster,
- SUBPARTITION subpart22 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-ERROR HY000: Table has no partition for value 2147483647
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 3 Some but not all named partitions or subpartitions get a storage
-# engine assigned
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1)
-( PARTITION part1 STORAGE ENGINE = 'ndbcluster',
-PARTITION part2
-);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1)
-( PARTITION part1 ,
-PARTITION part2 STORAGE ENGINE = 'ndbcluster'
-);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21,
-SUBPARTITION subpart22 )
-);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-ENGINE = 'ndbcluster'
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21,
-SUBPARTITION subpart22 )
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (10)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster),
- PARTITION part2 VALUES LESS THAN (2147483646)
- (SUBPARTITION subpart21 ENGINE = ndbcluster,
- SUBPARTITION subpart22 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-ERROR HY000: Table has no partition for value 2147483647
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 4 Storage engine assignment after partition name + after name of
-# subpartitions belonging to another partition
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-ENGINE = 'ndbcluster'
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10) ENGINE = 'ndbcluster'
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21,
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10) ENGINE = 'ndbcluster'
-(SUBPARTITION subpart11,
-SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (10)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster),
- PARTITION part2 VALUES LESS THAN (2147483646)
- (SUBPARTITION subpart21 ENGINE = ndbcluster,
- SUBPARTITION subpart22 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-ERROR HY000: Table has no partition for value 2147483647
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646) ENGINE = 'ndbcluster'
-(SUBPARTITION subpart21 ENGINE = 'ndbcluster',
-SUBPARTITION subpart22)
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (10)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster),
- PARTITION part2 VALUES LESS THAN (2147483646)
- (SUBPARTITION subpart21 ENGINE = ndbcluster,
- SUBPARTITION subpart22 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-ERROR HY000: Table has no partition for value 2147483647
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 5 Precedence of storage engine assignments (if there is any)
-#------------------------------------------------------------------------
-# 5.1 Storage engine assignment after column list + after partition
-# or subpartition name
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-) ENGINE = 'ndbcluster'
-PARTITION BY HASH(f_int1)
-( PARTITION part1 STORAGE ENGINE = 'ndbcluster',
-PARTITION part2 STORAGE ENGINE = 'ndbcluster'
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (f_int1)
-(PARTITION part1 ENGINE = ndbcluster,
- PARTITION part2 ENGINE = ndbcluster) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (10)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster),
- PARTITION part2 VALUES LESS THAN (2147483646)
- (SUBPARTITION subpart21 ENGINE = ndbcluster,
- SUBPARTITION subpart22 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-ERROR HY000: Table has no partition for value 2147483647
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-# 6.2 Storage engine assignment after partition name + after
-# subpartition name
-# in partition part + in sub partition part
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (10) STORAGE ENGINE = 'ndbcluster'
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart22 STORAGE ENGINE = 'ndbcluster')
-);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (10)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster),
- PARTITION part2 VALUES LESS THAN (2147483646)
- (SUBPARTITION subpart21 ENGINE = ndbcluster,
- SUBPARTITION subpart22 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-ERROR HY000: Table has no partition for value 2147483647
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 6 Session default engine differs from engine used within create table
-#------------------------------------------------------------------------
-SET SESSION storage_engine='MEMORY';
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) ( PARTITION part1 ENGINE = 'ndbcluster');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH (f_int1)
-(PARTITION part1 ENGINE = ndbcluster) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be not transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 STORAGE ENGINE = 'ndbcluster',
-SUBPARTITION subpart12 STORAGE ENGINE = 'ndbcluster'));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-# Start usability test (inc/partition_check.inc)
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (f_int1)
-SUBPARTITION BY HASH (f_int1)
-(PARTITION part1 VALUES LESS THAN (1000)
- (SUBPARTITION subpart11 ENGINE = ndbcluster,
- SUBPARTITION subpart12 ENGINE = ndbcluster)) */
-
-# check prerequisites-1 success: 1
-# check COUNT(*) success: 1
-# check MIN/MAX(f_int1) success: 1
-# check MIN/MAX(f_int2) success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'delete me' FROM t0_template
-WHERE f_int1 IN (2,3);
-# check prerequisites-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'delete me';
-# INFO: Neither f_int1 nor f_int2 nor (f_int1,f_int2) is UNIQUE
-# check read via f_int1 success: 1
-# check read via f_int2 success: 1
-
-# check multiple-1 success: 1
-DELETE FROM t1 WHERE MOD(f_int1,3) = 0;
-
-# check multiple-2 success: 1
-INSERT INTO t1 SELECT * FROM t0_template
-WHERE MOD(f_int1,3) = 0;
-
-# check multiple-3 success: 1
-UPDATE t1 SET f_int1 = f_int1 + @max_row
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4
-AND @max_row_div2 + @max_row_div4;
-
-# check multiple-4 success: 1
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - @max_row_div4 + @max_row
-AND @max_row_div2 + @max_row_div4 + @max_row;
-
-# check multiple-5 success: 1
-SELECT MIN(f_int1) - 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-1 success: 1
-SELECT MAX(f_int1) + 1 INTO @cur_value FROM t1;
-INSERT INTO t1
-SET f_int1 = @cur_value , f_int2 = @cur_value,
-f_char1 = CAST(@cur_value AS CHAR), f_char2 = CAST(@cur_value AS CHAR),
-f_charbig = '#SINGLE#';
-
-# check single-2 success: 1
-SELECT MIN(f_int1) INTO @cur_value1 FROM t1;
-SELECT MAX(f_int1) + 1 INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value2
-WHERE f_int1 = @cur_value1 AND f_charbig = '#SINGLE#';
-
-# check single-3 success: 1
-SET @cur_value1= -1;
-SELECT MAX(f_int1) INTO @cur_value2 FROM t1;
-UPDATE t1 SET f_int1 = @cur_value1
-WHERE f_int1 = @cur_value2 AND f_charbig = '#SINGLE#';
-
-# check single-4 success: 1
-SELECT MAX(f_int1) INTO @cur_value FROM t1;
-DELETE FROM t1 WHERE f_int1 = @cur_value AND f_charbig = '#SINGLE#';
-
-# check single-5 success: 1
-DELETE FROM t1 WHERE f_int1 = -1 AND f_charbig = '#SINGLE#';
-
-# check single-6 success: 1
-INSERT INTO t1 SET f_int1 = @max_int_4 , f_int2 = @max_int_4, f_charbig = '#2147483647##';
-
-# check single-7 success: 1
-DELETE FROM t1 WHERE f_charbig = '#2147483647##';
-DELETE FROM t1 WHERE f_int1 IS NULL OR f_int1 = 0;
-INSERT t1 SET f_int1 = 0 , f_int2 = 0,
-f_char1 = CAST(0 AS CHAR), f_char2 = CAST(0 AS CHAR),
-f_charbig = '#NULL#';
-INSERT INTO t1
-SET f_int1 = NULL , f_int2 = -@max_row,
-f_char1 = CAST(-@max_row AS CHAR), f_char2 = CAST(-@max_row AS CHAR),
-f_charbig = '#NULL#';
-# check null success: 1
-
-# check null-1 success: 1
-UPDATE t1 SET f_int1 = -@max_row
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-2 success: 1
-UPDATE t1 SET f_int1 = NULL
-WHERE f_int1 = -@max_row AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-3 success: 1
-DELETE FROM t1
-WHERE f_int1 IS NULL AND f_int2 = -@max_row AND f_char1 = CAST(-@max_row AS CHAR)
-AND f_char2 = CAST(-@max_row AS CHAR) AND f_charbig = '#NULL#';
-
-# check null-4 success: 1
-DELETE FROM t1
-WHERE f_int1 = 0 AND f_int2 = 0
-AND f_char1 = CAST(0 AS CHAR) AND f_char2 = CAST(0 AS CHAR)
-AND f_charbig = '#NULL#';
-SET AUTOCOMMIT= 0;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-1 success: 1
-COMMIT WORK;
-
-# check transactions-2 success: 1
-ROLLBACK WORK;
-
-# check transactions-3 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-ROLLBACK WORK;
-
-# check transactions-4 success: 1
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, '', '', 'was inserted'
-FROM t0_template source_tab
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-
-# check transactions-5 success: 1
-ROLLBACK WORK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-
-# check transactions-6 success: 1
-# INFO: Storage engine used for t1 seems to be not transactional.
-COMMIT;
-
-# check transactions-7 success: 1
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-SET @@session.sql_mode = 'traditional';
-SELECT @max_row_div2 + @max_row_div4 - @max_row_div4 + 1 INTO @exp_inserted_rows;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT IF(f_int1 = @max_row_div2,f_int1 / 0,f_int1),f_int1,
-'', '', 'was inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div4 AND @max_row_div2 + @max_row_div4;
-ERROR 22012: Division by 0
-COMMIT;
-
-# check transactions-8 success: 1
-# INFO: Storage engine used for t1 seems to be unable to revert
-# changes made by the failing statement.
-SET @@session.sql_mode = '';
-SET AUTOCOMMIT= 1;
-DELETE FROM t1 WHERE f_charbig = 'was inserted';
-COMMIT WORK;
-UPDATE t1 SET f_charbig = REPEAT('b', 1000);
-
-# check special-1 success: 1
-UPDATE t1 SET f_charbig = '';
-
-# check special-2 success: 1
-UPDATE t1 SET f_charbig = CONCAT('===',CAST(f_int1 AS CHAR),'===');
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-1 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER INSERT ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,NULL FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-
-# check trigger-2 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-3 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-4 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = new.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-5 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER UPDATE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-UPDATE t0_aux SET f_int1 = - f_int1, f_int2 = - f_int2
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-6 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 BEFORE DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-7 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-INSERT INTO t0_aux(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
-'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_1 AFTER DELETE ON t0_aux FOR EACH ROW
-BEGIN
-UPDATE t1 SET f_int1 = -f_int1, f_int2 = -f_int2,
-f_charbig = 'updated by trigger'
- WHERE f_int1 = - old.f_int1;
-END|
-DELETE FROM t0_aux
-WHERE f_int1 IN (- (@max_row_div2 - 1),- @max_row_div2,- (@max_row_div2 + 1));
-
-# check trigger-8 success: 1
-DROP TRIGGER trg_1;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = 'just inserted'
- WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
-DELETE FROM t0_aux
-WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-DELETE FROM t1
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = old.f_int1 + @max_row,
-new.f_int2 = old.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-9 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_2 BEFORE UPDATE ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = new.f_int1 + @max_row,
-new.f_int2 = new.f_int2 - @max_row,
-new.f_charbig = '####updated per update trigger####';
-END|
-UPDATE t1
-SET f_int1 = f_int1 + @max_row, f_int2 = f_int2 - @max_row,
-f_charbig = '####updated per update statement itself####';
-
-# check trigger-10 success: 1
-DROP TRIGGER trg_2;
-UPDATE t1 SET f_int1 = CAST(f_char1 AS SIGNED INT),
-f_int2 = CAST(f_char1 AS SIGNED INT),
-f_charbig = CONCAT('===',f_char1,'===');
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_int1, f_int2, f_char1, f_char2, f_charbig)
-SELECT f_int1, f_int1, CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-11 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-CREATE TRIGGER trg_3 BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
-SET new.f_int1 = @my_max1 + @counter,
-new.f_int2 = @my_min2 - @counter,
-new.f_charbig = '####updated per insert trigger####';
-SET @counter = @counter + 1;
-END|
-SET @counter = 1;
-SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
-INSERT INTO t1 (f_char1, f_char2, f_charbig)
-SELECT CAST(f_int1 AS CHAR),
-CAST(f_int1 AS CHAR), 'just inserted' FROM t0_template
-WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1
-ORDER BY f_int1;
-DROP TRIGGER trg_3;
-
-# check trigger-12 success: 1
-DELETE FROM t1
-WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
-AND f_int2 <> CAST(f_char1 AS SIGNED INT)
-AND f_charbig = '####updated per insert trigger####';
-ANALYZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 analyze note The storage engine for the table doesn't support analyze
-CHECK TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
-CHECKSUM TABLE t1 EXTENDED;
-Table Checksum
-test.t1 <some_value>
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note The storage engine for the table doesn't support optimize
-# check layout success: 1
-REPAIR TABLE t1 EXTENDED;
-Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
-# check layout success: 1
-TRUNCATE t1;
-
-# check TRUNCATE success: 1
-# check layout success: 1
-# End usability test (inc/partition_check.inc)
-DROP TABLE t1;
-SET SESSION storage_engine='ndbcluster';
-DROP VIEW IF EXISTS v1;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t0_aux;
-DROP TABLE IF EXISTS t0_definition;
-DROP TABLE IF EXISTS t0_template;
diff --git a/mysql-test/suite/parts/r/partition_int_ndb.result b/mysql-test/suite/parts/r/partition_int_ndb.result
deleted file mode 100644
index d3c2d80d6b4..00000000000
--- a/mysql-test/suite/parts/r/partition_int_ndb.result
+++ /dev/null
@@ -1,557 +0,0 @@
-create table t1 (a tinyint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) (
-partition pa1 max_rows=20 min_rows=2,
-partition pa2 max_rows=30 min_rows=3,
-partition pa3 max_rows=30 min_rows=4,
-partition pa4 max_rows=40 min_rows=2);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` tinyint(3) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster,
- PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster,
- PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster,
- PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */
-insert into t1 values (255), (254), (253), (252), (1), (2), (128);
-select * from t1;
-a
-1
-128
-2
-252
-253
-254
-255
-select * from t1 where a=253;
-a
-253
-delete from t1 where a=253;
-select * from t1;
-a
-1
-128
-2
-252
-254
-255
-drop table t1;
-create table t2 (a tinyint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 8;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` tinyint(3) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 8 */
-insert into t2 values (255), (254), (253), (252);
-select * from t2;
-a
-252
-253
-254
-255
-select * from t2 where a=253;
-a
-253
-delete from t2 where a=253;
-select * from t2;
-a
-252
-254
-255
-delete from t2;
-255 inserts;
-select count(*) from t2;
-count(*)
-255
-drop table t2;
-create table t3 (a tinyint not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 7;
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` tinyint(4) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 7 */
-insert into t3 values (127), (126), (125), (124), (-128), (-127), (1), (-1), (0);
-select * from t3;
-a
--1
--127
--128
-0
-1
-124
-125
-126
-127
-select * from t3 where a=125;
-a
-125
-delete from t3 where a=125;
-select * from t3;
-a
--1
--127
--128
-0
-1
-124
-126
-127
-drop table t3;
-create table t1 (a smallint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) (
-partition pa1 max_rows=20 min_rows=2,
-partition pa2 max_rows=30 min_rows=3,
-partition pa3 max_rows=30 min_rows=4,
-partition pa4 max_rows=40 min_rows=2);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` smallint(5) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster,
- PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster,
- PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster,
- PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */
-insert into t1 values (65535), (65534), (65533), (65532), (1), (2), (256);
-select * from t1;
-a
-1
-2
-256
-65532
-65533
-65534
-65535
-select * from t1 where a=65533;
-a
-65533
-delete from t1 where a=65533;
-select * from t1;
-a
-1
-2
-256
-65532
-65534
-65535
-drop table t1;
-create table t2 (a smallint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 8;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` smallint(5) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 8 */
-insert into t2 values (65535), (65534), (65533), (65532);
-select * from t2;
-a
-65532
-65533
-65534
-65535
-select * from t2 where a=65533;
-a
-65533
-delete from t2 where a=65533;
-select * from t2;
-a
-65532
-65534
-65535
-delete from t2;
-1024 inserts;
-select count(*) from t2;
-count(*)
-1024
-drop table t2;
-create table t3 (a smallint not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 7;
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` smallint(6) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 7 */
-insert into t3 values (32767), (32766), (32765), (32764), (-32768), (-32767), (1), (-1), (0);
-select * from t3;
-a
--1
--32767
--32768
-0
-1
-32764
-32765
-32766
-32767
-select * from t3 where a=32765;
-a
-32765
-delete from t3 where a=32765;
-select * from t3;
-a
--1
--32767
--32768
-0
-1
-32764
-32766
-32767
-drop table t3;
-create table t1 (a int unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) (
-partition pa1 max_rows=20 min_rows=2,
-partition pa2 max_rows=30 min_rows=3,
-partition pa3 max_rows=30 min_rows=4,
-partition pa4 max_rows=40 min_rows=2);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(10) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster,
- PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster,
- PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster,
- PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */
-insert into t1 values (4294967295), (4294967294), (4294967293), (4294967292), (1), (2), (65535);
-select * from t1;
-a
-1
-2
-4294967292
-4294967293
-4294967294
-4294967295
-65535
-select * from t1 where a=4294967293;
-a
-4294967293
-delete from t1 where a=4294967293;
-select * from t1;
-a
-1
-2
-4294967292
-4294967294
-4294967295
-65535
-drop table t1;
-create table t2 (a int unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 8;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(10) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 8 */
-insert into t2 values (4294967295), (4294967294), (4294967293), (4294967292);
-select * from t2;
-a
-4294967292
-4294967293
-4294967294
-4294967295
-select * from t2 where a=4294967293;
-a
-4294967293
-delete from t2 where a=4294967293;
-select * from t2;
-a
-4294967292
-4294967294
-4294967295
-delete from t2;
-1024 inserts;
-select count(*) from t2;
-count(*)
-1024
-drop table t2;
-create table t3 (a int not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 7;
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` int(11) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 7 */
-insert into t3 values (2147483647), (2147483646), (2147483645), (2147483644), (-2147483648), (-2147483647), (1), (-1), (0);
-select * from t3;
-a
--1
--2147483647
--2147483648
-0
-1
-2147483644
-2147483645
-2147483646
-2147483647
-select * from t3 where a=2147483645;
-a
-2147483645
-delete from t3 where a=2147483645;
-select * from t3;
-a
--1
--2147483647
--2147483648
-0
-1
-2147483644
-2147483646
-2147483647
-drop table t3;
-create table t1 (a mediumint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) (
-partition pa1 max_rows=20 min_rows=2,
-partition pa2 max_rows=30 min_rows=3,
-partition pa3 max_rows=30 min_rows=4,
-partition pa4 max_rows=40 min_rows=2);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` mediumint(8) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster,
- PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster,
- PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster,
- PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */
-insert into t1 values (16777215), (16777214), (16777213), (16777212), (1), (2), (65535);
-select * from t1;
-a
-1
-16777212
-16777213
-16777214
-16777215
-2
-65535
-select * from t1 where a=16777213;
-a
-16777213
-delete from t1 where a=16777213;
-select * from t1;
-a
-1
-16777212
-16777214
-16777215
-2
-65535
-drop table t1;
-create table t2 (a mediumint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 8;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` mediumint(8) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 8 */
-insert into t2 values (16777215), (16777214), (16777213), (16777212);
-select * from t2;
-a
-16777212
-16777213
-16777214
-16777215
-select * from t2 where a=16777213;
-a
-16777213
-delete from t2 where a=16777213;
-select * from t2;
-a
-16777212
-16777214
-16777215
-delete from t2;
-1024 inserts;
-select count(*) from t2;
-count(*)
-1024
-drop table t2;
-create table t3 (a mediumint not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 7;
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` mediumint(9) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 7 */
-insert into t3 values (8388607), (8388606), (8388605), (8388604), (-8388608), (-8388607), (1), (-1), (0);
-select * from t3;
-a
--1
--8388607
--8388608
-0
-1
-8388604
-8388605
-8388606
-8388607
-select * from t3 where a=8388605;
-a
-8388605
-delete from t3 where a=8388605;
-select * from t3;
-a
--1
--8388607
--8388608
-0
-1
-8388604
-8388606
-8388607
-drop table t3;
-create table t1 (a bigint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) (
-partition pa1 max_rows=20 min_rows=2,
-partition pa2 max_rows=30 min_rows=3,
-partition pa3 max_rows=30 min_rows=4,
-partition pa4 max_rows=40 min_rows=2);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` bigint(20) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = ndbcluster,
- PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = ndbcluster,
- PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = ndbcluster,
- PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = ndbcluster) */
-insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612), (1), (2), (65535);
-select * from t1;
-a
-1
-18446744073709551612
-18446744073709551613
-18446744073709551614
-18446744073709551615
-2
-65535
-select * from t1 where a=-2;
-a
-delete from t1 where a=-2;
-select * from t1;
-a
-1
-18446744073709551612
-18446744073709551613
-18446744073709551614
-18446744073709551615
-2
-65535
-select * from t1 where a=18446744073709551615;
-a
-18446744073709551615
-delete from t1 where a=18446744073709551615;
-select * from t1;
-a
-1
-18446744073709551612
-18446744073709551613
-18446744073709551614
-2
-65535
-drop table t1;
-create table t2 (a bigint unsigned not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 8;
-show create table t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` bigint(20) unsigned NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 8 */
-insert into t2 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE), (18446744073709551613), (18446744073709551612);
-select * from t2;
-a
-18446744073709551612
-18446744073709551613
-18446744073709551614
-18446744073709551615
-select * from t2 where a=18446744073709551615;
-a
-18446744073709551615
-delete from t2 where a=18446744073709551615;
-select * from t2;
-a
-18446744073709551612
-18446744073709551613
-18446744073709551614
-delete from t2;
-1024 inserts;
-select count(*) from t2;
-count(*)
-1024
-drop table t2;
-create table t3 (a bigint not null, primary key(a)) engine='NDB'
-partition by key (a) partitions 7;
-show create table t3;
-Table Create Table
-t3 CREATE TABLE `t3` (
- `a` bigint(20) NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-PARTITIONS 7 */
-insert into t3 values (9223372036854775807), (9223372036854775806), (9223372036854775805), (9223372036854775804), (-9223372036854775808), (-9223372036854775807), (1), (-1), (0);
-select * from t3;
-a
--1
--9223372036854775807
--9223372036854775808
-0
-1
-9223372036854775804
-9223372036854775805
-9223372036854775806
-9223372036854775807
-select * from t3 where a=9223372036854775806;
-a
-9223372036854775806
-delete from t3 where a=9223372036854775806;
-select * from t3;
-a
--1
--9223372036854775807
--9223372036854775808
-0
-1
-9223372036854775804
-9223372036854775805
-9223372036854775807
-drop table t3;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result b/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result
deleted file mode 100644
index 15b3f424527..00000000000
--- a/mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result
+++ /dev/null
@@ -1,198 +0,0 @@
-# Creating database MySQL_TEST_DB
-CREATE DATABASE MySQL_Test_DB;
-USE MySQL_Test_DB;
-# 1.0 KEY partitioning mgm
-# Creating KEY partitioned table
-CREATE TABLE TableA (a INT)
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION parta ,
-PARTITION partB ,
-PARTITION Partc ,
-PARTITION PartD );
-INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
-INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-# Test of ADD/COALESCE PARTITIONS
-# expecting duplicate partition name
-ALTER TABLE TableA ADD PARTITION
-(PARTITION partA,
-PARTITION Parta,
-PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
-ALTER TABLE TableA ADD PARTITION
-(PARTITION partE,
-PARTITION Partf,
-PARTITION PartG);
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION parta ENGINE = ndbcluster,
- PARTITION partB ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster,
- PARTITION PartD ENGINE = ndbcluster,
- PARTITION partE ENGINE = ndbcluster,
- PARTITION Partf ENGINE = ndbcluster,
- PARTITION PartG ENGINE = ndbcluster) */
-ALTER TABLE TableA COALESCE PARTITION 4;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION parta ENGINE = ndbcluster,
- PARTITION partB ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of REORGANIZE PARTITIONS
-# Should not work on HASH/KEY
-ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
-(PARTITION PARTA ,
-PARTITION partc );
-ERROR HY000: REORGANIZE PARTITION can only be used to reorganize partitions not to change their numbers
-ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
-(PARTITION partB ,
-PARTITION parta );
-ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
-ALTER TABLE TableA REORGANIZE PARTITION parta,partB INTO
-(PARTITION partB COMMENT="Previusly named parta",
-PARTITION parta COMMENT="Previusly named partB");
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster,
- PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of RENAME TABLE
-RENAME TABLE TableA to TableB;
-SELECT * FROM TableB;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-RENAME TABLE TableB to TableA;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-# Checking name comparision Upper vs Lower case
-# Error if lower_case_table_names != 0
-# lower_case_table_names: 0
-# Test of REMOVE PARTITIONING
-ALTER TABLE TableA REMOVE PARTITIONING;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-# Cleaning up after KEY PARTITIONING test
-DROP TABLE TableA;
-# Verify that TRUNCATE PARTITION gives error
-CREATE TABLE t1
-(a BIGINT AUTO_INCREMENT PRIMARY KEY,
-b VARCHAR(255))
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION LT1000,
-PARTITION LT2000,
-PARTITION MAX);
-INSERT INTO t1 VALUES (NULL, "First"), (NULL, "Second"), (999, "Last in LT1000"), (NULL, "First in LT2000"), (NULL, "Second in LT2000"), (1999, "Last in LT2000"), (NULL, "First in MAX"), (NULL, "Second in MAX");
-ALTER TABLE t1 TRUNCATE PARTITION MAX;
-Got one of the listed errors
-# Cleaning up before exit
-USE test;
-DROP DATABASE MySQL_Test_DB;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result b/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result
deleted file mode 100644
index 1d221caa163..00000000000
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result
+++ /dev/null
@@ -1,236 +0,0 @@
-# Creating database MySQL_TEST_DB
-CREATE DATABASE MySQL_Test_DB;
-USE MySQL_Test_DB;
-# 1.0 KEY partitioning mgm
-# Creating KEY partitioned table
-CREATE TABLE TableA (a INT)
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION parta ,
-PARTITION partB ,
-PARTITION Partc ,
-PARTITION PartD );
-INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
-INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-# Test of ADD/COALESCE PARTITIONS
-# expecting duplicate partition name
-ALTER TABLE TableA ADD PARTITION
-(PARTITION partA,
-PARTITION Parta,
-PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
-ALTER TABLE TableA ADD PARTITION
-(PARTITION partE,
-PARTITION Partf,
-PARTITION PartG);
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `tablea` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION parta ENGINE = ndbcluster,
- PARTITION partB ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster,
- PARTITION PartD ENGINE = ndbcluster,
- PARTITION partE ENGINE = ndbcluster,
- PARTITION Partf ENGINE = ndbcluster,
- PARTITION PartG ENGINE = ndbcluster) */
-ALTER TABLE TableA COALESCE PARTITION 4;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `tablea` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION parta ENGINE = ndbcluster,
- PARTITION partB ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of REORGANIZE PARTITIONS
-# Should not work on HASH/KEY
-ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
-(PARTITION PARTA ,
-PARTITION partc );
-ERROR HY000: REORGANIZE PARTITION can only be used to reorganize partitions not to change their numbers
-ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
-(PARTITION partB ,
-PARTITION parta );
-ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
-ALTER TABLE TableA REORGANIZE PARTITION parta,partB INTO
-(PARTITION partB COMMENT="Previusly named parta",
-PARTITION parta COMMENT="Previusly named partB");
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `tablea` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster,
- PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of RENAME TABLE
-RENAME TABLE TableA to TableB;
-SELECT * FROM TableB;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-RENAME TABLE TableB to TableA;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-# Checking name comparision Upper vs Lower case
-# Error if lower_case_table_names != 0
-# lower_case_table_names: 1
-CREATE TABLE tablea (a INT)
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION parta ,
-PARTITION partB ,
-PARTITION Partc ,
-PARTITION PartD );
-ERROR 42S01: Table 'tablea' already exists
-SHOW TABLES;
-Tables_in_mysql_test_db
-tablea
-RENAME TABLE TableA to tablea;
-ERROR 42S01: Table 'tablea' already exists
-RENAME TABLE tablea to TableA;
-ERROR 42S01: Table 'tablea' already exists
-SELECT * FROM tablea;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE tablea;
-Table Create Table
-tablea CREATE TABLE `tablea` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster,
- PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of REMOVE PARTITIONING
-ALTER TABLE TableA REMOVE PARTITIONING;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `tablea` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-# Cleaning up after KEY PARTITIONING test
-DROP TABLE TableA;
-# Verify that TRUNCATE PARTITION gives error
-CREATE TABLE t1
-(a BIGINT AUTO_INCREMENT PRIMARY KEY,
-b VARCHAR(255))
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION LT1000,
-PARTITION LT2000,
-PARTITION MAX);
-INSERT INTO t1 VALUES (NULL, "First"), (NULL, "Second"), (999, "Last in LT1000"), (NULL, "First in LT2000"), (NULL, "Second in LT2000"), (1999, "Last in LT2000"), (NULL, "First in MAX"), (NULL, "Second in MAX");
-ALTER TABLE t1 TRUNCATE PARTITION MAX;
-Got one of the listed errors
-# Cleaning up before exit
-USE test;
-DROP DATABASE MySQL_Test_DB;
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result b/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result
deleted file mode 100644
index 2f5dfe5e08e..00000000000
--- a/mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result
+++ /dev/null
@@ -1,236 +0,0 @@
-# Creating database MySQL_TEST_DB
-CREATE DATABASE MySQL_Test_DB;
-USE MySQL_Test_DB;
-# 1.0 KEY partitioning mgm
-# Creating KEY partitioned table
-CREATE TABLE TableA (a INT)
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION parta ,
-PARTITION partB ,
-PARTITION Partc ,
-PARTITION PartD );
-INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
-INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-# Test of ADD/COALESCE PARTITIONS
-# expecting duplicate partition name
-ALTER TABLE TableA ADD PARTITION
-(PARTITION partA,
-PARTITION Parta,
-PARTITION PartA);
-ERROR HY000: Duplicate partition name parta
-ALTER TABLE TableA ADD PARTITION
-(PARTITION partE,
-PARTITION Partf,
-PARTITION PartG);
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION parta ENGINE = ndbcluster,
- PARTITION partB ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster,
- PARTITION PartD ENGINE = ndbcluster,
- PARTITION partE ENGINE = ndbcluster,
- PARTITION Partf ENGINE = ndbcluster,
- PARTITION PartG ENGINE = ndbcluster) */
-ALTER TABLE TableA COALESCE PARTITION 4;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION parta ENGINE = ndbcluster,
- PARTITION partB ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of REORGANIZE PARTITIONS
-# Should not work on HASH/KEY
-ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
-(PARTITION PARTA ,
-PARTITION partc );
-ERROR HY000: REORGANIZE PARTITION can only be used to reorganize partitions not to change their numbers
-ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
-(PARTITION partB ,
-PARTITION parta );
-ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
-ALTER TABLE TableA REORGANIZE PARTITION parta,partB INTO
-(PARTITION partB COMMENT="Previusly named parta",
-PARTITION parta COMMENT="Previusly named partB");
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster,
- PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of RENAME TABLE
-RENAME TABLE TableA to TableB;
-SELECT * FROM TableB;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-RENAME TABLE TableB to TableA;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-# Checking name comparision Upper vs Lower case
-# Error if lower_case_table_names != 0
-# lower_case_table_names: 2
-CREATE TABLE tablea (a INT)
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION parta ,
-PARTITION partB ,
-PARTITION Partc ,
-PARTITION PartD );
-ERROR 42S01: Table 'tablea' already exists
-SHOW TABLES;
-Tables_in_mysql_test_db
-TableA
-RENAME TABLE TableA to tablea;
-ERROR 42S01: Table 'tablea' already exists
-RENAME TABLE tablea to TableA;
-ERROR 42S01: Table 'TableA' already exists
-SELECT * FROM tablea;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE tablea;
-Table Create Table
-tablea CREATE TABLE `tablea` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (a)
-(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ndbcluster,
- PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ndbcluster,
- PARTITION Partc ENGINE = ndbcluster) */
-# Test of REMOVE PARTITIONING
-ALTER TABLE TableA REMOVE PARTITIONING;
-SELECT * FROM TableA;
-a
-1
-10
-11
-12
-2
-3
-4
-5
-6
-7
-8
-9
-SHOW CREATE TABLE TableA;
-Table Create Table
-TableA CREATE TABLE `TableA` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-# Cleaning up after KEY PARTITIONING test
-DROP TABLE TableA;
-# Verify that TRUNCATE PARTITION gives error
-CREATE TABLE t1
-(a BIGINT AUTO_INCREMENT PRIMARY KEY,
-b VARCHAR(255))
-ENGINE = 'NDBCluster'
-PARTITION BY KEY (a)
-(PARTITION LT1000,
-PARTITION LT2000,
-PARTITION MAX);
-INSERT INTO t1 VALUES (NULL, "First"), (NULL, "Second"), (999, "Last in LT1000"), (NULL, "First in LT2000"), (NULL, "Second in LT2000"), (1999, "Last in LT2000"), (NULL, "First in MAX"), (NULL, "Second in MAX");
-ALTER TABLE t1 TRUNCATE PARTITION MAX;
-Got one of the listed errors
-# Cleaning up before exit
-USE test;
-DROP DATABASE MySQL_Test_DB;
diff --git a/mysql-test/suite/parts/r/partition_recover_myisam.result b/mysql-test/suite/parts/r/partition_recover_myisam.result
index df737ec2853..7de0cd31825 100644
--- a/mysql-test/suite/parts/r/partition_recover_myisam.result
+++ b/mysql-test/suite/parts/r/partition_recover_myisam.result
@@ -1,3 +1,5 @@
+call mtr.add_suppression("..test.t1_will_crash");
+call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc");
CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
FLUSH TABLES;
diff --git a/mysql-test/suite/parts/r/partition_special_innodb.result b/mysql-test/suite/parts/r/partition_special_innodb.result
index cf47b9de3f1..37bc3e49ab7 100644
--- a/mysql-test/suite/parts/r/partition_special_innodb.result
+++ b/mysql-test/suite/parts/r/partition_special_innodb.result
@@ -245,11 +245,10 @@ LOCK TABLE t1 READ;
# Third attempt: says that the table does not exist
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-# Check table returns the same
+# Check table returns the same (not after fixing bug#56172!)
CHECK TABLE t1;
Table Op Msg_type Msg_text
-test.t1 check Error Lock wait timeout exceeded; try restarting transaction
-test.t1 check error Corrupt
+test.t1 check status OK
UNLOCK TABLES;
DROP TABLE t1;
CREATE TABLE t2 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
diff --git a/mysql-test/suite/parts/r/partition_special_myisam.result b/mysql-test/suite/parts/r/partition_special_myisam.result
index 828be71c437..31868ea03ed 100644
--- a/mysql-test/suite/parts/r/partition_special_myisam.result
+++ b/mysql-test/suite/parts/r/partition_special_myisam.result
@@ -221,7 +221,7 @@ SET lock_wait_timeout = 2;
ALTER TABLE t1 COALESCE PARTITION 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
# Connection 3 tries to load into the table:
-LOAD DATA LOCAL INFILE '/tmp/load.in' INTO TABLE t1 (f);
+LOAD DATA INFILE 'load.in' INTO TABLE t1 (f);
# Connection 1 commits the transaction
COMMIT;
# Connection 3...
diff --git a/mysql-test/suite/parts/r/partition_syntax_ndb.result b/mysql-test/suite/parts/r/partition_syntax_ndb.result
deleted file mode 100644
index 2b0899fe53a..00000000000
--- a/mysql-test/suite/parts/r/partition_syntax_ndb.result
+++ /dev/null
@@ -1,1820 +0,0 @@
-SET @max_row = 20;
-SET @@session.storage_engine = 'ndbcluster';
-
-#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# #18730, Bug#18735
-# The expected results suffer from the following bugs
-# harmless #17455, #19305
-# which cannot be suppressed because of technical reasons.
-#------------------------------------------------------------------------
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary tables
-# needed in many testcases
-#------------------------------------------------------------------------
-SELECT @max_row DIV 2 INTO @max_row_div2;
-SELECT @max_row DIV 3 INTO @max_row_div3;
-SELECT @max_row DIV 4 INTO @max_row_div4;
-SET @max_int_4 = 2147483647;
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) ,
-PRIMARY KEY(f_int1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-DROP TABLE IF EXISTS t0_definition;
-CREATE TABLE t0_definition (
-state CHAR(3),
-create_command VARBINARY(5000),
-file_list VARBINARY(5000),
-PRIMARY KEY (state)
-) ENGINE = MEMORY;
-DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-ENGINE = MEMORY;
-SET AUTOCOMMIT= 1;
-SET @@session.sql_mode= '';
-# End of basic preparations needed for all tests
-#-----------------------------------------------
-
-#========================================================================
-# 1. Any PRIMARY KEYs or UNIQUE INDEXes must contain the columns used
-# within the partitioning functions
-#========================================================================
-DROP TABLE IF EXISTS t1;
-#------------------------------------------------------------------------
-# 1.1 column of partitioning function not included in PRIMARY KEY
-# PARTITION BY HASH/KEY/LIST/RANGE
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2;
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY KEY(f_int1) PARTITIONS 2;
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY LIST(f_int1)
-(PARTITION part1 VALUES IN (1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY LIST(f_int1 + f_int2)
-(PARTITION part1 VALUES IN (1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY RANGE(f_int1)
-(PARTITION part1 VALUES LESS THAN (1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY RANGE(f_int1 + f_int2)
-(PARTITION part1 VALUES LESS THAN (1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-#------------------------------------------------------------------------
-# 1.2 column of partitioning function not included in UNIQUE INDEX
-# PARTITION BY HASH/KEY/LIST/RANGE
-# Variant a) Without additional PRIMARY KEY
-# Variant b) With correct additional PRIMARY KEY
-# Variant 1) one column in partitioning function
-# Variant 2) two columns in partitioning function
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY HASH(f_int1 + f_int2) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY KEY(f_int1) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY KEY(f_int1) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY KEY(f_int1,f_int2) PARTITIONS 2;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int1,3))
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int1,3))
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int1 + f_int2,3))
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int1 + f_int2,3))
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int1)
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int1)
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int1 + f_int2)
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int1 + f_int2)
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 1.3 column of subpartitioning function not included in PRIMARY KEY
-# PARTITION BY RANGE/LIST -- SUBPARTITION BY HASH/KEY
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY RANGE(f_int2) SUBPARTITION BY HASH(f_int1)
-(PARTITION part1 VALUES LESS THAN (1)
-(SUBPARTITION subpart1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY RANGE(f_int2) SUBPARTITION BY KEY(f_int1)
-(PARTITION part1 VALUES LESS THAN (1)
-(SUBPARTITION subpart1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY LIST(f_int2) SUBPARTITION BY HASH(f_int1)
-(PARTITION part1 VALUES IN (1)
-(SUBPARTITION subpart1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int2)
-)
-PARTITION BY LIST(f_int2) SUBPARTITION BY KEY(f_int1)
-(PARTITION part1 VALUES IN (1)
-(SUBPARTITION subpart1));
-ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
-#------------------------------------------------------------------------
-# 1.4 column of subpartitioning function not included in UNIQUE INDEX
-# PARTITION BY RANGE/LIST -- SUBPARTITION BY HASH/KEY
-# Variant a) Without additional PRIMARY KEY
-# Variant b) With correct additional PRIMARY KEY
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int2)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int2)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int2)
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY RANGE(f_int2)
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 3
-(PARTITION part1 VALUES LESS THAN (1),
-PARTITION part2 VALUES LESS THAN (2147483646));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int2,3))
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int2,3))
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int2,3))
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 2
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY(f_int1,f_int2), UNIQUE INDEX (f_int2)
-)
-PARTITION BY LIST(MOD(f_int2,3))
-SUBPARTITION BY KEY(f_int1) SUBPARTITIONS 2
-(PARTITION partN VALUES IN (NULL),
-PARTITION part0 VALUES IN (0),
-PARTITION part1 VALUES IN (1),
-PARTITION part2 VALUES IN (2));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template;
-DROP TABLE t1;
-
-#========================================================================
-# 2 Some properties around subpartitioning
-#========================================================================
-#------------------------------------------------------------------------
-# 2.1 Subpartioned table without subpartitioning rule must be rejected
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11));
-ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
-#------------------------------------------------------------------------
-# 2.2 Every partition must have the same number of subpartitions.
-# This is a limitation of MySQL 5.1, which could be removed in
-# later releases.
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000),
-PRIMARY KEY (f_int1)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY KEY(f_int1)
-(
-PARTITION part1 VALUES LESS THAN (0)
-(SUBPARTITION subpart1),
-PARTITION part2 VALUES LESS THAN (5)
-(SUBPARTITION subpart1, SUBPARTITION subpart2));
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '))' at line 14
-
-#========================================================================
-# 3 VALUES clauses
-#========================================================================
-#------------------------------------------------------------------------
-# 3.1 The constants in VALUES IN clauses must differ
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES IN (-1),
-PARTITION part2 VALUES IN (0),
-PARTITION part3 VALUES IN (-1));
-ERROR HY000: Multiple definition of same constant in list partitioning
-CREATE TABLE t1 (f1 BIGINT, f2 BIGINT)
-PARTITION BY RANGE(f1)
-(PARTITION part1 VALUES LESS THAN (0),
-PARTITION part2 VALUES LESS THAN (0),
-PARTITION part3 VALUES LESS THAN (10000));
-ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
-#------------------------------------------------------------------------
-# 3.2 The constants in VALUES LESS must be in increasing order
-#------------------------------------------------------------------------
-CREATE TABLE t1 (f1 BIGINT, f2 BIGINT)
-PARTITION BY RANGE(f1)
-(PARTITION part1 VALUES LESS THAN (0),
-PARTITION part2 VALUES LESS THAN (-1),
-PARTITION part3 VALUES LESS THAN (10000));
-ERROR HY000: VALUES LESS THAN value must be strictly increasing for each partition
-#------------------------------------------------------------------------
-# 3.3 LIST partitions must be defined with VALUES IN
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES LESS THAN (-1),
-PARTITION part2 VALUES LESS THAN (0),
-PARTITION part3 VALUES LESS THAN (1000));
-ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
-#------------------------------------------------------------------------
-# 3.4 RANGE partitions must be defined with VALUES LESS THAN
-#------------------------------------------------------------------------
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES IN (-1),
-PARTITION part2 VALUES IN (0),
-PARTITION part3 VALUES IN (1000));
-ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
-#------------------------------------------------------------------------
-# 3.5 Use of NULL in VALUES clauses
-#------------------------------------------------------------------------
-# 3.5.1 NULL in RANGE partitioning clause
-# 3.5.1.1 VALUE LESS THAN (NULL) is not allowed
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES LESS THAN (NULL),
-PARTITION part2 VALUES LESS THAN (1000));
-ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '),
-PARTITION part2 VALUES LESS THAN (1000))' at line 9
-# 3.5.1.2 VALUE LESS THAN (CAST(NULL AS SIGNED INTEGER)) is not allowed
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-( PARTITION part1 VALUES LESS THAN (CAST(NULL AS SIGNED INTEGER)),
-PARTITION part2 VALUES LESS THAN (1000));
-ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '),
-PARTITION part2 VALUES LESS THAN (1000))' at line 9
-# 3.5.2 NULL in LIST partitioning clause
-# 3.5.2.1 VALUE IN (NULL)
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES IN (NULL),
-PARTITION part2 VALUES IN (0),
-PARTITION part3 VALUES IN (1));
-DROP TABLE t1;
-# 3.5.2.2 VALUE IN (CAST(NULL AS SIGNED INTEGER))
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES IN (CAST(NULL AS SIGNED INTEGER)),
-PARTITION part3 VALUES IN (1));
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = ndbcluster, PARTITION part3 VALUES IN (1) ENGINE = ndbcluster)
-
-DROP TABLE t1;
-# 3.5.3 Reveal that IN (...NULL) is not mapped to IN(0)
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY LIST(MOD(f_int1,2))
-( PARTITION part1 VALUES IN (CAST(NULL AS SIGNED INTEGER)),
-PARTITION part2 VALUES IN (0),
-PARTITION part3 VALUES IN (1));
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY LIST (MOD(f_int1,2)) (PARTITION part1 VALUES IN (NULL) ENGINE = ndbcluster, PARTITION part2 VALUES IN (0) ENGINE = ndbcluster, PARTITION part3 VALUES IN (1) ENGINE = ndbcluster)
-
-DROP TABLE t1;
-
-#========================================================================
-# 4. Check assigning the number of partitions and subpartitions
-# with and without named partitions/subpartitions
-#========================================================================
-DROP TABLE IF EXISTS t1;
-#------------------------------------------------------------------------
-# 4.1 (positive) without partition/subpartition number assignment
-#------------------------------------------------------------------------
-# 4.1.1 no partition number, no named partitions
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1);
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1)
-
-DROP TABLE t1;
-# 4.1.2 no partition number, named partitions
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) (PARTITION part1, PARTITION part2);
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-
-DROP TABLE t1;
-# 4.1.3 variations on no partition/subpartition number, named partitions,
-# different subpartitions are/are not named
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)) ;
-DROP TABLE t1;
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '), PARTITION part3 VALUES LESS THAN (2147483646))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '), PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31 , SUBPA' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)) ;
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646))' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31 , SUBPART' at line 7
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')' at line 8
-CREATE TABLE t1 ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10)
-(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20)
-(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (10) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (20) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster), PARTITION part3 VALUES LESS THAN (2147483646) (SUBPARTITION subpart31 ENGINE = ndbcluster, SUBPARTITION subpart32 ENGINE = ndbcluster))
-
-DROP TABLE t1;
-#------------------------------------------------------------------------
-# 4.2 partition/subpartition numbers good and bad values and notations
-#------------------------------------------------------------------------
-DROP TABLE IF EXISTS t1;
-# 4.2.1 partition/subpartition numbers INTEGER notation
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2;
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1) PARTITIONS 2
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 2
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) , PARTITION part2 VALUES LESS THAN (2147483646) )
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 1;
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1) PARTITIONS 1
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 1
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 1 (PARTITION part1 VALUES LESS THAN (10) , PARTITION part2 VALUES LESS THAN (2147483646) )
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 0;
-ERROR HY000: Number of partitions = 0 is not an allowed value
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR HY000: Number of subpartitions = 0 is not an allowed value
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS -1;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS -1
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (214' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 1000000;
-ERROR HY000: Too many partitions (including subpartitions) were defined
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 1000000
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR HY000: Too many partitions (including subpartitions) were defined
-# 4.2.2 partition/subpartition numbers DECIMAL notation
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2.0;
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1) PARTITIONS 2
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 2.0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) , PARTITION part2 VALUES LESS THAN (2147483646) )
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS -2.0;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2.0' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS -2.0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2.0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 0.0;
-ERROR HY000: Number of partitions = 0 is not an allowed value
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 0.0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR HY000: Number of subpartitions = 0 is not an allowed value
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 999999999999999999999999999999.999999999999999999999999999999;
-ERROR HY000: Too many partitions (including subpartitions) were defined
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 999999999999999999999999999999.999999999999999999999999999999
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR HY000: Too many partitions (including subpartitions) were defined
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 0.000000000000000000000000000001;
-ERROR HY000: Number of partitions = 0 is not an allowed value
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 0.000000000000000000000000000001
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR HY000: Number of subpartitions = 0 is not an allowed value
-# 4.2.3 partition/subpartition numbers FLOAT notation
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2.0E+0;
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1) PARTITIONS 2
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 2.0E+0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) SUBPARTITIONS 2 (PARTITION part1 VALUES LESS THAN (10) , PARTITION part2 VALUES LESS THAN (2147483646) )
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS -2.0E+0;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2.0E+0' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS -2.0E+0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2.0E+0
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 0.0E+300;
-ERROR HY000: Number of partitions = 0 is not an allowed value
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 0.0E+300
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR HY000: Number of subpartitions = 0 is not an allowed value
-# 4.2.4 partition/subpartition numbers STRING notation
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS '2';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2'' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS '2'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (21' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS '2.0';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2.0'' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS '2.0'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2.0'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS '0.2E+1';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0.2E+1'' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS '0.2E+1'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0.2E+1'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THA' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS '2A';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2A'' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS '2A'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2A'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 'A2';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''A2'' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 'A2'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''A2'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS '';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS ''
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (214' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 'GARBAGE';
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''GARBAGE'' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 'GARBAGE'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''GARBAGE'
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS TH' at line 9
-# 4.2.5 partition/subpartition numbers other notations
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2A;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2A' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS 2A
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2A
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (214' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS A2;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'A2' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS A2
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'A2
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (214' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS GARBAGE;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GARBAGE' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS GARBAGE
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GARBAGE
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS "2";
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"2"' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS "2"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"2"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (21' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS "2A";
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"2A"' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS "2A"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"2A"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS "A2";
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"A2"' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS "A2"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"A2"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2' at line 9
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS "GARBAGE";
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"GARBAGE"' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS "GARBAGE"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"GARBAGE"
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS TH' at line 9
-# 4.2.6 (negative) partition/subpartition numbers per @variables
-SET @aux = 5;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS @aux;
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@aux' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1)
-SUBPARTITIONS @aux = 5
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THAN (2147483646));
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@aux = 5
-(PARTITION part1 VALUES LESS THAN (10),
-PARTITION part2 VALUES LESS THA' at line 9
-#------------------------------------------------------------------------
-# 4.3 Mixups of assigned partition/subpartition numbers and names
-#------------------------------------------------------------------------
-# 4.3.1 (positive) number of partition/subpartition
-# = number of named partition/subpartition
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1, PARTITION part2 ) ;
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (f_int1) (PARTITION part1 ENGINE = ndbcluster, PARTITION part2 ENGINE = ndbcluster)
-
-DROP TABLE t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) PARTITIONS 2
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-create_command
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `f_int1` int(11) DEFAULT NULL,
- `f_int2` int(11) DEFAULT NULL,
- `f_char1` char(20) DEFAULT NULL,
- `f_char2` char(20) DEFAULT NULL,
- `f_charbig` varchar(1000) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (f_int1) SUBPARTITION BY HASH (f_int1) (PARTITION part1 VALUES LESS THAN (1000) (SUBPARTITION subpart11 ENGINE = ndbcluster, SUBPARTITION subpart12 ENGINE = ndbcluster), PARTITION part2 VALUES LESS THAN (2147483646) (SUBPARTITION subpart21 ENGINE = ndbcluster, SUBPARTITION subpart22 ENGINE = ndbcluster))
-
-DROP TABLE t1;
-# 4.3.2 (positive) number of partition/subpartition ,
-# 0 (= no) named partition/subpartition
-# already checked above
-# 4.3.3 (negative) number of partitions/subpartitions
-# > number of named partitions/subpartitions
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 2 ( PARTITION part1 ) ;
-ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11 ),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPAR' at line 11
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 ),
-PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31, SUBPARTITION subpart32)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31, SUBPAR' at line 13
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1) PARTITIONS 2
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 2
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21 )
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')
-)' at line 13
-# 4.3.4 (negative) number of partitions < number of named partitions
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) PARTITIONS 1 ( PARTITION part1, PARTITION part2 ) ;
-ERROR 42000: Wrong number of partitions defined, mismatch with previous setting near ')' at line 8
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPAR' at line 11
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 ),
-PARTITION part3 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart31, SUBPARTITION subpart32)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2000)
-(SUBPARTITION subpart21 ' at line 11
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1) SUBPARTITIONS 1
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart12),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPARTITION subpart22)
-);
-ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
-PARTITION part2 VALUES LESS THAN (2147483646)
-(SUBPARTITION subpart21, SUBPAR' at line 11
-
-#========================================================================
-# 5. Checks of logical partition/subpartition name
-# file name clashes during CREATE TABLE
-#========================================================================
-DROP TABLE IF EXISTS t1;
-#------------------------------------------------------------------------
-# 5.1 (negative) A partition/subpartition name used more than once
-#------------------------------------------------------------------------
-# 5.1.1 duplicate partition name
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(f_int1) (PARTITION part1, PARTITION part1);
-ERROR HY000: Duplicate partition name part1
-# 5.1.2 duplicate subpartition name
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(f_int1)
-SUBPARTITION BY HASH(f_int1)
-( PARTITION part1 VALUES LESS THAN (1000)
-(SUBPARTITION subpart11, SUBPARTITION subpart11)
-);
-ERROR HY000: Duplicate partition name subpart11
-DROP VIEW IF EXISTS v1;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t0_aux;
-DROP TABLE IF EXISTS t0_definition;
-DROP TABLE IF EXISTS t0_template;
diff --git a/mysql-test/suite/parts/r/partition_value_ndb.result b/mysql-test/suite/parts/r/partition_value_ndb.result
deleted file mode 100644
index 0787df5f5ac..00000000000
--- a/mysql-test/suite/parts/r/partition_value_ndb.result
+++ /dev/null
@@ -1,189 +0,0 @@
-SET @max_row = 20;
-SET @@session.storage_engine = 'ndbcluster';
-
-#------------------------------------------------------------------------
-# There are several testcases disabled because of the open bugs
-# #15890
-# #18730, Bug#18735
-# The expected results suffer from the following bugs
-# harmless #17455, #19305
-# which cannot be suppressed because of technical reasons.
-#------------------------------------------------------------------------
-
-#------------------------------------------------------------------------
-# 0. Setting of auxiliary variables + Creation of an auxiliary tables
-# needed in many testcases
-#------------------------------------------------------------------------
-SELECT @max_row DIV 2 INTO @max_row_div2;
-SELECT @max_row DIV 3 INTO @max_row_div3;
-SELECT @max_row DIV 4 INTO @max_row_div4;
-SET @max_int_4 = 2147483647;
-DROP TABLE IF EXISTS t0_template;
-CREATE TABLE t0_template (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) ,
-PRIMARY KEY(f_int1))
-ENGINE = MEMORY;
-# Logging of <max_row> INSERTs into t0_template suppressed
-DROP TABLE IF EXISTS t0_definition;
-CREATE TABLE t0_definition (
-state CHAR(3),
-create_command VARBINARY(5000),
-file_list VARBINARY(5000),
-PRIMARY KEY (state)
-) ENGINE = MEMORY;
-DROP TABLE IF EXISTS t0_aux;
-CREATE TABLE t0_aux ( f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000) )
-ENGINE = MEMORY;
-SET AUTOCOMMIT= 1;
-SET @@session.sql_mode= '';
-# End of basic preparations needed for all tests
-#-----------------------------------------------
-
-#========================================================================
-# Calculation of "exotic" results within the partition function
-# outside of SIGNED BIGINT value range, 0, NULL
-# column used in partitioning function has type CHAR
-#========================================================================
-# 1. HASH(<check value>)
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY HASH(CAST(f_char1 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)) PARTITIONS 8;
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(2147483646,2147483646,'2147483646','2147483646','#2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(-2147483646,-2147483646,'-2147483646','-2147483646','#-2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '-2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(0,0,'0','0','#0#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '0';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(NULL,NULL,NULL,NULL,NULL);
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
-COUNT(*) = 1
-1
-DROP TABLE t1;
-# 2. RANGE(<check value>)
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(CAST(f_char1 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER))
-(PARTITION p0 VALUES LESS THAN (0),
-PARTITION p1 VALUES LESS THAN (1000000),
-PARTITION p2 VALUES LESS THAN MAXVALUE);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(2147483646,2147483646,'2147483646','2147483646','#2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(-2147483646,-2147483646,'-2147483646','-2147483646','#-2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '-2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(0,0,'0','0','#0#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 = '0';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(NULL,NULL,NULL,NULL,NULL);
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char1 IS NULL;
-COUNT(*) = 1
-1
-DROP TABLE t1;
-# 4. Partition by RANGE(...) subpartition by HASH(<check value>)
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY RANGE(CAST(f_char1 AS SIGNED INTEGER))
-SUBPARTITION BY HASH(CAST(f_char2 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)) SUBPARTITIONS 4
-(PARTITION p0 VALUES LESS THAN (0),
-PARTITION p1 VALUES LESS THAN MAXVALUE);
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(2147483646,2147483646,'1','2147483646','#2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(-2147483646,-2147483646,'-1','-2147483646','#-2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '-2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(0,0,'0','0','#0#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '0';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(NULL,NULL,NULL,NULL,NULL);
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 IS NULL;
-COUNT(*) = 1
-1
-DROP TABLE t1;
-# 5. Partition by LIST(...) subpartition by HASH(<check value>)
-CREATE TABLE t1 (
-f_int1 INTEGER,
-f_int2 INTEGER,
-f_char1 CHAR(20),
-f_char2 CHAR(20),
-f_charbig VARCHAR(1000)
-)
-PARTITION BY LIST(CAST(f_char1 AS SIGNED INTEGER))
-SUBPARTITION BY HASH(CAST(f_char2 AS SIGNED INTEGER) * CAST(5.0E+18 AS SIGNED INTEGER)) SUBPARTITIONS 4
-(PARTITION p0 VALUES IN (NULL),
-PARTITION p1 VALUES IN (1));
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(2147483646,2147483646,'1','2147483646','#2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(-2147483646,-2147483646,'1','-2147483646','#-2147483646#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '-2147483646';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(0,0,'1','0','#0#');
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 = '0';
-COUNT(*) = 1
-1
-INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
-VALUES(NULL,NULL,NULL,NULL,NULL);
-SELECT COUNT(*) = 1 FROM t1 WHERE f_char2 IS NULL;
-COUNT(*) = 1
-1
-DROP TABLE t1;
-DROP VIEW IF EXISTS v1;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t0_aux;
-DROP TABLE IF EXISTS t0_definition;
-DROP TABLE IF EXISTS t0_template;
diff --git a/mysql-test/suite/parts/r/rpl_partition.result b/mysql-test/suite/parts/r/rpl_partition.result
index abd3f7924df..70de17e6556 100644
--- a/mysql-test/suite/parts/r/rpl_partition.result
+++ b/mysql-test/suite/parts/r/rpl_partition.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set @old_global_binlog_format= @@global.binlog_format;
set @old_session_binlog_format= @@session.binlog_format;
SET GLOBAL binlog_format = 'ROW';
@@ -22,10 +18,6 @@ select @@global.binlog_format, @@session.binlog_format;
include/stop_slave.inc
include/start_slave.inc
[on master]
-DROP TABLE IF EXISTS t1, t2, t3;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP PROCEDURE IF EXISTS p3;
CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
@@ -149,7 +141,7 @@ SUBPARTITIONS 2
PARTITION pa9 VALUES LESS THAN (90) ENGINE = InnoDB,
PARTITION pa10 VALUES LESS THAN (100) ENGINE = InnoDB,
PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
SELECT count(*) "Slave norm" FROM t1;
Slave norm 500
SELECT count(*) "Slave bykey" FROM t2;
@@ -159,9 +151,10 @@ Slave byrange 500
set @@global.binlog_format= @old_global_binlog_format;
set @@session.binlog_format= @old_session_binlog_format;
DROP TABLE t1, t2, t3;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP PROCEDURE IF EXISTS p3;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP PROCEDURE p3;
[on slave]
set @@global.binlog_format= @old_global_binlog_format;
set @@session.binlog_format= @old_session_binlog_format;
+include/rpl_end.inc
diff --git a/mysql-test/suite/parts/t/disabled.def b/mysql-test/suite/parts/t/disabled.def
index 8a1dafe59a2..e69de29bb2d 100644
--- a/mysql-test/suite/parts/t/disabled.def
+++ b/mysql-test/suite/parts/t/disabled.def
@@ -1,3 +0,0 @@
-partition_basic_ndb : Bug#44919 parts-suite in mtr tries to use features not supported by ndb
-# http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations-syntax.html
-partition_syntax_ndb : Bug#36735 Not supported
diff --git a/mysql-test/suite/parts/t/ndb_dd_backuprestore.test b/mysql-test/suite/parts/t/ndb_dd_backuprestore.test
deleted file mode 100644
index d2f79028c3f..00000000000
--- a/mysql-test/suite/parts/t/ndb_dd_backuprestore.test
+++ /dev/null
@@ -1,347 +0,0 @@
-########################################
-# Author: JBM
-# Date: 2006-01-24
-# Purpose: Test CDD backup and restore
-########################################
-
--- source include/have_ndb.inc
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-
---disable_warnings
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t4;
-DROP TABLE IF EXISTS test.t5;
-DROP TABLE IF EXISTS test.t6;
---enable_warnings
-
-############ Test 1 Simple DD backup and restore #############
--- echo **** Test 1 Simple DD backup and restore ****
-
-CREATE LOGFILE GROUP log_group1
-ADD UNDOFILE './log_group1/undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-CREATE TABLESPACE table_space1
-ADD DATAFILE './table_space1/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-
-CREATE TABLE test.t1
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 CHAR(50) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-
-let $j= 500;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO test.t1 VALUES (NULL, "Sweden", $j, b'1');
- dec $j;
-}
---enable_query_log
-SELECT COUNT(*) FROM test.t1;
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
--- source include/ndb_backup.inc
-
-DROP TABLE test.t1;
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
--- source include/ndb_restore_master.inc
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
-################# Mixed Cluster Test ############################
--- echo **** Test 2 Mixed Cluster Test backup and restore ****
-
-CREATE TABLE test.t2
-(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
-
-let $j= 500;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas", $j, b'0');
- dec $j;
-}
---enable_query_log
-
-CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
-
-CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
-
-let $j= 50;
---disable_query_log
-while ($j)
-{
- INSERT INTO test.t3 VALUES (NULL, repeat('a',1*1024));
- INSERT INTO test.t3 VALUES (NULL, repeat('b',16*1024));
- INSERT INTO test.t4 VALUES (NULL, repeat('a',1*1024));
- INSERT INTO test.t4 VALUES (NULL, repeat('b',16*1024));
- dec $j;
-}
---enable_query_log
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-
--- source include/ndb_backup.inc
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
--- source include/ndb_restore_master.inc
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
-
-SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-###################### Adding partition #################################
--- echo **** Test 3 Adding partition Test backup and restore ****
-
-CREATE TABLESPACE table_space2
-ADD DATAFILE './table_space2/datafile.dat'
-USE LOGFILE GROUP log_group1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
-
-CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
-
-CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
-
-CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
-
-CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
-
-SHOW CREATE TABLE test.t1;
-
-SHOW CREATE TABLE test.t2;
-
-SHOW CREATE TABLE test.t3;
-
-SHOW CREATE TABLE test.t4;
-
-SHOW CREATE TABLE test.t5;
-
-SHOW CREATE TABLE test.t6;
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-
-
-let $j= 500;
---disable_query_log
-while ($j)
-{
- eval INSERT INTO test.t1 VALUES (NULL, "Sweden, Texas", $j, b'0');
- eval INSERT INTO test.t4 VALUES (NULL, "Sweden, Texas", $j, b'0');
- dec $j;
- eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
- eval INSERT INTO test.t5 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
- dec $j;
- eval INSERT INTO test.t3 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1');
- eval INSERT INTO test.t6 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1'); } --enable_query_log
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t5;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t6;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-
--- source include/ndb_backup.inc
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-
-ALTER TABLESPACE table_space1
-DROP DATAFILE './table_space1/datafile.dat'
-ENGINE = NDB;
-
-ALTER TABLESPACE table_space2
-DROP DATAFILE './table_space2/datafile.dat'
-ENGINE = NDB;
-
-DROP TABLESPACE table_space1
-ENGINE = NDB;
-
-DROP TABLESPACE table_space2
-ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1
-ENGINE =NDB;
-
--- source include/ndb_restore_master.inc
-
-
-SHOW CREATE TABLE test.t1;
-
-SHOW CREATE TABLE test.t2;
-
-SHOW CREATE TABLE test.t3;
-
-SHOW CREATE TABLE test.t4;
-
-SHOW CREATE TABLE test.t5;
-
-SHOW CREATE TABLE test.t6;
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't1';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't2';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't3';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't4';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't5';
-
-SELECT * FROM information_schema.partitions WHERE table_name= 't6';
-
-SELECT COUNT(*) FROM test.t1;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t2;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t3;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t4;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t5;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
-
-SELECT COUNT(*) FROM test.t6;
-
-SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-
-# Cleanup
-
-DROP TABLE test.t1;
-DROP TABLE test.t2;
-DROP TABLE test.t3;
-DROP TABLE test.t4;
-DROP TABLE test.t5;
-DROP TABLE test.t6;
-
-ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
-
-ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
-
-DROP TABLESPACE table_space1 ENGINE = NDB;
-
-DROP TABLESPACE table_space2 ENGINE = NDB;
-
-DROP LOGFILE GROUP log_group1 ENGINE = NDB;
-
-#End 5.1 test case
-
-
diff --git a/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test b/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test
index fef41990e28..115bc08a624 100644
--- a/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test
+++ b/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test
@@ -30,6 +30,9 @@ let $do_long_tests= 1;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test b/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test
deleted file mode 100644
index 5ac6b2a504f..00000000000
--- a/mysql-test/suite/parts/t/part_supported_sql_func_ndb.test
+++ /dev/null
@@ -1,46 +0,0 @@
-################################################################################
-# t/part_supported_sql_funcs_ndb.test #
-# #
-# Purpose: #
-# Tests which SQL functions are allowed in partinioning clauses with #
-# NDB. #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: HH #
-# Original Date: 2006-11-22 #
-# Change Author: #
-# Change Date: #
-# Change: #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
-
-##### Options, for debugging support #####
-let $debug= 0;
-let $do_long_tests= 1;
-
-# The server must support partitioning.
---source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'NDB';
-connection default;
-
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-let $max_8_partitions= 1;
-let $no_reorg_partition= 1;
-let $drop_partition_not_supported= 1;
-#------------------------------------------------------------------------------#
---source suite/parts/inc/part_supported_sql_funcs_main.inc
diff --git a/mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test b/mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test
index 240bfb4de1d..5a6488dfba0 100644
--- a/mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test
@@ -51,6 +51,9 @@ let $more_pk_ui_tests= 0;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_alter1_1_2_ndb.test b/mysql-test/suite/parts/t/partition_alter1_1_2_ndb.test
deleted file mode 100644
index 1a8f1f311b6..00000000000
--- a/mysql-test/suite/parts/t/partition_alter1_1_2_ndb.test
+++ /dev/null
@@ -1,88 +0,0 @@
-################################################################################
-# t/partition_alter1_1_2_ndb.test #
-# #
-# Purpose: #
-# Tests around ADD/DROP PRIMARY KEY and/or UNIQUE INDEX #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-03-05 #
-# Change Author: pcrews #
-# Change Date: 2008-05-05 #
-# Change: Split up original partition_alter1.test file to better accommodate #
-# PushBuild machines' workloads. Total run time for all components #
-# is essentially the same, but max. single run time is significantly #
-# reduced #
-################################################################################
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
---source include/big_test.inc
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'ndbcluster';
-connection default;
-
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
-let $fixed_bug18735= 1;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_alter1_1_2.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter1_1_ndb.test b/mysql-test/suite/parts/t/partition_alter1_1_ndb.test
deleted file mode 100644
index 1a031f0ef79..00000000000
--- a/mysql-test/suite/parts/t/partition_alter1_1_ndb.test
+++ /dev/null
@@ -1,88 +0,0 @@
-################################################################################
-# t/partition_alter1_1_ndb.test #
-# #
-# Purpose: #
-# Tests around ADD/DROP PRIMARY KEY and/or UNIQUE INDEX #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-03-05 #
-# Change Author: pcrews #
-# Change Date: 2008-05-05 #
-# Change: Split up original partition_alter1.test file to better accommodate #
-# PushBuild machines' workloads. Total run time for all components #
-# is essentially the same, but max. single run time is significantly #
-# reduced #
-################################################################################
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
---source include/big_test.inc
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'ndbcluster';
-connection default;
-
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
-let $fixed_bug18735= 1;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_alter1_1.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter1_2_innodb.test b/mysql-test/suite/parts/t/partition_alter1_2_innodb.test
index edb0a981c20..4a57bdd007d 100644
--- a/mysql-test/suite/parts/t/partition_alter1_2_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter1_2_innodb.test
@@ -51,6 +51,9 @@ let $more_pk_ui_tests= 0;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_alter1_2_ndb.test b/mysql-test/suite/parts/t/partition_alter1_2_ndb.test
deleted file mode 100644
index 497898fb089..00000000000
--- a/mysql-test/suite/parts/t/partition_alter1_2_ndb.test
+++ /dev/null
@@ -1,89 +0,0 @@
-################################################################################
-# t/partition_alter1_2_ndb.test #
-# #
-# Purpose: #
-# Tests around ADD/DROP PRIMARY KEY and/or UNIQUE INDEX #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-03-05 #
-# Change Author: pcrews #
-# Change Date: 2008-05-05 #
-# Change: Split up original partition_alter1.test file to better accommodate #
-# PushBuild machines' workloads. Total run time for all components #
-# is essentially the same, but max. single run time is significantly #
-# reduced #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
---source include/big_test.inc
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'ndbcluster';
-connection default;
-
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
-let $fixed_bug18735= 1;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_alter1_2.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test b/mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test
index 44fb24a1326..a772122c20a 100644
--- a/mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter2_1_1_innodb.test
@@ -50,6 +50,9 @@ let $only_part_1= 1;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test b/mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test
index 28bbcb3115b..6448a8ac734 100644
--- a/mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter2_1_2_innodb.test
@@ -45,6 +45,9 @@ let $only_part_2= 1;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test b/mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test
index a356b4e31a3..e3544c382a3 100644
--- a/mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter2_2_2_innodb.test
@@ -45,6 +45,9 @@ let $only_part_2= 1;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_alter4_innodb.test b/mysql-test/suite/parts/t/partition_alter4_innodb.test
index 46883c390af..624c1a0d6b8 100644
--- a/mysql-test/suite/parts/t/partition_alter4_innodb.test
+++ b/mysql-test/suite/parts/t/partition_alter4_innodb.test
@@ -48,6 +48,9 @@ let $more_pk_ui_tests= 0;
# The server must support partitioning.
--source include/have_partition.inc
+# This test takes long time, so only run it with the --big mtr-flag.
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
diff --git a/mysql-test/suite/parts/t/partition_auto_increment_ndb.test b/mysql-test/suite/parts/t/partition_auto_increment_ndb.test
deleted file mode 100644
index 7aa3839762d..00000000000
--- a/mysql-test/suite/parts/t/partition_auto_increment_ndb.test
+++ /dev/null
@@ -1,41 +0,0 @@
-################################################################################
-# t/partition_auto_increment_ndb.test #
-# #
-# Purpose: #
-# Tests around auto increment column #
-# NDB branch #
-# #
-# Note: NDB behavior for auto_increment on secondary column in #
-# multi-column-index is NOT like MyISAM, instead it uses the same #
-# behavior as if it was the primary column. #
-#------------------------------------------------------------------------------#
-# Original Author: MattiasJ #
-# Original Date: 2008-09-02 #
-# Change Author: #
-# Change Date: #
-# Change: #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-
-# The server must support partitioning.
---source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
---source include/have_ndb.inc
-
-##### Storage engine to be tested
-let $engine= 'NDB';
-connection default;
-#enable hash partitioning
-SET new=on;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_auto_increment.inc
-
diff --git a/mysql-test/suite/parts/t/partition_basic_ndb.test b/mysql-test/suite/parts/t/partition_basic_ndb.test
deleted file mode 100644
index 48e569006de..00000000000
--- a/mysql-test/suite/parts/t/partition_basic_ndb.test
+++ /dev/null
@@ -1,92 +0,0 @@
-################################################################################
-# t/partition_basic_ndb.test #
-# #
-# Purpose: #
-# Tests around Create Partitioned table #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
-
-##### Options, for debugging support #####
-let $debug= 0;
-let $with_partitioning= 1;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'ndbcluster';
-connection default;
-
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# Bug#18730 Partitions: NDB, crash on SELECT MIN(<unique column>)
-let $fixed_bug18730= 1;
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
-let $fixed_bug18735= 0;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_basic.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_debug_sync_innodb.test b/mysql-test/suite/parts/t/partition_debug_sync_innodb.test
index 915a3f2ceb6..fce26132030 100644
--- a/mysql-test/suite/parts/t/partition_debug_sync_innodb.test
+++ b/mysql-test/suite/parts/t/partition_debug_sync_innodb.test
@@ -56,6 +56,7 @@ partition by range (a)
insert into t1 values (1), (11), (21), (33);
SELECT * FROM t1;
SHOW CREATE TABLE t1;
+--replace_result #p# #P# #sp# #SP#
--list_files $MYSQLD_DATADIR/test
SET DEBUG_SYNC='before_open_in_get_all_tables SIGNAL parked WAIT_FOR open';
@@ -78,6 +79,7 @@ ALTER TABLE t1 REORGANIZE PARTITION p0 INTO
disconnect con1;
connection default;
--reap
+--replace_result #p# #P# #sp# #SP#
--list_files $MYSQLD_DATADIR/test
SHOW CREATE TABLE t1;
SELECT * FROM t1;
diff --git a/mysql-test/suite/parts/t/partition_engine_ndb.test b/mysql-test/suite/parts/t/partition_engine_ndb.test
deleted file mode 100644
index 40d031eab69..00000000000
--- a/mysql-test/suite/parts/t/partition_engine_ndb.test
+++ /dev/null
@@ -1,88 +0,0 @@
-################################################################################
-# t/partition_engine_ndb.test #
-# #
-# Purpose: #
-# Tests around Create/Alter partitioned tables and storage engine settings #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
-let $engine= 'ndbcluster';
---source include/have_ndb.inc
-connection default;
-
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# none
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_engine.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_int_ndb.test b/mysql-test/suite/parts/t/partition_int_ndb.test
deleted file mode 100644
index 5e464ff75b5..00000000000
--- a/mysql-test/suite/parts/t/partition_int_ndb.test
+++ /dev/null
@@ -1,54 +0,0 @@
-################################################################################
-# t/partition_int_ndb.test #
-# #
-# Purpose: #
-# Tests around integer type #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: HH #
-# Original Date: 2006-08-01 #
-# Change Author: #
-# Change Date: #
-# Change: #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-# The server must support partitioning.
---source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'NDB';
-connection default;
-
-##### max rows to be inserted
-let $maxrows=1024;
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_tinyint.inc
---source suite/parts/inc/partition_smallint.inc
---source suite/parts/inc/partition_int.inc
---source suite/parts/inc/partition_mediumint.inc
---source suite/parts/inc/partition_bigint.inc
diff --git a/mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test b/mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test
deleted file mode 100644
index 736e45067bc..00000000000
--- a/mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test
+++ /dev/null
@@ -1,49 +0,0 @@
-################################################################################
-# t/partition_mgm_lc0_ndb.test #
-# #
-# Purpose: #
-# Test of partitioning management functions (incl upper/lower case names): #
-# NDB branch + lower_case_table_names = 0 #
-# (usually Unix like, apart from Mac OS X) #
-# Also requires lower_case_file_system OFF #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mattiasj #
-# Original Date: 2008-06-27 #
-################################################################################
-
-# The server must support partitioning.
---source include/have_partition.inc
-
-#
-# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
---source include/have_lowercase0.inc
---source include/have_case_sensitive_file_system.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-let $have_bug33158= 1;
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-connection default;
-# Use either $can_only_key or new=on option to run test.
-let $can_only_key= 1;
-# Allow hash/list/range partitioning with ndb
-#SET new=on;
-let $engine= 'NDBCluster';
-# NDB does not yet support TRUNCATE PARTITION
-let $no_truncate= 1;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_mgm.inc
diff --git a/mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt b/mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt
deleted file mode 100644
index 62ab6dad1e0..00000000000
--- a/mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---lower_case_table_names=1
diff --git a/mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test b/mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test
deleted file mode 100644
index ac425eb84ff..00000000000
--- a/mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test
+++ /dev/null
@@ -1,46 +0,0 @@
-################################################################################
-# t/partition_mgm_lc1_ndb.test #
-# #
-# Purpose: #
-# Test of partitioning management functions (incl upper/lower case names): #
-# NDB branch + lower_case_table_names = 1 (usually Windows) #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mattiasj #
-# Original Date: 2008-06-27 #
-################################################################################
-
-# The server must support partitioning.
---source include/have_partition.inc
-
-#
-# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
---source include/have_lowercase1.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-let $have_bug33158= 1;
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-connection default;
-# Use either $can_only_key or new=on option to run test.
-let $can_only_key= 1;
-# Allow hash/list/range partitioning with ndb
-#SET new=on;
-let $engine= 'NDBCluster';
-# NDB does not yet support TRUNCATE PARTITION
-let $no_truncate= 1;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_mgm.inc
diff --git a/mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt b/mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt
deleted file mode 100644
index f18979f5a6a..00000000000
--- a/mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---lower_case_table_names=2
diff --git a/mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test b/mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test
deleted file mode 100644
index 725ba3b5e74..00000000000
--- a/mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-# t/partition_mgm_lc2_ndb.test #
-# #
-# Purpose: #
-# Test of partitioning management functions (incl upper/lower case names): #
-# NDB branch + lower_case_table_names = 2 (usually Mac OS X) #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mattiasj #
-# Original Date: 2008-06-27 #
-################################################################################
-
-# The server must support partitioning.
---source include/have_partition.inc
-
-#
-# NOTE: PLEASE DO NOT ADD NOT INNODB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
---source include/have_lowercase2.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-connection default;
-# Use either $can_only_key or new=on option to run test.
-let $can_only_key= 1;
-# Allow hash/list/range partitioning with ndb
-#SET new=on;
-let $engine= 'NDBCluster';
-# NDB does not yet support TRUNCATE PARTITION
-let $no_truncate= 1;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_mgm.inc
diff --git a/mysql-test/suite/parts/t/partition_recover_myisam.test b/mysql-test/suite/parts/t/partition_recover_myisam.test
index c96cd938f8b..fc121b7408f 100644
--- a/mysql-test/suite/parts/t/partition_recover_myisam.test
+++ b/mysql-test/suite/parts/t/partition_recover_myisam.test
@@ -1,9 +1,7 @@
# test the auto-recover (--myisam-recover) of partitioned myisam tables
---disable_query_log
call mtr.add_suppression("..test.t1_will_crash");
call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc");
---enable_query_log
--source include/have_partition.inc
--disable_warnings
@@ -22,9 +20,10 @@ FLUSH TABLES;
let $MYSQLD_DATADIR= `select @@datadir`;
--remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI
--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI
-# Embedded server doesn't chdir to data directory
---replace_regex /Table '.*\/data\/test\/t1_will_crash/Table '.\/test\/t1_will_crash/
--enable_prepare_warnings
+# Embedded server doesn't chdir to data directory
+--replace_result \\ /
+--replace_regex /Table '.*data/Table './
SELECT * FROM t1_will_crash;
--disable_prepare_warnings
DROP TABLE t1_will_crash;
@@ -39,9 +38,10 @@ FLUSH TABLES;
--echo # head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI
--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI
--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI
-# Embedded server doesn't chdir to data directory
---replace_regex /Table '.*\/data\/test\/t1_will_crash/Table '.\/test\/t1_will_crash/
--enable_prepare_warnings
+# Embedded server doesn't chdir to data directory
+--replace_result \\ /
+--replace_regex /Table '.*data/Table './
SELECT * FROM t1_will_crash;
--disable_prepare_warnings
DROP TABLE t1_will_crash;
diff --git a/mysql-test/suite/parts/t/partition_special_innodb.test b/mysql-test/suite/parts/t/partition_special_innodb.test
index e5622237efc..1fc9ac7fafc 100644
--- a/mysql-test/suite/parts/t/partition_special_innodb.test
+++ b/mysql-test/suite/parts/t/partition_special_innodb.test
@@ -58,8 +58,8 @@ ENGINE = InnoDB
PARTITION BY HASH (a)
PARTITIONS 2;
-connect (con1,localhost,root,,test,$MASTER_MYPORT,);
-connect (con2,localhost,root,,test,$MASTER_MYPORT,);
+connect (con1, localhost, root,,);
+connect (con2, localhost, root,,);
--connection con1
SET autocommit=OFF;
@@ -111,7 +111,7 @@ LOCK TABLE t1 READ;
--echo # Third attempt: says that the table does not exist
--error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
---echo # Check table returns the same
+--echo # Check table returns the same (not after fixing bug#56172!)
CHECK TABLE t1;
--connection con1
diff --git a/mysql-test/suite/parts/t/partition_special_myisam.test b/mysql-test/suite/parts/t/partition_special_myisam.test
index 032722cbb7d..2eac5b3bf16 100644
--- a/mysql-test/suite/parts/t/partition_special_myisam.test
+++ b/mysql-test/suite/parts/t/partition_special_myisam.test
@@ -62,13 +62,14 @@ ALTER TABLE t1 COALESCE PARTITION 2;
--connect (con3,localhost,root,,)
-perl;
-open( LD, ">" . "/tmp/load.in" ) || die "Could not open file for writing " . $ENV{'MYSQLTEST_DATADIR'} . "/test/load.in";
-print LD "1\n2\n3\n";
-close( LD );
+--let $MYSQLD_DATADIR= `SELECT @@datadir`
+--write_file $MYSQLD_DATADIR/test/load.in
+1
+2
+3
EOF
--echo # Connection 3 tries to load into the table:
-send LOAD DATA LOCAL INFILE '/tmp/load.in' INTO TABLE t1 (f);
+send LOAD DATA INFILE 'load.in' INTO TABLE t1 (f);
--connection default
--real_sleep 1
diff --git a/mysql-test/suite/parts/t/partition_syntax_ndb.test b/mysql-test/suite/parts/t/partition_syntax_ndb.test
deleted file mode 100644
index c783e9f602e..00000000000
--- a/mysql-test/suite/parts/t/partition_syntax_ndb.test
+++ /dev/null
@@ -1,89 +0,0 @@
-################################################################################
-# t/partition_syntax_ndb.test #
-# #
-# Purpose: #
-# Tests around Create Partitioned table syntax #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-03-05 #
-# Change Author: #
-# Change Date: #
-# Change: #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'ndbcluster';
-connection default;
-
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# Bug#18735: Partitions: NDB, UNIQUE INDEX, UPDATE, strange server response
-let $fixed_bug18735= 0;
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_syntax.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/partition_value_ndb.test b/mysql-test/suite/parts/t/partition_value_ndb.test
deleted file mode 100644
index 80b4ba6fb64..00000000000
--- a/mysql-test/suite/parts/t/partition_value_ndb.test
+++ /dev/null
@@ -1,94 +0,0 @@
-################################################################################
-# t/partition_value_ndb.test #
-# #
-# Purpose: #
-# Tests around "exotic" values calculated by the partitioning function #
-# NDB branch #
-# #
-#------------------------------------------------------------------------------#
-# Original Author: mleich #
-# Original Date: 2006-04-11 #
-# Change Author: mleich #
-# Change Date: 2008-12-08 #
-# Change: Remove test from disabled.def + change test that it gets skipped #
-################################################################################
-
-#
-# NOTE: PLEASE DO NOT ADD NOT NDB SPECIFIC TESTCASES HERE !
-# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
-# THE SOURCED FILES ONLY.
-#
-# Please read the README at the end of inc/partition.pre before changing
-# any of the variables.
-#
-
-#
-# CAST() within the partitioning function si no more supported, but we get
-# this functionality probably soon again. Therefor we do not delete this test.
---skip # CAST() in partitioning function is currently not supported.
-
-
-#------------------------------------------------------------------------------#
-# General not engine specific settings and requirements
-
-##### Options, for debugging support #####
-let $debug= 0;
-
-##### Option, for displaying files #####
-let $ls= 1;
-
-##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
-# on partioned tables
-SET @max_row = 20;
-
-##### Execute more tests #####
-let $more_trigger_tests= 0;
-let $more_pk_ui_tests= 0;
-
-# The server must support partitioning. But NDB is partitioned from the start.
-# Thats why the next line is set to comment.
-# --source include/have_partition.inc
-
-#------------------------------------------------------------------------------#
-# Engine specific settings and requirements
-
-##### Storage engine to be tested
---source include/have_ndb.inc
-let $engine= 'ndbcluster';
-connection default;
-
-# range, list and hash partitioning in ndb requires new_mode
---disable_query_log
-set new=on;
---enable_query_log
-##### Execute the test of "table" files
-# NDB has no files per PK, UI, ...
-let $do_file_tests= 0;
-
-##### Execute PRIMARY KEY tests #####
-# AFAIK NDB is always partitioned using the explicit defined PRIMARY KEY
-# or uses an internal one.
-let $do_pk_tests= 1;
-
-##### Assign a big number smaller than the maximum value for partitions #####
-# and smaller than the maximum value of SIGNED INTEGER
-# The NDB handler only supports 32 bit integers in VALUES
-# 2147483647 seems to be too big.
-let $MAX_VALUE= (2147483646);
-
-# Generate the prerequisites ($variables, @variables, tables) needed
---source suite/parts/inc/partition.pre
-
-##### Workarounds for known open engine specific bugs
-# none
-
-#------------------------------------------------------------------------------#
-# Execute the tests to be applied to all storage engines
---source suite/parts/inc/partition_value.inc
-
-#------------------------------------------------------------------------------#
-# Execute storage engine specific tests
-
-#------------------------------------------------------------------------------#
-# Cleanup
---source suite/parts/inc/partition_cleanup.inc
diff --git a/mysql-test/suite/parts/t/rpl_partition.test b/mysql-test/suite/parts/t/rpl_partition.test
index 0de73cd9a73..b0f8b0bf55a 100644
--- a/mysql-test/suite/parts/t/rpl_partition.test
+++ b/mysql-test/suite/parts/t/rpl_partition.test
@@ -26,13 +26,6 @@ select @@global.binlog_format, @@session.binlog_format;
--echo [on master]
connection master;
---disable_warnings
-DROP TABLE IF EXISTS t1, t2, t3;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP PROCEDURE IF EXISTS p3;
---enable_warnings
-
eval CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
@@ -154,7 +147,6 @@ SELECT count(*) as "Master bykey" FROM t2;
CALL p3();
SELECT count(*) as "Master byrange" FROM t3;
-#--source include/master-slave-end.inc
--sync_slave_with_master
connection slave;
show create table t3;
@@ -167,12 +159,13 @@ connection master;
set @@global.binlog_format= @old_global_binlog_format;
set @@session.binlog_format= @old_session_binlog_format;
DROP TABLE t1, t2, t3;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP PROCEDURE IF EXISTS p3;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP PROCEDURE p3;
--echo [on slave]
sync_slave_with_master;
set @@global.binlog_format= @old_global_binlog_format;
set @@session.binlog_format= @old_session_binlog_format;
# End of 5.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/perfschema/include/binlog_common.inc b/mysql-test/suite/perfschema/include/binlog_common.inc
index 10afe54ab5b..bbe09de3e19 100644
--- a/mysql-test/suite/perfschema/include/binlog_common.inc
+++ b/mysql-test/suite/perfschema/include/binlog_common.inc
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,19 +10,24 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
# Tests for PERFORMANCE_SCHEMA
RESET MASTER;
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO'
- where name like "wait/synch/rwlock/%";
+# Note:
+# Do not include records that could depend on
+# compiling options (storage engines, SSL),
+# to ensure the expected output in the binlog is predictable.
+update performance_schema.setup_instruments set enabled='NO'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
-select count(*) > 0 from performance_schema.EVENTS_WAITS_CURRENT;
+select count(*) > 0 from performance_schema.events_waits_current;
--disable_warnings
drop table if exists test.t1;
@@ -33,17 +38,19 @@ create table test.t1 (thread_id integer);
create table test.t2 (name varchar(128));
insert into test.t1
- select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
+ select thread_id from performance_schema.events_waits_current;
insert into test.t2
- select name from performance_schema.SETUP_INSTRUMENTS
- where name like "wait/synch/rwlock/%";
+ select name from performance_schema.setup_instruments
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
drop table test.t1;
drop table test.t2;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
- where name like "wait/synch/rwlock/%";
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
--source include/show_binlog_events.inc
diff --git a/mysql-test/suite/perfschema/include/cleanup_helper.inc b/mysql-test/suite/perfschema/include/cleanup_helper.inc
index 5c2429ddb97..b7e37849f78 100644
--- a/mysql-test/suite/perfschema/include/cleanup_helper.inc
+++ b/mysql-test/suite/perfschema/include/cleanup_helper.inc
@@ -15,7 +15,7 @@
# Tests for PERFORMANCE_SCHEMA
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES';
disconnect con1;
disconnect con2;
diff --git a/mysql-test/suite/perfschema/include/privilege.inc b/mysql-test/suite/perfschema/include/privilege.inc
index ef2acc995d5..f29ef65f519 100644
--- a/mysql-test/suite/perfschema/include/privilege.inc
+++ b/mysql-test/suite/perfschema/include/privilege.inc
@@ -32,48 +32,48 @@ drop table if exists test.t1;
## drop table performance_schema.t1;
##
## --error ER_DBACCESS_DENIED_ERROR
-## create table performance_schema.SETUP_INSTRUMENTS(a int);
+## create table performance_schema.setup_instruments(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
-## create table performance_schema.EVENTS_WAITS_CURRENT(a int);
+## create table performance_schema.events_waits_current(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
-## create table performance_schema.FILE_INSTANCES(a int);
+## create table performance_schema.file_instances(a int);
##
## --error ER_DBACCESS_DENIED_ERROR
-## drop table performance_schema.SETUP_INSTRUMENTS;
+## drop table performance_schema.setup_instruments;
##
## --error ER_DBACCESS_DENIED_ERROR
-## drop table performance_schema.EVENTS_WAITS_CURRENT;
+## drop table performance_schema.events_waits_current;
##
## --error ER_DBACCESS_DENIED_ERROR
-## drop table performance_schema.FILE_INSTANCES;
+## drop table performance_schema.file_instances;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+rename table performance_schema.setup_instruments to test.t1;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+rename table performance_schema.events_waits_current to test.t1;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.FILE_INSTANCES to test.t1;
+rename table performance_schema.file_instances to test.t1;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+rename table performance_schema.setup_instruments to performance_schema.t1;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+rename table performance_schema.events_waits_current to performance_schema.t1;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+rename table performance_schema.file_instances to performance_schema.t1;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.SETUP_INSTRUMENTS
- to performance_schema.EVENTS_WAITS_CURRENT;
+rename table performance_schema.setup_instruments
+ to performance_schema.events_waits_current;
--error ER_DBACCESS_DENIED_ERROR
-rename table performance_schema.EVENTS_WAITS_CURRENT
- to performance_schema.SETUP_INSTRUMENTS;
+rename table performance_schema.events_waits_current
+ to performance_schema.setup_instruments;
--error ER_DBACCESS_DENIED_ERROR
create procedure performance_schema.my_proc() begin end;
@@ -87,108 +87,93 @@ do begin end;
--error ER_DBACCESS_DENIED_ERROR
create trigger performance_schema.bi_setup_instruments
- before insert on performance_schema.SETUP_INSTRUMENTS
+ before insert on performance_schema.setup_instruments
for each row begin end;
--error ER_DBACCESS_DENIED_ERROR
create trigger performance_schema.bi_events_waits_current
- before insert on performance_schema.EVENTS_WAITS_CURRENT
+ before insert on performance_schema.events_waits_current
for each row begin end;
--error ER_DBACCESS_DENIED_ERROR
create trigger performance_schema.bi_file_instances
- before insert on performance_schema.FILE_INSTANCES
+ before insert on performance_schema.file_instances
for each row begin end;
---error ER_WRONG_PERFSCHEMA_USAGE
+--error ER_CANT_CREATE_TABLE
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
---error ER_WRONG_PERFSCHEMA_USAGE
-create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
+--error ER_CANT_CREATE_TABLE
+create table test.t1 like performance_schema.setup_instruments;
---error ER_WRONG_PERFSCHEMA_USAGE
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
+--error ER_CANT_CREATE_TABLE
+create table test.t1 like performance_schema.events_waits_current;
---error ER_WRONG_PERFSCHEMA_USAGE
-create table test.t1 like performance_schema.FILE_INSTANCES;
+--error ER_CANT_CREATE_TABLE
+create table test.t1 like performance_schema.file_instances;
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.SETUP_INSTRUMENTS
+insert into performance_schema.setup_instruments
set name="foo";
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_CURRENT
+insert into performance_schema.events_waits_current
set name="foo";
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.FILE_INSTANCES
+insert into performance_schema.file_instances
set name="foo";
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_INSTRUMENTS;
+delete from performance_schema.setup_instruments;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_CURRENT;
+delete from performance_schema.events_waits_current;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_INSTANCES;
+delete from performance_schema.file_instances;
-lock table performance_schema.SETUP_INSTRUMENTS read;
+lock table performance_schema.setup_instruments read;
unlock tables;
-lock table performance_schema.SETUP_INSTRUMENTS write;
+lock table performance_schema.setup_instruments write;
unlock tables;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-lock table performance_schema.EVENTS_WAITS_CURRENT read;
+lock table performance_schema.events_waits_current read;
unlock tables;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-lock table performance_schema.EVENTS_WAITS_CURRENT write;
+lock table performance_schema.events_waits_current write;
unlock tables;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-lock table performance_schema.FILE_INSTANCES read;
+lock table performance_schema.file_instances read;
unlock tables;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-lock table performance_schema.FILE_INSTANCES write;
+lock table performance_schema.file_instances write;
unlock tables;
--echo #
--echo # WL#4818, NFS2: Can use grants to give normal user access
---echo # to view data from _CURRENT and _HISTORY tables
+--echo # to view data from _current and _history tables
--echo #
--echo # Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
---echo # (Except for EVENTS_WAITS_CURRENT, which is granted.)
+--echo # (Except for events_waits_current, which is granted.)
# Errors here will be caught by the diff afterwards
--disable_abort_on_error
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
-SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1;
--enable_abort_on_error
diff --git a/mysql-test/suite/perfschema/include/setup_helper.inc b/mysql-test/suite/perfschema/include/setup_helper.inc
index 1c8d4e412d5..cdbfd81a24c 100644
--- a/mysql-test/suite/perfschema/include/setup_helper.inc
+++ b/mysql-test/suite/perfschema/include/setup_helper.inc
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,8 +10,8 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
# Tests for PERFORMANCE_SCHEMA
@@ -19,24 +19,24 @@ let $MYSQLD_DATADIR= `select @@datadir`;
let $MYSQLD_TMPDIR= `select @@tmpdir`;
--disable_query_log
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_CONSUMERS set enabled='YES';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_consumers set enabled='YES';
--enable_query_log
connect (con1, localhost, root, , );
-let $con1_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID in (select connection_id())`;
+let $con1_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
connect (con2, localhost, root, , );
-let $con2_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID in (select connection_id())`;
+let $con2_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
connect (con3, localhost, root, , );
-let $con3_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID in (select connection_id())`;
+let $con3_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
connection default;
@@ -45,10 +45,10 @@ prepare stmt_dump_events from
"select event_name,
left(source, locate(\":\", source)) as short_source,
operation, number_of_bytes
- from performance_schema.EVENTS_WAITS_HISTORY_LONG
+ from performance_schema.events_waits_history_long
where thread_id=? order by event_id;";
prepare stmt_dump_thread from
- "select name from performance_schema.THREADS where thread_id=? ;";
+ "select name from performance_schema.threads where thread_id=? ;";
--enable_query_log
diff --git a/mysql-test/suite/perfschema/include/start_server_common.inc b/mysql-test/suite/perfschema/include/start_server_common.inc
index 083b302c5f7..f6e549ea44e 100644
--- a/mysql-test/suite/perfschema/include/start_server_common.inc
+++ b/mysql-test/suite/perfschema/include/start_server_common.inc
@@ -17,31 +17,31 @@
show databases;
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
-select count(*) from performance_schema.SETUP_CONSUMERS;
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.performance_timers;
+select count(*) from performance_schema.setup_consumers;
+select count(*) > 0 from performance_schema.setup_instruments;
+select count(*) from performance_schema.setup_timers;
# Make sure we don't crash, no matter what the starting parameters are
--disable_result_log
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
--enable_result_log
# This has a stable output, printing the result:
diff --git a/mysql-test/suite/perfschema/r/aggregate.result b/mysql-test/suite/perfschema/r/aggregate.result
index c7ac05ba69d..edc7ce0bcca 100644
--- a/mysql-test/suite/perfschema/r/aggregate.result
+++ b/mysql-test/suite/perfschema/r/aggregate.result
@@ -1,87 +1,87 @@
"General cleanup"
drop table if exists t1;
-update performance_schema.SETUP_INSTRUMENTS set enabled = 'NO';
-update performance_schema.SETUP_CONSUMERS set enabled = 'NO';
-truncate table performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-truncate table performance_schema.FILE_SUMMARY_BY_INSTANCE;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-update performance_schema.SETUP_CONSUMERS set enabled = 'YES';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments set enabled = 'NO';
+update performance_schema.setup_consumers set enabled = 'NO';
+truncate table performance_schema.file_summary_by_event_name;
+truncate table performance_schema.file_summary_by_instance;
+truncate table performance_schema.events_waits_summary_global_by_event_name;
+truncate table performance_schema.events_waits_summary_by_instance;
+truncate table performance_schema.events_waits_summary_by_thread_by_event_name;
+update performance_schema.setup_consumers set enabled = 'YES';
+update performance_schema.setup_instruments
set enabled = 'YES', timed = 'YES';
create table t1 (
id INT PRIMARY KEY,
b CHAR(100) DEFAULT 'initial value')
ENGINE=MyISAM;
insert into t1 (id) values (1), (2), (3), (4), (5), (6), (7), (8);
-update performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO';
-update performance_schema.SETUP_CONSUMERS set enabled = 'NO';
+update performance_schema.setup_instruments SET enabled = 'NO';
+update performance_schema.setup_consumers set enabled = 'NO';
set @dump_all=FALSE;
"Verifying file aggregate consistency"
SELECT EVENT_NAME, e.COUNT_READ, SUM(i.COUNT_READ)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.COUNT_READ <> SUM(i.COUNT_READ))
OR @dump_all;
EVENT_NAME COUNT_READ SUM(i.COUNT_READ)
SELECT EVENT_NAME, e.COUNT_WRITE, SUM(i.COUNT_WRITE)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.COUNT_WRITE <> SUM(i.COUNT_WRITE))
OR @dump_all;
EVENT_NAME COUNT_WRITE SUM(i.COUNT_WRITE)
SELECT EVENT_NAME, e.SUM_NUMBER_OF_BYTES_READ, SUM(i.SUM_NUMBER_OF_BYTES_READ)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_NUMBER_OF_BYTES_READ <> SUM(i.SUM_NUMBER_OF_BYTES_READ))
OR @dump_all;
EVENT_NAME SUM_NUMBER_OF_BYTES_READ SUM(i.SUM_NUMBER_OF_BYTES_READ)
SELECT EVENT_NAME, e.SUM_NUMBER_OF_BYTES_WRITE, SUM(i.SUM_NUMBER_OF_BYTES_WRITE)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_NUMBER_OF_BYTES_WRITE <> SUM(i.SUM_NUMBER_OF_BYTES_WRITE))
OR @dump_all;
EVENT_NAME SUM_NUMBER_OF_BYTES_WRITE SUM(i.SUM_NUMBER_OF_BYTES_WRITE)
"Verifying waits aggregate consistency (instance)"
SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(i.SUM_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_TIMER_WAIT < SUM(i.SUM_TIMER_WAIT))
OR @dump_all;
EVENT_NAME SUM_TIMER_WAIT SUM(i.SUM_TIMER_WAIT)
SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(i.MIN_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MIN_TIMER_WAIT > MIN(i.MIN_TIMER_WAIT))
AND (MIN(i.MIN_TIMER_WAIT) != 0)
OR @dump_all;
EVENT_NAME MIN_TIMER_WAIT MIN(i.MIN_TIMER_WAIT)
SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(i.MAX_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MAX_TIMER_WAIT < MAX(i.MAX_TIMER_WAIT))
OR @dump_all;
EVENT_NAME MAX_TIMER_WAIT MAX(i.MAX_TIMER_WAIT)
"Verifying waits aggregate consistency (thread)"
SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(t.SUM_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_thread_by_event_name AS t
USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_TIMER_WAIT < SUM(t.SUM_TIMER_WAIT))
OR @dump_all;
EVENT_NAME SUM_TIMER_WAIT SUM(t.SUM_TIMER_WAIT)
SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(t.MIN_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_thread_by_event_name AS t
USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MIN_TIMER_WAIT > MIN(t.MIN_TIMER_WAIT))
@@ -89,14 +89,14 @@ AND (MIN(t.MIN_TIMER_WAIT) != 0)
OR @dump_all;
EVENT_NAME MIN_TIMER_WAIT MIN(t.MIN_TIMER_WAIT)
SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(t.MAX_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_thread_by_event_name AS t
USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MAX_TIMER_WAIT < MAX(t.MAX_TIMER_WAIT))
OR @dump_all;
EVENT_NAME MAX_TIMER_WAIT MAX(t.MAX_TIMER_WAIT)
-update performance_schema.SETUP_CONSUMERS set enabled = 'YES';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_consumers set enabled = 'YES';
+update performance_schema.setup_instruments
set enabled = 'YES', timed = 'YES';
drop table test.t1;
diff --git a/mysql-test/suite/perfschema/r/binlog_mix.result b/mysql-test/suite/perfschema/r/binlog_mix.result
index 1e58179af51..3b2ab2bb435 100644
--- a/mysql-test/suite/perfschema/r/binlog_mix.result
+++ b/mysql-test/suite/perfschema/r/binlog_mix.result
@@ -1,11 +1,12 @@
set binlog_format=mixed;
RESET MASTER;
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO'
- where name like "wait/synch/rwlock/%";
-select count(*) > 0 from performance_schema.EVENTS_WAITS_CURRENT;
+update performance_schema.setup_instruments set enabled='NO'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
+select count(*) > 0 from performance_schema.events_waits_current;
count(*) > 0
1
drop table if exists test.t1;
@@ -13,19 +14,20 @@ drop table if exists test.t2;
create table test.t1 (thread_id integer);
create table test.t2 (name varchar(128));
insert into test.t1
-select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
+select thread_id from performance_schema.events_waits_current;
insert into test.t2
-select name from performance_schema.SETUP_INSTRUMENTS
-where name like "wait/synch/rwlock/%";
+select name from performance_schema.setup_instruments
+where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
drop table test.t1;
drop table test.t2;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
- where name like "wait/synch/rwlock/%";
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
-master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
@@ -43,7 +45,6 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
-master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/perfschema/r/binlog_row.result b/mysql-test/suite/perfschema/r/binlog_row.result
index 28803c73a84..644e5d58e23 100644
--- a/mysql-test/suite/perfschema/r/binlog_row.result
+++ b/mysql-test/suite/perfschema/r/binlog_row.result
@@ -1,11 +1,12 @@
set binlog_format=row;
RESET MASTER;
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO'
- where name like "wait/synch/rwlock/%";
-select count(*) > 0 from performance_schema.EVENTS_WAITS_CURRENT;
+update performance_schema.setup_instruments set enabled='NO'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
+select count(*) > 0 from performance_schema.events_waits_current;
count(*) > 0
1
drop table if exists test.t1;
@@ -13,19 +14,20 @@ drop table if exists test.t2;
create table test.t1 (thread_id integer);
create table test.t2 (name varchar(128));
insert into test.t1
-select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
+select thread_id from performance_schema.events_waits_current;
insert into test.t2
-select name from performance_schema.SETUP_INSTRUMENTS
-where name like "wait/synch/rwlock/%";
+select name from performance_schema.setup_instruments
+where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
drop table test.t1;
drop table test.t2;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
- where name like "wait/synch/rwlock/%";
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
-master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
@@ -43,7 +45,6 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
-master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/perfschema/r/binlog_stmt.result b/mysql-test/suite/perfschema/r/binlog_stmt.result
index 288eba4d3d6..3fcecfdd1ca 100644
--- a/mysql-test/suite/perfschema/r/binlog_stmt.result
+++ b/mysql-test/suite/perfschema/r/binlog_stmt.result
@@ -1,14 +1,15 @@
set binlog_format=statement;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
RESET MASTER;
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO'
- where name like "wait/synch/rwlock/%";
+update performance_schema.setup_instruments set enabled='NO'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
-select count(*) > 0 from performance_schema.EVENTS_WAITS_CURRENT;
+select count(*) > 0 from performance_schema.events_waits_current;
count(*) > 0
1
drop table if exists test.t1;
@@ -16,25 +17,28 @@ drop table if exists test.t2;
create table test.t1 (thread_id integer);
create table test.t2 (name varchar(128));
insert into test.t1
-select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
+select thread_id from performance_schema.events_waits_current;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
insert into test.t2
-select name from performance_schema.SETUP_INSTRUMENTS
-where name like "wait/synch/rwlock/%";
+select name from performance_schema.setup_instruments
+where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
drop table test.t1;
drop table test.t2;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
- where name like "wait/synch/rwlock/%";
+update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; update performance_schema.SETUP_INSTRUMENTS set enabled='NO'
- where name like "wait/synch/rwlock/%"
+master-bin.000001 # Query # # use `test`; update performance_schema.setup_instruments set enabled='NO'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
@@ -42,16 +46,18 @@ master-bin.000001 # Query # # use `test`; create table test.t1 (thread_id intege
master-bin.000001 # Query # # use `test`; create table test.t2 (name varchar(128))
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into test.t1
-select thread_id from performance_schema.EVENTS_WAITS_CURRENT
+select thread_id from performance_schema.events_waits_current
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into test.t2
-select name from performance_schema.SETUP_INSTRUMENTS
-where name like "wait/synch/rwlock/%"
+select name from performance_schema.setup_instruments
+where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
- where name like "wait/synch/rwlock/%"
+master-bin.000001 # Query # # use `test`; update performance_schema.setup_instruments set enabled='YES'
+ where name like "wait/synch/rwlock/sql/%"
+ and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock")
master-bin.000001 # Query # # COMMIT
diff --git a/mysql-test/suite/perfschema/r/checksum.result b/mysql-test/suite/perfschema/r/checksum.result
index 323cb303dae..587dead845a 100644
--- a/mysql-test/suite/perfschema/r/checksum.result
+++ b/mysql-test/suite/perfschema/r/checksum.result
@@ -1,34 +1,34 @@
-checksum table performance_schema.COND_INSTANCES;
-checksum table performance_schema.EVENTS_WAITS_CURRENT;
-checksum table performance_schema.EVENTS_WAITS_HISTORY;
-checksum table performance_schema.EVENTS_WAITS_HISTORY_LONG;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-checksum table performance_schema.FILE_INSTANCES;
-checksum table performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-checksum table performance_schema.FILE_SUMMARY_BY_INSTANCE;
-checksum table performance_schema.MUTEX_INSTANCES;
-checksum table performance_schema.PERFORMANCE_TIMERS;
-checksum table performance_schema.RWLOCK_INSTANCES;
-checksum table performance_schema.SETUP_CONSUMERS;
-checksum table performance_schema.SETUP_INSTRUMENTS;
-checksum table performance_schema.SETUP_TIMERS;
-checksum table performance_schema.THREADS;
-checksum table performance_schema.COND_INSTANCES extended;
-checksum table performance_schema.EVENTS_WAITS_CURRENT extended;
-checksum table performance_schema.EVENTS_WAITS_HISTORY extended;
-checksum table performance_schema.EVENTS_WAITS_HISTORY_LONG extended;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE extended;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME extended;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME extended;
-checksum table performance_schema.FILE_INSTANCES extended;
-checksum table performance_schema.FILE_SUMMARY_BY_EVENT_NAME extended;
-checksum table performance_schema.FILE_SUMMARY_BY_INSTANCE extended;
-checksum table performance_schema.MUTEX_INSTANCES extended;
-checksum table performance_schema.PERFORMANCE_TIMERS extended;
-checksum table performance_schema.RWLOCK_INSTANCES extended;
-checksum table performance_schema.SETUP_CONSUMERS extended;
-checksum table performance_schema.SETUP_INSTRUMENTS extended;
-checksum table performance_schema.SETUP_TIMERS extended;
-checksum table performance_schema.THREADS extended;
+checksum table performance_schema.cond_instances;
+checksum table performance_schema.events_waits_current;
+checksum table performance_schema.events_waits_history;
+checksum table performance_schema.events_waits_history_long;
+checksum table performance_schema.events_waits_summary_by_instance;
+checksum table performance_schema.events_waits_summary_by_thread_by_event_name;
+checksum table performance_schema.events_waits_summary_global_by_event_name;
+checksum table performance_schema.file_instances;
+checksum table performance_schema.file_summary_by_event_name;
+checksum table performance_schema.file_summary_by_instance;
+checksum table performance_schema.mutex_instances;
+checksum table performance_schema.performance_timers;
+checksum table performance_schema.rwlock_instances;
+checksum table performance_schema.setup_consumers;
+checksum table performance_schema.setup_instruments;
+checksum table performance_schema.setup_timers;
+checksum table performance_schema.threads;
+checksum table performance_schema.cond_instances extended;
+checksum table performance_schema.events_waits_current extended;
+checksum table performance_schema.events_waits_history extended;
+checksum table performance_schema.events_waits_history_long extended;
+checksum table performance_schema.events_waits_summary_by_instance extended;
+checksum table performance_schema.events_waits_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_waits_summary_global_by_event_name extended;
+checksum table performance_schema.file_instances extended;
+checksum table performance_schema.file_summary_by_event_name extended;
+checksum table performance_schema.file_summary_by_instance extended;
+checksum table performance_schema.mutex_instances extended;
+checksum table performance_schema.performance_timers extended;
+checksum table performance_schema.rwlock_instances extended;
+checksum table performance_schema.setup_consumers extended;
+checksum table performance_schema.setup_instruments extended;
+checksum table performance_schema.setup_timers extended;
+checksum table performance_schema.threads extended;
diff --git a/mysql-test/suite/perfschema/r/column_privilege.result b/mysql-test/suite/perfschema/r/column_privilege.result
index 7bbc59ac452..aff5f3e6eee 100644
--- a/mysql-test/suite/perfschema/r/column_privilege.result
+++ b/mysql-test/suite/perfschema/r/column_privilege.result
@@ -1,27 +1,28 @@
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION;
-grant SELECT(thread_id, event_id) on performance_schema.EVENTS_WAITS_CURRENT
+grant SELECT(thread_id, event_id) on performance_schema.events_waits_current
to 'pfs_user_5'@localhost;
-grant UPDATE(enabled) on performance_schema.SETUP_INSTRUMENTS
+grant UPDATE(enabled) on performance_schema.setup_instruments
to 'pfs_user_5'@localhost;
flush privileges;
-select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
-select thread_id, event_id from performance_schema.EVENTS_WAITS_CURRENT;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
-select event_name from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: SELECT command denied to user 'pfs_user_5'@'localhost' for column 'event_name' in table 'EVENTS_WAITS_CURRENT'
+select thread_id from performance_schema.events_waits_current;
+select thread_id, event_id from performance_schema.events_waits_current;
+update performance_schema.setup_instruments set enabled='YES';
+select event_name from performance_schema.events_waits_current;
+ERROR 42000: SELECT command denied to user 'pfs_user_5'@'localhost' for column 'event_name' in table 'events_waits_current'
select thread_id, event_id, event_name
-from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: SELECT command denied to user 'pfs_user_5'@'localhost' for column 'event_name' in table 'EVENTS_WAITS_CURRENT'
-update performance_schema.SETUP_INSTRUMENTS set name='illegal';
-ERROR 42000: UPDATE command denied to user 'pfs_user_5'@'localhost' for column 'name' in table 'SETUP_INSTRUMENTS'
-update performance_schema.SETUP_INSTRUMENTS set timed='NO';
-ERROR 42000: UPDATE command denied to user 'pfs_user_5'@'localhost' for column 'timed' in table 'SETUP_INSTRUMENTS'
+from performance_schema.events_waits_current;
+ERROR 42000: SELECT command denied to user 'pfs_user_5'@'localhost' for column 'event_name' in table 'events_waits_current'
+update performance_schema.setup_instruments set name='illegal';
+ERROR 42000: UPDATE command denied to user 'pfs_user_5'@'localhost' for column 'name' in table 'setup_instruments'
+update performance_schema.setup_instruments set timed='NO';
+ERROR 42000: UPDATE command denied to user 'pfs_user_5'@'localhost' for column 'timed' in table 'setup_instruments'
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'pfs_user_5'@localhost;
DROP USER 'pfs_user_5'@localhost;
flush privileges;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'CYCLE';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
diff --git a/mysql-test/suite/perfschema/r/ddl_cond_instances.result b/mysql-test/suite/perfschema/r/ddl_cond_instances.result
index 33adcebaceb..6b8b40af463 100644
--- a/mysql-test/suite/perfschema/r/ddl_cond_instances.result
+++ b/mysql-test/suite/perfschema/r/ddl_cond_instances.result
@@ -1,8 +1,8 @@
-alter table performance_schema.COND_INSTANCES add column foo integer;
+alter table performance_schema.cond_instances add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.COND_INSTANCES;
+truncate table performance_schema.cond_instances;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.COND_INSTANCES ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.cond_instances ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.COND_INSTANCES(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.cond_instances(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_waits_current.result b/mysql-test/suite/perfschema/r/ddl_events_waits_current.result
index a438c93affe..545134e5bd0 100644
--- a/mysql-test/suite/perfschema/r/ddl_events_waits_current.result
+++ b/mysql-test/suite/perfschema/r/ddl_events_waits_current.result
@@ -1,7 +1,7 @@
-alter table performance_schema.EVENTS_WAITS_CURRENT add column foo integer;
+alter table performance_schema.events_waits_current add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.EVENTS_WAITS_CURRENT;
-ALTER TABLE performance_schema.EVENTS_WAITS_CURRENT ADD INDEX test_index(EVENT_ID);
+truncate table performance_schema.events_waits_current;
+ALTER TABLE performance_schema.events_waits_current ADD INDEX test_index(EVENT_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_CURRENT(EVENT_ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_current(EVENT_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_waits_history.result b/mysql-test/suite/perfschema/r/ddl_events_waits_history.result
index 748dc2f29cd..2907e865b37 100644
--- a/mysql-test/suite/perfschema/r/ddl_events_waits_history.result
+++ b/mysql-test/suite/perfschema/r/ddl_events_waits_history.result
@@ -1,7 +1,7 @@
-alter table performance_schema.EVENTS_WAITS_HISTORY add column foo integer;
+alter table performance_schema.events_waits_history add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.EVENTS_WAITS_HISTORY;
-ALTER TABLE performance_schema.EVENTS_WAITS_HISTORY ADD INDEX test_index(EVENT_ID);
+truncate table performance_schema.events_waits_history;
+ALTER TABLE performance_schema.events_waits_history ADD INDEX test_index(EVENT_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_HISTORY(EVENT_ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_history(EVENT_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_events_waits_history_long.result b/mysql-test/suite/perfschema/r/ddl_events_waits_history_long.result
index 1a047a765f6..8926d39374b 100644
--- a/mysql-test/suite/perfschema/r/ddl_events_waits_history_long.result
+++ b/mysql-test/suite/perfschema/r/ddl_events_waits_history_long.result
@@ -1,7 +1,7 @@
-alter table performance_schema.EVENTS_WAITS_HISTORY_LONG add column foo integer;
+alter table performance_schema.events_waits_history_long add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
-ALTER TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG ADD INDEX test_index(EVENT_ID);
+truncate table performance_schema.events_waits_history_long;
+ALTER TABLE performance_schema.events_waits_history_long ADD INDEX test_index(EVENT_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_HISTORY_LONG(EVENT_ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_history_long(EVENT_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_ews_by_instance.result b/mysql-test/suite/perfschema/r/ddl_ews_by_instance.result
index 4a35565bae0..94168f16eb7 100644
--- a/mysql-test/suite/perfschema/r/ddl_ews_by_instance.result
+++ b/mysql-test/suite/perfschema/r/ddl_ews_by_instance.result
@@ -1,7 +1,7 @@
-alter table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE add column foo integer;
+alter table performance_schema.events_waits_summary_by_instance add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE ADD INDEX test_index(EVENT_NAME);
+truncate table performance_schema.events_waits_summary_by_instance;
+ALTER TABLE performance_schema.events_waits_summary_by_instance ADD INDEX test_index(EVENT_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE(EVENT_NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_summary_by_instance(EVENT_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_ews_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_by_thread_by_event_name.result
index 18d98006220..1694ff9287d 100644
--- a/mysql-test/suite/perfschema/r/ddl_ews_by_thread_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/ddl_ews_by_thread_by_event_name.result
@@ -1,9 +1,9 @@
-alter table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+alter table performance_schema.events_waits_summary_by_thread_by_event_name
add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME ADD INDEX test_index(THREAD_ID);
+truncate table performance_schema.events_waits_summary_by_thread_by_event_name;
+ALTER TABLE performance_schema.events_waits_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
CREATE UNIQUE INDEX test_index
-ON performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME(THREAD_ID);
+ON performance_schema.events_waits_summary_by_thread_by_event_name(THREAD_ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result
index 4f3ebcaea43..3b8cf851f80 100644
--- a/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/ddl_ews_global_by_event_name.result
@@ -1,10 +1,10 @@
-alter table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+alter table performance_schema.events_waits_summary_global_by_event_name
add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+truncate table performance_schema.events_waits_summary_global_by_event_name;
+ALTER TABLE performance_schema.events_waits_summary_global_by_event_name
ADD INDEX test_index(EVENT_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
CREATE UNIQUE INDEX test_index
-ON performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME(EVENT_NAME);
+ON performance_schema.events_waits_summary_global_by_event_name(EVENT_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_file_instances.result b/mysql-test/suite/perfschema/r/ddl_file_instances.result
index 21e65c62405..338a0260326 100644
--- a/mysql-test/suite/perfschema/r/ddl_file_instances.result
+++ b/mysql-test/suite/perfschema/r/ddl_file_instances.result
@@ -1,8 +1,8 @@
-alter table performance_schema.FILE_INSTANCES add column foo integer;
+alter table performance_schema.file_instances add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.FILE_INSTANCES;
+truncate table performance_schema.file_instances;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.FILE_INSTANCES ADD INDEX test_index(FILE_NAME);
+ALTER TABLE performance_schema.file_instances ADD INDEX test_index(FILE_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.FILE_INSTANCES(FILE_NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.file_instances(FILE_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_fs_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_fs_by_event_name.result
index 2f21ef56832..11bff4104bb 100644
--- a/mysql-test/suite/perfschema/r/ddl_fs_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/ddl_fs_by_event_name.result
@@ -1,7 +1,7 @@
-alter table performance_schema.FILE_SUMMARY_BY_EVENT_NAME add column foo integer;
+alter table performance_schema.file_summary_by_event_name add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-ALTER TABLE performance_schema.FILE_SUMMARY_BY_EVENT_NAME ADD INDEX test_index(NAME);
+truncate table performance_schema.file_summary_by_event_name;
+ALTER TABLE performance_schema.file_summary_by_event_name ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.FILE_SUMMARY_BY_EVENT_NAME(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.file_summary_by_event_name(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_fs_by_instance.result b/mysql-test/suite/perfschema/r/ddl_fs_by_instance.result
index 8e256d1fd8d..b28847b3aca 100644
--- a/mysql-test/suite/perfschema/r/ddl_fs_by_instance.result
+++ b/mysql-test/suite/perfschema/r/ddl_fs_by_instance.result
@@ -1,7 +1,7 @@
-alter table performance_schema.FILE_SUMMARY_BY_INSTANCE add column foo integer;
+alter table performance_schema.file_summary_by_instance add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.FILE_SUMMARY_BY_INSTANCE;
-ALTER TABLE performance_schema.FILE_SUMMARY_BY_INSTANCE ADD INDEX test_index(NAME);
+truncate table performance_schema.file_summary_by_instance;
+ALTER TABLE performance_schema.file_summary_by_instance ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.FILE_SUMMARY_BY_INSTANCE(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.file_summary_by_instance(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_mutex_instances.result b/mysql-test/suite/perfschema/r/ddl_mutex_instances.result
index 35397a5294d..0e35b0d766a 100644
--- a/mysql-test/suite/perfschema/r/ddl_mutex_instances.result
+++ b/mysql-test/suite/perfschema/r/ddl_mutex_instances.result
@@ -1,8 +1,8 @@
-alter table performance_schema.MUTEX_INSTANCES add column foo integer;
+alter table performance_schema.mutex_instances add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.MUTEX_INSTANCES;
+truncate table performance_schema.mutex_instances;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.MUTEX_INSTANCES ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.mutex_instances ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.MUTEX_INSTANCES(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.mutex_instances(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_performance_timers.result b/mysql-test/suite/perfschema/r/ddl_performance_timers.result
index 5de8193b205..6868d419f1b 100644
--- a/mysql-test/suite/perfschema/r/ddl_performance_timers.result
+++ b/mysql-test/suite/perfschema/r/ddl_performance_timers.result
@@ -1,8 +1,8 @@
-alter table performance_schema.PERFORMANCE_TIMERS add column foo integer;
+alter table performance_schema.performance_timers add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.PERFORMANCE_TIMERS;
+truncate table performance_schema.performance_timers;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.PERFORMANCE_TIMERS ADD INDEX test_index(TIMER_NAME);
+ALTER TABLE performance_schema.performance_timers ADD INDEX test_index(TIMER_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.PERFORMANCE_TIMERS(TIMER_NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.performance_timers(TIMER_NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_rwlock_instances.result b/mysql-test/suite/perfschema/r/ddl_rwlock_instances.result
index 849d191b17f..e93aef47a5c 100644
--- a/mysql-test/suite/perfschema/r/ddl_rwlock_instances.result
+++ b/mysql-test/suite/perfschema/r/ddl_rwlock_instances.result
@@ -1,8 +1,8 @@
-alter table performance_schema.RWLOCK_INSTANCES add column foo integer;
+alter table performance_schema.rwlock_instances add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.RWLOCK_INSTANCES;
+truncate table performance_schema.rwlock_instances;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.RWLOCK_INSTANCES ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.rwlock_instances ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.RWLOCK_INSTANCES(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.rwlock_instances(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_setup_consumers.result b/mysql-test/suite/perfschema/r/ddl_setup_consumers.result
index f141725ee1f..1b121a0ec4c 100644
--- a/mysql-test/suite/perfschema/r/ddl_setup_consumers.result
+++ b/mysql-test/suite/perfschema/r/ddl_setup_consumers.result
@@ -1,8 +1,8 @@
-alter table performance_schema.SETUP_CONSUMERS add column foo integer;
+alter table performance_schema.setup_consumers add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.SETUP_CONSUMERS;
+truncate table performance_schema.setup_consumers;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.SETUP_CONSUMERS ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.setup_consumers ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_CONSUMERS(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_consumers(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_setup_instruments.result b/mysql-test/suite/perfschema/r/ddl_setup_instruments.result
index 42e54b587d8..f67b4f5791b 100644
--- a/mysql-test/suite/perfschema/r/ddl_setup_instruments.result
+++ b/mysql-test/suite/perfschema/r/ddl_setup_instruments.result
@@ -1,8 +1,8 @@
-alter table performance_schema.SETUP_INSTRUMENTS add column foo integer;
+alter table performance_schema.setup_instruments add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.SETUP_INSTRUMENTS;
+truncate table performance_schema.setup_instruments;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.SETUP_INSTRUMENTS ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.setup_instruments ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_INSTRUMENTS(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_instruments(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_setup_timers.result b/mysql-test/suite/perfschema/r/ddl_setup_timers.result
index fc74730bd50..69b3d36cc1b 100644
--- a/mysql-test/suite/perfschema/r/ddl_setup_timers.result
+++ b/mysql-test/suite/perfschema/r/ddl_setup_timers.result
@@ -1,8 +1,8 @@
-alter table performance_schema.SETUP_TIMERS add column foo integer;
+alter table performance_schema.setup_timers add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.SETUP_TIMERS;
+truncate table performance_schema.setup_timers;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.SETUP_TIMERS ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.setup_timers ADD INDEX test_index(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_TIMERS(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_timers(NAME);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/ddl_threads.result b/mysql-test/suite/perfschema/r/ddl_threads.result
index 5d4b54d8bbe..9d949e0920f 100644
--- a/mysql-test/suite/perfschema/r/ddl_threads.result
+++ b/mysql-test/suite/perfschema/r/ddl_threads.result
@@ -1,8 +1,8 @@
-alter table performance_schema.THREADS add column foo integer;
+alter table performance_schema.threads add column foo integer;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-truncate table performance_schema.THREADS;
+truncate table performance_schema.threads;
ERROR HY000: Invalid performance_schema usage.
-ALTER TABLE performance_schema.THREADS ADD INDEX test_index(ID);
+ALTER TABLE performance_schema.threads ADD INDEX test_index(ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-CREATE UNIQUE INDEX test_index ON performance_schema.THREADS(ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.threads(ID);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
diff --git a/mysql-test/suite/perfschema/r/dml_cond_instances.result b/mysql-test/suite/perfschema/r/dml_cond_instances.result
index 8adc632b91b..285c32090af 100644
--- a/mysql-test/suite/perfschema/r/dml_cond_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_cond_instances.result
@@ -1,23 +1,20 @@
-select * from performance_schema.COND_INSTANCES limit 1;
-NAME OBJECT_INSTANCE_BEGIN
-# #
-select * from performance_schema.COND_INSTANCES
+select * from performance_schema.cond_instances limit 1;
+select * from performance_schema.cond_instances
where name='FOO';
-NAME OBJECT_INSTANCE_BEGIN
-insert into performance_schema.COND_INSTANCES
+insert into performance_schema.cond_instances
set name='FOO', object_instance_begin=12;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'COND_INSTANCES'
-update performance_schema.COND_INSTANCES
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'cond_instances'
+update performance_schema.cond_instances
set name='FOO';
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'COND_INSTANCES'
-delete from performance_schema.COND_INSTANCES
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'cond_instances'
+delete from performance_schema.cond_instances
where name like "wait/%";
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'COND_INSTANCES'
-delete from performance_schema.COND_INSTANCES;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'COND_INSTANCES'
-LOCK TABLES performance_schema.COND_INSTANCES READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'COND_INSTANCES'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'cond_instances'
+delete from performance_schema.cond_instances;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'cond_instances'
+LOCK TABLES performance_schema.cond_instances READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances'
UNLOCK TABLES;
-LOCK TABLES performance_schema.COND_INSTANCES WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'COND_INSTANCES'
+LOCK TABLES performance_schema.cond_instances WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_waits_current.result b/mysql-test/suite/perfschema/r/dml_events_waits_current.result
index 5cd0dba7ad1..122cfcce4a1 100644
--- a/mysql-test/suite/perfschema/r/dml_events_waits_current.result
+++ b/mysql-test/suite/perfschema/r/dml_events_waits_current.result
@@ -1,28 +1,25 @@
-select * from performance_schema.EVENTS_WAITS_CURRENT
+select * from performance_schema.events_waits_current
where event_name like 'Wait/Synch/%' limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-select * from performance_schema.EVENTS_WAITS_CURRENT
+select * from performance_schema.events_waits_current
where event_name='FOO';
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-insert into performance_schema.EVENTS_WAITS_CURRENT
+insert into performance_schema.events_waits_current
set thread_id='1', event_id=1,
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-update performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_current'
+update performance_schema.events_waits_current
set timer_start=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-update performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_current'
+update performance_schema.events_waits_current
set timer_start=12 where thread_id=0;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-delete from performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_current'
+delete from performance_schema.events_waits_current
where thread_id=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-delete from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-LOCK TABLES performance_schema.EVENTS_WAITS_CURRENT READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_current'
+delete from performance_schema.events_waits_current;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_current'
+LOCK TABLES performance_schema.events_waits_current READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
UNLOCK TABLES;
-LOCK TABLES performance_schema.EVENTS_WAITS_CURRENT WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+LOCK TABLES performance_schema.events_waits_current WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_waits_history.result b/mysql-test/suite/perfschema/r/dml_events_waits_history.result
index 953922868fb..199ccc1cfa5 100644
--- a/mysql-test/suite/perfschema/r/dml_events_waits_history.result
+++ b/mysql-test/suite/perfschema/r/dml_events_waits_history.result
@@ -1,36 +1,29 @@
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name like 'Wait/Synch/%' limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name='FOO';
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-insert into performance_schema.EVENTS_WAITS_HISTORY
+insert into performance_schema.events_waits_history
set thread_id='1', event_id=1,
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-update performance_schema.EVENTS_WAITS_HISTORY
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_history'
+update performance_schema.events_waits_history
set timer_start=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-update performance_schema.EVENTS_WAITS_HISTORY
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_history'
+update performance_schema.events_waits_history
set timer_start=12 where thread_id=0;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-delete from performance_schema.EVENTS_WAITS_HISTORY
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_history'
+delete from performance_schema.events_waits_history
where thread_id=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-delete from performance_schema.EVENTS_WAITS_HISTORY;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history'
+delete from performance_schema.events_waits_history;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history'
+LOCK TABLES performance_schema.events_waits_history READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history'
UNLOCK TABLES;
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY'
+LOCK TABLES performance_schema.events_waits_history WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result b/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result
index 494469a0db8..773dcd3b1dc 100644
--- a/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result
+++ b/mysql-test/suite/perfschema/r/dml_events_waits_history_long.result
@@ -1,36 +1,29 @@
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name like 'Wait/Synch/%' limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name='FOO';
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
-THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-# # # # # # # # NULL NULL NULL # NULL # NULL 0
-insert into performance_schema.EVENTS_WAITS_HISTORY_LONG
+insert into performance_schema.events_waits_history_long
set thread_id='1', event_id=1,
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-update performance_schema.EVENTS_WAITS_HISTORY_LONG
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+update performance_schema.events_waits_history_long
set timer_start=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-update performance_schema.EVENTS_WAITS_HISTORY_LONG
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+update performance_schema.events_waits_history_long
set timer_start=12 where thread_id=0;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-delete from performance_schema.EVENTS_WAITS_HISTORY_LONG
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+delete from performance_schema.events_waits_history_long
where thread_id=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-delete from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY_LONG READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+delete from performance_schema.events_waits_history_long;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_history_long'
+LOCK TABLES performance_schema.events_waits_history_long READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history_long'
UNLOCK TABLES;
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY_LONG WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
+LOCK TABLES performance_schema.events_waits_history_long WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_history_long'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_instance.result b/mysql-test/suite/perfschema/r/dml_ews_by_instance.result
index dc262982340..6ba37025d3b 100644
--- a/mysql-test/suite/perfschema/r/dml_ews_by_instance.result
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_instance.result
@@ -1,45 +1,34 @@
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where event_name like 'Wait/Synch/%' limit 1;
-EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # # #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where event_name='FOO';
-EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
order by count_star limit 1;
-EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # # #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
order by count_star desc limit 1;
-EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # # #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where min_timer_wait > 0 order by count_star limit 1;
-EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # # #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where min_timer_wait > 0 order by count_star desc limit 1;
-EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # # #
-insert into performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+insert into performance_schema.events_waits_summary_by_instance
set event_name='FOO', object_instance_begin=0,
count_star=1, sum_timer_wait=2, min_timer_wait=3,
avg_timer_wait=4, max_timer_wait=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+update performance_schema.events_waits_summary_by_instance
set count_star=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+update performance_schema.events_waits_summary_by_instance
set count_star=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+delete from performance_schema.events_waits_summary_by_instance
where count_star=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+delete from performance_schema.events_waits_summary_by_instance;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
+LOCK TABLES performance_schema.events_waits_summary_by_instance READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
UNLOCK TABLES;
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
+LOCK TABLES performance_schema.events_waits_summary_by_instance WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result
index 2a085659431..a98acb5f536 100644
--- a/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result
@@ -1,29 +1,26 @@
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
where event_name like 'Wait/Synch/%' limit 1;
-THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # # #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
where event_name='FOO';
-THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-insert into performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+insert into performance_schema.events_waits_summary_by_thread_by_event_name
set event_name='FOO', thread_id=1,
count_star=1, sum_timer_wait=2, min_timer_wait=3,
avg_timer_wait=4, max_timer_wait=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+update performance_schema.events_waits_summary_by_thread_by_event_name
set count_star=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+update performance_schema.events_waits_summary_by_thread_by_event_name
set count_star=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+delete from performance_schema.events_waits_summary_by_thread_by_event_name
where count_star=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+delete from performance_schema.events_waits_summary_by_thread_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
+LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
UNLOCK TABLES;
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
+LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result
index 64ede2fddac..159adbd8022 100644
--- a/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result
@@ -1,28 +1,25 @@
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+select * from performance_schema.events_waits_summary_global_by_event_name
where event_name like 'Wait/Synch/%' limit 1;
-EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-# # # # # #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+select * from performance_schema.events_waits_summary_global_by_event_name
where event_name='FOO';
-EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
-insert into performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+insert into performance_schema.events_waits_summary_global_by_event_name
set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
avg_timer_wait=4, max_timer_wait=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+update performance_schema.events_waits_summary_global_by_event_name
set count_star=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+update performance_schema.events_waits_summary_global_by_event_name
set count_star=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+delete from performance_schema.events_waits_summary_global_by_event_name
where count_star=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+delete from performance_schema.events_waits_summary_global_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
+LOCK TABLES performance_schema.events_waits_summary_global_by_event_name READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
UNLOCK TABLES;
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
+LOCK TABLES performance_schema.events_waits_summary_global_by_event_name WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_file_instances.result b/mysql-test/suite/perfschema/r/dml_file_instances.result
index e15d68cbad3..4a8a7ac4d47 100644
--- a/mysql-test/suite/perfschema/r/dml_file_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_file_instances.result
@@ -1,23 +1,20 @@
-select * from performance_schema.FILE_INSTANCES limit 1;
-FILE_NAME EVENT_NAME OPEN_COUNT
-# # #
-select * from performance_schema.FILE_INSTANCES
+select * from performance_schema.file_instances limit 1;
+select * from performance_schema.file_instances
where file_name='FOO';
-FILE_NAME EVENT_NAME OPEN_COUNT
-insert into performance_schema.FILE_INSTANCES
+insert into performance_schema.file_instances
set file_name='FOO', event_name='BAR', open_count=12;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-update performance_schema.FILE_INSTANCES
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_instances'
+update performance_schema.file_instances
set file_name='FOO';
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-delete from performance_schema.FILE_INSTANCES
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_instances'
+delete from performance_schema.file_instances
where event_name like "wait/%";
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-delete from performance_schema.FILE_INSTANCES;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-LOCK TABLES performance_schema.FILE_INSTANCES READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_instances'
+delete from performance_schema.file_instances;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_instances'
+LOCK TABLES performance_schema.file_instances READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
UNLOCK TABLES;
-LOCK TABLES performance_schema.FILE_INSTANCES WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+LOCK TABLES performance_schema.file_instances WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result b/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result
index 1ecc82f40a5..a8a9fe852bb 100644
--- a/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result
+++ b/mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result
@@ -1,28 +1,25 @@
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+select * from performance_schema.file_summary_by_event_name
where event_name like 'Wait/io/%' limit 1;
-EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
-# # # # #
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+select * from performance_schema.file_summary_by_event_name
where event_name='FOO';
-EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
-insert into performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+insert into performance_schema.file_summary_by_event_name
set event_name='FOO', count_read=1, count_write=2,
sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
-update performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+update performance_schema.file_summary_by_event_name
set count_read=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
-update performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+update performance_schema.file_summary_by_event_name
set count_write=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
-delete from performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+delete from performance_schema.file_summary_by_event_name
where count_read=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
-delete from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_EVENT_NAME READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+delete from performance_schema.file_summary_by_event_name;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
+LOCK TABLES performance_schema.file_summary_by_event_name READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
UNLOCK TABLES;
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_EVENT_NAME WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_EVENT_NAME'
+LOCK TABLES performance_schema.file_summary_by_event_name WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result b/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result
index 05b204cc1a9..456d6e31173 100644
--- a/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result
+++ b/mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result
@@ -1,28 +1,25 @@
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE
+select * from performance_schema.file_summary_by_instance
where event_name like 'Wait/io/%' limit 1;
-FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
-# # # # # #
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE
+select * from performance_schema.file_summary_by_instance
where event_name='FOO';
-FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
-insert into performance_schema.FILE_SUMMARY_BY_INSTANCE
+insert into performance_schema.file_summary_by_instance
set event_name='FOO', count_read=1, count_write=2,
sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
-update performance_schema.FILE_SUMMARY_BY_INSTANCE
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+update performance_schema.file_summary_by_instance
set count_read=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
-update performance_schema.FILE_SUMMARY_BY_INSTANCE
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+update performance_schema.file_summary_by_instance
set count_write=12 where event_name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
-delete from performance_schema.FILE_SUMMARY_BY_INSTANCE
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+delete from performance_schema.file_summary_by_instance
where count_read=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
-delete from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_INSTANCE READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+delete from performance_schema.file_summary_by_instance;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
+LOCK TABLES performance_schema.file_summary_by_instance READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
UNLOCK TABLES;
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_INSTANCE WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
+LOCK TABLES performance_schema.file_summary_by_instance WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_mutex_instances.result b/mysql-test/suite/perfschema/r/dml_mutex_instances.result
index 862123b3450..665517c7227 100644
--- a/mysql-test/suite/perfschema/r/dml_mutex_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_mutex_instances.result
@@ -1,23 +1,20 @@
-select * from performance_schema.MUTEX_INSTANCES limit 1;
-NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID
-# # #
-select * from performance_schema.MUTEX_INSTANCES
+select * from performance_schema.mutex_instances limit 1;
+select * from performance_schema.mutex_instances
where name='FOO';
-NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID
-insert into performance_schema.MUTEX_INSTANCES
+insert into performance_schema.mutex_instances
set name='FOO', object_instance_begin=12;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'MUTEX_INSTANCES'
-update performance_schema.MUTEX_INSTANCES
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'mutex_instances'
+update performance_schema.mutex_instances
set name='FOO';
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'MUTEX_INSTANCES'
-delete from performance_schema.MUTEX_INSTANCES
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'mutex_instances'
+delete from performance_schema.mutex_instances
where name like "wait/%";
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'MUTEX_INSTANCES'
-delete from performance_schema.MUTEX_INSTANCES;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'MUTEX_INSTANCES'
-LOCK TABLES performance_schema.MUTEX_INSTANCES READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'MUTEX_INSTANCES'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'mutex_instances'
+delete from performance_schema.mutex_instances;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'mutex_instances'
+LOCK TABLES performance_schema.mutex_instances READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'mutex_instances'
UNLOCK TABLES;
-LOCK TABLES performance_schema.MUTEX_INSTANCES WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'MUTEX_INSTANCES'
+LOCK TABLES performance_schema.mutex_instances WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'mutex_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_performance_timers.result b/mysql-test/suite/perfschema/r/dml_performance_timers.result
index 99c1c74b797..f345cce921e 100644
--- a/mysql-test/suite/perfschema/r/dml_performance_timers.result
+++ b/mysql-test/suite/perfschema/r/dml_performance_timers.result
@@ -1,29 +1,29 @@
-select * from performance_schema.PERFORMANCE_TIMERS;
+select * from performance_schema.performance_timers;
TIMER_NAME TIMER_FREQUENCY TIMER_RESOLUTION TIMER_OVERHEAD
CYCLE <frequency> <resolution> <overhead>
NANOSECOND <frequency> <resolution> <overhead>
MICROSECOND <frequency> <resolution> <overhead>
MILLISECOND <frequency> <resolution> <overhead>
TICK <frequency> <resolution> <overhead>
-select * from performance_schema.PERFORMANCE_TIMERS
+select * from performance_schema.performance_timers
where timer_name='CYCLE';
TIMER_NAME TIMER_FREQUENCY TIMER_RESOLUTION TIMER_OVERHEAD
CYCLE <frequency> <resolution> <overhead>
-insert into performance_schema.PERFORMANCE_TIMERS
+insert into performance_schema.performance_timers
set timer_name='FOO', timer_frequency=1,
timer_resolution=2, timer_overhead=3;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'PERFORMANCE_TIMERS'
-update performance_schema.PERFORMANCE_TIMERS
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'performance_timers'
+update performance_schema.performance_timers
set timer_frequency=12 where timer_name='CYCLE';
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'PERFORMANCE_TIMERS'
-delete from performance_schema.PERFORMANCE_TIMERS;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'PERFORMANCE_TIMERS'
-delete from performance_schema.PERFORMANCE_TIMERS
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'performance_timers'
+delete from performance_schema.performance_timers;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'performance_timers'
+delete from performance_schema.performance_timers
where timer_name='CYCLE';
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'PERFORMANCE_TIMERS'
-LOCK TABLES performance_schema.PERFORMANCE_TIMERS READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'PERFORMANCE_TIMERS'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'performance_timers'
+LOCK TABLES performance_schema.performance_timers READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'performance_timers'
UNLOCK TABLES;
-LOCK TABLES performance_schema.PERFORMANCE_TIMERS WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'PERFORMANCE_TIMERS'
+LOCK TABLES performance_schema.performance_timers WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'performance_timers'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_rwlock_instances.result b/mysql-test/suite/perfschema/r/dml_rwlock_instances.result
index 686007e58e9..b072eea3955 100644
--- a/mysql-test/suite/perfschema/r/dml_rwlock_instances.result
+++ b/mysql-test/suite/perfschema/r/dml_rwlock_instances.result
@@ -1,23 +1,20 @@
-select * from performance_schema.RWLOCK_INSTANCES limit 1;
-NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT
-# # # #
-select * from performance_schema.RWLOCK_INSTANCES
+select * from performance_schema.rwlock_instances limit 1;
+select * from performance_schema.rwlock_instances
where name='FOO';
-NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT
-insert into performance_schema.RWLOCK_INSTANCES
+insert into performance_schema.rwlock_instances
set name='FOO', object_instance_begin=12;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'RWLOCK_INSTANCES'
-update performance_schema.RWLOCK_INSTANCES
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'rwlock_instances'
+update performance_schema.rwlock_instances
set name='FOO';
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'RWLOCK_INSTANCES'
-delete from performance_schema.RWLOCK_INSTANCES
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'rwlock_instances'
+delete from performance_schema.rwlock_instances
where name like "wait/%";
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'RWLOCK_INSTANCES'
-delete from performance_schema.RWLOCK_INSTANCES;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'RWLOCK_INSTANCES'
-LOCK TABLES performance_schema.RWLOCK_INSTANCES READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'RWLOCK_INSTANCES'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'rwlock_instances'
+delete from performance_schema.rwlock_instances;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'rwlock_instances'
+LOCK TABLES performance_schema.rwlock_instances READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'rwlock_instances'
UNLOCK TABLES;
-LOCK TABLES performance_schema.RWLOCK_INSTANCES WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'RWLOCK_INSTANCES'
+LOCK TABLES performance_schema.rwlock_instances WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'rwlock_instances'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_setup_consumers.result b/mysql-test/suite/perfschema/r/dml_setup_consumers.result
index 44ed751dcd2..db0a6820de9 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_consumers.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_consumers.result
@@ -1,4 +1,4 @@
-select * from performance_schema.SETUP_CONSUMERS;
+select * from performance_schema.setup_consumers;
NAME ENABLED
events_waits_current YES
events_waits_history YES
@@ -8,11 +8,11 @@ events_waits_summary_by_event_name YES
events_waits_summary_by_instance YES
file_summary_by_event_name YES
file_summary_by_instance YES
-select * from performance_schema.SETUP_CONSUMERS
+select * from performance_schema.setup_consumers
where name='events_waits_current';
NAME ENABLED
events_waits_current YES
-select * from performance_schema.SETUP_CONSUMERS
+select * from performance_schema.setup_consumers
where enabled='YES';
NAME ENABLED
events_waits_current YES
@@ -23,23 +23,23 @@ events_waits_summary_by_event_name YES
events_waits_summary_by_instance YES
file_summary_by_event_name YES
file_summary_by_instance YES
-select * from performance_schema.SETUP_CONSUMERS
+select * from performance_schema.setup_consumers
where enabled='NO';
NAME ENABLED
-insert into performance_schema.SETUP_CONSUMERS
+insert into performance_schema.setup_consumers
set name='FOO', enabled='YES';
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'SETUP_CONSUMERS'
-update performance_schema.SETUP_CONSUMERS
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_consumers'
+update performance_schema.setup_consumers
set name='FOO';
ERROR HY000: Invalid performance_schema usage.
-update performance_schema.SETUP_CONSUMERS
+update performance_schema.setup_consumers
set enabled='YES';
-delete from performance_schema.SETUP_CONSUMERS;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_CONSUMERS'
-delete from performance_schema.SETUP_CONSUMERS
+delete from performance_schema.setup_consumers;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_consumers'
+delete from performance_schema.setup_consumers
where name='events_waits_current';
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_CONSUMERS'
-LOCK TABLES performance_schema.SETUP_CONSUMERS READ;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_consumers'
+LOCK TABLES performance_schema.setup_consumers READ;
UNLOCK TABLES;
-LOCK TABLES performance_schema.SETUP_CONSUMERS WRITE;
+LOCK TABLES performance_schema.setup_consumers WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_setup_instruments.result b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
index 7f203118346..fefc4f46061 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_instruments.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_instruments.result
@@ -1,5 +1,5 @@
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Mutex/sql/%'
and name not in ('wait/synch/mutex/sql/DEBUG_SYNC::mutex')
order by name limit 10;
@@ -13,8 +13,8 @@ wait/synch/mutex/sql/LOCK_active_mi YES YES
wait/synch/mutex/sql/LOCK_audit_mask YES YES
wait/synch/mutex/sql/LOCK_connection_count YES YES
wait/synch/mutex/sql/LOCK_crypt YES YES
-wait/synch/mutex/sql/LOCK_dd_owns_lock_open YES YES
-select * from performance_schema.SETUP_INSTRUMENTS
+wait/synch/mutex/sql/LOCK_delayed_create YES YES
+select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Rwlock/sql/%'
and name not in ('wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock')
order by name limit 10;
@@ -29,7 +29,7 @@ wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for YES YES
wait/synch/rwlock/sql/MDL_lock::rwlock YES YES
wait/synch/rwlock/sql/Query_cache_query::lock YES YES
wait/synch/rwlock/sql/THR_LOCK_servers YES YES
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Cond/sql/%'
and name not in (
'wait/synch/cond/sql/COND_handler_count',
@@ -37,7 +37,6 @@ where name like 'Wait/Synch/Cond/sql/%'
order by name limit 10;
NAME ENABLED TIMED
wait/synch/cond/sql/COND_flush_thread_cache YES YES
-wait/synch/cond/sql/COND_global_read_lock YES YES
wait/synch/cond/sql/COND_manager YES YES
wait/synch/cond/sql/COND_queue_state YES YES
wait/synch/cond/sql/COND_rpl_status YES YES
@@ -46,29 +45,30 @@ wait/synch/cond/sql/COND_thread_cache YES YES
wait/synch/cond/sql/COND_thread_count YES YES
wait/synch/cond/sql/Delayed_insert::cond YES YES
wait/synch/cond/sql/Delayed_insert::cond_client YES YES
-select * from performance_schema.SETUP_INSTRUMENTS
+wait/synch/cond/sql/Event_scheduler::COND_state YES YES
+select * from performance_schema.setup_instruments
where name='Wait';
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where enabled='YES';
-insert into performance_schema.SETUP_INSTRUMENTS
+insert into performance_schema.setup_instruments
set name='FOO', enabled='YES', timed='YES';
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-update performance_schema.SETUP_INSTRUMENTS
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_instruments'
+update performance_schema.setup_instruments
set name='FOO';
ERROR HY000: Invalid performance_schema usage.
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments
set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments
set timed='NO';
-select * from performance_schema.SETUP_INSTRUMENTS;
-update performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments;
+update performance_schema.setup_instruments
set enabled='YES', timed='YES';
-delete from performance_schema.SETUP_INSTRUMENTS;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-delete from performance_schema.SETUP_INSTRUMENTS
+delete from performance_schema.setup_instruments;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_instruments'
+delete from performance_schema.setup_instruments
where name like 'Wait/Synch/%';
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-LOCK TABLES performance_schema.SETUP_INSTRUMENTS READ;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_instruments'
+LOCK TABLES performance_schema.setup_instruments READ;
UNLOCK TABLES;
-LOCK TABLES performance_schema.SETUP_INSTRUMENTS WRITE;
+LOCK TABLES performance_schema.setup_instruments WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_setup_timers.result b/mysql-test/suite/perfschema/r/dml_setup_timers.result
index a9bee916cde..ad1f6df3e81 100644
--- a/mysql-test/suite/perfschema/r/dml_setup_timers.result
+++ b/mysql-test/suite/perfschema/r/dml_setup_timers.result
@@ -1,33 +1,33 @@
-select * from performance_schema.SETUP_TIMERS;
+select * from performance_schema.setup_timers;
NAME TIMER_NAME
wait CYCLE
-select * from performance_schema.SETUP_TIMERS
+select * from performance_schema.setup_timers
where name='Wait';
NAME TIMER_NAME
wait CYCLE
-select * from performance_schema.SETUP_TIMERS
+select * from performance_schema.setup_timers
where timer_name='CYCLE';
NAME TIMER_NAME
wait CYCLE
-insert into performance_schema.SETUP_TIMERS
+insert into performance_schema.setup_timers
set name='FOO', timer_name='CYCLE';
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'SETUP_TIMERS'
-update performance_schema.SETUP_TIMERS
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_timers'
+update performance_schema.setup_timers
set name='FOO';
ERROR HY000: Invalid performance_schema usage.
-update performance_schema.SETUP_TIMERS
+update performance_schema.setup_timers
set timer_name='MILLISECOND';
-select * from performance_schema.SETUP_TIMERS;
+select * from performance_schema.setup_timers;
NAME TIMER_NAME
wait MILLISECOND
-update performance_schema.SETUP_TIMERS
+update performance_schema.setup_timers
set timer_name='CYCLE';
-delete from performance_schema.SETUP_TIMERS;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_TIMERS'
-delete from performance_schema.SETUP_TIMERS
+delete from performance_schema.setup_timers;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_timers'
+delete from performance_schema.setup_timers
where name='Wait';
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_TIMERS'
-LOCK TABLES performance_schema.SETUP_TIMERS READ;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_timers'
+LOCK TABLES performance_schema.setup_timers READ;
UNLOCK TABLES;
-LOCK TABLES performance_schema.SETUP_TIMERS WRITE;
+LOCK TABLES performance_schema.setup_timers WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/dml_threads.result b/mysql-test/suite/perfschema/r/dml_threads.result
index b4fa8705c95..b78d1934d1f 100644
--- a/mysql-test/suite/perfschema/r/dml_threads.result
+++ b/mysql-test/suite/perfschema/r/dml_threads.result
@@ -1,27 +1,24 @@
-select * from performance_schema.THREADS
+select * from performance_schema.threads
where name like 'Thread/%' limit 1;
-THREAD_ID ID NAME
-# # #
-select * from performance_schema.THREADS
+select * from performance_schema.threads
where name='FOO';
-THREAD_ID ID NAME
-insert into performance_schema.THREADS
-set name='FOO', thread_id=1, id=2;
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'THREADS'
-update performance_schema.THREADS
+insert into performance_schema.threads
+set name='FOO', thread_id=1, processlist_id=2;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'threads'
+update performance_schema.threads
set thread_id=12;
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'THREADS'
-update performance_schema.THREADS
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'threads'
+update performance_schema.threads
set thread_id=12 where name like "FOO";
-ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'THREADS'
-delete from performance_schema.THREADS
+ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'threads'
+delete from performance_schema.threads
where id=1;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'THREADS'
-delete from performance_schema.THREADS;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'THREADS'
-LOCK TABLES performance_schema.THREADS READ;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'THREADS'
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'threads'
+delete from performance_schema.threads;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'threads'
+LOCK TABLES performance_schema.threads READ;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'threads'
UNLOCK TABLES;
-LOCK TABLES performance_schema.THREADS WRITE;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'THREADS'
+LOCK TABLES performance_schema.threads WRITE;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'threads'
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/r/func_file_io.result b/mysql-test/suite/perfschema/r/func_file_io.result
index 201254aca21..d99e77dcd8c 100644
--- a/mysql-test/suite/perfschema/r/func_file_io.result
+++ b/mysql-test/suite/perfschema/r/func_file_io.result
@@ -1,18 +1,18 @@
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/io/file/%';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD'));
SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation;
@@ -24,15 +24,15 @@ id b
2 initial value
3 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed;
test_ff1_timed
Success
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled='NO';
+UPDATE performance_schema.setup_instruments SET enabled='NO';
SET @before_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2));
SELECT * FROM t1 WHERE id < 6;
@@ -43,40 +43,40 @@ id b
4 initial value
5 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_ff2_timed;
test_ff2_timed
Success
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/io/file/%';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'NO';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+UPDATE performance_schema.setup_instruments SET timed = 'NO';
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id > 4;
id b
5 initial value
6 initial value
7 initial value
8 initial value
-SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+SELECT * FROM performance_schema.events_waits_history_long
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY
+SELECT * FROM performance_schema.events_waits_history
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-SELECT * FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT * FROM performance_schema.events_waits_current
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
THREAD_ID EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT SPINS OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID OPERATION NUMBER_OF_BYTES FLAGS
-UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'YES';
+UPDATE performance_schema.setup_instruments SET timed = 'YES';
SELECT * FROM t1 WHERE id < 4;
id b
1 initial value
@@ -87,31 +87,17 @@ SELECT SUM(COUNT_READ) AS sum_count_read,
SUM(COUNT_WRITE) AS sum_count_write,
SUM(SUM_NUMBER_OF_BYTES_READ) AS sum_num_bytes_read,
SUM(SUM_NUMBER_OF_BYTES_WRITE) AS sum_num_bytes_write
-FROM performance_schema.FILE_SUMMARY_BY_INSTANCE
+FROM performance_schema.file_summary_by_instance
WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL;
SELECT EVENT_NAME, COUNT_STAR, AVG_TIMER_WAIT, SUM_TIMER_WAIT
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+FROM performance_schema.events_waits_summary_global_by_event_name
WHERE COUNT_STAR > 0
ORDER BY SUM_TIMER_WAIT DESC
LIMIT 10;
-SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT
-# ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
-INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
-LEFT JOIN information_schema.PROCESSLIST i USING (ID)
-GROUP BY i.user
-ORDER BY SUM_WAIT DESC
-LIMIT 20;
SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
-INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
-WHERE p.ID = 1
+FROM performance_schema.events_waits_history_long h
+INNER JOIN performance_schema.threads p USING (THREAD_ID)
+WHERE p.PROCESSLIST_ID = 1
GROUP BY h.EVENT_NAME
HAVING TOTAL_WAIT > 0;
-SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
-INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
-LEFT JOIN information_schema.PROCESSLIST i USING (ID)
-GROUP BY i.user, h.operation
-HAVING BYTES > 0
-ORDER BY i.user, h.operation;
+UPDATE performance_schema.setup_instruments SET enabled = 'YES';
diff --git a/mysql-test/suite/perfschema/r/func_mutex.result b/mysql-test/suite/perfschema/r/func_mutex.result
index e32d7267bb1..93a8ae5d218 100644
--- a/mysql-test/suite/perfschema/r/func_mutex.result
+++ b/mysql-test/suite/perfschema/r/func_mutex.result
@@ -1,19 +1,19 @@
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT * FROM t1;
id b
@@ -26,21 +26,21 @@ id b
7 initial value
8 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_timed;
test_fm1_timed
Success
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO'
WHERE NAME = 'wait/synch/mutex/sql/LOCK_open';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT * FROM t1;
id b
@@ -53,19 +53,19 @@ id b
7 initial value
8 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_timed;
test_fm2_timed
Success
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT * FROM t1;
id b
@@ -78,21 +78,21 @@ id b
7 initial value
8 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_rw_timed;
test_fm1_rw_timed
Success
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO'
WHERE NAME = 'wait/synch/rwlock/sql/LOCK_grant';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
id b
1 initial value
SET @before_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT * FROM t1;
id b
@@ -105,9 +105,10 @@ id b
7 initial value
8 initial value
SET @after_count = (SELECT SUM(TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_rw_timed;
test_fm2_rw_timed
Success
+UPDATE performance_schema.setup_instruments SET enabled = 'YES';
DROP TABLE t1;
diff --git a/mysql-test/suite/perfschema/r/global_read_lock.result b/mysql-test/suite/perfschema/r/global_read_lock.result
index 93d6adfd049..d71bcf81ea7 100644
--- a/mysql-test/suite/perfschema/r/global_read_lock.result
+++ b/mysql-test/suite/perfschema/r/global_read_lock.result
@@ -1,32 +1,33 @@
use performance_schema;
+update performance_schema.setup_instruments set enabled='YES';
grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost;
flush privileges;
connect (con1, localhost, pfsuser, , test);
-lock tables performance_schema.SETUP_INSTRUMENTS read;
-select * from performance_schema.SETUP_INSTRUMENTS;
+lock tables performance_schema.setup_instruments read;
+select * from performance_schema.setup_instruments;
unlock tables;
-lock tables performance_schema.SETUP_INSTRUMENTS write;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+lock tables performance_schema.setup_instruments write;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
unlock tables;
connection default;
flush tables with read lock;
connection con1;
-lock tables performance_schema.SETUP_INSTRUMENTS read;
-select * from performance_schema.SETUP_INSTRUMENTS;
+lock tables performance_schema.setup_instruments read;
+select * from performance_schema.setup_instruments;
unlock tables;
-lock tables performance_schema.SETUP_INSTRUMENTS write;
+lock tables performance_schema.setup_instruments write;
connection default;
select event_name,
left(source, locate(":", source)) as short_source,
timer_end, timer_wait, operation
-from performance_schema.EVENTS_WAITS_CURRENT
-where event_name like "wait/synch/cond/sql/COND_global_read_lock";
+from performance_schema.events_waits_current
+where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
event_name short_source timer_end timer_wait operation
-wait/synch/cond/sql/COND_global_read_lock lock.cc: NULL NULL wait
+wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: NULL NULL timed_wait
unlock tables;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
unlock tables;
connection default;
drop user pfsuser@localhost;
diff --git a/mysql-test/suite/perfschema/r/information_schema.result b/mysql-test/suite/perfschema/r/information_schema.result
index 8e7478564fb..ab464cce687 100644
--- a/mysql-test/suite/perfschema/r/information_schema.result
+++ b/mysql-test/suite/perfschema/r/information_schema.result
@@ -1,189 +1,189 @@
-select TABLE_SCHEMA, upper(TABLE_NAME), TABLE_CATALOG
+select TABLE_SCHEMA, lower(TABLE_NAME), TABLE_CATALOG
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-TABLE_SCHEMA upper(TABLE_NAME) TABLE_CATALOG
-performance_schema COND_INSTANCES def
-performance_schema EVENTS_WAITS_CURRENT def
-performance_schema EVENTS_WAITS_HISTORY def
-performance_schema EVENTS_WAITS_HISTORY_LONG def
-performance_schema EVENTS_WAITS_SUMMARY_BY_INSTANCE def
-performance_schema EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME def
-performance_schema EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME def
-performance_schema FILE_INSTANCES def
-performance_schema FILE_SUMMARY_BY_EVENT_NAME def
-performance_schema FILE_SUMMARY_BY_INSTANCE def
-performance_schema MUTEX_INSTANCES def
-performance_schema PERFORMANCE_TIMERS def
-performance_schema RWLOCK_INSTANCES def
-performance_schema SETUP_CONSUMERS def
-performance_schema SETUP_INSTRUMENTS def
-performance_schema SETUP_TIMERS def
-performance_schema THREADS def
-select upper(TABLE_NAME), TABLE_TYPE, ENGINE
+TABLE_SCHEMA lower(TABLE_NAME) TABLE_CATALOG
+performance_schema cond_instances def
+performance_schema events_waits_current def
+performance_schema events_waits_history def
+performance_schema events_waits_history_long def
+performance_schema events_waits_summary_by_instance def
+performance_schema events_waits_summary_by_thread_by_event_name def
+performance_schema events_waits_summary_global_by_event_name def
+performance_schema file_instances def
+performance_schema file_summary_by_event_name def
+performance_schema file_summary_by_instance def
+performance_schema mutex_instances def
+performance_schema performance_timers def
+performance_schema rwlock_instances def
+performance_schema setup_consumers def
+performance_schema setup_instruments def
+performance_schema setup_timers def
+performance_schema threads def
+select lower(TABLE_NAME), TABLE_TYPE, ENGINE
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) TABLE_TYPE ENGINE
-COND_INSTANCES BASE TABLE PERFORMANCE_SCHEMA
-EVENTS_WAITS_CURRENT BASE TABLE PERFORMANCE_SCHEMA
-EVENTS_WAITS_HISTORY BASE TABLE PERFORMANCE_SCHEMA
-EVENTS_WAITS_HISTORY_LONG BASE TABLE PERFORMANCE_SCHEMA
-EVENTS_WAITS_SUMMARY_BY_INSTANCE BASE TABLE PERFORMANCE_SCHEMA
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA
-FILE_INSTANCES BASE TABLE PERFORMANCE_SCHEMA
-FILE_SUMMARY_BY_EVENT_NAME BASE TABLE PERFORMANCE_SCHEMA
-FILE_SUMMARY_BY_INSTANCE BASE TABLE PERFORMANCE_SCHEMA
-MUTEX_INSTANCES BASE TABLE PERFORMANCE_SCHEMA
-PERFORMANCE_TIMERS BASE TABLE PERFORMANCE_SCHEMA
-RWLOCK_INSTANCES BASE TABLE PERFORMANCE_SCHEMA
-SETUP_CONSUMERS BASE TABLE PERFORMANCE_SCHEMA
-SETUP_INSTRUMENTS BASE TABLE PERFORMANCE_SCHEMA
-SETUP_TIMERS BASE TABLE PERFORMANCE_SCHEMA
-THREADS BASE TABLE PERFORMANCE_SCHEMA
-select upper(TABLE_NAME), VERSION, ROW_FORMAT
+lower(TABLE_NAME) TABLE_TYPE ENGINE
+cond_instances BASE TABLE PERFORMANCE_SCHEMA
+events_waits_current BASE TABLE PERFORMANCE_SCHEMA
+events_waits_history BASE TABLE PERFORMANCE_SCHEMA
+events_waits_history_long BASE TABLE PERFORMANCE_SCHEMA
+events_waits_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA
+events_waits_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+events_waits_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+file_instances BASE TABLE PERFORMANCE_SCHEMA
+file_summary_by_event_name BASE TABLE PERFORMANCE_SCHEMA
+file_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA
+mutex_instances BASE TABLE PERFORMANCE_SCHEMA
+performance_timers BASE TABLE PERFORMANCE_SCHEMA
+rwlock_instances BASE TABLE PERFORMANCE_SCHEMA
+setup_consumers BASE TABLE PERFORMANCE_SCHEMA
+setup_instruments BASE TABLE PERFORMANCE_SCHEMA
+setup_timers BASE TABLE PERFORMANCE_SCHEMA
+threads BASE TABLE PERFORMANCE_SCHEMA
+select lower(TABLE_NAME), VERSION, ROW_FORMAT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) VERSION ROW_FORMAT
-COND_INSTANCES 10 Dynamic
-EVENTS_WAITS_CURRENT 10 Dynamic
-EVENTS_WAITS_HISTORY 10 Dynamic
-EVENTS_WAITS_HISTORY_LONG 10 Dynamic
-EVENTS_WAITS_SUMMARY_BY_INSTANCE 10 Dynamic
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 10 Dynamic
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 10 Dynamic
-FILE_INSTANCES 10 Dynamic
-FILE_SUMMARY_BY_EVENT_NAME 10 Dynamic
-FILE_SUMMARY_BY_INSTANCE 10 Dynamic
-MUTEX_INSTANCES 10 Dynamic
-PERFORMANCE_TIMERS 10 Fixed
-RWLOCK_INSTANCES 10 Dynamic
-SETUP_CONSUMERS 10 Dynamic
-SETUP_INSTRUMENTS 10 Dynamic
-SETUP_TIMERS 10 Dynamic
-THREADS 10 Dynamic
-select upper(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH
+lower(TABLE_NAME) VERSION ROW_FORMAT
+cond_instances 10 Dynamic
+events_waits_current 10 Dynamic
+events_waits_history 10 Dynamic
+events_waits_history_long 10 Dynamic
+events_waits_summary_by_instance 10 Dynamic
+events_waits_summary_by_thread_by_event_name 10 Dynamic
+events_waits_summary_global_by_event_name 10 Dynamic
+file_instances 10 Dynamic
+file_summary_by_event_name 10 Dynamic
+file_summary_by_instance 10 Dynamic
+mutex_instances 10 Dynamic
+performance_timers 10 Fixed
+rwlock_instances 10 Dynamic
+setup_consumers 10 Dynamic
+setup_instruments 10 Dynamic
+setup_timers 10 Dynamic
+threads 10 Dynamic
+select lower(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) TABLE_ROWS AVG_ROW_LENGTH
-COND_INSTANCES 1000 0
-EVENTS_WAITS_CURRENT 1000 0
-EVENTS_WAITS_HISTORY 1000 0
-EVENTS_WAITS_HISTORY_LONG 10000 0
-EVENTS_WAITS_SUMMARY_BY_INSTANCE 1000 0
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 1000 0
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 1000 0
-FILE_INSTANCES 1000 0
-FILE_SUMMARY_BY_EVENT_NAME 1000 0
-FILE_SUMMARY_BY_INSTANCE 1000 0
-MUTEX_INSTANCES 1000 0
-PERFORMANCE_TIMERS 5 0
-RWLOCK_INSTANCES 1000 0
-SETUP_CONSUMERS 8 0
-SETUP_INSTRUMENTS 1000 0
-SETUP_TIMERS 1 0
-THREADS 1000 0
-select upper(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH
+lower(TABLE_NAME) TABLE_ROWS AVG_ROW_LENGTH
+cond_instances 1000 0
+events_waits_current 1000 0
+events_waits_history 1000 0
+events_waits_history_long 10000 0
+events_waits_summary_by_instance 1000 0
+events_waits_summary_by_thread_by_event_name 1000 0
+events_waits_summary_global_by_event_name 1000 0
+file_instances 1000 0
+file_summary_by_event_name 1000 0
+file_summary_by_instance 1000 0
+mutex_instances 1000 0
+performance_timers 5 0
+rwlock_instances 1000 0
+setup_consumers 8 0
+setup_instruments 1000 0
+setup_timers 1 0
+threads 1000 0
+select lower(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) DATA_LENGTH MAX_DATA_LENGTH
-COND_INSTANCES 0 0
-EVENTS_WAITS_CURRENT 0 0
-EVENTS_WAITS_HISTORY 0 0
-EVENTS_WAITS_HISTORY_LONG 0 0
-EVENTS_WAITS_SUMMARY_BY_INSTANCE 0 0
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 0 0
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 0 0
-FILE_INSTANCES 0 0
-FILE_SUMMARY_BY_EVENT_NAME 0 0
-FILE_SUMMARY_BY_INSTANCE 0 0
-MUTEX_INSTANCES 0 0
-PERFORMANCE_TIMERS 0 0
-RWLOCK_INSTANCES 0 0
-SETUP_CONSUMERS 0 0
-SETUP_INSTRUMENTS 0 0
-SETUP_TIMERS 0 0
-THREADS 0 0
-select upper(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT
+lower(TABLE_NAME) DATA_LENGTH MAX_DATA_LENGTH
+cond_instances 0 0
+events_waits_current 0 0
+events_waits_history 0 0
+events_waits_history_long 0 0
+events_waits_summary_by_instance 0 0
+events_waits_summary_by_thread_by_event_name 0 0
+events_waits_summary_global_by_event_name 0 0
+file_instances 0 0
+file_summary_by_event_name 0 0
+file_summary_by_instance 0 0
+mutex_instances 0 0
+performance_timers 0 0
+rwlock_instances 0 0
+setup_consumers 0 0
+setup_instruments 0 0
+setup_timers 0 0
+threads 0 0
+select lower(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) INDEX_LENGTH DATA_FREE AUTO_INCREMENT
-COND_INSTANCES 0 0 NULL
-EVENTS_WAITS_CURRENT 0 0 NULL
-EVENTS_WAITS_HISTORY 0 0 NULL
-EVENTS_WAITS_HISTORY_LONG 0 0 NULL
-EVENTS_WAITS_SUMMARY_BY_INSTANCE 0 0 NULL
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME 0 0 NULL
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME 0 0 NULL
-FILE_INSTANCES 0 0 NULL
-FILE_SUMMARY_BY_EVENT_NAME 0 0 NULL
-FILE_SUMMARY_BY_INSTANCE 0 0 NULL
-MUTEX_INSTANCES 0 0 NULL
-PERFORMANCE_TIMERS 0 0 NULL
-RWLOCK_INSTANCES 0 0 NULL
-SETUP_CONSUMERS 0 0 NULL
-SETUP_INSTRUMENTS 0 0 NULL
-SETUP_TIMERS 0 0 NULL
-THREADS 0 0 NULL
-select upper(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME
+lower(TABLE_NAME) INDEX_LENGTH DATA_FREE AUTO_INCREMENT
+cond_instances 0 0 NULL
+events_waits_current 0 0 NULL
+events_waits_history 0 0 NULL
+events_waits_history_long 0 0 NULL
+events_waits_summary_by_instance 0 0 NULL
+events_waits_summary_by_thread_by_event_name 0 0 NULL
+events_waits_summary_global_by_event_name 0 0 NULL
+file_instances 0 0 NULL
+file_summary_by_event_name 0 0 NULL
+file_summary_by_instance 0 0 NULL
+mutex_instances 0 0 NULL
+performance_timers 0 0 NULL
+rwlock_instances 0 0 NULL
+setup_consumers 0 0 NULL
+setup_instruments 0 0 NULL
+setup_timers 0 0 NULL
+threads 0 0 NULL
+select lower(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) CREATE_TIME UPDATE_TIME CHECK_TIME
-COND_INSTANCES NULL NULL NULL
-EVENTS_WAITS_CURRENT NULL NULL NULL
-EVENTS_WAITS_HISTORY NULL NULL NULL
-EVENTS_WAITS_HISTORY_LONG NULL NULL NULL
-EVENTS_WAITS_SUMMARY_BY_INSTANCE NULL NULL NULL
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME NULL NULL NULL
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME NULL NULL NULL
-FILE_INSTANCES NULL NULL NULL
-FILE_SUMMARY_BY_EVENT_NAME NULL NULL NULL
-FILE_SUMMARY_BY_INSTANCE NULL NULL NULL
-MUTEX_INSTANCES NULL NULL NULL
-PERFORMANCE_TIMERS NULL NULL NULL
-RWLOCK_INSTANCES NULL NULL NULL
-SETUP_CONSUMERS NULL NULL NULL
-SETUP_INSTRUMENTS NULL NULL NULL
-SETUP_TIMERS NULL NULL NULL
-THREADS NULL NULL NULL
-select upper(TABLE_NAME), TABLE_COLLATION, CHECKSUM
+lower(TABLE_NAME) CREATE_TIME UPDATE_TIME CHECK_TIME
+cond_instances NULL NULL NULL
+events_waits_current NULL NULL NULL
+events_waits_history NULL NULL NULL
+events_waits_history_long NULL NULL NULL
+events_waits_summary_by_instance NULL NULL NULL
+events_waits_summary_by_thread_by_event_name NULL NULL NULL
+events_waits_summary_global_by_event_name NULL NULL NULL
+file_instances NULL NULL NULL
+file_summary_by_event_name NULL NULL NULL
+file_summary_by_instance NULL NULL NULL
+mutex_instances NULL NULL NULL
+performance_timers NULL NULL NULL
+rwlock_instances NULL NULL NULL
+setup_consumers NULL NULL NULL
+setup_instruments NULL NULL NULL
+setup_timers NULL NULL NULL
+threads NULL NULL NULL
+select lower(TABLE_NAME), TABLE_COLLATION, CHECKSUM
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) TABLE_COLLATION CHECKSUM
-COND_INSTANCES utf8_general_ci NULL
-EVENTS_WAITS_CURRENT utf8_general_ci NULL
-EVENTS_WAITS_HISTORY utf8_general_ci NULL
-EVENTS_WAITS_HISTORY_LONG utf8_general_ci NULL
-EVENTS_WAITS_SUMMARY_BY_INSTANCE utf8_general_ci NULL
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME utf8_general_ci NULL
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME utf8_general_ci NULL
-FILE_INSTANCES utf8_general_ci NULL
-FILE_SUMMARY_BY_EVENT_NAME utf8_general_ci NULL
-FILE_SUMMARY_BY_INSTANCE utf8_general_ci NULL
-MUTEX_INSTANCES utf8_general_ci NULL
-PERFORMANCE_TIMERS utf8_general_ci NULL
-RWLOCK_INSTANCES utf8_general_ci NULL
-SETUP_CONSUMERS utf8_general_ci NULL
-SETUP_INSTRUMENTS utf8_general_ci NULL
-SETUP_TIMERS utf8_general_ci NULL
-THREADS utf8_general_ci NULL
-select upper(TABLE_NAME), TABLE_COMMENT
+lower(TABLE_NAME) TABLE_COLLATION CHECKSUM
+cond_instances utf8_general_ci NULL
+events_waits_current utf8_general_ci NULL
+events_waits_history utf8_general_ci NULL
+events_waits_history_long utf8_general_ci NULL
+events_waits_summary_by_instance utf8_general_ci NULL
+events_waits_summary_by_thread_by_event_name utf8_general_ci NULL
+events_waits_summary_global_by_event_name utf8_general_ci NULL
+file_instances utf8_general_ci NULL
+file_summary_by_event_name utf8_general_ci NULL
+file_summary_by_instance utf8_general_ci NULL
+mutex_instances utf8_general_ci NULL
+performance_timers utf8_general_ci NULL
+rwlock_instances utf8_general_ci NULL
+setup_consumers utf8_general_ci NULL
+setup_instruments utf8_general_ci NULL
+setup_timers utf8_general_ci NULL
+threads utf8_general_ci NULL
+select lower(TABLE_NAME), TABLE_COMMENT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-upper(TABLE_NAME) TABLE_COMMENT
-COND_INSTANCES
-EVENTS_WAITS_CURRENT
-EVENTS_WAITS_HISTORY
-EVENTS_WAITS_HISTORY_LONG
-EVENTS_WAITS_SUMMARY_BY_INSTANCE
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
-FILE_INSTANCES
-FILE_SUMMARY_BY_EVENT_NAME
-FILE_SUMMARY_BY_INSTANCE
-MUTEX_INSTANCES
-PERFORMANCE_TIMERS
-RWLOCK_INSTANCES
-SETUP_CONSUMERS
-SETUP_INSTRUMENTS
-SETUP_TIMERS
-THREADS
+lower(TABLE_NAME) TABLE_COMMENT
+cond_instances
+events_waits_current
+events_waits_history
+events_waits_history_long
+events_waits_summary_by_instance
+events_waits_summary_by_thread_by_event_name
+events_waits_summary_global_by_event_name
+file_instances
+file_summary_by_event_name
+file_summary_by_instance
+mutex_instances
+performance_timers
+rwlock_instances
+setup_consumers
+setup_instruments
+setup_timers
+threads
diff --git a/mysql-test/suite/perfschema/r/misc.result b/mysql-test/suite/perfschema/r/misc.result
index e389a4ce65c..2f66f80ed75 100644
--- a/mysql-test/suite/perfschema/r/misc.result
+++ b/mysql-test/suite/perfschema/r/misc.result
@@ -1,14 +1,14 @@
-SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE THREAD_ID IN
-(SELECT THREAD_ID FROM performance_schema.THREADS)
+(SELECT THREAD_ID FROM performance_schema.threads)
AND EVENT_NAME IN
-(SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS
+(SELECT NAME FROM performance_schema.setup_instruments
WHERE NAME LIKE "wait/synch/%")
LIMIT 1;
create table test.t1(a int) engine=performance_schema;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
-ERROR HY000: Invalid performance_schema usage.
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.events_waits_current;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
create table performance_schema.t1(a int);
ERROR 42000: CREATE command denied to user 'root'@'localhost' for table 't1'
drop table if exists test.ghost;
@@ -22,7 +22,7 @@ a b
1 3
2 4
drop table test.ghost;
-select * from performance_schema.FILE_INSTANCES
+select * from performance_schema.file_instances
where file_name like "%ghost%";
FILE_NAME EVENT_NAME OPEN_COUNT
select * from performance_schema.no_such_table;
diff --git a/mysql-test/suite/perfschema/r/myisam_file_io.result b/mysql-test/suite/perfschema/r/myisam_file_io.result
index 5d710d9183d..5cdcf6ac789 100644
--- a/mysql-test/suite/perfschema/r/myisam_file_io.result
+++ b/mysql-test/suite/perfschema/r/myisam_file_io.result
@@ -1,9 +1,9 @@
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
where name like "wait/io/file/myisam/%";
-update performance_schema.SETUP_CONSUMERS
+update performance_schema.setup_consumers
set enabled='YES';
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_history_long;
flush status;
drop table if exists test.no_index_tab;
create table test.no_index_tab ( a varchar(255), b int ) engine=myisam;
@@ -14,8 +14,9 @@ select event_name,
left(source, locate(":", source)) as short_source,
operation, number_of_bytes,
substring(object_name, locate("no_index_tab", object_name)) as short_name
-from performance_schema.EVENTS_WAITS_HISTORY_LONG
+from performance_schema.events_waits_history_long
where operation not like "tell"
+ and event_name like "wait/io/file/myisam/%"
order by thread_id, event_id;
event_name short_source operation number_of_bytes short_name
wait/io/file/myisam/kfile mi_create.c: create NULL no_index_tab.MYI
@@ -56,5 +57,5 @@ Performance_schema_table_handles_lost 0
Performance_schema_table_instances_lost 0
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES';
drop table test.no_index_tab;
diff --git a/mysql-test/suite/perfschema/r/no_threads.result b/mysql-test/suite/perfschema/r/no_threads.result
index 79d16809eee..89ae72c8df1 100644
--- a/mysql-test/suite/perfschema/r/no_threads.result
+++ b/mysql-test/suite/perfschema/r/no_threads.result
@@ -1,11 +1,11 @@
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_CONSUMERS set enabled='YES';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_consumers set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
drop table if exists test.t1;
-truncate table performance_schema.EVENTS_WAITS_CURRENT;
-truncate table performance_schema.EVENTS_WAITS_HISTORY;
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_current;
+truncate table performance_schema.events_waits_history;
+truncate table performance_schema.events_waits_history_long;
show variables like "thread_handling";
Variable_name Value
thread_handling no-threads
@@ -17,27 +17,27 @@ show variables like "performance_schema_max_thread%";
Variable_name Value
performance_schema_max_thread_classes 50
performance_schema_max_thread_instances 10
-select count(*) from performance_schema.THREADS
+select count(*) from performance_schema.threads
where name like "thread/sql/main";
count(*)
1
-select count(*) from performance_schema.THREADS
+select count(*) from performance_schema.threads
where name like "thread/sql/OneConnection";
count(*)
0
select event_name, operation,
left(source, locate(":", source)) as short_source
-from performance_schema.EVENTS_WAITS_CURRENT;
+from performance_schema.events_waits_current;
event_name operation short_source
wait/synch/mutex/mysys/THR_LOCK_myisam lock mi_create.c:
select event_name, operation,
left(source, locate(":", source)) as short_source
-from performance_schema.EVENTS_WAITS_HISTORY;
+from performance_schema.events_waits_history;
event_name operation short_source
wait/synch/mutex/mysys/THR_LOCK_myisam lock mi_create.c:
select event_name, operation,
left(source, locate(":", source)) as short_source
-from performance_schema.EVENTS_WAITS_HISTORY_LONG;
+from performance_schema.events_waits_history_long;
event_name operation short_source
wait/synch/mutex/mysys/THR_LOCK_myisam lock mi_create.c:
drop table test.t1;
diff --git a/mysql-test/suite/perfschema/r/one_thread_per_con.result b/mysql-test/suite/perfschema/r/one_thread_per_con.result
index 9677a09933a..998aba6281c 100644
--- a/mysql-test/suite/perfschema/r/one_thread_per_con.result
+++ b/mysql-test/suite/perfschema/r/one_thread_per_con.result
@@ -1,9 +1,9 @@
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
+update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
drop table if exists test.t1;
drop table if exists test.t2;
drop table if exists test.t3;
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_history_long;
show variables like "thread_handling";
Variable_name Value
thread_handling one-thread-per-connection
@@ -35,4 +35,4 @@ thread/sql/one_connection
drop table test.t1;
drop table test.t2;
drop table test.t3;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES';
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade.result b/mysql-test/suite/perfschema/r/pfs_upgrade.result
index 08991726796..2ec6a3bd1dd 100644
--- a/mysql-test/suite/perfschema/r/pfs_upgrade.result
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade.result
@@ -8,24 +8,24 @@ use performance_schema;
show tables like "user_table";
Tables_in_performance_schema (user_table)
user_table
-ERROR 1050 (42S01) at line 181: Table 'COND_INSTANCES' already exists
-ERROR 1050 (42S01) at line 211: Table 'EVENTS_WAITS_CURRENT' already exists
-ERROR 1050 (42S01) at line 225: Table 'EVENTS_WAITS_HISTORY' already exists
-ERROR 1050 (42S01) at line 239: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
-ERROR 1050 (42S01) at line 260: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 301: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 318: Table 'FILE_INSTANCES' already exists
-ERROR 1050 (42S01) at line 337: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 357: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 374: Table 'MUTEX_INSTANCES' already exists
-ERROR 1050 (42S01) at line 392: Table 'PERFORMANCE_TIMERS' already exists
-ERROR 1050 (42S01) at line 410: Table 'RWLOCK_INSTANCES' already exists
-ERROR 1050 (42S01) at line 426: Table 'SETUP_CONSUMERS' already exists
-ERROR 1050 (42S01) at line 443: Table 'SETUP_INSTRUMENTS' already exists
-ERROR 1050 (42S01) at line 459: Table 'SETUP_TIMERS' already exists
-ERROR 1050 (42S01) at line 476: Table 'THREADS' already exists
-ERROR 1644 (HY000) at line 1119: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line 478: Table 'threads' already exists
+ERROR 1644 (HY000) at line 1122: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
show tables like "user_table";
Tables_in_performance_schema (user_table)
@@ -38,24 +38,24 @@ use performance_schema;
show tables like "user_view";
Tables_in_performance_schema (user_view)
user_view
-ERROR 1050 (42S01) at line 181: Table 'COND_INSTANCES' already exists
-ERROR 1050 (42S01) at line 211: Table 'EVENTS_WAITS_CURRENT' already exists
-ERROR 1050 (42S01) at line 225: Table 'EVENTS_WAITS_HISTORY' already exists
-ERROR 1050 (42S01) at line 239: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
-ERROR 1050 (42S01) at line 260: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 301: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 318: Table 'FILE_INSTANCES' already exists
-ERROR 1050 (42S01) at line 337: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 357: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 374: Table 'MUTEX_INSTANCES' already exists
-ERROR 1050 (42S01) at line 392: Table 'PERFORMANCE_TIMERS' already exists
-ERROR 1050 (42S01) at line 410: Table 'RWLOCK_INSTANCES' already exists
-ERROR 1050 (42S01) at line 426: Table 'SETUP_CONSUMERS' already exists
-ERROR 1050 (42S01) at line 443: Table 'SETUP_INSTRUMENTS' already exists
-ERROR 1050 (42S01) at line 459: Table 'SETUP_TIMERS' already exists
-ERROR 1050 (42S01) at line 476: Table 'THREADS' already exists
-ERROR 1644 (HY000) at line 1119: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line 478: Table 'threads' already exists
+ERROR 1644 (HY000) at line 1122: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
show tables like "user_view";
Tables_in_performance_schema (user_view)
@@ -66,24 +66,24 @@ drop view test.user_view;
create procedure test.user_proc()
select "Not supposed to be here";
update mysql.proc set db='performance_schema' where name='user_proc';
-ERROR 1050 (42S01) at line 181: Table 'COND_INSTANCES' already exists
-ERROR 1050 (42S01) at line 211: Table 'EVENTS_WAITS_CURRENT' already exists
-ERROR 1050 (42S01) at line 225: Table 'EVENTS_WAITS_HISTORY' already exists
-ERROR 1050 (42S01) at line 239: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
-ERROR 1050 (42S01) at line 260: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 301: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 318: Table 'FILE_INSTANCES' already exists
-ERROR 1050 (42S01) at line 337: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 357: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 374: Table 'MUTEX_INSTANCES' already exists
-ERROR 1050 (42S01) at line 392: Table 'PERFORMANCE_TIMERS' already exists
-ERROR 1050 (42S01) at line 410: Table 'RWLOCK_INSTANCES' already exists
-ERROR 1050 (42S01) at line 426: Table 'SETUP_CONSUMERS' already exists
-ERROR 1050 (42S01) at line 443: Table 'SETUP_INSTRUMENTS' already exists
-ERROR 1050 (42S01) at line 459: Table 'SETUP_TIMERS' already exists
-ERROR 1050 (42S01) at line 476: Table 'THREADS' already exists
-ERROR 1644 (HY000) at line 1119: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line 478: Table 'threads' already exists
+ERROR 1644 (HY000) at line 1122: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
select name from mysql.proc where db='performance_schema';
name
@@ -94,24 +94,24 @@ drop procedure test.user_proc;
create function test.user_func() returns integer
return 0;
update mysql.proc set db='performance_schema' where name='user_func';
-ERROR 1050 (42S01) at line 181: Table 'COND_INSTANCES' already exists
-ERROR 1050 (42S01) at line 211: Table 'EVENTS_WAITS_CURRENT' already exists
-ERROR 1050 (42S01) at line 225: Table 'EVENTS_WAITS_HISTORY' already exists
-ERROR 1050 (42S01) at line 239: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
-ERROR 1050 (42S01) at line 260: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 301: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 318: Table 'FILE_INSTANCES' already exists
-ERROR 1050 (42S01) at line 337: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 357: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 374: Table 'MUTEX_INSTANCES' already exists
-ERROR 1050 (42S01) at line 392: Table 'PERFORMANCE_TIMERS' already exists
-ERROR 1050 (42S01) at line 410: Table 'RWLOCK_INSTANCES' already exists
-ERROR 1050 (42S01) at line 426: Table 'SETUP_CONSUMERS' already exists
-ERROR 1050 (42S01) at line 443: Table 'SETUP_INSTRUMENTS' already exists
-ERROR 1050 (42S01) at line 459: Table 'SETUP_TIMERS' already exists
-ERROR 1050 (42S01) at line 476: Table 'THREADS' already exists
-ERROR 1644 (HY000) at line 1119: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line 478: Table 'threads' already exists
+ERROR 1644 (HY000) at line 1122: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
select name from mysql.proc where db='performance_schema';
name
@@ -122,24 +122,24 @@ drop function test.user_func;
create event test.user_event on schedule every 1 day do
select "not supposed to be here";
update mysql.event set db='performance_schema' where name='user_event';
-ERROR 1050 (42S01) at line 181: Table 'COND_INSTANCES' already exists
-ERROR 1050 (42S01) at line 211: Table 'EVENTS_WAITS_CURRENT' already exists
-ERROR 1050 (42S01) at line 225: Table 'EVENTS_WAITS_HISTORY' already exists
-ERROR 1050 (42S01) at line 239: Table 'EVENTS_WAITS_HISTORY_LONG' already exists
-ERROR 1050 (42S01) at line 260: Table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 281: Table 'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 301: Table 'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 318: Table 'FILE_INSTANCES' already exists
-ERROR 1050 (42S01) at line 337: Table 'FILE_SUMMARY_BY_EVENT_NAME' already exists
-ERROR 1050 (42S01) at line 357: Table 'FILE_SUMMARY_BY_INSTANCE' already exists
-ERROR 1050 (42S01) at line 374: Table 'MUTEX_INSTANCES' already exists
-ERROR 1050 (42S01) at line 392: Table 'PERFORMANCE_TIMERS' already exists
-ERROR 1050 (42S01) at line 410: Table 'RWLOCK_INSTANCES' already exists
-ERROR 1050 (42S01) at line 426: Table 'SETUP_CONSUMERS' already exists
-ERROR 1050 (42S01) at line 443: Table 'SETUP_INSTRUMENTS' already exists
-ERROR 1050 (42S01) at line 459: Table 'SETUP_TIMERS' already exists
-ERROR 1050 (42S01) at line 476: Table 'THREADS' already exists
-ERROR 1644 (HY000) at line 1119: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line 478: Table 'threads' already exists
+ERROR 1644 (HY000) at line 1122: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
select name from mysql.event where db='performance_schema';
name
diff --git a/mysql-test/suite/perfschema/r/privilege.result b/mysql-test/suite/perfschema/r/privilege.result
index ddbc150a72a..d1831c9c4be 100644
--- a/mysql-test/suite/perfschema/r/privilege.result
+++ b/mysql-test/suite/perfschema/r/privilege.result
@@ -1,6 +1,7 @@
show grants;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION;
grant ALL on performance_schema.* to 'pfs_user_2'@localhost
with GRANT OPTION;
@@ -34,102 +35,102 @@ grant INSERT on performance_schema.* to 'pfs_user_2'@localhost;
grant UPDATE on performance_schema.* to 'pfs_user_2'@localhost;
grant DELETE on performance_schema.* to 'pfs_user_2'@localhost;
grant LOCK TABLES on performance_schema.* to 'pfs_user_2'@localhost;
-grant ALL on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+grant ALL on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant CREATE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
-grant DROP on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
-grant REFERENCES on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant CREATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant INDEX on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant INDEX on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant ALTER on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant ALTER on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant CREATE VIEW on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant CREATE VIEW on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant SHOW VIEW on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant SHOW VIEW on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant TRIGGER on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant TRIGGER on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant INSERT on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
-ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-grant DELETE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
-ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-grant SELECT on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+grant INSERT on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
+ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'setup_instruments'
+grant DELETE on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
+ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'setup_instruments'
+grant SELECT on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
-grant UPDATE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+grant UPDATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
-grant ALL on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost
+grant ALL on performance_schema.events_waits_current to 'pfs_user_3'@localhost
with GRANT OPTION;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant CREATE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
-grant DROP on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
-grant REFERENCES on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant CREATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant INDEX on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant INDEX on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant ALTER on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant ALTER on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant CREATE VIEW on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant CREATE VIEW on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant SHOW VIEW on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant SHOW VIEW on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant TRIGGER on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant TRIGGER on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant INSERT on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
-ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-grant UPDATE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
-ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-grant DELETE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
-ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-grant SELECT on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost
+grant INSERT on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
+ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
+grant UPDATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
+ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
+grant DELETE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
+ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'events_waits_current'
+grant SELECT on performance_schema.events_waits_current to 'pfs_user_3'@localhost
with GRANT OPTION;
-grant ALL on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost
+grant ALL on performance_schema.file_instances to 'pfs_user_3'@localhost
with GRANT OPTION;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant CREATE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
-grant DROP on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
-grant REFERENCES on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant CREATE on performance_schema.file_instances to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.file_instances to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant INDEX on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant INDEX on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant ALTER on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant ALTER on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant CREATE VIEW on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant CREATE VIEW on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant SHOW VIEW on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant SHOW VIEW on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant TRIGGER on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant TRIGGER on performance_schema.file_instances to 'pfs_user_3'@localhost;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-grant INSERT on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
-ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-grant UPDATE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
-ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-grant DELETE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
-ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-grant SELECT on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost
+grant INSERT on performance_schema.file_instances to 'pfs_user_3'@localhost;
+ERROR 42000: INSERT,GRANT command denied to user 'root'@'localhost' for table 'file_instances'
+grant UPDATE on performance_schema.file_instances to 'pfs_user_3'@localhost;
+ERROR 42000: UPDATE,GRANT command denied to user 'root'@'localhost' for table 'file_instances'
+grant DELETE on performance_schema.file_instances to 'pfs_user_3'@localhost;
+ERROR 42000: DELETE,GRANT command denied to user 'root'@'localhost' for table 'file_instances'
+grant SELECT on performance_schema.file_instances to 'pfs_user_3'@localhost
with GRANT OPTION;
grant LOCK TABLES on performance_schema.* to 'pfs_user_3'@localhost
with GRANT OPTION;
flush privileges;
drop table if exists test.t1;
-rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+rename table performance_schema.setup_instruments to test.t1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+rename table performance_schema.events_waits_current to test.t1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to test.t1;
+rename table performance_schema.file_instances to test.t1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+rename table performance_schema.setup_instruments to performance_schema.t1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+rename table performance_schema.events_waits_current to performance_schema.t1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+rename table performance_schema.file_instances to performance_schema.t1;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS
-to performance_schema.EVENTS_WAITS_CURRENT;
+rename table performance_schema.setup_instruments
+to performance_schema.events_waits_current;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT
-to performance_schema.SETUP_INSTRUMENTS;
+rename table performance_schema.events_waits_current
+to performance_schema.setup_instruments;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create procedure performance_schema.my_proc() begin end;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
@@ -139,95 +140,95 @@ create event performance_schema.my_event on schedule every 15 minute
do begin end;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_setup_instruments
-before insert on performance_schema.SETUP_INSTRUMENTS
+before insert on performance_schema.setup_instruments
for each row begin end;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_events_waits_current
-before insert on performance_schema.EVENTS_WAITS_CURRENT
+before insert on performance_schema.events_waits_current
for each row begin end;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_file_instances
-before insert on performance_schema.FILE_INSTANCES
+before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.FILE_INSTANCES;
-ERROR HY000: Invalid performance_schema usage.
-insert into performance_schema.SETUP_INSTRUMENTS
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.setup_instruments;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.events_waits_current;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.file_instances;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+insert into performance_schema.setup_instruments
set name="foo";
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-insert into performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'setup_instruments'
+insert into performance_schema.events_waits_current
set name="foo";
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-insert into performance_schema.FILE_INSTANCES
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_waits_current'
+insert into performance_schema.file_instances
set name="foo";
-ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-delete from performance_schema.SETUP_INSTRUMENTS;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'SETUP_INSTRUMENTS'
-delete from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-delete from performance_schema.FILE_INSTANCES;
-ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
-lock table performance_schema.SETUP_INSTRUMENTS read;
+ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'file_instances'
+delete from performance_schema.setup_instruments;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'setup_instruments'
+delete from performance_schema.events_waits_current;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_waits_current'
+delete from performance_schema.file_instances;
+ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'file_instances'
+lock table performance_schema.setup_instruments read;
unlock tables;
-lock table performance_schema.SETUP_INSTRUMENTS write;
+lock table performance_schema.setup_instruments write;
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.FILE_INSTANCES read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
unlock tables;
-lock table performance_schema.FILE_INSTANCES write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
-# to view data from _CURRENT and _HISTORY tables
+# to view data from _current and _history tables
#
# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
-# (Except for EVENTS_WAITS_CURRENT, which is granted.)
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+# (Except for events_waits_current, which is granted.)
+SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1;
can select
can select
drop table if exists test.t1;
-rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+rename table performance_schema.setup_instruments to test.t1;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+rename table performance_schema.events_waits_current to test.t1;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to test.t1;
+rename table performance_schema.file_instances to test.t1;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+rename table performance_schema.setup_instruments to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+rename table performance_schema.events_waits_current to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+rename table performance_schema.file_instances to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS
-to performance_schema.EVENTS_WAITS_CURRENT;
+rename table performance_schema.setup_instruments
+to performance_schema.events_waits_current;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT
-to performance_schema.SETUP_INSTRUMENTS;
+rename table performance_schema.events_waits_current
+to performance_schema.setup_instruments;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
create procedure performance_schema.my_proc() begin end;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
@@ -237,95 +238,95 @@ create event performance_schema.my_event on schedule every 15 minute
do begin end;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_setup_instruments
-before insert on performance_schema.SETUP_INSTRUMENTS
+before insert on performance_schema.setup_instruments
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_events_waits_current
-before insert on performance_schema.EVENTS_WAITS_CURRENT
+before insert on performance_schema.events_waits_current
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_file_instances
-before insert on performance_schema.FILE_INSTANCES
+before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_1'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.FILE_INSTANCES;
-ERROR HY000: Invalid performance_schema usage.
-insert into performance_schema.SETUP_INSTRUMENTS
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.setup_instruments;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.events_waits_current;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.file_instances;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+insert into performance_schema.setup_instruments
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'SETUP_INSTRUMENTS'
-insert into performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'setup_instruments'
+insert into performance_schema.events_waits_current
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-insert into performance_schema.FILE_INSTANCES
+ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
+insert into performance_schema.file_instances
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
-delete from performance_schema.SETUP_INSTRUMENTS;
-ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'SETUP_INSTRUMENTS'
-delete from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-delete from performance_schema.FILE_INSTANCES;
-ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
-lock table performance_schema.SETUP_INSTRUMENTS read;
+ERROR 42000: INSERT command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
+delete from performance_schema.setup_instruments;
+ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'setup_instruments'
+delete from performance_schema.events_waits_current;
+ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
+delete from performance_schema.file_instances;
+ERROR 42000: DELETE command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
+lock table performance_schema.setup_instruments read;
unlock tables;
-lock table performance_schema.SETUP_INSTRUMENTS write;
+lock table performance_schema.setup_instruments write;
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.FILE_INSTANCES read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
unlock tables;
-lock table performance_schema.FILE_INSTANCES write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_1'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
-# to view data from _CURRENT and _HISTORY tables
+# to view data from _current and _history tables
#
# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
-# (Except for EVENTS_WAITS_CURRENT, which is granted.)
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+# (Except for events_waits_current, which is granted.)
+SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1;
can select
can select
drop table if exists test.t1;
-rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+rename table performance_schema.setup_instruments to test.t1;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+rename table performance_schema.events_waits_current to test.t1;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to test.t1;
+rename table performance_schema.file_instances to test.t1;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+rename table performance_schema.setup_instruments to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+rename table performance_schema.events_waits_current to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+rename table performance_schema.file_instances to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS
-to performance_schema.EVENTS_WAITS_CURRENT;
+rename table performance_schema.setup_instruments
+to performance_schema.events_waits_current;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT
-to performance_schema.SETUP_INSTRUMENTS;
+rename table performance_schema.events_waits_current
+to performance_schema.setup_instruments;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
create procedure performance_schema.my_proc() begin end;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
@@ -335,95 +336,95 @@ create event performance_schema.my_event on schedule every 15 minute
do begin end;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_setup_instruments
-before insert on performance_schema.SETUP_INSTRUMENTS
+before insert on performance_schema.setup_instruments
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_events_waits_current
-before insert on performance_schema.EVENTS_WAITS_CURRENT
+before insert on performance_schema.events_waits_current
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_file_instances
-before insert on performance_schema.FILE_INSTANCES
+before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_2'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.FILE_INSTANCES;
-ERROR HY000: Invalid performance_schema usage.
-insert into performance_schema.SETUP_INSTRUMENTS
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.setup_instruments;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.events_waits_current;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.file_instances;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+insert into performance_schema.setup_instruments
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'SETUP_INSTRUMENTS'
-insert into performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'setup_instruments'
+insert into performance_schema.events_waits_current
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-insert into performance_schema.FILE_INSTANCES
+ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
+insert into performance_schema.file_instances
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
-delete from performance_schema.SETUP_INSTRUMENTS;
-ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'SETUP_INSTRUMENTS'
-delete from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-delete from performance_schema.FILE_INSTANCES;
-ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
-lock table performance_schema.SETUP_INSTRUMENTS read;
+ERROR 42000: INSERT command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
+delete from performance_schema.setup_instruments;
+ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'setup_instruments'
+delete from performance_schema.events_waits_current;
+ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
+delete from performance_schema.file_instances;
+ERROR 42000: DELETE command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
+lock table performance_schema.setup_instruments read;
unlock tables;
-lock table performance_schema.SETUP_INSTRUMENTS write;
+lock table performance_schema.setup_instruments write;
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.FILE_INSTANCES read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
unlock tables;
-lock table performance_schema.FILE_INSTANCES write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_2'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
-# to view data from _CURRENT and _HISTORY tables
+# to view data from _current and _history tables
#
# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
-# (Except for EVENTS_WAITS_CURRENT, which is granted.)
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
+# (Except for events_waits_current, which is granted.)
+SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1;
can select
can select
-SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
+SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1;
can select
can select
drop table if exists test.t1;
-rename table performance_schema.SETUP_INSTRUMENTS to test.t1;
+rename table performance_schema.setup_instruments to test.t1;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to test.t1;
+rename table performance_schema.events_waits_current to test.t1;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to test.t1;
+rename table performance_schema.file_instances to test.t1;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS to performance_schema.t1;
+rename table performance_schema.setup_instruments to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT to performance_schema.t1;
+rename table performance_schema.events_waits_current to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.FILE_INSTANCES to performance_schema.t1;
+rename table performance_schema.file_instances to performance_schema.t1;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.SETUP_INSTRUMENTS
-to performance_schema.EVENTS_WAITS_CURRENT;
+rename table performance_schema.setup_instruments
+to performance_schema.events_waits_current;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
-rename table performance_schema.EVENTS_WAITS_CURRENT
-to performance_schema.SETUP_INSTRUMENTS;
+rename table performance_schema.events_waits_current
+to performance_schema.setup_instruments;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
create procedure performance_schema.my_proc() begin end;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
@@ -433,73 +434,73 @@ create event performance_schema.my_event on schedule every 15 minute
do begin end;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_setup_instruments
-before insert on performance_schema.SETUP_INSTRUMENTS
+before insert on performance_schema.setup_instruments
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_events_waits_current
-before insert on performance_schema.EVENTS_WAITS_CURRENT
+before insert on performance_schema.events_waits_current
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
create trigger performance_schema.bi_file_instances
-before insert on performance_schema.FILE_INSTANCES
+before insert on performance_schema.file_instances
for each row begin end;
ERROR 42000: Access denied for user 'pfs_user_3'@'localhost' to database 'performance_schema'
create table test.t1(a int) engine=PERFORMANCE_SCHEMA;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.SETUP_INSTRUMENTS;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
-ERROR HY000: Invalid performance_schema usage.
-create table test.t1 like performance_schema.FILE_INSTANCES;
-ERROR HY000: Invalid performance_schema usage.
-insert into performance_schema.SETUP_INSTRUMENTS
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.setup_instruments;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.events_waits_current;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+create table test.t1 like performance_schema.file_instances;
+ERROR HY000: Can't create table 'test.t1' (errno: 131)
+insert into performance_schema.setup_instruments
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'SETUP_INSTRUMENTS'
-insert into performance_schema.EVENTS_WAITS_CURRENT
+ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'setup_instruments'
+insert into performance_schema.events_waits_current
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-insert into performance_schema.FILE_INSTANCES
+ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
+insert into performance_schema.file_instances
set name="foo";
-ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
-delete from performance_schema.SETUP_INSTRUMENTS;
-ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'SETUP_INSTRUMENTS'
-delete from performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-delete from performance_schema.FILE_INSTANCES;
-ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
-lock table performance_schema.SETUP_INSTRUMENTS read;
+ERROR 42000: INSERT command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
+delete from performance_schema.setup_instruments;
+ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'setup_instruments'
+delete from performance_schema.events_waits_current;
+ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
+delete from performance_schema.file_instances;
+ERROR 42000: DELETE command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
+lock table performance_schema.setup_instruments read;
unlock tables;
-lock table performance_schema.SETUP_INSTRUMENTS write;
+lock table performance_schema.setup_instruments write;
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.EVENTS_WAITS_CURRENT write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+lock table performance_schema.events_waits_current write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_current'
unlock tables;
-lock table performance_schema.FILE_INSTANCES read;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances read;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
unlock tables;
-lock table performance_schema.FILE_INSTANCES write;
-ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'FILE_INSTANCES'
+lock table performance_schema.file_instances write;
+ERROR 42000: SELECT,LOCK TABL command denied to user 'pfs_user_3'@'localhost' for table 'file_instances'
unlock tables;
#
# WL#4818, NFS2: Can use grants to give normal user access
-# to view data from _CURRENT and _HISTORY tables
+# to view data from _current and _history tables
#
# Should work as pfs_user_1 and pfs_user_2, but not as pfs_user_3.
-# (Except for EVENTS_WAITS_CURRENT, which is granted.)
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY LIMIT 1;
-ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_HISTORY_LONG LIMIT 1;
-ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_CURRENT LIMIT 1;
-can select
-can select
-SELECT "can select" FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE LIMIT 1;
-ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-SELECT "can select" FROM performance_schema.FILE_SUMMARY_BY_INSTANCE LIMIT 1;
-ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
+# (Except for events_waits_current, which is granted.)
+SELECT "can select" FROM performance_schema.events_waits_history LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_history'
+SELECT "can select" FROM performance_schema.events_waits_history_long LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_history_long'
+SELECT "can select" FROM performance_schema.events_waits_current LIMIT 1;
+can select
+can select
+SELECT "can select" FROM performance_schema.events_waits_summary_by_instance LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'events_waits_summary_by_instance'
+SELECT "can select" FROM performance_schema.file_summary_by_instance LIMIT 1;
+ERROR 42000: SELECT command denied to user 'pfs_user_3'@'localhost' for table 'file_summary_by_instance'
revoke all privileges, grant option from 'pfs_user_1'@localhost;
revoke all privileges, grant option from 'pfs_user_2'@localhost;
revoke all privileges, grant option from 'pfs_user_3'@localhost;
@@ -515,63 +516,63 @@ CREATE user pfs_user_4;
# without grants
#
# Select as pfs_user_4 should fail without grant
-SELECT event_id FROM performance_schema.EVENTS_WAITS_HISTORY;
-ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-SELECT event_id FROM performance_schema.EVENTS_WAITS_HISTORY_LONG;
-ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-SELECT event_id FROM performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_CURRENT'
-SELECT event_name FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-SELECT event_name FROM performance_schema.FILE_SUMMARY_BY_INSTANCE;
-ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'FILE_SUMMARY_BY_INSTANCE'
+SELECT event_id FROM performance_schema.events_waits_history;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_history'
+SELECT event_id FROM performance_schema.events_waits_history_long;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_history_long'
+SELECT event_id FROM performance_schema.events_waits_current;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_current'
+SELECT event_name FROM performance_schema.events_waits_summary_by_instance;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_summary_by_instance'
+SELECT event_name FROM performance_schema.file_summary_by_instance;
+ERROR 42000: SELECT command denied to user 'pfs_user_4'@'localhost' for table 'file_summary_by_instance'
#
# WL#4818, NFS3: Normal user does not have access to change what is
# instrumented without grants
#
# User pfs_user_4 should not be allowed to tweak instrumentation without
# explicit grant
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
-ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_INSTRUMENTS'
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'setup_instruments'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
-ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_INSTRUMENTS'
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
-ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_CONSUMERS'
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'TICK';
-ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'SETUP_TIMERS'
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY_LONG'
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_HISTORY'
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
-ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'EVENTS_WAITS_CURRENT'
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'setup_instruments'
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'setup_consumers'
+UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
+ERROR 42000: UPDATE command denied to user 'pfs_user_4'@'localhost' for table 'setup_timers'
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_history_long'
+TRUNCATE TABLE performance_schema.events_waits_history;
+ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_history'
+TRUNCATE TABLE performance_schema.events_waits_current;
+ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'events_waits_current'
#
# WL#4814, NFS1: Can use grants to give normal user access
# to turn on and off instrumentation
#
# Grant access to change tables with the root account
-GRANT UPDATE ON performance_schema.SETUP_CONSUMERS TO pfs_user_4;
-GRANT UPDATE ON performance_schema.SETUP_TIMERS TO pfs_user_4;
-GRANT UPDATE, SELECT ON performance_schema.SETUP_INSTRUMENTS TO pfs_user_4;
-GRANT DROP ON performance_schema.EVENTS_WAITS_CURRENT TO pfs_user_4;
-GRANT DROP ON performance_schema.EVENTS_WAITS_HISTORY TO pfs_user_4;
-GRANT DROP ON performance_schema.EVENTS_WAITS_HISTORY_LONG TO pfs_user_4;
+GRANT UPDATE ON performance_schema.setup_consumers TO pfs_user_4;
+GRANT UPDATE ON performance_schema.setup_timers TO pfs_user_4;
+GRANT UPDATE, SELECT ON performance_schema.setup_instruments TO pfs_user_4;
+GRANT DROP ON performance_schema.events_waits_current TO pfs_user_4;
+GRANT DROP ON performance_schema.events_waits_history TO pfs_user_4;
+GRANT DROP ON performance_schema.events_waits_history_long TO pfs_user_4;
# User pfs_user_4 should now be allowed to tweak instrumentation
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'TICK';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
# Clean up
REVOKE ALL PRIVILEGES, GRANT OPTION FROM pfs_user_4;
DROP USER pfs_user_4;
flush privileges;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'CYCLE';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
diff --git a/mysql-test/suite/perfschema/r/query_cache.result b/mysql-test/suite/perfschema/r/query_cache.result
index a0aeac5a916..c7ac3d499b4 100644
--- a/mysql-test/suite/perfschema/r/query_cache.result
+++ b/mysql-test/suite/perfschema/r/query_cache.result
@@ -33,10 +33,10 @@ Qcache_inserts 1
show status like "Qcache_hits";
Variable_name Value
Qcache_hits 1
-select spins from performance_schema.EVENTS_WAITS_CURRENT order by event_name limit 1;
+select spins from performance_schema.events_waits_current order by event_name limit 1;
spins
NULL
-select name from performance_schema.SETUP_INSTRUMENTS order by name limit 1;
+select name from performance_schema.setup_instruments order by name limit 1;
name
wait/io/file/csv/data
show status like "Qcache_queries_in_cache";
@@ -48,10 +48,10 @@ Qcache_inserts 1
show status like "Qcache_hits";
Variable_name Value
Qcache_hits 1
-select spins from performance_schema.EVENTS_WAITS_CURRENT order by event_name limit 1;
+select spins from performance_schema.events_waits_current order by event_name limit 1;
spins
NULL
-select name from performance_schema.SETUP_INSTRUMENTS order by name limit 1;
+select name from performance_schema.setup_instruments order by name limit 1;
name
wait/io/file/csv/data
show status like "Qcache_queries_in_cache";
diff --git a/mysql-test/suite/perfschema/r/read_only.result b/mysql-test/suite/perfschema/r/read_only.result
index 6a30eb4ab8b..19108326f1b 100644
--- a/mysql-test/suite/perfschema/r/read_only.result
+++ b/mysql-test/suite/perfschema/r/read_only.result
@@ -13,9 +13,9 @@ show grants;
Grants for pfsuser@localhost
GRANT USAGE ON *.* TO 'pfsuser'@'localhost'
GRANT SELECT, UPDATE ON `performance_schema`.* TO 'pfsuser'@'localhost'
-select * from performance_schema.SETUP_INSTRUMENTS;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+select * from performance_schema.setup_instruments;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
connection default;
set global read_only=1;
connection con1;
@@ -26,9 +26,9 @@ show grants;
Grants for pfsuser@localhost
GRANT USAGE ON *.* TO 'pfsuser'@'localhost'
GRANT SELECT, UPDATE ON `performance_schema`.* TO 'pfsuser'@'localhost'
-select * from performance_schema.SETUP_INSTRUMENTS;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+select * from performance_schema.setup_instruments;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
connection default;
grant super on *.* to pfsuser@localhost;
flush privileges;
@@ -40,9 +40,9 @@ show grants;
Grants for pfsuser@localhost
GRANT SUPER ON *.* TO 'pfsuser'@'localhost'
GRANT SELECT, UPDATE ON `performance_schema`.* TO 'pfsuser'@'localhost'
-select * from performance_schema.SETUP_INSTRUMENTS;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+select * from performance_schema.setup_instruments;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
connection default;
set global read_only= @start_read_only;
drop user pfsuser@localhost;
diff --git a/mysql-test/suite/perfschema/r/relaylog.result b/mysql-test/suite/perfschema/r/relaylog.result
new file mode 100644
index 00000000000..e2f8270b1f0
--- /dev/null
+++ b/mysql-test/suite/perfschema/r/relaylog.result
@@ -0,0 +1,169 @@
+include/master-slave.inc
+[connection master]
+drop table if exists test.t1;
+reset master;
+create table test.t1(a int);
+drop table test.t1;
+show binlog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Query # # use `test`; create table test.t1(a int)
+slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+"============ Performance schema on master ============"
+select
+substring(file_name, locate("master-", file_name)) as FILE_NAME,
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_instance
+where file_name like "%master-%" order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
+master-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
+select * from performance_schema.file_summary_by_instance
+where file_name like "%slave-%" order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+"Expect a master binlog + binlog_index"
+select
+substring(file_name, locate("master-", file_name)) as FILE_NAME,
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_instance
+where event_name like "%binlog%" order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+master-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
+master-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
+select
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_event_name
+where event_name like "%binlog%" order by event_name;
+EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+wait/io/file/sql/binlog MANY MANY MANY MANY
+wait/io/file/sql/binlog_index NONE MANY NONE MANY
+select
+EVENT_NAME,
+if (count_star > 0, "MANY", "NONE") as COUNT_STAR
+from performance_schema.events_waits_summary_global_by_event_name
+where event_name like "%MYSQL_BIN_LOG%" order by event_name;
+EVENT_NAME COUNT_STAR
+wait/synch/cond/sql/MYSQL_BIN_LOG::COND_prep_xids NONE
+wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids NONE
+"Expect no slave relay log"
+select * from performance_schema.file_summary_by_instance
+where event_name like "%relaylog%" order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+select * from performance_schema.file_summary_by_event_name
+where event_name like "%relaylog%" order by event_name;
+EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+wait/io/file/sql/relaylog 0 0 0 0
+wait/io/file/sql/relaylog_index 0 0 0 0
+select * from performance_schema.events_waits_summary_global_by_event_name
+where event_name like "%MYSQL_RELAY_LOG%" order by event_name;
+EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT
+wait/synch/cond/sql/MYSQL_RELAY_LOG::update_cond 0 0 0 0 0
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index 0 0 0 0 0
+"============ Performance schema on slave ============"
+select * from performance_schema.file_summary_by_instance
+where file_name like "%master-%" order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+select
+substring(file_name, locate("slave-", file_name)) as FILE_NAME,
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_instance
+where file_name like "%slave-%"
+ and (file_name not like "%slave-relay-bin.0%"
+ or file_name like "%slave-relay-bin.000001"
+ or file_name like "%slave-relay-bin.000002")
+order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+slave-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
+slave-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
+slave-relay-bin.000001 wait/io/file/sql/relaylog MANY MANY MANY MANY
+slave-relay-bin.000002 wait/io/file/sql/relaylog MANY MANY MANY MANY
+slave-relay-bin.index wait/io/file/sql/relaylog_index MANY MANY MANY MANY
+"Expect a slave binlog + binlog_index"
+select
+substring(file_name, locate("slave-", file_name)) as FILE_NAME,
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_instance
+where event_name like "%binlog%" order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+slave-bin.000001 wait/io/file/sql/binlog MANY MANY MANY MANY
+slave-bin.index wait/io/file/sql/binlog_index NONE MANY NONE MANY
+select
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_event_name
+where event_name like "%binlog%" order by event_name;
+EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+wait/io/file/sql/binlog MANY MANY MANY MANY
+wait/io/file/sql/binlog_index NONE MANY NONE MANY
+select
+EVENT_NAME,
+if (count_star > 0, "MANY", "NONE") as COUNT_STAR
+from performance_schema.events_waits_summary_global_by_event_name
+where event_name like "%MYSQL_BIN_LOG%" order by event_name;
+EVENT_NAME COUNT_STAR
+wait/synch/cond/sql/MYSQL_BIN_LOG::COND_prep_xids NONE
+wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond NONE
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index MANY
+wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids NONE
+"Expect a slave relay log"
+select
+substring(file_name, locate("slave-", file_name)) as FILE_NAME,
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_instance
+where event_name like "%relaylog%"
+ and (file_name not like "%slave-relay-bin.0%"
+ or file_name like "%slave-relay-bin.000001"
+ or file_name like "%slave-relay-bin.000002")
+order by file_name;
+FILE_NAME EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+slave-relay-bin.000001 wait/io/file/sql/relaylog MANY MANY MANY MANY
+slave-relay-bin.000002 wait/io/file/sql/relaylog MANY MANY MANY MANY
+slave-relay-bin.index wait/io/file/sql/relaylog_index MANY MANY MANY MANY
+select
+EVENT_NAME,
+if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+from performance_schema.file_summary_by_event_name
+where event_name like "%relaylog%" order by event_name;
+EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE
+wait/io/file/sql/relaylog MANY MANY MANY MANY
+wait/io/file/sql/relaylog_index MANY MANY MANY MANY
+select
+EVENT_NAME,
+if (count_star > 0, "MANY", "NONE") as COUNT_STAR
+from performance_schema.events_waits_summary_global_by_event_name
+where event_name like "%MYSQL_RELAY_LOG%" order by event_name;
+EVENT_NAME COUNT_STAR
+wait/synch/cond/sql/MYSQL_RELAY_LOG::update_cond MANY
+wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index MANY
+include/stop_slave.inc
diff --git a/mysql-test/suite/perfschema/r/schema.result b/mysql-test/suite/perfschema/r/schema.result
index a802539b7e0..5bafa137af5 100644
--- a/mysql-test/suite/perfschema/r/schema.result
+++ b/mysql-test/suite/perfschema/r/schema.result
@@ -8,32 +8,32 @@ test
use performance_schema;
show tables;
Tables_in_performance_schema
-COND_INSTANCES
-EVENTS_WAITS_CURRENT
-EVENTS_WAITS_HISTORY
-EVENTS_WAITS_HISTORY_LONG
-EVENTS_WAITS_SUMMARY_BY_INSTANCE
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
-FILE_INSTANCES
-FILE_SUMMARY_BY_EVENT_NAME
-FILE_SUMMARY_BY_INSTANCE
-MUTEX_INSTANCES
-PERFORMANCE_TIMERS
-RWLOCK_INSTANCES
-SETUP_CONSUMERS
-SETUP_INSTRUMENTS
-SETUP_TIMERS
-THREADS
-show create table COND_INSTANCES;
-Table Create Table
-COND_INSTANCES CREATE TABLE `COND_INSTANCES` (
+cond_instances
+events_waits_current
+events_waits_history
+events_waits_history_long
+events_waits_summary_by_instance
+events_waits_summary_by_thread_by_event_name
+events_waits_summary_global_by_event_name
+file_instances
+file_summary_by_event_name
+file_summary_by_instance
+mutex_instances
+performance_timers
+rwlock_instances
+setup_consumers
+setup_instruments
+setup_timers
+threads
+show create table cond_instances;
+Table Create Table
+cond_instances CREATE TABLE `cond_instances` (
`NAME` varchar(128) NOT NULL,
`OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table EVENTS_WAITS_CURRENT;
+show create table events_waits_current;
Table Create Table
-EVENTS_WAITS_CURRENT CREATE TABLE `EVENTS_WAITS_CURRENT` (
+events_waits_current CREATE TABLE `events_waits_current` (
`THREAD_ID` int(11) NOT NULL,
`EVENT_ID` bigint(20) unsigned NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
@@ -51,9 +51,9 @@ EVENTS_WAITS_CURRENT CREATE TABLE `EVENTS_WAITS_CURRENT` (
`NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL,
`FLAGS` int(10) unsigned DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table EVENTS_WAITS_HISTORY;
+show create table events_waits_history;
Table Create Table
-EVENTS_WAITS_HISTORY CREATE TABLE `EVENTS_WAITS_HISTORY` (
+events_waits_history CREATE TABLE `events_waits_history` (
`THREAD_ID` int(11) NOT NULL,
`EVENT_ID` bigint(20) unsigned NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
@@ -71,9 +71,9 @@ EVENTS_WAITS_HISTORY CREATE TABLE `EVENTS_WAITS_HISTORY` (
`NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL,
`FLAGS` int(10) unsigned DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table EVENTS_WAITS_HISTORY_LONG;
+show create table events_waits_history_long;
Table Create Table
-EVENTS_WAITS_HISTORY_LONG CREATE TABLE `EVENTS_WAITS_HISTORY_LONG` (
+events_waits_history_long CREATE TABLE `events_waits_history_long` (
`THREAD_ID` int(11) NOT NULL,
`EVENT_ID` bigint(20) unsigned NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
@@ -91,9 +91,9 @@ EVENTS_WAITS_HISTORY_LONG CREATE TABLE `EVENTS_WAITS_HISTORY_LONG` (
`NUMBER_OF_BYTES` bigint(20) unsigned DEFAULT NULL,
`FLAGS` int(10) unsigned DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table EVENTS_WAITS_SUMMARY_BY_INSTANCE;
+show create table events_waits_summary_by_instance;
Table Create Table
-EVENTS_WAITS_SUMMARY_BY_INSTANCE CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_INSTANCE` (
+events_waits_summary_by_instance CREATE TABLE `events_waits_summary_by_instance` (
`EVENT_NAME` varchar(128) NOT NULL,
`OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
@@ -102,9 +102,9 @@ EVENTS_WAITS_SUMMARY_BY_INSTANCE CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_INSTANCE`
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
+show create table events_waits_summary_by_thread_by_event_name;
Table Create Table
-EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME` (
+events_waits_summary_by_thread_by_event_name CREATE TABLE `events_waits_summary_by_thread_by_event_name` (
`THREAD_ID` int(11) NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
@@ -113,9 +113,9 @@ EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
+show create table events_waits_summary_global_by_event_name;
Table Create Table
-EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME` (
+events_waits_summary_global_by_event_name CREATE TABLE `events_waits_summary_global_by_event_name` (
`EVENT_NAME` varchar(128) NOT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
@@ -123,25 +123,25 @@ EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME CREATE TABLE `EVENTS_WAITS_SUMMARY_GLO
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table FILE_INSTANCES;
+show create table file_instances;
Table Create Table
-FILE_INSTANCES CREATE TABLE `FILE_INSTANCES` (
+file_instances CREATE TABLE `file_instances` (
`FILE_NAME` varchar(512) NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`OPEN_COUNT` int(10) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table FILE_SUMMARY_BY_EVENT_NAME;
+show create table file_summary_by_event_name;
Table Create Table
-FILE_SUMMARY_BY_EVENT_NAME CREATE TABLE `FILE_SUMMARY_BY_EVENT_NAME` (
+file_summary_by_event_name CREATE TABLE `file_summary_by_event_name` (
`EVENT_NAME` varchar(128) NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
`COUNT_WRITE` bigint(20) unsigned NOT NULL,
`SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
`SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table FILE_SUMMARY_BY_INSTANCE;
+show create table file_summary_by_instance;
Table Create Table
-FILE_SUMMARY_BY_INSTANCE CREATE TABLE `FILE_SUMMARY_BY_INSTANCE` (
+file_summary_by_instance CREATE TABLE `file_summary_by_instance` (
`FILE_NAME` varchar(512) NOT NULL,
`EVENT_NAME` varchar(128) NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
@@ -149,52 +149,52 @@ FILE_SUMMARY_BY_INSTANCE CREATE TABLE `FILE_SUMMARY_BY_INSTANCE` (
`SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
`SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table MUTEX_INSTANCES;
+show create table mutex_instances;
Table Create Table
-MUTEX_INSTANCES CREATE TABLE `MUTEX_INSTANCES` (
+mutex_instances CREATE TABLE `mutex_instances` (
`NAME` varchar(128) NOT NULL,
`OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
`LOCKED_BY_THREAD_ID` int(11) DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table PERFORMANCE_TIMERS;
+show create table performance_timers;
Table Create Table
-PERFORMANCE_TIMERS CREATE TABLE `PERFORMANCE_TIMERS` (
+performance_timers CREATE TABLE `performance_timers` (
`TIMER_NAME` enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') NOT NULL,
`TIMER_FREQUENCY` bigint(20) DEFAULT NULL,
`TIMER_RESOLUTION` bigint(20) DEFAULT NULL,
`TIMER_OVERHEAD` bigint(20) DEFAULT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table RWLOCK_INSTANCES;
+show create table rwlock_instances;
Table Create Table
-RWLOCK_INSTANCES CREATE TABLE `RWLOCK_INSTANCES` (
+rwlock_instances CREATE TABLE `rwlock_instances` (
`NAME` varchar(128) NOT NULL,
`OBJECT_INSTANCE_BEGIN` bigint(20) NOT NULL,
`WRITE_LOCKED_BY_THREAD_ID` int(11) DEFAULT NULL,
`READ_LOCKED_BY_COUNT` int(10) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table SETUP_CONSUMERS;
+show create table setup_consumers;
Table Create Table
-SETUP_CONSUMERS CREATE TABLE `SETUP_CONSUMERS` (
+setup_consumers CREATE TABLE `setup_consumers` (
`NAME` varchar(64) NOT NULL,
`ENABLED` enum('YES','NO') NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table SETUP_INSTRUMENTS;
+show create table setup_instruments;
Table Create Table
-SETUP_INSTRUMENTS CREATE TABLE `SETUP_INSTRUMENTS` (
+setup_instruments CREATE TABLE `setup_instruments` (
`NAME` varchar(128) NOT NULL,
`ENABLED` enum('YES','NO') NOT NULL,
`TIMED` enum('YES','NO') NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table SETUP_TIMERS;
+show create table setup_timers;
Table Create Table
-SETUP_TIMERS CREATE TABLE `SETUP_TIMERS` (
+setup_timers CREATE TABLE `setup_timers` (
`NAME` varchar(64) NOT NULL,
`TIMER_NAME` enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
-show create table THREADS;
+show create table threads;
Table Create Table
-THREADS CREATE TABLE `THREADS` (
+threads CREATE TABLE `threads` (
`THREAD_ID` int(11) NOT NULL,
- `ID` int(11) NOT NULL,
- `NAME` varchar(64) NOT NULL
+ `PROCESSLIST_ID` int(11) DEFAULT NULL,
+ `NAME` varchar(128) NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
diff --git a/mysql-test/suite/perfschema/r/selects.result b/mysql-test/suite/perfschema/r/selects.result
index dfc9007c740..a3d0931cf4c 100644
--- a/mysql-test/suite/perfschema/r/selects.result
+++ b/mysql-test/suite/perfschema/r/selects.result
@@ -1,38 +1,38 @@
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value')
ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
SELECT OPERATION, SUM(NUMBER_OF_BYTES) AS TOTAL
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
GROUP BY OPERATION
HAVING TOTAL IS NOT NULL
ORDER BY OPERATION
LIMIT 1;
OPERATION TOTAL
chsize [NUM_BYTES]
-SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE THREAD_ID IN
-(SELECT THREAD_ID FROM performance_schema.THREADS)
+(SELECT THREAD_ID FROM performance_schema.threads)
AND EVENT_NAME IN
-(SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS
+(SELECT NAME FROM performance_schema.setup_instruments
WHERE NAME LIKE "wait/synch/%")
LIMIT 1;
EVENT_ID
[EVENT_ID]
SELECT DISTINCT EVENT_ID
-FROM performance_schema.EVENTS_WAITS_CURRENT
-JOIN performance_schema.EVENTS_WAITS_HISTORY USING (EVENT_ID)
-JOIN performance_schema.EVENTS_WAITS_HISTORY_LONG USING (EVENT_ID)
+FROM performance_schema.events_waits_current
+JOIN performance_schema.events_waits_history USING (EVENT_ID)
+JOIN performance_schema.events_waits_history_long USING (EVENT_ID)
ORDER BY EVENT_ID
LIMIT 1;
EVENT_ID
[EVENT_ID]
SELECT t1.THREAD_ID, t2.EVENT_ID, t3.EVENT_NAME, t4.TIMER_WAIT
-FROM performance_schema.EVENTS_WAITS_HISTORY t1
-JOIN performance_schema.EVENTS_WAITS_HISTORY t2 USING (EVENT_ID)
-JOIN performance_schema.EVENTS_WAITS_HISTORY t3 ON (t2.THREAD_ID = t3.THREAD_ID)
-JOIN performance_schema.EVENTS_WAITS_HISTORY t4 ON (t3.EVENT_NAME = t4.EVENT_NAME)
+FROM performance_schema.events_waits_history t1
+JOIN performance_schema.events_waits_history t2 USING (EVENT_ID)
+JOIN performance_schema.events_waits_history t3 ON (t2.THREAD_ID = t3.THREAD_ID)
+JOIN performance_schema.events_waits_history t4 ON (t3.EVENT_NAME = t4.EVENT_NAME)
ORDER BY t1.EVENT_ID, t2.EVENT_ID
LIMIT 5;
THREAD_ID EVENT_ID EVENT_NAME TIMER_WAIT
@@ -42,11 +42,11 @@ THREAD_ID EVENT_ID EVENT_NAME TIMER_WAIT
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
[THREAD_ID] [EVENT_ID] [EVENT_NAME] [TIMER_WAIT]
SELECT THREAD_ID, EVENT_ID FROM (
-SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT THREAD_ID, EVENT_ID FROM performance_schema.events_waits_current
UNION
-SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_HISTORY
+SELECT THREAD_ID, EVENT_ID FROM performance_schema.events_waits_history
UNION
-SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+SELECT THREAD_ID, EVENT_ID FROM performance_schema.events_waits_history_long
) t1 ORDER BY THREAD_ID, EVENT_ID
LIMIT 5;
THREAD_ID EVENT_ID
@@ -58,14 +58,14 @@ THREAD_ID EVENT_ID
DROP TABLE IF EXISTS t_event;
DROP EVENT IF EXISTS t_ps_event;
CREATE TABLE t_event AS
-SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE 1 = 2;
CREATE EVENT t_ps_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND
DO INSERT INTO t_event
SELECT DISTINCT EVENT_ID
-FROM performance_schema.EVENTS_WAITS_CURRENT
-JOIN performance_schema.EVENTS_WAITS_HISTORY USING (EVENT_ID)
+FROM performance_schema.events_waits_current
+JOIN performance_schema.events_waits_history USING (EVENT_ID)
ORDER BY EVENT_ID
LIMIT 1;
ALTER TABLE t1 ADD COLUMN c INT;
@@ -73,7 +73,7 @@ DROP TRIGGER IF EXISTS t_ps_trigger;
CREATE TRIGGER t_ps_trigger BEFORE INSERT ON t1
FOR EACH ROW BEGIN
SET NEW.c = (SELECT MAX(EVENT_ID)
-FROM performance_schema.EVENTS_WAITS_CURRENT);
+FROM performance_schema.events_waits_current);
END;
|
INSERT INTO t1 (id) VALUES (11), (12), (13);
@@ -84,22 +84,22 @@ id c
13 [EVENT_ID]
DROP TRIGGER t_ps_trigger;
DROP PROCEDURE IF EXISTS t_ps_proc;
-CREATE PROCEDURE t_ps_proc(IN tid INT, OUT pid INT)
+CREATE PROCEDURE t_ps_proc(IN conid INT, OUT pid INT)
BEGIN
-SELECT id FROM performance_schema.THREADS
-WHERE THREAD_ID = tid INTO pid;
+SELECT thread_id FROM performance_schema.threads
+WHERE PROCESSLIST_ID = conid INTO pid;
END;
|
-CALL t_ps_proc(0, @p_id);
+CALL t_ps_proc(connection_id(), @p_id);
DROP FUNCTION IF EXISTS t_ps_proc;
-CREATE FUNCTION t_ps_func(tid INT) RETURNS int
+CREATE FUNCTION t_ps_func(conid INT) RETURNS int
BEGIN
-return (SELECT id FROM performance_schema.THREADS
-WHERE THREAD_ID = tid);
+return (SELECT thread_id FROM performance_schema.threads
+WHERE PROCESSLIST_ID = conid);
END;
|
-SELECT t_ps_func(0) = @p_id;
-t_ps_func(0) = @p_id
+SELECT t_ps_func(connection_id()) = @p_id;
+t_ps_func(connection_id()) = @p_id
1
SELECT * FROM t_event;
EVENT_ID
diff --git a/mysql-test/suite/perfschema/r/server_init.result b/mysql-test/suite/perfschema/r/server_init.result
index 0c1e06d157c..26104197686 100644
--- a/mysql-test/suite/perfschema/r/server_init.result
+++ b/mysql-test/suite/perfschema/r/server_init.result
@@ -1,209 +1,193 @@
use performance_schema;
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_threads";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_malloc";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_open";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_isam";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_heap";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_net";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_charset";
count(name)
1
-select count(name) from MUTEX_INSTANCES
-where name like "wait/synch/mutex/mysys/THR_LOCK_time";
-count(name)
-1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/mysys/THR_COND_threads";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_open";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_thread_count";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_status";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_error_log";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_insert";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_uuid_generator";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_status";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_create";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_crypt";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_slave_list";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_active_mi";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_manager";
count(name)
1
-select count(name) from MUTEX_INSTANCES
-where name like "wait/synch/mutex/sql/LOCK_global_read_lock";
-count(name)
-1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_global_system_variables";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_user_conn";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_prepared_stmt_count";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_connection_count";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_server_started";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_rpl_status";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/Query_cache::structure_guard_mutex";
count(name)
1
-select count(name) from MUTEX_INSTANCES
-where name like "wait/synch/mutex/sql/LOCK_event_metadata";
-count(name)
-1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_event_queue";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_user_locks";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/Cversion_lock";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_audit_mask";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_xid_cache";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_plugin";
count(name)
1
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/tz_LOCK";
count(name)
1
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_grant";
count(name)
1
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect";
count(name)
1
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_sys_init_slave";
count(name)
1
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_system_variables_hash";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_server_started";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_refresh";
count(name)
0
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_thread_count";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_manager";
count(name)
1
-select count(name) from COND_INSTANCES
-where name like "wait/synch/cond/sql/COND_global_read_lock";
-count(name)
-1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_thread_cache";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_flush_thread_cache";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_rpl_status";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed";
count(name)
1
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_queue_state";
count(name)
1
diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
index d03e227fc83..f32ffe327a2 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_cond_classes";
Variable_name Value
performance_schema_max_cond_classes 0
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/synch/cond/%";
count(*)
0
@@ -65,7 +65,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_COND_CLASSES_LOST';
variable_value > 0
1
-select count(*) from performance_schema.COND_INSTANCES;
+select count(*) from performance_schema.cond_instances;
count(*)
0
show status like "performance_schema_cond_instances_lost";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
index 812dc329aaf..ef853ccc710 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_cond_classes";
Variable_name Value
performance_schema_max_cond_classes 80
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/cond/%";
count(*) > 0
1
@@ -67,7 +67,7 @@ Performance_schema_cond_classes_lost 0
show variables like "performance_schema_max_cond_instances";
Variable_name Value
performance_schema_max_cond_instances 0
-select count(*) from performance_schema.COND_INSTANCES;
+select count(*) from performance_schema.cond_instances;
count(*)
0
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_class.result b/mysql-test/suite/perfschema/r/start_server_no_file_class.result
index 7ef247e0755..bafb4cac270 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_file_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_file_class.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_file_classes";
Variable_name Value
performance_schema_max_file_classes 0
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/io/file/%";
count(*)
0
@@ -65,7 +65,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_FILE_CLASSES_LOST';
variable_value > 0
1
-select count(*) from performance_schema.FILE_INSTANCES;
+select count(*) from performance_schema.file_instances;
count(*)
0
show status like "performance_schema_file_instances_lost";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result
index 301c4e44f1e..2e557e5510a 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_file_classes";
Variable_name Value
performance_schema_max_file_classes 50
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/io/file/%";
count(*) > 0
1
@@ -67,7 +67,7 @@ Performance_schema_file_classes_lost 0
show variables like "performance_schema_max_file_instances";
Variable_name Value
performance_schema_max_file_instances 0
-select count(*) from performance_schema.FILE_INSTANCES;
+select count(*) from performance_schema.file_instances;
count(*)
0
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
index a1f880d3b9e..b6d359ae5d2 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_mutex_classes";
Variable_name Value
performance_schema_max_mutex_classes 0
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/synch/mutex/%";
count(*)
0
@@ -65,7 +65,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_MUTEX_CLASSES_LOST';
variable_value > 0
1
-select count(*) from performance_schema.MUTEX_INSTANCES;
+select count(*) from performance_schema.mutex_instances;
count(*)
0
show status like "performance_schema_mutex_instances_lost";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
index ab566f0703a..190d58378ac 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_mutex_classes";
Variable_name Value
performance_schema_max_mutex_classes 200
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/mutex/%";
count(*) > 0
1
@@ -67,7 +67,7 @@ Performance_schema_mutex_classes_lost 0
show variables like "performance_schema_max_mutex_instances";
Variable_name Value
performance_schema_max_mutex_instances 0
-select count(*) from performance_schema.MUTEX_INSTANCES;
+select count(*) from performance_schema.mutex_instances;
count(*)
0
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
index aabc9ec49bb..b27159828f6 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_rwlock_classes";
Variable_name Value
performance_schema_max_rwlock_classes 0
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/synch/rwlock/%";
count(*)
0
@@ -65,7 +65,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_RWLOCK_CLASSES_LOST';
variable_value > 0
1
-select count(*) from performance_schema.RWLOCK_INSTANCES;
+select count(*) from performance_schema.rwlock_instances;
count(*)
0
show status like "performance_schema_rwlock_instances_lost";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
index 5e5998a9959..7466235c42f 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_rwlock_classes";
Variable_name Value
performance_schema_max_rwlock_classes 30
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/rwlock/%";
count(*) > 0
1
@@ -67,7 +67,7 @@ Performance_schema_rwlock_classes_lost 0
show variables like "performance_schema_max_rwlock_instances";
Variable_name Value
performance_schema_max_rwlock_instances 0
-select count(*) from performance_schema.RWLOCK_INSTANCES;
+select count(*) from performance_schema.rwlock_instances;
count(*)
0
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result
index 96c3cae97ab..075c22bc405 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -57,7 +57,7 @@ show status like "performance_schema%";
show variables like "performance_schema_max_thread_classes";
Variable_name Value
performance_schema_max_thread_classes 0
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "thread/%";
count(*)
0
@@ -65,7 +65,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_THREAD_CLASSES_LOST';
variable_value > 0
1
-select count(*) from performance_schema.THREADS;
+select count(*) from performance_schema.threads;
count(*)
0
show status like "performance_schema_thread_instances_lost";
diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
index e2cf0917cbf..763b5b69ca1 100644
--- a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
+++ b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
@@ -63,7 +63,7 @@ Performance_schema_thread_classes_lost 0
show variables like "performance_schema_max_thread_instances";
Variable_name Value
performance_schema_max_thread_instances 0
-select count(*) from performance_schema.THREADS;
+select count(*) from performance_schema.threads;
count(*)
0
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/r/start_server_off.result b/mysql-test/suite/perfschema/r/start_server_off.result
index 8bf52580e77..4cdfad654ae 100644
--- a/mysql-test/suite/perfschema/r/start_server_off.result
+++ b/mysql-test/suite/perfschema/r/start_server_off.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
0
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema OFF
diff --git a/mysql-test/suite/perfschema/r/start_server_on.result b/mysql-test/suite/perfschema/r/start_server_on.result
index 15fe4e082ab..a17f78b27db 100644
--- a/mysql-test/suite/perfschema/r/start_server_on.result
+++ b/mysql-test/suite/perfschema/r/start_server_on.result
@@ -5,35 +5,35 @@ mtr
mysql
performance_schema
test
-select count(*) from performance_schema.PERFORMANCE_TIMERS;
+select count(*) from performance_schema.performance_timers;
count(*)
5
-select count(*) from performance_schema.SETUP_CONSUMERS;
+select count(*) from performance_schema.setup_consumers;
count(*)
8
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
+select count(*) > 0 from performance_schema.setup_instruments;
count(*) > 0
1
-select count(*) from performance_schema.SETUP_TIMERS;
+select count(*) from performance_schema.setup_timers;
count(*)
1
-select * from performance_schema.COND_INSTANCES;
-select * from performance_schema.EVENTS_WAITS_CURRENT;
-select * from performance_schema.EVENTS_WAITS_HISTORY;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-select * from performance_schema.FILE_INSTANCES;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE;
-select * from performance_schema.MUTEX_INSTANCES;
-select * from performance_schema.PERFORMANCE_TIMERS;
-select * from performance_schema.RWLOCK_INSTANCES;
-select * from performance_schema.SETUP_CONSUMERS;
-select * from performance_schema.SETUP_INSTRUMENTS;
-select * from performance_schema.SETUP_TIMERS;
-select * from performance_schema.THREADS;
+select * from performance_schema.cond_instances;
+select * from performance_schema.events_waits_current;
+select * from performance_schema.events_waits_history;
+select * from performance_schema.events_waits_history_long;
+select * from performance_schema.events_waits_summary_by_instance;
+select * from performance_schema.events_waits_summary_by_thread_by_event_name;
+select * from performance_schema.events_waits_summary_global_by_event_name;
+select * from performance_schema.file_instances;
+select * from performance_schema.file_summary_by_event_name;
+select * from performance_schema.file_summary_by_instance;
+select * from performance_schema.mutex_instances;
+select * from performance_schema.performance_timers;
+select * from performance_schema.rwlock_instances;
+select * from performance_schema.setup_consumers;
+select * from performance_schema.setup_instruments;
+select * from performance_schema.setup_timers;
+select * from performance_schema.threads;
show variables like "performance_schema%";
Variable_name Value
performance_schema ON
diff --git a/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result b/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result
index cdf0029eeb9..86252d4ca01 100644
--- a/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result
+++ b/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result
@@ -1,6 +1,6 @@
call mtr.add_suppression(
-"Column count of mysql.SETUP_INSTRUMENTS is wrong. "
+"Column count of mysql.setup_instruments is wrong. "
"Expected 4, found 3. The table is probably corrupted");
-select * from performance_schema.SETUP_INSTRUMENTS limit 1;
-ERROR HY000: Native table 'performance_schema'.'SETUP_INSTRUMENTS' has the wrong structure
-select * from performance_schema.SETUP_CONSUMERS limit 1;
+select * from performance_schema.setup_instruments limit 1;
+ERROR HY000: Native table 'performance_schema'.'setup_instruments' has the wrong structure
+select * from performance_schema.setup_consumers limit 1;
diff --git a/mysql-test/suite/perfschema/r/thread_cache.result b/mysql-test/suite/perfschema/r/thread_cache.result
index de4d19f9c64..f64cadc2705 100644
--- a/mysql-test/suite/perfschema/r/thread_cache.result
+++ b/mysql-test/suite/perfschema/r/thread_cache.result
@@ -1,3 +1,4 @@
+flush status;
SET @saved_thread_cache_size = @@global.thread_cache_size;
set global thread_cache_size = 0;
show variables like "thread_cache_size";
@@ -32,3 +33,7 @@ select @thread_id_increment;
@thread_id_increment
1
set global thread_cache_size = @saved_thread_cache_size;
+show status like "performance_schema_thread%";
+Variable_name Value
+Performance_schema_thread_classes_lost 0
+Performance_schema_thread_instances_lost 0
diff --git a/mysql-test/suite/perfschema/t/aggregate.test b/mysql-test/suite/perfschema/t/aggregate.test
index a8ca3dd91e2..13906af3099 100644
--- a/mysql-test/suite/perfschema/t/aggregate.test
+++ b/mysql-test/suite/perfschema/t/aggregate.test
@@ -25,19 +25,19 @@
drop table if exists t1;
--enable_warnings
-update performance_schema.SETUP_INSTRUMENTS set enabled = 'NO';
-update performance_schema.SETUP_CONSUMERS set enabled = 'NO';
+update performance_schema.setup_instruments set enabled = 'NO';
+update performance_schema.setup_consumers set enabled = 'NO';
# Cleanup statistics
-truncate table performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-truncate table performance_schema.FILE_SUMMARY_BY_INSTANCE;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
+truncate table performance_schema.file_summary_by_event_name;
+truncate table performance_schema.file_summary_by_instance;
+truncate table performance_schema.events_waits_summary_global_by_event_name;
+truncate table performance_schema.events_waits_summary_by_instance;
+truncate table performance_schema.events_waits_summary_by_thread_by_event_name;
# Start recording data
-update performance_schema.SETUP_CONSUMERS set enabled = 'YES';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_consumers set enabled = 'YES';
+update performance_schema.setup_instruments
set enabled = 'YES', timed = 'YES';
@@ -49,27 +49,27 @@ create table t1 (
insert into t1 (id) values (1), (2), (3), (4), (5), (6), (7), (8);
# Stop recording data, so the select below don't add noise.
-update performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO';
+update performance_schema.setup_instruments SET enabled = 'NO';
# Disable all consumers, for long standing waits
-update performance_schema.SETUP_CONSUMERS set enabled = 'NO';
+update performance_schema.setup_consumers set enabled = 'NO';
# Helper to debug
set @dump_all=FALSE;
# Note that in general:
-# - COUNT/SUM/MAX(FILE_SUMMARY_BY_EVENT_NAME) >=
-# COUNT/SUM/MAX(FILE_SUMMARY_BY_INSTANCE).
-# - MIN(FILE_SUMMARY_BY_EVENT_NAME) <=
-# MIN(FILE_SUMMARY_BY_INSTANCE).
+# - COUNT/SUM/MAX(file_summary_by_event_name) >=
+# COUNT/SUM/MAX(file_summary_by_instance).
+# - MIN(file_summary_by_event_name) <=
+# MIN(file_summary_by_instance).
# There will be equality only when file instances are not removed,
# aka when a file is not deleted from the file system,
-# because doing so removes a row in FILE_SUMMARY_BY_INSTANCE.
+# because doing so removes a row in file_summary_by_instance.
# Likewise:
-# - COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) >=
-# COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_BY_INSTANCE)
-# - MIN(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) <=
-# MIN(EVENTS_WAITS_SUMMARY_BY_INSTANCE)
+# - COUNT/SUM/MAX(events_waits_summary_global_by_event_name) >=
+# COUNT/SUM/MAX(events_waits_summary_by_instance)
+# - MIN(events_waits_summary_global_by_event_name) <=
+# MIN(events_waits_summary_by_instance)
# There will be equality only when an instrument instance
# is not removed, which is next to impossible to predictably guarantee
# in the server.
@@ -77,18 +77,18 @@ set @dump_all=FALSE;
# will cause a mysql_mutex_destroy on myisam/MYISAM_SHARE::intern_lock.
# Another example, a thread terminating will cause a mysql_mutex_destroy
# on sql/LOCK_delete
-# Both cause a row to be deleted from EVENTS_WAITS_SUMMARY_BY_INSTANCE.
+# Both cause a row to be deleted from events_waits_summary_by_instance.
# Likewise:
-# - COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) >=
-# COUNT/SUM/MAX(EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME)
-# - MIN(EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME) <=
-# MIN(EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME)
+# - COUNT/SUM/MAX(events_waits_summary_global_by_event_name) >=
+# COUNT/SUM/MAX(events_waits_summary_by_thread_by_event_name)
+# - MIN(events_waits_summary_global_by_event_name) <=
+# MIN(events_waits_summary_by_thread_by_event_name)
# There will be equality only when no thread is removed,
# that is if no thread disconnects, or no sub thread (for example insert
# delayed) ever completes.
# A thread completing will cause rows in
-# EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME to be removed.
+# events_waits_summary_by_thread_by_event_name to be removed.
--echo "Verifying file aggregate consistency"
@@ -101,29 +101,29 @@ set @dump_all=FALSE;
# If any of these queries returns data, the test failed.
SELECT EVENT_NAME, e.COUNT_READ, SUM(i.COUNT_READ)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.COUNT_READ <> SUM(i.COUNT_READ))
OR @dump_all;
SELECT EVENT_NAME, e.COUNT_WRITE, SUM(i.COUNT_WRITE)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.COUNT_WRITE <> SUM(i.COUNT_WRITE))
OR @dump_all;
SELECT EVENT_NAME, e.SUM_NUMBER_OF_BYTES_READ, SUM(i.SUM_NUMBER_OF_BYTES_READ)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_NUMBER_OF_BYTES_READ <> SUM(i.SUM_NUMBER_OF_BYTES_READ))
OR @dump_all;
SELECT EVENT_NAME, e.SUM_NUMBER_OF_BYTES_WRITE, SUM(i.SUM_NUMBER_OF_BYTES_WRITE)
-FROM performance_schema.FILE_SUMMARY_BY_EVENT_NAME AS e
-JOIN performance_schema.FILE_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.file_summary_by_event_name AS e
+JOIN performance_schema.file_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_NUMBER_OF_BYTES_WRITE <> SUM(i.SUM_NUMBER_OF_BYTES_WRITE))
OR @dump_all;
@@ -131,23 +131,23 @@ OR @dump_all;
--echo "Verifying waits aggregate consistency (instance)"
SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(i.SUM_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_TIMER_WAIT < SUM(i.SUM_TIMER_WAIT))
OR @dump_all;
SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(i.MIN_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MIN_TIMER_WAIT > MIN(i.MIN_TIMER_WAIT))
AND (MIN(i.MIN_TIMER_WAIT) != 0)
OR @dump_all;
SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(i.MAX_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE AS i USING (EVENT_NAME)
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_instance AS i USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MAX_TIMER_WAIT < MAX(i.MAX_TIMER_WAIT))
OR @dump_all;
@@ -155,16 +155,16 @@ OR @dump_all;
--echo "Verifying waits aggregate consistency (thread)"
SELECT EVENT_NAME, e.SUM_TIMER_WAIT, SUM(t.SUM_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_thread_by_event_name AS t
USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.SUM_TIMER_WAIT < SUM(t.SUM_TIMER_WAIT))
OR @dump_all;
SELECT EVENT_NAME, e.MIN_TIMER_WAIT, MIN(t.MIN_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_thread_by_event_name AS t
USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MIN_TIMER_WAIT > MIN(t.MIN_TIMER_WAIT))
@@ -172,8 +172,8 @@ AND (MIN(t.MIN_TIMER_WAIT) != 0)
OR @dump_all;
SELECT EVENT_NAME, e.MAX_TIMER_WAIT, MAX(t.MAX_TIMER_WAIT)
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME AS e
-JOIN performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME AS t
+FROM performance_schema.events_waits_summary_global_by_event_name AS e
+JOIN performance_schema.events_waits_summary_by_thread_by_event_name AS t
USING (EVENT_NAME)
GROUP BY EVENT_NAME
HAVING (e.MAX_TIMER_WAIT < MAX(t.MAX_TIMER_WAIT))
@@ -182,8 +182,8 @@ OR @dump_all;
# Cleanup
-update performance_schema.SETUP_CONSUMERS set enabled = 'YES';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_consumers set enabled = 'YES';
+update performance_schema.setup_instruments
set enabled = 'YES', timed = 'YES';
drop table test.t1;
diff --git a/mysql-test/suite/perfschema/t/binlog_mix.test b/mysql-test/suite/perfschema/t/binlog_mix.test
index 4fe7d68b555..5e2c65d6fe4 100644
--- a/mysql-test/suite/perfschema/t/binlog_mix.test
+++ b/mysql-test/suite/perfschema/t/binlog_mix.test
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,8 +10,8 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
# Tests for PERFORMANCE_SCHEMA
@@ -19,9 +19,6 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-# See Bug#46896 binlog: case sensitivity of table names
---source include/have_lowercase0.inc
-
set binlog_format=mixed;
--source ../include/binlog_common.inc
diff --git a/mysql-test/suite/perfschema/t/binlog_row.test b/mysql-test/suite/perfschema/t/binlog_row.test
index c1c1e06d3f0..d09baaa3011 100644
--- a/mysql-test/suite/perfschema/t/binlog_row.test
+++ b/mysql-test/suite/perfschema/t/binlog_row.test
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,8 +10,8 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
# Tests for PERFORMANCE_SCHEMA
@@ -19,9 +19,6 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-# See Bug#46896 binlog: case sensitivity of table names
---source include/have_lowercase0.inc
-
set binlog_format=row;
--source ../include/binlog_common.inc
diff --git a/mysql-test/suite/perfschema/t/binlog_stmt.test b/mysql-test/suite/perfschema/t/binlog_stmt.test
index a0fbc5ef335..46418d5703f 100644
--- a/mysql-test/suite/perfschema/t/binlog_stmt.test
+++ b/mysql-test/suite/perfschema/t/binlog_stmt.test
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,8 +10,8 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
# Tests for PERFORMANCE_SCHEMA
diff --git a/mysql-test/suite/perfschema/t/checksum.test b/mysql-test/suite/perfschema/t/checksum.test
index d7fdd7b4c2c..0600edcef26 100644
--- a/mysql-test/suite/perfschema/t/checksum.test
+++ b/mysql-test/suite/perfschema/t/checksum.test
@@ -24,41 +24,41 @@
#
--disable_result_log
-checksum table performance_schema.COND_INSTANCES;
-checksum table performance_schema.EVENTS_WAITS_CURRENT;
-checksum table performance_schema.EVENTS_WAITS_HISTORY;
-checksum table performance_schema.EVENTS_WAITS_HISTORY_LONG;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-checksum table performance_schema.FILE_INSTANCES;
-checksum table performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
-checksum table performance_schema.FILE_SUMMARY_BY_INSTANCE;
-checksum table performance_schema.MUTEX_INSTANCES;
-checksum table performance_schema.PERFORMANCE_TIMERS;
-checksum table performance_schema.RWLOCK_INSTANCES;
-checksum table performance_schema.SETUP_CONSUMERS;
-checksum table performance_schema.SETUP_INSTRUMENTS;
-checksum table performance_schema.SETUP_TIMERS;
-checksum table performance_schema.THREADS;
+checksum table performance_schema.cond_instances;
+checksum table performance_schema.events_waits_current;
+checksum table performance_schema.events_waits_history;
+checksum table performance_schema.events_waits_history_long;
+checksum table performance_schema.events_waits_summary_by_instance;
+checksum table performance_schema.events_waits_summary_by_thread_by_event_name;
+checksum table performance_schema.events_waits_summary_global_by_event_name;
+checksum table performance_schema.file_instances;
+checksum table performance_schema.file_summary_by_event_name;
+checksum table performance_schema.file_summary_by_instance;
+checksum table performance_schema.mutex_instances;
+checksum table performance_schema.performance_timers;
+checksum table performance_schema.rwlock_instances;
+checksum table performance_schema.setup_consumers;
+checksum table performance_schema.setup_instruments;
+checksum table performance_schema.setup_timers;
+checksum table performance_schema.threads;
-checksum table performance_schema.COND_INSTANCES extended;
-checksum table performance_schema.EVENTS_WAITS_CURRENT extended;
-checksum table performance_schema.EVENTS_WAITS_HISTORY extended;
-checksum table performance_schema.EVENTS_WAITS_HISTORY_LONG extended;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE extended;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME extended;
-checksum table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME extended;
-checksum table performance_schema.FILE_INSTANCES extended;
-checksum table performance_schema.FILE_SUMMARY_BY_EVENT_NAME extended;
-checksum table performance_schema.FILE_SUMMARY_BY_INSTANCE extended;
-checksum table performance_schema.MUTEX_INSTANCES extended;
-checksum table performance_schema.PERFORMANCE_TIMERS extended;
-checksum table performance_schema.RWLOCK_INSTANCES extended;
-checksum table performance_schema.SETUP_CONSUMERS extended;
-checksum table performance_schema.SETUP_INSTRUMENTS extended;
-checksum table performance_schema.SETUP_TIMERS extended;
-checksum table performance_schema.THREADS extended;
+checksum table performance_schema.cond_instances extended;
+checksum table performance_schema.events_waits_current extended;
+checksum table performance_schema.events_waits_history extended;
+checksum table performance_schema.events_waits_history_long extended;
+checksum table performance_schema.events_waits_summary_by_instance extended;
+checksum table performance_schema.events_waits_summary_by_thread_by_event_name extended;
+checksum table performance_schema.events_waits_summary_global_by_event_name extended;
+checksum table performance_schema.file_instances extended;
+checksum table performance_schema.file_summary_by_event_name extended;
+checksum table performance_schema.file_summary_by_instance extended;
+checksum table performance_schema.mutex_instances extended;
+checksum table performance_schema.performance_timers extended;
+checksum table performance_schema.rwlock_instances extended;
+checksum table performance_schema.setup_consumers extended;
+checksum table performance_schema.setup_instruments extended;
+checksum table performance_schema.setup_timers extended;
+checksum table performance_schema.threads extended;
--enable_result_log
diff --git a/mysql-test/suite/perfschema/t/column_privilege.test b/mysql-test/suite/perfschema/t/column_privilege.test
index b6bcbdb3396..a1b0ede6b45 100644
--- a/mysql-test/suite/perfschema/t/column_privilege.test
+++ b/mysql-test/suite/perfschema/t/column_privilege.test
@@ -26,10 +26,10 @@ grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION;
# Test per column privileges on performance_schema
-grant SELECT(thread_id, event_id) on performance_schema.EVENTS_WAITS_CURRENT
+grant SELECT(thread_id, event_id) on performance_schema.events_waits_current
to 'pfs_user_5'@localhost;
-grant UPDATE(enabled) on performance_schema.SETUP_INSTRUMENTS
+grant UPDATE(enabled) on performance_schema.setup_instruments
to 'pfs_user_5'@localhost;
flush privileges;
@@ -42,32 +42,28 @@ connect (con1, localhost, pfs_user_5, , );
# For statements that works, we do not look at the output
--disable_result_log
-select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
+select thread_id from performance_schema.events_waits_current;
-select thread_id, event_id from performance_schema.EVENTS_WAITS_CURRENT;
+select thread_id, event_id from performance_schema.events_waits_current;
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES';
--enable_result_log
# For statements that are denied, check the error number and error text.
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_COLUMNACCESS_DENIED_ERROR
-select event_name from performance_schema.EVENTS_WAITS_CURRENT;
+select event_name from performance_schema.events_waits_current;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_COLUMNACCESS_DENIED_ERROR
select thread_id, event_id, event_name
- from performance_schema.EVENTS_WAITS_CURRENT;
+ from performance_schema.events_waits_current;
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_COLUMNACCESS_DENIED_ERROR
-update performance_schema.SETUP_INSTRUMENTS set name='illegal';
+update performance_schema.setup_instruments set name='illegal';
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_COLUMNACCESS_DENIED_ERROR
-update performance_schema.SETUP_INSTRUMENTS set timed='NO';
+update performance_schema.setup_instruments set timed='NO';
# Cleanup
@@ -76,7 +72,7 @@ update performance_schema.SETUP_INSTRUMENTS set timed='NO';
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'pfs_user_5'@localhost;
DROP USER 'pfs_user_5'@localhost;
flush privileges;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'CYCLE';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
diff --git a/mysql-test/suite/perfschema/t/ddl_cond_instances.test b/mysql-test/suite/perfschema/t/ddl_cond_instances.test
index e78429cb181..2da1100702f 100644
--- a/mysql-test/suite/perfschema/t/ddl_cond_instances.test
+++ b/mysql-test/suite/perfschema/t/ddl_cond_instances.test
@@ -19,14 +19,14 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.COND_INSTANCES add column foo integer;
+alter table performance_schema.cond_instances add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.COND_INSTANCES;
+truncate table performance_schema.cond_instances;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.COND_INSTANCES ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.cond_instances ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.COND_INSTANCES(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.cond_instances(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_events_waits_current.test b/mysql-test/suite/perfschema/t/ddl_events_waits_current.test
index 34f735c1271..1914d333f00 100644
--- a/mysql-test/suite/perfschema/t/ddl_events_waits_current.test
+++ b/mysql-test/suite/perfschema/t/ddl_events_waits_current.test
@@ -19,13 +19,13 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.EVENTS_WAITS_CURRENT add column foo integer;
+alter table performance_schema.events_waits_current add column foo integer;
-truncate table performance_schema.EVENTS_WAITS_CURRENT;
+truncate table performance_schema.events_waits_current;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.EVENTS_WAITS_CURRENT ADD INDEX test_index(EVENT_ID);
+ALTER TABLE performance_schema.events_waits_current ADD INDEX test_index(EVENT_ID);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_CURRENT(EVENT_ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_current(EVENT_ID);
diff --git a/mysql-test/suite/perfschema/t/ddl_events_waits_history.test b/mysql-test/suite/perfschema/t/ddl_events_waits_history.test
index 76ebe3d85c4..97c840a350d 100644
--- a/mysql-test/suite/perfschema/t/ddl_events_waits_history.test
+++ b/mysql-test/suite/perfschema/t/ddl_events_waits_history.test
@@ -19,13 +19,13 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.EVENTS_WAITS_HISTORY add column foo integer;
+alter table performance_schema.events_waits_history add column foo integer;
-truncate table performance_schema.EVENTS_WAITS_HISTORY;
+truncate table performance_schema.events_waits_history;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.EVENTS_WAITS_HISTORY ADD INDEX test_index(EVENT_ID);
+ALTER TABLE performance_schema.events_waits_history ADD INDEX test_index(EVENT_ID);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_HISTORY(EVENT_ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_history(EVENT_ID);
diff --git a/mysql-test/suite/perfschema/t/ddl_events_waits_history_long.test b/mysql-test/suite/perfschema/t/ddl_events_waits_history_long.test
index 549c5d6880b..b57a3864e1a 100644
--- a/mysql-test/suite/perfschema/t/ddl_events_waits_history_long.test
+++ b/mysql-test/suite/perfschema/t/ddl_events_waits_history_long.test
@@ -19,13 +19,13 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.EVENTS_WAITS_HISTORY_LONG add column foo integer;
+alter table performance_schema.events_waits_history_long add column foo integer;
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_history_long;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG ADD INDEX test_index(EVENT_ID);
+ALTER TABLE performance_schema.events_waits_history_long ADD INDEX test_index(EVENT_ID);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_HISTORY_LONG(EVENT_ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_history_long(EVENT_ID);
diff --git a/mysql-test/suite/perfschema/t/ddl_ews_by_instance.test b/mysql-test/suite/perfschema/t/ddl_ews_by_instance.test
index e6dad07fd63..a6315edd31d 100644
--- a/mysql-test/suite/perfschema/t/ddl_ews_by_instance.test
+++ b/mysql-test/suite/perfschema/t/ddl_ews_by_instance.test
@@ -19,13 +19,13 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE add column foo integer;
+alter table performance_schema.events_waits_summary_by_instance add column foo integer;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
+truncate table performance_schema.events_waits_summary_by_instance;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE ADD INDEX test_index(EVENT_NAME);
+ALTER TABLE performance_schema.events_waits_summary_by_instance ADD INDEX test_index(EVENT_NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE(EVENT_NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.events_waits_summary_by_instance(EVENT_NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_ews_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ews_by_thread_by_event_name.test
index 5b65ec26064..f59daca4b46 100644
--- a/mysql-test/suite/perfschema/t/ddl_ews_by_thread_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/ddl_ews_by_thread_by_event_name.test
@@ -19,15 +19,15 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+alter table performance_schema.events_waits_summary_by_thread_by_event_name
add column foo integer;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
+truncate table performance_schema.events_waits_summary_by_thread_by_event_name;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME ADD INDEX test_index(THREAD_ID);
+ALTER TABLE performance_schema.events_waits_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID);
-- error ER_DBACCESS_DENIED_ERROR
CREATE UNIQUE INDEX test_index
- ON performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME(THREAD_ID);
+ ON performance_schema.events_waits_summary_by_thread_by_event_name(THREAD_ID);
diff --git a/mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test
index c7a767b013b..880b4bf1a59 100644
--- a/mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test
@@ -19,16 +19,16 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+alter table performance_schema.events_waits_summary_global_by_event_name
add column foo integer;
-truncate table performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
+truncate table performance_schema.events_waits_summary_global_by_event_name;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+ALTER TABLE performance_schema.events_waits_summary_global_by_event_name
ADD INDEX test_index(EVENT_NAME);
-- error ER_DBACCESS_DENIED_ERROR
CREATE UNIQUE INDEX test_index
- ON performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME(EVENT_NAME);
+ ON performance_schema.events_waits_summary_global_by_event_name(EVENT_NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_file_instances.test b/mysql-test/suite/perfschema/t/ddl_file_instances.test
index a9c9a2a95b6..9d6b8c3cf26 100644
--- a/mysql-test/suite/perfschema/t/ddl_file_instances.test
+++ b/mysql-test/suite/perfschema/t/ddl_file_instances.test
@@ -19,14 +19,14 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.FILE_INSTANCES add column foo integer;
+alter table performance_schema.file_instances add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.FILE_INSTANCES;
+truncate table performance_schema.file_instances;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.FILE_INSTANCES ADD INDEX test_index(FILE_NAME);
+ALTER TABLE performance_schema.file_instances ADD INDEX test_index(FILE_NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.FILE_INSTANCES(FILE_NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.file_instances(FILE_NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_fs_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_fs_by_event_name.test
index 2581f07c0d2..f9a9cabb5b2 100644
--- a/mysql-test/suite/perfschema/t/ddl_fs_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/ddl_fs_by_event_name.test
@@ -19,13 +19,13 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.FILE_SUMMARY_BY_EVENT_NAME add column foo integer;
+alter table performance_schema.file_summary_by_event_name add column foo integer;
-truncate table performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
+truncate table performance_schema.file_summary_by_event_name;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.FILE_SUMMARY_BY_EVENT_NAME ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.file_summary_by_event_name ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.FILE_SUMMARY_BY_EVENT_NAME(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.file_summary_by_event_name(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_fs_by_instance.test b/mysql-test/suite/perfschema/t/ddl_fs_by_instance.test
index e06ad2eb7cd..defbff34321 100644
--- a/mysql-test/suite/perfschema/t/ddl_fs_by_instance.test
+++ b/mysql-test/suite/perfschema/t/ddl_fs_by_instance.test
@@ -19,13 +19,13 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.FILE_SUMMARY_BY_INSTANCE add column foo integer;
+alter table performance_schema.file_summary_by_instance add column foo integer;
-truncate table performance_schema.FILE_SUMMARY_BY_INSTANCE;
+truncate table performance_schema.file_summary_by_instance;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.FILE_SUMMARY_BY_INSTANCE ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.file_summary_by_instance ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.FILE_SUMMARY_BY_INSTANCE(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.file_summary_by_instance(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_mutex_instances.test b/mysql-test/suite/perfschema/t/ddl_mutex_instances.test
index 6489a689620..ccd970655af 100644
--- a/mysql-test/suite/perfschema/t/ddl_mutex_instances.test
+++ b/mysql-test/suite/perfschema/t/ddl_mutex_instances.test
@@ -19,14 +19,14 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.MUTEX_INSTANCES add column foo integer;
+alter table performance_schema.mutex_instances add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.MUTEX_INSTANCES;
+truncate table performance_schema.mutex_instances;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.MUTEX_INSTANCES ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.mutex_instances ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.MUTEX_INSTANCES(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.mutex_instances(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_performance_timers.test b/mysql-test/suite/perfschema/t/ddl_performance_timers.test
index b692291b8cf..f6fcfd58bab 100644
--- a/mysql-test/suite/perfschema/t/ddl_performance_timers.test
+++ b/mysql-test/suite/perfschema/t/ddl_performance_timers.test
@@ -19,14 +19,14 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.PERFORMANCE_TIMERS add column foo integer;
+alter table performance_schema.performance_timers add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.PERFORMANCE_TIMERS;
+truncate table performance_schema.performance_timers;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.PERFORMANCE_TIMERS ADD INDEX test_index(TIMER_NAME);
+ALTER TABLE performance_schema.performance_timers ADD INDEX test_index(TIMER_NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.PERFORMANCE_TIMERS(TIMER_NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.performance_timers(TIMER_NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_rwlock_instances.test b/mysql-test/suite/perfschema/t/ddl_rwlock_instances.test
index c07cd1ede48..e5bd8b890a1 100644
--- a/mysql-test/suite/perfschema/t/ddl_rwlock_instances.test
+++ b/mysql-test/suite/perfschema/t/ddl_rwlock_instances.test
@@ -19,14 +19,14 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.RWLOCK_INSTANCES add column foo integer;
+alter table performance_schema.rwlock_instances add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.RWLOCK_INSTANCES;
+truncate table performance_schema.rwlock_instances;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.RWLOCK_INSTANCES ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.rwlock_instances ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.RWLOCK_INSTANCES(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.rwlock_instances(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_setup_consumers.test b/mysql-test/suite/perfschema/t/ddl_setup_consumers.test
index c44db822145..3984e0b7fab 100644
--- a/mysql-test/suite/perfschema/t/ddl_setup_consumers.test
+++ b/mysql-test/suite/perfschema/t/ddl_setup_consumers.test
@@ -18,16 +18,15 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_result '\'setup_consumers' '\'SETUP_CONSUMERS'
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.SETUP_CONSUMERS add column foo integer;
+alter table performance_schema.setup_consumers add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.SETUP_CONSUMERS;
+truncate table performance_schema.setup_consumers;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.SETUP_CONSUMERS ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.setup_consumers ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_CONSUMERS(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_consumers(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_setup_instruments.test b/mysql-test/suite/perfschema/t/ddl_setup_instruments.test
index c20c386447c..b900f69e801 100644
--- a/mysql-test/suite/perfschema/t/ddl_setup_instruments.test
+++ b/mysql-test/suite/perfschema/t/ddl_setup_instruments.test
@@ -18,16 +18,15 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.SETUP_INSTRUMENTS add column foo integer;
+alter table performance_schema.setup_instruments add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.SETUP_INSTRUMENTS;
+truncate table performance_schema.setup_instruments;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.SETUP_INSTRUMENTS ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.setup_instruments ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_INSTRUMENTS(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_instruments(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_setup_timers.test b/mysql-test/suite/perfschema/t/ddl_setup_timers.test
index b9a5c32ecbe..bf8878a496d 100644
--- a/mysql-test/suite/perfschema/t/ddl_setup_timers.test
+++ b/mysql-test/suite/perfschema/t/ddl_setup_timers.test
@@ -18,16 +18,15 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_result '\'setup_timers' '\'SETUP_TIMERS'
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.SETUP_TIMERS add column foo integer;
+alter table performance_schema.setup_timers add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.SETUP_TIMERS;
+truncate table performance_schema.setup_timers;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.SETUP_TIMERS ADD INDEX test_index(NAME);
+ALTER TABLE performance_schema.setup_timers ADD INDEX test_index(NAME);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.SETUP_TIMERS(NAME);
+CREATE UNIQUE INDEX test_index ON performance_schema.setup_timers(NAME);
diff --git a/mysql-test/suite/perfschema/t/ddl_threads.test b/mysql-test/suite/perfschema/t/ddl_threads.test
index 12613e30c1f..d9ff3356b8d 100644
--- a/mysql-test/suite/perfschema/t/ddl_threads.test
+++ b/mysql-test/suite/perfschema/t/ddl_threads.test
@@ -19,14 +19,14 @@
--source include/have_perfschema.inc
-- error ER_DBACCESS_DENIED_ERROR
-alter table performance_schema.THREADS add column foo integer;
+alter table performance_schema.threads add column foo integer;
-- error ER_WRONG_PERFSCHEMA_USAGE
-truncate table performance_schema.THREADS;
+truncate table performance_schema.threads;
-- error ER_DBACCESS_DENIED_ERROR
-ALTER TABLE performance_schema.THREADS ADD INDEX test_index(ID);
+ALTER TABLE performance_schema.threads ADD INDEX test_index(ID);
-- error ER_DBACCESS_DENIED_ERROR
-CREATE UNIQUE INDEX test_index ON performance_schema.THREADS(ID);
+CREATE UNIQUE INDEX test_index ON performance_schema.threads(ID);
diff --git a/mysql-test/suite/perfschema/t/dml_cond_instances.test b/mysql-test/suite/perfschema/t/dml_cond_instances.test
index 1d1614db73f..e2773d15252 100644
--- a/mysql-test/suite/perfschema/t/dml_cond_instances.test
+++ b/mysql-test/suite/perfschema/t/dml_cond_instances.test
@@ -18,38 +18,33 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 #
-select * from performance_schema.COND_INSTANCES limit 1;
+--disable_result_log
+select * from performance_schema.cond_instances limit 1;
-select * from performance_schema.COND_INSTANCES
+select * from performance_schema.cond_instances
where name='FOO';
+--enable_result_log
---replace_result '\'cond_instances' '\'COND_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.COND_INSTANCES
+insert into performance_schema.cond_instances
set name='FOO', object_instance_begin=12;
---replace_result '\'cond_instances' '\'COND_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.COND_INSTANCES
+update performance_schema.cond_instances
set name='FOO';
---replace_result '\'cond_instances' '\'COND_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.COND_INSTANCES
+delete from performance_schema.cond_instances
where name like "wait/%";
---replace_result '\'cond_instances' '\'COND_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.COND_INSTANCES;
+delete from performance_schema.cond_instances;
---replace_result '\'cond_instances' '\'COND_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.COND_INSTANCES READ;
+LOCK TABLES performance_schema.cond_instances READ;
UNLOCK TABLES;
---replace_result '\'cond_instances' '\'COND_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.COND_INSTANCES WRITE;
+LOCK TABLES performance_schema.cond_instances WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_events_waits_current.test b/mysql-test/suite/perfschema/t/dml_events_waits_current.test
index 3a93b98cb57..43a70618b4d 100644
--- a/mysql-test/suite/perfschema/t/dml_events_waits_current.test
+++ b/mysql-test/suite/perfschema/t/dml_events_waits_current.test
@@ -18,45 +18,39 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_CURRENT
+--disable_result_log
+select * from performance_schema.events_waits_current
where event_name like 'Wait/Synch/%' limit 1;
-select * from performance_schema.EVENTS_WAITS_CURRENT
+select * from performance_schema.events_waits_current
where event_name='FOO';
+--enable_result_log
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_CURRENT
+insert into performance_schema.events_waits_current
set thread_id='1', event_id=1,
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_CURRENT
+update performance_schema.events_waits_current
set timer_start=12;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_CURRENT
+update performance_schema.events_waits_current
set timer_start=12 where thread_id=0;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_CURRENT
+delete from performance_schema.events_waits_current
where thread_id=1;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_CURRENT;
+delete from performance_schema.events_waits_current;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_CURRENT READ;
+LOCK TABLES performance_schema.events_waits_current READ;
UNLOCK TABLES;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_CURRENT WRITE;
+LOCK TABLES performance_schema.events_waits_current WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_events_waits_history.test b/mysql-test/suite/perfschema/t/dml_events_waits_history.test
index 174ef2147d1..51937a75f49 100644
--- a/mysql-test/suite/perfschema/t/dml_events_waits_history.test
+++ b/mysql-test/suite/perfschema/t/dml_events_waits_history.test
@@ -18,53 +18,45 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_HISTORY
+--disable_result_log
+select * from performance_schema.events_waits_history
where event_name like 'Wait/Synch/%' limit 1;
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name='FOO';
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_HISTORY
+select * from performance_schema.events_waits_history
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
+--enable_result_log
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_HISTORY
+insert into performance_schema.events_waits_history
set thread_id='1', event_id=1,
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_HISTORY
+update performance_schema.events_waits_history
set timer_start=12;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_HISTORY
+update performance_schema.events_waits_history
set timer_start=12 where thread_id=0;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_HISTORY
+delete from performance_schema.events_waits_history
where thread_id=1;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_HISTORY;
+delete from performance_schema.events_waits_history;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY READ;
+LOCK TABLES performance_schema.events_waits_history READ;
UNLOCK TABLES;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY WRITE;
+LOCK TABLES performance_schema.events_waits_history WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_events_waits_history_long.test b/mysql-test/suite/perfschema/t/dml_events_waits_history_long.test
index 73dc0aefd06..a7fc1937529 100644
--- a/mysql-test/suite/perfschema/t/dml_events_waits_history_long.test
+++ b/mysql-test/suite/perfschema/t/dml_events_waits_history_long.test
@@ -18,53 +18,45 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+--disable_result_log
+select * from performance_schema.events_waits_history_long
where event_name like 'Wait/Synch/%' limit 1;
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name='FOO';
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name like 'Wait/Synch/%' order by timer_wait limit 1;
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 12 # 14 #
-select * from performance_schema.EVENTS_WAITS_HISTORY_LONG
+select * from performance_schema.events_waits_history_long
where event_name like 'Wait/Synch/%' order by timer_wait desc limit 1;
+--enable_result_log
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_HISTORY_LONG
+insert into performance_schema.events_waits_history_long
set thread_id='1', event_id=1,
event_name='FOO', timer_start=1, timer_end=2, timer_wait=3;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_HISTORY_LONG
+update performance_schema.events_waits_history_long
set timer_start=12;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_HISTORY_LONG
+update performance_schema.events_waits_history_long
set timer_start=12 where thread_id=0;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_HISTORY_LONG
+delete from performance_schema.events_waits_history_long
where thread_id=1;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_HISTORY_LONG;
+delete from performance_schema.events_waits_history_long;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY_LONG READ;
+LOCK TABLES performance_schema.events_waits_history_long READ;
UNLOCK TABLES;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_HISTORY_LONG WRITE;
+LOCK TABLES performance_schema.events_waits_history_long WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_ews_by_instance.test b/mysql-test/suite/perfschema/t/dml_ews_by_instance.test
index 4c386313bc5..2f25f842dcc 100644
--- a/mysql-test/suite/perfschema/t/dml_ews_by_instance.test
+++ b/mysql-test/suite/perfschema/t/dml_ews_by_instance.test
@@ -18,62 +18,52 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+--disable_result_log
+select * from performance_schema.events_waits_summary_by_instance
where event_name like 'Wait/Synch/%' limit 1;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where event_name='FOO';
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
order by count_star limit 1;
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
order by count_star desc limit 1;
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where min_timer_wait > 0 order by count_star limit 1;
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+select * from performance_schema.events_waits_summary_by_instance
where min_timer_wait > 0 order by count_star desc limit 1;
+--enable_result_log
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+insert into performance_schema.events_waits_summary_by_instance
set event_name='FOO', object_instance_begin=0,
count_star=1, sum_timer_wait=2, min_timer_wait=3,
avg_timer_wait=4, max_timer_wait=5;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+update performance_schema.events_waits_summary_by_instance
set count_star=12;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+update performance_schema.events_waits_summary_by_instance
set count_star=12 where event_name like "FOO";
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE
+delete from performance_schema.events_waits_summary_by_instance
where count_star=1;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
+delete from performance_schema.events_waits_summary_by_instance;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE READ;
+LOCK TABLES performance_schema.events_waits_summary_by_instance READ;
UNLOCK TABLES;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE WRITE;
+LOCK TABLES performance_schema.events_waits_summary_by_instance WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_ews_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ews_by_thread_by_event_name.test
index ce29e59d014..a1b41fdab42 100644
--- a/mysql-test/suite/perfschema/t/dml_ews_by_thread_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/dml_ews_by_thread_by_event_name.test
@@ -18,46 +18,40 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 # 7 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+--disable_result_log
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
where event_name like 'Wait/Synch/%' limit 1;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+select * from performance_schema.events_waits_summary_by_thread_by_event_name
where event_name='FOO';
+--enable_result_log
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+insert into performance_schema.events_waits_summary_by_thread_by_event_name
set event_name='FOO', thread_id=1,
count_star=1, sum_timer_wait=2, min_timer_wait=3,
avg_timer_wait=4, max_timer_wait=5;
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+update performance_schema.events_waits_summary_by_thread_by_event_name
set count_star=12;
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+update performance_schema.events_waits_summary_by_thread_by_event_name
set count_star=12 where event_name like "FOO";
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME
+delete from performance_schema.events_waits_summary_by_thread_by_event_name
where count_star=1;
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
+delete from performance_schema.events_waits_summary_by_thread_by_event_name;
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME READ;
+LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name READ;
UNLOCK TABLES;
---replace_result '\'events_waits_summary_by_thread_by_event_name' '\'EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME WRITE;
+LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test
index cd3918f38be..bf311c7b470 100644
--- a/mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test
@@ -18,45 +18,39 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 #
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+--disable_result_log
+select * from performance_schema.events_waits_summary_global_by_event_name
where event_name like 'Wait/Synch/%' limit 1;
-select * from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+select * from performance_schema.events_waits_summary_global_by_event_name
where event_name='FOO';
+--enable_result_log
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+insert into performance_schema.events_waits_summary_global_by_event_name
set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3,
avg_timer_wait=4, max_timer_wait=5;
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+update performance_schema.events_waits_summary_global_by_event_name
set count_star=12;
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+update performance_schema.events_waits_summary_global_by_event_name
set count_star=12 where event_name like "FOO";
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+delete from performance_schema.events_waits_summary_global_by_event_name
where count_star=1;
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
+delete from performance_schema.events_waits_summary_global_by_event_name;
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME READ;
+LOCK TABLES performance_schema.events_waits_summary_global_by_event_name READ;
UNLOCK TABLES;
---replace_result '\'events_waits_summary_global_by_event_name' '\'EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME WRITE;
+LOCK TABLES performance_schema.events_waits_summary_global_by_event_name WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_file_instances.test b/mysql-test/suite/perfschema/t/dml_file_instances.test
index 71a053c21be..d7a1002b040 100644
--- a/mysql-test/suite/perfschema/t/dml_file_instances.test
+++ b/mysql-test/suite/perfschema/t/dml_file_instances.test
@@ -18,38 +18,33 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 #
-select * from performance_schema.FILE_INSTANCES limit 1;
+--disable_result_log
+select * from performance_schema.file_instances limit 1;
-select * from performance_schema.FILE_INSTANCES
+select * from performance_schema.file_instances
where file_name='FOO';
+--enable_result_log
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.FILE_INSTANCES
+insert into performance_schema.file_instances
set file_name='FOO', event_name='BAR', open_count=12;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.FILE_INSTANCES
+update performance_schema.file_instances
set file_name='FOO';
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_INSTANCES
+delete from performance_schema.file_instances
where event_name like "wait/%";
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_INSTANCES;
+delete from performance_schema.file_instances;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.FILE_INSTANCES READ;
+LOCK TABLES performance_schema.file_instances READ;
UNLOCK TABLES;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.FILE_INSTANCES WRITE;
+LOCK TABLES performance_schema.file_instances WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test b/mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test
index 3753f581560..8060c4a4cbe 100644
--- a/mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test
+++ b/mysql-test/suite/perfschema/t/dml_file_summary_by_event_name.test
@@ -18,45 +18,39 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 #
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+--disable_result_log
+select * from performance_schema.file_summary_by_event_name
where event_name like 'Wait/io/%' limit 1;
-select * from performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+select * from performance_schema.file_summary_by_event_name
where event_name='FOO';
+--enable_result_log
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+insert into performance_schema.file_summary_by_event_name
set event_name='FOO', count_read=1, count_write=2,
sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+update performance_schema.file_summary_by_event_name
set count_read=12;
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+update performance_schema.file_summary_by_event_name
set count_write=12 where event_name like "FOO";
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_SUMMARY_BY_EVENT_NAME
+delete from performance_schema.file_summary_by_event_name
where count_read=1;
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_SUMMARY_BY_EVENT_NAME;
+delete from performance_schema.file_summary_by_event_name;
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_EVENT_NAME READ;
+LOCK TABLES performance_schema.file_summary_by_event_name READ;
UNLOCK TABLES;
---replace_result '\'file_summary_by_event_name' '\'FILE_SUMMARY_BY_EVENT_NAME'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_EVENT_NAME WRITE;
+LOCK TABLES performance_schema.file_summary_by_event_name WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test b/mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test
index 07372af5f36..c24f57390a4 100644
--- a/mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test
+++ b/mysql-test/suite/perfschema/t/dml_file_summary_by_instance.test
@@ -18,45 +18,39 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 # 5 # 6 #
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE
+--disable_result_log
+select * from performance_schema.file_summary_by_instance
where event_name like 'Wait/io/%' limit 1;
-select * from performance_schema.FILE_SUMMARY_BY_INSTANCE
+select * from performance_schema.file_summary_by_instance
where event_name='FOO';
+--enable_result_log
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.FILE_SUMMARY_BY_INSTANCE
+insert into performance_schema.file_summary_by_instance
set event_name='FOO', count_read=1, count_write=2,
sum_number_of_bytes_read=4, sum_number_of_bytes_write=5;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.FILE_SUMMARY_BY_INSTANCE
+update performance_schema.file_summary_by_instance
set count_read=12;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.FILE_SUMMARY_BY_INSTANCE
+update performance_schema.file_summary_by_instance
set count_write=12 where event_name like "FOO";
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_SUMMARY_BY_INSTANCE
+delete from performance_schema.file_summary_by_instance
where count_read=1;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.FILE_SUMMARY_BY_INSTANCE;
+delete from performance_schema.file_summary_by_instance;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_INSTANCE READ;
+LOCK TABLES performance_schema.file_summary_by_instance READ;
UNLOCK TABLES;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.FILE_SUMMARY_BY_INSTANCE WRITE;
+LOCK TABLES performance_schema.file_summary_by_instance WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_mutex_instances.test b/mysql-test/suite/perfschema/t/dml_mutex_instances.test
index 0971c664eb8..1a48bd9d8ea 100644
--- a/mysql-test/suite/perfschema/t/dml_mutex_instances.test
+++ b/mysql-test/suite/perfschema/t/dml_mutex_instances.test
@@ -18,38 +18,33 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 #
-select * from performance_schema.MUTEX_INSTANCES limit 1;
+--disable_result_log
+select * from performance_schema.mutex_instances limit 1;
-select * from performance_schema.MUTEX_INSTANCES
+select * from performance_schema.mutex_instances
where name='FOO';
+--enable_result_log
---replace_result '\'mutex_instances' '\'MUTEX_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.MUTEX_INSTANCES
+insert into performance_schema.mutex_instances
set name='FOO', object_instance_begin=12;
---replace_result '\'mutex_instances' '\'MUTEX_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.MUTEX_INSTANCES
+update performance_schema.mutex_instances
set name='FOO';
---replace_result '\'mutex_instances' '\'MUTEX_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.MUTEX_INSTANCES
+delete from performance_schema.mutex_instances
where name like "wait/%";
---replace_result '\'mutex_instances' '\'MUTEX_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.MUTEX_INSTANCES;
+delete from performance_schema.mutex_instances;
---replace_result '\'mutex_instances' '\'MUTEX_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.MUTEX_INSTANCES READ;
+LOCK TABLES performance_schema.mutex_instances READ;
UNLOCK TABLES;
---replace_result '\'mutex_instances' '\'MUTEX_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.MUTEX_INSTANCES WRITE;
+LOCK TABLES performance_schema.mutex_instances WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_performance_timers.test b/mysql-test/suite/perfschema/t/dml_performance_timers.test
index 9c2efb6f709..211e6db4fb1 100644
--- a/mysql-test/suite/perfschema/t/dml_performance_timers.test
+++ b/mysql-test/suite/perfschema/t/dml_performance_timers.test
@@ -19,39 +19,33 @@
--source include/have_perfschema.inc
--replace_column 2 <frequency> 3 <resolution> 4 <overhead>
-select * from performance_schema.PERFORMANCE_TIMERS;
+select * from performance_schema.performance_timers;
--replace_column 2 <frequency> 3 <resolution> 4 <overhead>
-select * from performance_schema.PERFORMANCE_TIMERS
+select * from performance_schema.performance_timers
where timer_name='CYCLE';
---replace_result '\'performance_timers' '\'PERFORMANCE_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.PERFORMANCE_TIMERS
+insert into performance_schema.performance_timers
set timer_name='FOO', timer_frequency=1,
timer_resolution=2, timer_overhead=3;
---replace_result '\'performance_timers' '\'PERFORMANCE_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.PERFORMANCE_TIMERS
+update performance_schema.performance_timers
set timer_frequency=12 where timer_name='CYCLE';
---replace_result '\'performance_timers' '\'PERFORMANCE_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.PERFORMANCE_TIMERS;
+delete from performance_schema.performance_timers;
---replace_result '\'performance_timers' '\'PERFORMANCE_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.PERFORMANCE_TIMERS
+delete from performance_schema.performance_timers
where timer_name='CYCLE';
---replace_result '\'performance_timers' '\'PERFORMANCE_TIMERS'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.PERFORMANCE_TIMERS READ;
+LOCK TABLES performance_schema.performance_timers READ;
UNLOCK TABLES;
---replace_result '\'performance_timers' '\'PERFORMANCE_TIMERS'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.PERFORMANCE_TIMERS WRITE;
+LOCK TABLES performance_schema.performance_timers WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_rwlock_instances.test b/mysql-test/suite/perfschema/t/dml_rwlock_instances.test
index 33a42450681..b588502c996 100644
--- a/mysql-test/suite/perfschema/t/dml_rwlock_instances.test
+++ b/mysql-test/suite/perfschema/t/dml_rwlock_instances.test
@@ -18,38 +18,33 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 # 4 #
-select * from performance_schema.RWLOCK_INSTANCES limit 1;
+--disable_result_log
+select * from performance_schema.rwlock_instances limit 1;
-select * from performance_schema.RWLOCK_INSTANCES
+select * from performance_schema.rwlock_instances
where name='FOO';
+--enable_result_log
---replace_result '\'rwlock_instances' '\'RWLOCK_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.RWLOCK_INSTANCES
+insert into performance_schema.rwlock_instances
set name='FOO', object_instance_begin=12;
---replace_result '\'rwlock_instances' '\'RWLOCK_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.RWLOCK_INSTANCES
+update performance_schema.rwlock_instances
set name='FOO';
---replace_result '\'rwlock_instances' '\'RWLOCK_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.RWLOCK_INSTANCES
+delete from performance_schema.rwlock_instances
where name like "wait/%";
---replace_result '\'rwlock_instances' '\'RWLOCK_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.RWLOCK_INSTANCES;
+delete from performance_schema.rwlock_instances;
---replace_result '\'rwlock_instances' '\'RWLOCK_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.RWLOCK_INSTANCES READ;
+LOCK TABLES performance_schema.rwlock_instances READ;
UNLOCK TABLES;
---replace_result '\'rwlock_instances' '\'RWLOCK_INSTANCES'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.RWLOCK_INSTANCES WRITE;
+LOCK TABLES performance_schema.rwlock_instances WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_setup_consumers.test b/mysql-test/suite/perfschema/t/dml_setup_consumers.test
index 85b65864f91..2a29f428f3d 100644
--- a/mysql-test/suite/perfschema/t/dml_setup_consumers.test
+++ b/mysql-test/suite/perfschema/t/dml_setup_consumers.test
@@ -18,42 +18,38 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-select * from performance_schema.SETUP_CONSUMERS;
+select * from performance_schema.setup_consumers;
-select * from performance_schema.SETUP_CONSUMERS
+select * from performance_schema.setup_consumers
where name='events_waits_current';
-select * from performance_schema.SETUP_CONSUMERS
+select * from performance_schema.setup_consumers
where enabled='YES';
-select * from performance_schema.SETUP_CONSUMERS
+select * from performance_schema.setup_consumers
where enabled='NO';
---replace_result '\'setup_consumers' '\'SETUP_CONSUMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.SETUP_CONSUMERS
+insert into performance_schema.setup_consumers
set name='FOO', enabled='YES';
---replace_result '\'setup_consumers' '\'SETUP_CONSUMERS'
--error ER_WRONG_PERFSCHEMA_USAGE
-update performance_schema.SETUP_CONSUMERS
+update performance_schema.setup_consumers
set name='FOO';
-update performance_schema.SETUP_CONSUMERS
+update performance_schema.setup_consumers
set enabled='YES';
---replace_result '\'setup_consumers' '\'SETUP_CONSUMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_CONSUMERS;
+delete from performance_schema.setup_consumers;
---replace_result '\'setup_consumers' '\'SETUP_CONSUMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_CONSUMERS
+delete from performance_schema.setup_consumers
where name='events_waits_current';
-LOCK TABLES performance_schema.SETUP_CONSUMERS READ;
+LOCK TABLES performance_schema.setup_consumers READ;
UNLOCK TABLES;
-LOCK TABLES performance_schema.SETUP_CONSUMERS WRITE;
+LOCK TABLES performance_schema.setup_consumers WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_setup_instruments.test b/mysql-test/suite/perfschema/t/dml_setup_instruments.test
index b82cde15fb5..b6e28440758 100644
--- a/mysql-test/suite/perfschema/t/dml_setup_instruments.test
+++ b/mysql-test/suite/perfschema/t/dml_setup_instruments.test
@@ -26,19 +26,19 @@
# - valgrind coverage
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
+select * from performance_schema.setup_instruments;
--enable_result_log
# DEBUG_SYNC::mutex is dependent on the build (DEBUG only)
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Mutex/sql/%'
and name not in ('wait/synch/mutex/sql/DEBUG_SYNC::mutex')
order by name limit 10;
# CRYPTO_dynlock_value::lock is dependent on the build (SSL)
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Rwlock/sql/%'
and name not in ('wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock')
order by name limit 10;
@@ -46,7 +46,7 @@ select * from performance_schema.SETUP_INSTRUMENTS
# COND_handler_count is dependent on the build (Windows only)
# DEBUG_SYNC::cond is dependent on the build (DEBUG only)
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where name like 'Wait/Synch/Cond/sql/%'
and name not in (
'wait/synch/cond/sql/COND_handler_count',
@@ -54,50 +54,46 @@ select * from performance_schema.SETUP_INSTRUMENTS
order by name limit 10;
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where name='Wait';
--enable_result_log
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS
+select * from performance_schema.setup_instruments
where enabled='YES';
--enable_result_log
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.SETUP_INSTRUMENTS
+insert into performance_schema.setup_instruments
set name='FOO', enabled='YES', timed='YES';
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_WRONG_PERFSCHEMA_USAGE
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments
set name='FOO';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments
set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments
set timed='NO';
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
+select * from performance_schema.setup_instruments;
--enable_result_log
-update performance_schema.SETUP_INSTRUMENTS
+update performance_schema.setup_instruments
set enabled='YES', timed='YES';
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_INSTRUMENTS;
+delete from performance_schema.setup_instruments;
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_INSTRUMENTS
+delete from performance_schema.setup_instruments
where name like 'Wait/Synch/%';
-LOCK TABLES performance_schema.SETUP_INSTRUMENTS READ;
+LOCK TABLES performance_schema.setup_instruments READ;
UNLOCK TABLES;
-LOCK TABLES performance_schema.SETUP_INSTRUMENTS WRITE;
+LOCK TABLES performance_schema.setup_instruments WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_setup_timers.test b/mysql-test/suite/perfschema/t/dml_setup_timers.test
index 5b5850db575..1bfc0ab83a2 100644
--- a/mysql-test/suite/perfschema/t/dml_setup_timers.test
+++ b/mysql-test/suite/perfschema/t/dml_setup_timers.test
@@ -18,44 +18,40 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-select * from performance_schema.SETUP_TIMERS;
+select * from performance_schema.setup_timers;
-select * from performance_schema.SETUP_TIMERS
+select * from performance_schema.setup_timers
where name='Wait';
-select * from performance_schema.SETUP_TIMERS
+select * from performance_schema.setup_timers
where timer_name='CYCLE';
---replace_result '\'setup_timers' '\'SETUP_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.SETUP_TIMERS
+insert into performance_schema.setup_timers
set name='FOO', timer_name='CYCLE';
---replace_result '\'setup_timers' '\'SETUP_TIMERS'
--error ER_WRONG_PERFSCHEMA_USAGE
-update performance_schema.SETUP_TIMERS
+update performance_schema.setup_timers
set name='FOO';
-update performance_schema.SETUP_TIMERS
+update performance_schema.setup_timers
set timer_name='MILLISECOND';
-select * from performance_schema.SETUP_TIMERS;
+select * from performance_schema.setup_timers;
-update performance_schema.SETUP_TIMERS
+update performance_schema.setup_timers
set timer_name='CYCLE';
---replace_result '\'setup_timers' '\'SETUP_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_TIMERS;
+delete from performance_schema.setup_timers;
---replace_result '\'setup_timers' '\'SETUP_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.SETUP_TIMERS
+delete from performance_schema.setup_timers
where name='Wait';
-LOCK TABLES performance_schema.SETUP_TIMERS READ;
+LOCK TABLES performance_schema.setup_timers READ;
UNLOCK TABLES;
-LOCK TABLES performance_schema.SETUP_TIMERS WRITE;
+LOCK TABLES performance_schema.setup_timers WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/dml_threads.test b/mysql-test/suite/perfschema/t/dml_threads.test
index 6ea456fee69..6cb372e2c96 100644
--- a/mysql-test/suite/perfschema/t/dml_threads.test
+++ b/mysql-test/suite/perfschema/t/dml_threads.test
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Sun Microsystems, Inc
+# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,52 +10,46 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
# Tests for PERFORMANCE_SCHEMA
--source include/not_embedded.inc
--source include/have_perfschema.inc
---replace_column 1 # 2 # 3 #
-select * from performance_schema.THREADS
+--disable_result_log
+select * from performance_schema.threads
where name like 'Thread/%' limit 1;
-select * from performance_schema.THREADS
+select * from performance_schema.threads
where name='FOO';
+--enable_result_log
---replace_result '\'threads' '\'THREADS'
--error ER_TABLEACCESS_DENIED_ERROR
-insert into performance_schema.THREADS
- set name='FOO', thread_id=1, id=2;
+insert into performance_schema.threads
+ set name='FOO', thread_id=1, processlist_id=2;
---replace_result '\'threads' '\'THREADS'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.THREADS
+update performance_schema.threads
set thread_id=12;
---replace_result '\'threads' '\'THREADS'
--error ER_TABLEACCESS_DENIED_ERROR
-update performance_schema.THREADS
+update performance_schema.threads
set thread_id=12 where name like "FOO";
---replace_result '\'threads' '\'THREADS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.THREADS
+delete from performance_schema.threads
where id=1;
---replace_result '\'threads' '\'THREADS'
--error ER_TABLEACCESS_DENIED_ERROR
-delete from performance_schema.THREADS;
+delete from performance_schema.threads;
---replace_result '\'threads' '\'THREADS'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.THREADS READ;
+LOCK TABLES performance_schema.threads READ;
UNLOCK TABLES;
---replace_result '\'threads' '\'THREADS'
-- error ER_TABLEACCESS_DENIED_ERROR
-LOCK TABLES performance_schema.THREADS WRITE;
+LOCK TABLES performance_schema.threads WRITE;
UNLOCK TABLES;
diff --git a/mysql-test/suite/perfschema/t/func_file_io.test b/mysql-test/suite/perfschema/t/func_file_io.test
index 6b6335ac424..64f71a99ee6 100644
--- a/mysql-test/suite/perfschema/t/func_file_io.test
+++ b/mysql-test/suite/perfschema/t/func_file_io.test
@@ -1,4 +1,4 @@
-# Copyright (C) 2008-2009 Sun Microsystems, Inc
+# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -10,8 +10,8 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
##
## WL#4814, 4.1.4 FILE IO
@@ -22,9 +22,9 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/io/file/%';
--disable_warnings
@@ -40,9 +40,9 @@ ENGINE=MyISAM;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
#
# FF1: Count for file should increase with instrumentation enabled and
@@ -52,7 +52,7 @@ TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD'));
@@ -61,23 +61,23 @@ SELECT IF(@before_count > 0, 'Success', 'Failure') has_instrumentation;
SELECT * FROM t1 WHERE id < 4;
SET @after_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (1 = 1));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_ff1_timed;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled='NO';
+UPDATE performance_schema.setup_instruments SET enabled='NO';
SET @before_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (2 = 2));
SELECT * FROM t1 WHERE id < 6;
SET @after_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/io/file/myisam/dfile')
AND (OBJECT_NAME LIKE '%t1.MYD') AND (3 = 3));
@@ -87,33 +87,33 @@ SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success
# Check not timed measurements
#
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/io/file/%';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'NO';
+UPDATE performance_schema.setup_instruments SET timed = 'NO';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id > 4;
-SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+SELECT * FROM performance_schema.events_waits_history_long
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
-SELECT * FROM performance_schema.EVENTS_WAITS_HISTORY
+SELECT * FROM performance_schema.events_waits_history
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
-SELECT * FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT * FROM performance_schema.events_waits_current
WHERE TIMER_WAIT != NULL
OR TIMER_START != NULL
OR TIMER_END != NULL;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET timed = 'YES';
+UPDATE performance_schema.setup_instruments SET timed = 'YES';
SELECT * FROM t1 WHERE id < 4;
@@ -128,7 +128,7 @@ SELECT SUM(COUNT_READ) AS sum_count_read,
SUM(COUNT_WRITE) AS sum_count_write,
SUM(SUM_NUMBER_OF_BYTES_READ) AS sum_num_bytes_read,
SUM(SUM_NUMBER_OF_BYTES_WRITE) AS sum_num_bytes_write
-FROM performance_schema.FILE_SUMMARY_BY_INSTANCE
+FROM performance_schema.file_summary_by_instance
WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL;
--enable_result_log
@@ -144,7 +144,7 @@ WHERE FILE_NAME LIKE CONCAT('%', @@tmpdir, '%') ORDER BY NULL;
#
--disable_result_log
SELECT EVENT_NAME, COUNT_STAR, AVG_TIMER_WAIT, SUM_TIMER_WAIT
-FROM performance_schema.EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME
+FROM performance_schema.events_waits_summary_global_by_event_name
WHERE COUNT_STAR > 0
ORDER BY SUM_TIMER_WAIT DESC
LIMIT 10;
@@ -154,25 +154,25 @@ LIMIT 10;
# Total and average wait time for different users
#
---disable_result_log
-SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT
-# ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
-INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
-LEFT JOIN information_schema.PROCESSLIST i USING (ID)
-GROUP BY i.user
-ORDER BY SUM_WAIT DESC
-LIMIT 20;
---enable_result_log
+## --disable_result_log
+## SELECT i.user, SUM(TIMER_WAIT) SUM_WAIT
+## # ((TIME_TO_SEC(TIMEDIFF(NOW(), i.startup_time)) * 1000) / SUM(TIMER_WAIT)) * 100 WAIT_PERCENTAGE
+## FROM performance_schema.events_waits_history_long h
+## INNER JOIN performance_schema.threads p USING (THREAD_ID)
+## LEFT JOIN information_schema.PROCESSLIST i USING (ID)
+## GROUP BY i.user
+## ORDER BY SUM_WAIT DESC
+## LIMIT 20;
+## --enable_result_log
#
# Total and average wait times for different events for a session
#
--disable_result_log
SELECT h.EVENT_NAME, SUM(h.TIMER_WAIT) TOTAL_WAIT
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
-INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
-WHERE p.ID = 1
+FROM performance_schema.events_waits_history_long h
+INNER JOIN performance_schema.threads p USING (THREAD_ID)
+WHERE p.PROCESSLIST_ID = 1
GROUP BY h.EVENT_NAME
HAVING TOTAL_WAIT > 0;
--enable_result_log
@@ -181,12 +181,15 @@ HAVING TOTAL_WAIT > 0;
# Which user reads and writes data
#
---disable_result_log
-SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG h
-INNER JOIN performance_schema.THREADS p USING (THREAD_ID)
-LEFT JOIN information_schema.PROCESSLIST i USING (ID)
-GROUP BY i.user, h.operation
-HAVING BYTES > 0
-ORDER BY i.user, h.operation;
---enable_result_log
+## --disable_result_log
+## SELECT i.user, h.operation, SUM(NUMBER_OF_BYTES) bytes
+## FROM performance_schema.events_waits_history_long h
+## INNER JOIN performance_schema.threads p USING (THREAD_ID)
+## LEFT JOIN information_schema.PROCESSLIST i USING (ID)
+## GROUP BY i.user, h.operation
+## HAVING BYTES > 0
+## ORDER BY i.user, h.operation;
+## --enable_result_log
+
+# Clean-up.
+UPDATE performance_schema.setup_instruments SET enabled = 'YES';
diff --git a/mysql-test/suite/perfschema/t/func_mutex.test b/mysql-test/suite/perfschema/t/func_mutex.test
index 98cb905c67c..51cbc77790e 100644
--- a/mysql-test/suite/perfschema/t/func_mutex.test
+++ b/mysql-test/suite/perfschema/t/func_mutex.test
@@ -22,9 +22,9 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
@@ -46,41 +46,41 @@ INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
# FM2: Count for mutex should not increase with instrumentation disabled
#
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT * FROM t1;
SET @after_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_timed;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO'
WHERE NAME = 'wait/synch/mutex/sql/LOCK_open';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT * FROM t1;
SET @after_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/mutex/sql/LOCK_open'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_timed;
@@ -89,43 +89,45 @@ SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success
# Repeat for RW-lock
#
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT * FROM t1;
SET @after_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT IF((@after_count - @before_count) > 0, 'Success', 'Failure') test_fm1_rw_timed;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO'
+UPDATE performance_schema.setup_instruments SET enabled = 'NO'
WHERE NAME = 'wait/synch/rwlock/sql/LOCK_grant';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
SELECT * FROM t1 WHERE id = 1;
SET @before_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT * FROM t1;
SET @after_count = (SELECT SUM(TIMER_WAIT)
- FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+ FROM performance_schema.events_waits_history_long
WHERE (EVENT_NAME = 'wait/synch/rwlock/sql/LOCK_grant'));
SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_rw_timed;
+# Clean-up.
+UPDATE performance_schema.setup_instruments SET enabled = 'YES';
DROP TABLE t1;
diff --git a/mysql-test/suite/perfschema/t/global_read_lock.test b/mysql-test/suite/perfschema/t/global_read_lock.test
index b953ea32ce0..d00c6583e31 100644
--- a/mysql-test/suite/perfschema/t/global_read_lock.test
+++ b/mysql-test/suite/perfschema/t/global_read_lock.test
@@ -15,28 +15,32 @@
# Tests for PERFORMANCE_SCHEMA
#
-# Test the effect of a flush tables with read lock on SETUP_ tables.
+# Test the effect of a flush tables with read lock on setup_ tables.
--source include/not_embedded.inc
--source include/have_perfschema.inc
use performance_schema;
+# Make test robust against errors in other tests.
+# Ensure that instrumentation is turned on when we create new connection.
+update performance_schema.setup_instruments set enabled='YES';
+
grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost;
flush privileges;
--echo connect (con1, localhost, pfsuser, , test);
connect (con1, localhost, pfsuser, , test);
-lock tables performance_schema.SETUP_INSTRUMENTS read;
+lock tables performance_schema.setup_instruments read;
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
+select * from performance_schema.setup_instruments;
--enable_result_log
unlock tables;
-lock tables performance_schema.SETUP_INSTRUMENTS write;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+lock tables performance_schema.setup_instruments write;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
unlock tables;
--echo connection default;
@@ -47,20 +51,20 @@ flush tables with read lock;
--echo connection con1;
connection con1;
-lock tables performance_schema.SETUP_INSTRUMENTS read;
+lock tables performance_schema.setup_instruments read;
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
+select * from performance_schema.setup_instruments;
--enable_result_log
unlock tables;
# This will block
--send
-lock tables performance_schema.SETUP_INSTRUMENTS write;
+lock tables performance_schema.setup_instruments write;
--echo connection default;
connection default;
-let $wait_condition= select 1 from performance_schema.EVENTS_WAITS_CURRENT where event_name like "wait/synch/cond/sql/COND_global_read_lock";
+let $wait_condition= select 1 from performance_schema.events_waits_current where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
--source include/wait_condition.inc
@@ -68,16 +72,16 @@ let $wait_condition= select 1 from performance_schema.EVENTS_WAITS_CURRENT where
select event_name,
left(source, locate(":", source)) as short_source,
timer_end, timer_wait, operation
- from performance_schema.EVENTS_WAITS_CURRENT
- where event_name like "wait/synch/cond/sql/COND_global_read_lock";
+ from performance_schema.events_waits_current
+ where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
unlock tables;
connection con1;
--reap
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
unlock tables;
disconnect con1;
diff --git a/mysql-test/suite/perfschema/t/information_schema.test b/mysql-test/suite/perfschema/t/information_schema.test
index 3d2822a1db3..36ba1912df3 100644
--- a/mysql-test/suite/perfschema/t/information_schema.test
+++ b/mysql-test/suite/perfschema/t/information_schema.test
@@ -22,46 +22,46 @@
# Note that TABLE_NAME is in uppercase is some platforms,
# and in lowercase in others.
-# Using upper(TABLE_NAME) to have consistent results.
+# Using lower(TABLE_NAME) to have consistent results.
-select TABLE_SCHEMA, upper(TABLE_NAME), TABLE_CATALOG
+select TABLE_SCHEMA, lower(TABLE_NAME), TABLE_CATALOG
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), TABLE_TYPE, ENGINE
+select lower(TABLE_NAME), TABLE_TYPE, ENGINE
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), VERSION, ROW_FORMAT
+select lower(TABLE_NAME), VERSION, ROW_FORMAT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH
+select lower(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH
+select lower(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT
+select lower(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME
+select lower(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), TABLE_COLLATION, CHECKSUM
+select lower(TABLE_NAME), TABLE_COLLATION, CHECKSUM
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
# TABLESPACE_NAME does not exist in 5.4
-# select upper(TABLE_NAME), CREATE_OPTIONS, TABLESPACE_NAME
+# select lower(TABLE_NAME), CREATE_OPTIONS, TABLESPACE_NAME
# from information_schema.tables
# where TABLE_SCHEMA='performance_schema';
-select upper(TABLE_NAME), TABLE_COMMENT
+select lower(TABLE_NAME), TABLE_COMMENT
from information_schema.tables
where TABLE_SCHEMA='performance_schema';
diff --git a/mysql-test/suite/perfschema/t/misc.test b/mysql-test/suite/perfschema/t/misc.test
index d497c205d50..dee18f0fa21 100644
--- a/mysql-test/suite/perfschema/t/misc.test
+++ b/mysql-test/suite/perfschema/t/misc.test
@@ -25,11 +25,11 @@
#
--disable_result_log
-SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE THREAD_ID IN
- (SELECT THREAD_ID FROM performance_schema.THREADS)
+ (SELECT THREAD_ID FROM performance_schema.threads)
AND EVENT_NAME IN
- (SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS
+ (SELECT NAME FROM performance_schema.setup_instruments
WHERE NAME LIKE "wait/synch/%")
LIMIT 1;
--enable_result_log
@@ -38,15 +38,15 @@ LIMIT 1;
# Bug#45088 Should not be able to create tables of engine PERFORMANCE_SCHEMA
#
---error ER_WRONG_PERFSCHEMA_USAGE
+--error ER_CANT_CREATE_TABLE
create table test.t1(a int) engine=performance_schema;
#
# Bug#44897 Performance Schema: can create a ghost table in another database
#
---error ER_WRONG_PERFSCHEMA_USAGE
-create table test.t1 like performance_schema.EVENTS_WAITS_CURRENT;
+--error ER_CANT_CREATE_TABLE
+create table test.t1 like performance_schema.events_waits_current;
#
# Bug#44898 PerformanceSchema: can create a table in db performance_schema, cannot insert
@@ -73,7 +73,7 @@ select * from test.ghost;
drop table test.ghost;
# Shoud return nothing
-select * from performance_schema.FILE_INSTANCES
+select * from performance_schema.file_instances
where file_name like "%ghost%";
#
diff --git a/mysql-test/suite/perfschema/t/myisam_file_io.test b/mysql-test/suite/perfschema/t/myisam_file_io.test
index 0861e8f4b74..de9f6f48480 100644
--- a/mysql-test/suite/perfschema/t/myisam_file_io.test
+++ b/mysql-test/suite/perfschema/t/myisam_file_io.test
@@ -20,14 +20,14 @@
# Setup
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES'
where name like "wait/io/file/myisam/%";
-update performance_schema.SETUP_CONSUMERS
+update performance_schema.setup_consumers
set enabled='YES';
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_history_long;
# Reset lost counters to a known state
flush status;
@@ -46,13 +46,21 @@ insert into no_index_tab set a = 'foo', b = 1;
# Verification
# Note that mi_create.c contains mysql_file_tell() calls in debug only,
# so the result are filtered to remove 'tell'.
+# Note that even after setting other instruments to enabled='NO'
+# and truncating the events_waits_history_long table,
+# some events -- that were already started but not completed --
+# for other instruments could still be added in the history.
+# To protect against that, an extra where clause
+# "and event_name like "wait/io/file/myisam/%"
+# is added to the select to filter out the result.
select event_name,
left(source, locate(":", source)) as short_source,
operation, number_of_bytes,
substring(object_name, locate("no_index_tab", object_name)) as short_name
- from performance_schema.EVENTS_WAITS_HISTORY_LONG
+ from performance_schema.events_waits_history_long
where operation not like "tell"
+ and event_name like "wait/io/file/myisam/%"
order by thread_id, event_id;
# In case of failures, this will tell if file io are lost.
@@ -60,7 +68,7 @@ show status like 'performance_schema_%';
# Cleanup
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES';
drop table test.no_index_tab;
diff --git a/mysql-test/suite/perfschema/t/no_threads.test b/mysql-test/suite/perfschema/t/no_threads.test
index 9254535bf1f..dd0bd076dfc 100644
--- a/mysql-test/suite/perfschema/t/no_threads.test
+++ b/mysql-test/suite/perfschema/t/no_threads.test
@@ -17,22 +17,23 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
+--source include/not_threadpool.inc
# Setup : in this main thread
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_CONSUMERS set enabled='YES';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_consumers set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
--disable_warnings
drop table if exists test.t1;
--enable_warnings
-truncate table performance_schema.EVENTS_WAITS_CURRENT;
-truncate table performance_schema.EVENTS_WAITS_HISTORY;
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_current;
+truncate table performance_schema.events_waits_history;
+truncate table performance_schema.events_waits_history_long;
show variables like "thread_handling";
@@ -45,23 +46,23 @@ show variables like "performance_schema_max_thread%";
# Verification : in this main thread
-select count(*) from performance_schema.THREADS
+select count(*) from performance_schema.threads
where name like "thread/sql/main";
-select count(*) from performance_schema.THREADS
+select count(*) from performance_schema.threads
where name like "thread/sql/OneConnection";
select event_name, operation,
left(source, locate(":", source)) as short_source
- from performance_schema.EVENTS_WAITS_CURRENT;
+ from performance_schema.events_waits_current;
select event_name, operation,
left(source, locate(":", source)) as short_source
- from performance_schema.EVENTS_WAITS_HISTORY;
+ from performance_schema.events_waits_history;
select event_name, operation,
left(source, locate(":", source)) as short_source
- from performance_schema.EVENTS_WAITS_HISTORY_LONG;
+ from performance_schema.events_waits_history_long;
# Cleanup
diff --git a/mysql-test/suite/perfschema/t/one_thread_per_con.test b/mysql-test/suite/perfschema/t/one_thread_per_con.test
index 7d0daffe228..fc4d17e34c7 100644
--- a/mysql-test/suite/perfschema/t/one_thread_per_con.test
+++ b/mysql-test/suite/perfschema/t/one_thread_per_con.test
@@ -17,6 +17,7 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
+--source include/not_threadpool.inc
# Setup
@@ -27,7 +28,7 @@
# The point is not to test myisam, but to test that each
# connection is properly instrumented, with one-thread-per-connection
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
+update performance_schema.setup_instruments set enabled='YES'
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
--disable_warnings
@@ -36,7 +37,7 @@ drop table if exists test.t2;
drop table if exists test.t3;
--enable_warnings
-truncate table performance_schema.EVENTS_WAITS_HISTORY_LONG;
+truncate table performance_schema.events_waits_history_long;
show variables like "thread_handling";
diff --git a/mysql-test/suite/perfschema/t/privilege.test b/mysql-test/suite/perfschema/t/privilege.test
index 2d682de2870..277ba9bf3b8 100644
--- a/mysql-test/suite/perfschema/t/privilege.test
+++ b/mysql-test/suite/perfschema/t/privilege.test
@@ -76,136 +76,128 @@ grant DELETE on performance_schema.* to 'pfs_user_2'@localhost;
grant LOCK TABLES on performance_schema.* to 'pfs_user_2'@localhost;
# Test denied privileges on specific performance_schema tables.
-# SETUP_INSTRUMENT : example of PFS_updatable_acl
-# EVENTS_WAITS_CURRENT : example of PFS_truncatable_acl
-# FILE_INSTANCES : example of PFS_readonly_acl
+# setup_instrument : example of PFS_updatable_acl
+# events_waits_current : example of PFS_truncatable_acl
+# file_instances : example of PFS_readonly_acl
--error ER_DBACCESS_DENIED_ERROR
-grant ALL on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+grant ALL on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
# will be ER_DBACCESS_DENIED_ERROR once .FRM are removed
-grant CREATE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant CREATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
# will be ER_DBACCESS_DENIED_ERROR once .FRM are removed
-grant DROP on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant REFERENCES on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant INDEX on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant INDEX on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant ALTER on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant ALTER on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant CREATE VIEW on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant CREATE VIEW on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant SHOW VIEW on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant SHOW VIEW on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant TRIGGER on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant TRIGGER on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-grant INSERT on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant INSERT on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-grant DELETE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost;
+grant DELETE on performance_schema.setup_instruments to 'pfs_user_3'@localhost;
-grant SELECT on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+grant SELECT on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
-grant UPDATE on performance_schema.SETUP_INSTRUMENTS to 'pfs_user_3'@localhost
+grant UPDATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost
with GRANT OPTION;
--error ER_DBACCESS_DENIED_ERROR
-grant ALL on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost
+grant ALL on performance_schema.events_waits_current to 'pfs_user_3'@localhost
with GRANT OPTION;
# will be ER_DBACCESS_DENIED_ERROR once .FRM are removed
-grant CREATE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant CREATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
# will be ER_DBACCESS_DENIED_ERROR once .FRM are removed
-grant DROP on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant REFERENCES on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant INDEX on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant INDEX on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant ALTER on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant ALTER on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant CREATE VIEW on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant CREATE VIEW on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant SHOW VIEW on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant SHOW VIEW on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant TRIGGER on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant TRIGGER on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-grant INSERT on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant INSERT on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-grant UPDATE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant UPDATE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-grant DELETE on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost;
+grant DELETE on performance_schema.events_waits_current to 'pfs_user_3'@localhost;
-grant SELECT on performance_schema.EVENTS_WAITS_CURRENT to 'pfs_user_3'@localhost
+grant SELECT on performance_schema.events_waits_current to 'pfs_user_3'@localhost
with GRANT OPTION;
--error ER_DBACCESS_DENIED_ERROR
-grant ALL on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost
+grant ALL on performance_schema.file_instances to 'pfs_user_3'@localhost
with GRANT OPTION;
# will be ER_DBACCESS_DENIED_ERROR once .FRM are removed
-grant CREATE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant CREATE on performance_schema.file_instances to 'pfs_user_3'@localhost;
# will be ER_DBACCESS_DENIED_ERROR once .FRM are removed
-grant DROP on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant DROP on performance_schema.file_instances to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant REFERENCES on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant REFERENCES on performance_schema.file_instances to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant INDEX on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant INDEX on performance_schema.file_instances to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant ALTER on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant ALTER on performance_schema.file_instances to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant CREATE VIEW on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant CREATE VIEW on performance_schema.file_instances to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant SHOW VIEW on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant SHOW VIEW on performance_schema.file_instances to 'pfs_user_3'@localhost;
--error ER_DBACCESS_DENIED_ERROR
-grant TRIGGER on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant TRIGGER on performance_schema.file_instances to 'pfs_user_3'@localhost;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-grant INSERT on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant INSERT on performance_schema.file_instances to 'pfs_user_3'@localhost;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-grant UPDATE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant UPDATE on performance_schema.file_instances to 'pfs_user_3'@localhost;
---replace_result '\'file_instances' '\'FILE_INSTANCES'
--error ER_TABLEACCESS_DENIED_ERROR
-grant DELETE on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost;
+grant DELETE on performance_schema.file_instances to 'pfs_user_3'@localhost;
-grant SELECT on performance_schema.FILE_INSTANCES to 'pfs_user_3'@localhost
+grant SELECT on performance_schema.file_instances to 'pfs_user_3'@localhost
with GRANT OPTION;
# See bug#45354 LOCK TABLES is not a TABLE privilege
@@ -258,25 +250,20 @@ CREATE user pfs_user_4;
--connection pfs_user_4
--echo # Select as pfs_user_4 should fail without grant
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-SELECT event_id FROM performance_schema.EVENTS_WAITS_HISTORY;
+SELECT event_id FROM performance_schema.events_waits_history;
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-SELECT event_id FROM performance_schema.EVENTS_WAITS_HISTORY_LONG;
+SELECT event_id FROM performance_schema.events_waits_history_long;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-SELECT event_id FROM performance_schema.EVENTS_WAITS_CURRENT;
+SELECT event_id FROM performance_schema.events_waits_current;
---replace_result '\'events_waits_summary_by_instance' '\'EVENTS_WAITS_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-SELECT event_name FROM performance_schema.EVENTS_WAITS_SUMMARY_BY_INSTANCE;
+SELECT event_name FROM performance_schema.events_waits_summary_by_instance;
---replace_result '\'file_summary_by_instance' '\'FILE_SUMMARY_BY_INSTANCE'
--error ER_TABLEACCESS_DENIED_ERROR
-SELECT event_name FROM performance_schema.FILE_SUMMARY_BY_INSTANCE;
+SELECT event_name FROM performance_schema.file_summary_by_instance;
--echo #
--echo # WL#4818, NFS3: Normal user does not have access to change what is
@@ -287,35 +274,28 @@ SELECT event_name FROM performance_schema.FILE_SUMMARY_BY_INSTANCE;
--echo # User pfs_user_4 should not be allowed to tweak instrumentation without
--echo # explicit grant
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
---replace_result '\'setup_instruments' '\'SETUP_INSTRUMENTS'
--error ER_TABLEACCESS_DENIED_ERROR
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
---replace_result '\'setup_consumers' '\'SETUP_CONSUMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
---replace_result '\'setup_timers' '\'SETUP_TIMERS'
--error ER_TABLEACCESS_DENIED_ERROR
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'TICK';
+UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
---replace_result '\'events_waits_history_long' '\'EVENTS_WAITS_HISTORY_LONG'
--error ER_TABLEACCESS_DENIED_ERROR
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
---replace_result '\'events_waits_history' '\'EVENTS_WAITS_HISTORY'
--error ER_TABLEACCESS_DENIED_ERROR
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
+TRUNCATE TABLE performance_schema.events_waits_history;
---replace_result '\'events_waits_current' '\'EVENTS_WAITS_CURRENT'
--error ER_TABLEACCESS_DENIED_ERROR
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_current;
--echo #
--echo # WL#4814, NFS1: Can use grants to give normal user access
@@ -325,29 +305,29 @@ TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
--connection default
--echo # Grant access to change tables with the root account
-GRANT UPDATE ON performance_schema.SETUP_CONSUMERS TO pfs_user_4;
-GRANT UPDATE ON performance_schema.SETUP_TIMERS TO pfs_user_4;
-GRANT UPDATE, SELECT ON performance_schema.SETUP_INSTRUMENTS TO pfs_user_4;
-GRANT DROP ON performance_schema.EVENTS_WAITS_CURRENT TO pfs_user_4;
-GRANT DROP ON performance_schema.EVENTS_WAITS_HISTORY TO pfs_user_4;
-GRANT DROP ON performance_schema.EVENTS_WAITS_HISTORY_LONG TO pfs_user_4;
+GRANT UPDATE ON performance_schema.setup_consumers TO pfs_user_4;
+GRANT UPDATE ON performance_schema.setup_timers TO pfs_user_4;
+GRANT UPDATE, SELECT ON performance_schema.setup_instruments TO pfs_user_4;
+GRANT DROP ON performance_schema.events_waits_current TO pfs_user_4;
+GRANT DROP ON performance_schema.events_waits_history TO pfs_user_4;
+GRANT DROP ON performance_schema.events_waits_history_long TO pfs_user_4;
--connection pfs_user_4
--echo # User pfs_user_4 should now be allowed to tweak instrumentation
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'NO', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES';
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'
+UPDATE performance_schema.setup_instruments SET enabled = 'YES'
WHERE name LIKE 'wait/synch/mutex/%'
OR name LIKE 'wait/synch/rwlock/%';
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'TICK';
+UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY_LONG;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_HISTORY;
-TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
+TRUNCATE TABLE performance_schema.events_waits_history_long;
+TRUNCATE TABLE performance_schema.events_waits_history;
+TRUNCATE TABLE performance_schema.events_waits_current;
--echo # Clean up
--disconnect pfs_user_4
@@ -356,7 +336,7 @@ TRUNCATE TABLE performance_schema.EVENTS_WAITS_CURRENT;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM pfs_user_4;
DROP USER pfs_user_4;
flush privileges;
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
-UPDATE performance_schema.SETUP_CONSUMERS SET enabled = 'YES';
-UPDATE performance_schema.SETUP_TIMERS SET timer_name = 'CYCLE';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_consumers SET enabled = 'YES';
+UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
diff --git a/mysql-test/suite/perfschema/t/query_cache.test b/mysql-test/suite/perfschema/t/query_cache.test
index a48704dc9d6..6e322434ae0 100644
--- a/mysql-test/suite/perfschema/t/query_cache.test
+++ b/mysql-test/suite/perfschema/t/query_cache.test
@@ -47,17 +47,17 @@ show status like "Qcache_queries_in_cache";
show status like "Qcache_inserts";
show status like "Qcache_hits";
-select spins from performance_schema.EVENTS_WAITS_CURRENT order by event_name limit 1;
+select spins from performance_schema.events_waits_current order by event_name limit 1;
-select name from performance_schema.SETUP_INSTRUMENTS order by name limit 1;
+select name from performance_schema.setup_instruments order by name limit 1;
show status like "Qcache_queries_in_cache";
show status like "Qcache_inserts";
show status like "Qcache_hits";
-select spins from performance_schema.EVENTS_WAITS_CURRENT order by event_name limit 1;
+select spins from performance_schema.events_waits_current order by event_name limit 1;
-select name from performance_schema.SETUP_INSTRUMENTS order by name limit 1;
+select name from performance_schema.setup_instruments order by name limit 1;
show status like "Qcache_queries_in_cache";
show status like "Qcache_inserts";
diff --git a/mysql-test/suite/perfschema/t/read_only.test b/mysql-test/suite/perfschema/t/read_only.test
index 73150207f66..98683e36327 100644
--- a/mysql-test/suite/perfschema/t/read_only.test
+++ b/mysql-test/suite/perfschema/t/read_only.test
@@ -16,8 +16,8 @@
# Tests for PERFORMANCE_SCHEMA
#
# Check that
-# - a regular user can not update SETUP_ tables under --read-only
-# - a user with SUPER privileges cam
+# - a regular user can not update setup_ tables under --read-only
+# - a user with SUPER privileges can
--source include/not_embedded.inc
--source include/have_perfschema.inc
@@ -43,9 +43,9 @@ connection con1;
select @@global.read_only;
show grants;
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+select * from performance_schema.setup_instruments;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
--enable_result_log
--echo connection default;
@@ -59,11 +59,11 @@ connection con1;
select @@global.read_only;
show grants;
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
+select * from performance_schema.setup_instruments;
--error ER_OPTION_PREVENTS_STATEMENT
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
+update performance_schema.setup_instruments set enabled='NO';
--error ER_OPTION_PREVENTS_STATEMENT
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+update performance_schema.setup_instruments set enabled='YES';
--enable_result_log
--echo connection default;
@@ -79,9 +79,9 @@ connect (con1, localhost, pfsuser, , test);
select @@global.read_only;
show grants;
--disable_result_log
-select * from performance_schema.SETUP_INSTRUMENTS;
-update performance_schema.SETUP_INSTRUMENTS set enabled='NO';
-update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
+select * from performance_schema.setup_instruments;
+update performance_schema.setup_instruments set enabled='NO';
+update performance_schema.setup_instruments set enabled='YES';
--enable_result_log
disconnect con1;
diff --git a/mysql-test/suite/perfschema/t/relaylog.test b/mysql-test/suite/perfschema/t/relaylog.test
new file mode 100644
index 00000000000..68ba57dd502
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/relaylog.test
@@ -0,0 +1,179 @@
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
+
+# Tests for PERFORMANCE_SCHEMA
+
+--source include/have_log_bin.inc
+--source include/not_embedded.inc
+--source include/have_perfschema.inc
+--source include/master-slave.inc
+
+--disable_warnings
+drop table if exists test.t1;
+--sync_slave_with_master
+reset master;
+--enable_warnings
+
+create table test.t1(a int);
+drop table test.t1;
+
+--source include/show_binlog_events.inc
+
+# Notes
+#
+# The point of this test is to make sure code is properly instrumented,
+# where instruments have the proper key (binlog or relaylog),
+# it is not to dive into statistics for each instruments.
+# Different test execution sequence in different platforms do make the
+# results vary, making the test results very sensitive to changes.
+# To ensure robustness:
+# - log file rotation is limited to file .000001 and .000002
+# - statistics are normalized to "NONE" or "MANY"
+#
+
+connection master;
+-- echo "============ Performance schema on master ============"
+
+select
+ substring(file_name, locate("master-", file_name)) as FILE_NAME,
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_instance
+ where file_name like "%master-%" order by file_name;
+
+select * from performance_schema.file_summary_by_instance
+ where file_name like "%slave-%" order by file_name;
+
+-- echo "Expect a master binlog + binlog_index"
+
+select
+ substring(file_name, locate("master-", file_name)) as FILE_NAME,
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_instance
+ where event_name like "%binlog%" order by file_name;
+
+select
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_event_name
+ where event_name like "%binlog%" order by event_name;
+
+select
+ EVENT_NAME,
+ if (count_star > 0, "MANY", "NONE") as COUNT_STAR
+ from performance_schema.events_waits_summary_global_by_event_name
+ where event_name like "%MYSQL_BIN_LOG%" order by event_name;
+
+-- echo "Expect no slave relay log"
+
+select * from performance_schema.file_summary_by_instance
+ where event_name like "%relaylog%" order by file_name;
+
+select * from performance_schema.file_summary_by_event_name
+ where event_name like "%relaylog%" order by event_name;
+
+select * from performance_schema.events_waits_summary_global_by_event_name
+ where event_name like "%MYSQL_RELAY_LOG%" order by event_name;
+
+sync_slave_with_master;
+-- echo "============ Performance schema on slave ============"
+
+select * from performance_schema.file_summary_by_instance
+ where file_name like "%master-%" order by file_name;
+
+select
+ substring(file_name, locate("slave-", file_name)) as FILE_NAME,
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_instance
+ where file_name like "%slave-%"
+ and (file_name not like "%slave-relay-bin.0%"
+ or file_name like "%slave-relay-bin.000001"
+ or file_name like "%slave-relay-bin.000002")
+ order by file_name;
+
+-- echo "Expect a slave binlog + binlog_index"
+
+select
+ substring(file_name, locate("slave-", file_name)) as FILE_NAME,
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_instance
+ where event_name like "%binlog%" order by file_name;
+
+select
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_event_name
+ where event_name like "%binlog%" order by event_name;
+
+select
+ EVENT_NAME,
+ if (count_star > 0, "MANY", "NONE") as COUNT_STAR
+ from performance_schema.events_waits_summary_global_by_event_name
+ where event_name like "%MYSQL_BIN_LOG%" order by event_name;
+
+-- echo "Expect a slave relay log"
+
+select
+ substring(file_name, locate("slave-", file_name)) as FILE_NAME,
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_instance
+ where event_name like "%relaylog%"
+ and (file_name not like "%slave-relay-bin.0%"
+ or file_name like "%slave-relay-bin.000001"
+ or file_name like "%slave-relay-bin.000002")
+ order by file_name;
+
+select
+ EVENT_NAME,
+ if (count_read > 0, "MANY", "NONE") as COUNT_READ,
+ if (count_write > 0,"MANY", "NONE") as COUNT_WRITE,
+ if (sum_number_of_bytes_read > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_READ,
+ if (sum_number_of_bytes_write > 0, "MANY", "NONE") as SUM_NUMBER_OF_BYTES_WRITE
+ from performance_schema.file_summary_by_event_name
+ where event_name like "%relaylog%" order by event_name;
+
+select
+ EVENT_NAME,
+ if (count_star > 0, "MANY", "NONE") as COUNT_STAR
+ from performance_schema.events_waits_summary_global_by_event_name
+ where event_name like "%MYSQL_RELAY_LOG%" order by event_name;
+
+--source include/stop_slave.inc
+
diff --git a/mysql-test/suite/perfschema/t/schema.test b/mysql-test/suite/perfschema/t/schema.test
index 727c4f5a755..32ee4a26676 100644
--- a/mysql-test/suite/perfschema/t/schema.test
+++ b/mysql-test/suite/perfschema/t/schema.test
@@ -25,21 +25,21 @@ use performance_schema;
show tables;
-show create table COND_INSTANCES;
-show create table EVENTS_WAITS_CURRENT;
-show create table EVENTS_WAITS_HISTORY;
-show create table EVENTS_WAITS_HISTORY_LONG;
-show create table EVENTS_WAITS_SUMMARY_BY_INSTANCE;
-show create table EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME;
-show create table EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME;
-show create table FILE_INSTANCES;
-show create table FILE_SUMMARY_BY_EVENT_NAME;
-show create table FILE_SUMMARY_BY_INSTANCE;
-show create table MUTEX_INSTANCES;
-show create table PERFORMANCE_TIMERS;
-show create table RWLOCK_INSTANCES;
-show create table SETUP_CONSUMERS;
-show create table SETUP_INSTRUMENTS;
-show create table SETUP_TIMERS;
-show create table THREADS;
+show create table cond_instances;
+show create table events_waits_current;
+show create table events_waits_history;
+show create table events_waits_history_long;
+show create table events_waits_summary_by_instance;
+show create table events_waits_summary_by_thread_by_event_name;
+show create table events_waits_summary_global_by_event_name;
+show create table file_instances;
+show create table file_summary_by_event_name;
+show create table file_summary_by_instance;
+show create table mutex_instances;
+show create table performance_timers;
+show create table rwlock_instances;
+show create table setup_consumers;
+show create table setup_instruments;
+show create table setup_timers;
+show create table threads;
diff --git a/mysql-test/suite/perfschema/t/selects.test b/mysql-test/suite/perfschema/t/selects.test
index b673c896024..e8fd0827c53 100644
--- a/mysql-test/suite/perfschema/t/selects.test
+++ b/mysql-test/suite/perfschema/t/selects.test
@@ -22,7 +22,7 @@
# Make some data that we can work on:
-UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES', timed = 'YES';
+UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
--disable_warnings
DROP TABLE IF EXISTS t1;
@@ -35,7 +35,7 @@ INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
--replace_column 2 [NUM_BYTES]
SELECT OPERATION, SUM(NUMBER_OF_BYTES) AS TOTAL
-FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+FROM performance_schema.events_waits_history_long
GROUP BY OPERATION
HAVING TOTAL IS NOT NULL
ORDER BY OPERATION
@@ -43,11 +43,11 @@ LIMIT 1;
# Sub SELECT
--replace_column 1 [EVENT_ID]
-SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE THREAD_ID IN
- (SELECT THREAD_ID FROM performance_schema.THREADS)
+ (SELECT THREAD_ID FROM performance_schema.threads)
AND EVENT_NAME IN
- (SELECT NAME FROM performance_schema.SETUP_INSTRUMENTS
+ (SELECT NAME FROM performance_schema.setup_instruments
WHERE NAME LIKE "wait/synch/%")
LIMIT 1;
@@ -55,9 +55,9 @@ LIMIT 1;
--replace_column 1 [EVENT_ID]
SELECT DISTINCT EVENT_ID
-FROM performance_schema.EVENTS_WAITS_CURRENT
-JOIN performance_schema.EVENTS_WAITS_HISTORY USING (EVENT_ID)
-JOIN performance_schema.EVENTS_WAITS_HISTORY_LONG USING (EVENT_ID)
+FROM performance_schema.events_waits_current
+JOIN performance_schema.events_waits_history USING (EVENT_ID)
+JOIN performance_schema.events_waits_history_long USING (EVENT_ID)
ORDER BY EVENT_ID
LIMIT 1;
@@ -65,21 +65,21 @@ LIMIT 1;
--replace_column 1 [THREAD_ID] 2 [EVENT_ID] 3 [EVENT_NAME] 4 [TIMER_WAIT]
SELECT t1.THREAD_ID, t2.EVENT_ID, t3.EVENT_NAME, t4.TIMER_WAIT
-FROM performance_schema.EVENTS_WAITS_HISTORY t1
-JOIN performance_schema.EVENTS_WAITS_HISTORY t2 USING (EVENT_ID)
-JOIN performance_schema.EVENTS_WAITS_HISTORY t3 ON (t2.THREAD_ID = t3.THREAD_ID)
-JOIN performance_schema.EVENTS_WAITS_HISTORY t4 ON (t3.EVENT_NAME = t4.EVENT_NAME)
+FROM performance_schema.events_waits_history t1
+JOIN performance_schema.events_waits_history t2 USING (EVENT_ID)
+JOIN performance_schema.events_waits_history t3 ON (t2.THREAD_ID = t3.THREAD_ID)
+JOIN performance_schema.events_waits_history t4 ON (t3.EVENT_NAME = t4.EVENT_NAME)
ORDER BY t1.EVENT_ID, t2.EVENT_ID
LIMIT 5;
# UNION
--replace_column 1 [THREAD_ID] 2 [EVENT_ID]
SELECT THREAD_ID, EVENT_ID FROM (
-SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT THREAD_ID, EVENT_ID FROM performance_schema.events_waits_current
UNION
-SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_HISTORY
+SELECT THREAD_ID, EVENT_ID FROM performance_schema.events_waits_history
UNION
-SELECT THREAD_ID, EVENT_ID FROM performance_schema.EVENTS_WAITS_HISTORY_LONG
+SELECT THREAD_ID, EVENT_ID FROM performance_schema.events_waits_history_long
) t1 ORDER BY THREAD_ID, EVENT_ID
LIMIT 5;
@@ -93,14 +93,14 @@ DROP TABLE IF EXISTS t_event;
DROP EVENT IF EXISTS t_ps_event;
--enable_warnings
CREATE TABLE t_event AS
-SELECT EVENT_ID FROM performance_schema.EVENTS_WAITS_CURRENT
+SELECT EVENT_ID FROM performance_schema.events_waits_current
WHERE 1 = 2;
CREATE EVENT t_ps_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND
DO INSERT INTO t_event
SELECT DISTINCT EVENT_ID
- FROM performance_schema.EVENTS_WAITS_CURRENT
- JOIN performance_schema.EVENTS_WAITS_HISTORY USING (EVENT_ID)
+ FROM performance_schema.events_waits_current
+ JOIN performance_schema.events_waits_history USING (EVENT_ID)
ORDER BY EVENT_ID
LIMIT 1;
@@ -116,7 +116,7 @@ delimiter |;
CREATE TRIGGER t_ps_trigger BEFORE INSERT ON t1
FOR EACH ROW BEGIN
SET NEW.c = (SELECT MAX(EVENT_ID)
- FROM performance_schema.EVENTS_WAITS_CURRENT);
+ FROM performance_schema.events_waits_current);
END;
|
@@ -136,17 +136,17 @@ DROP PROCEDURE IF EXISTS t_ps_proc;
--enable_warnings
delimiter |;
-CREATE PROCEDURE t_ps_proc(IN tid INT, OUT pid INT)
+CREATE PROCEDURE t_ps_proc(IN conid INT, OUT pid INT)
BEGIN
- SELECT id FROM performance_schema.THREADS
- WHERE THREAD_ID = tid INTO pid;
+ SELECT thread_id FROM performance_schema.threads
+ WHERE PROCESSLIST_ID = conid INTO pid;
END;
|
delimiter ;|
-CALL t_ps_proc(0, @p_id);
+CALL t_ps_proc(connection_id(), @p_id);
# FUNCTION
@@ -155,17 +155,17 @@ DROP FUNCTION IF EXISTS t_ps_proc;
--enable_warnings
delimiter |;
-CREATE FUNCTION t_ps_func(tid INT) RETURNS int
+CREATE FUNCTION t_ps_func(conid INT) RETURNS int
BEGIN
- return (SELECT id FROM performance_schema.THREADS
- WHERE THREAD_ID = tid);
+ return (SELECT thread_id FROM performance_schema.threads
+ WHERE PROCESSLIST_ID = conid);
END;
|
delimiter ;|
-SELECT t_ps_func(0) = @p_id;
+SELECT t_ps_func(connection_id()) = @p_id;
# We might reach this point too early which means the event scheduler has not
# execute our "t_ps_event". Therefore we poll till the record was inserted
diff --git a/mysql-test/suite/perfschema/t/server_init.test b/mysql-test/suite/perfschema/t/server_init.test
index cc461374a79..95d8be0e864 100644
--- a/mysql-test/suite/perfschema/t/server_init.test
+++ b/mysql-test/suite/perfschema/t/server_init.test
@@ -28,185 +28,173 @@ use performance_schema;
# Verify that these global mutexes have been properly initilized in mysys
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_threads";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_malloc";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_open";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_isam";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_myisam";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_heap";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_net";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/mysys/THR_LOCK_charset";
-select count(name) from MUTEX_INSTANCES
- where name like "wait/synch/mutex/mysys/THR_LOCK_time";
-
# There are no global rwlock in mysys
# Verify that these global conditions have been properly initilized in mysys
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/mysys/THR_COND_threads";
# Verify that these global mutexes have been properly initilized in sql
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_open";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_thread_count";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_status";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_error_log";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_insert";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_uuid_generator";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_status";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_delayed_create";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_crypt";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_slave_list";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_active_mi";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_manager";
-select count(name) from MUTEX_INSTANCES
- where name like "wait/synch/mutex/sql/LOCK_global_read_lock";
-
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_global_system_variables";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_user_conn";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_prepared_stmt_count";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_connection_count";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_server_started";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_rpl_status";
# LOG_INFO object are created on demand, and are not global.
-# select count(name) from MUTEX_INSTANCES
+# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/LOG_INFO::lock";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/Query_cache::structure_guard_mutex";
# The event scheduler may be disabled
-# select count(name) from MUTEX_INSTANCES
+# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state";
-select count(name) from MUTEX_INSTANCES
- where name like "wait/synch/mutex/sql/LOCK_event_metadata";
-
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_event_queue";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_user_locks";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/Cversion_lock";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_audit_mask";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_xid_cache";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/LOCK_plugin";
# Not a global variable, may be destroyed already.
-# select count(name) from MUTEX_INSTANCES
+# select count(name) from mutex_instances
# where name like "wait/synch/mutex/sql/LOCK_gdl";
-select count(name) from MUTEX_INSTANCES
+select count(name) from mutex_instances
where name like "wait/synch/mutex/sql/tz_LOCK";
# Verify that these global rwlocks have been properly initilized in sql
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_grant";
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect";
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_sys_init_slave";
-select count(name) from RWLOCK_INSTANCES
+select count(name) from rwlock_instances
where name like "wait/synch/rwlock/sql/LOCK_system_variables_hash";
# Verify that these global conditions have been properly initilized in sql
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_server_started";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_refresh";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_thread_count";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_manager";
-select count(name) from COND_INSTANCES
- where name like "wait/synch/cond/sql/COND_global_read_lock";
-
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_thread_cache";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_flush_thread_cache";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_rpl_status";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/Query_cache::COND_cache_status_changed";
# The event scheduler may be disabled
-# select count(name) from COND_INSTANCES
+# select count(name) from cond_instances
# where name like "wait/synch/cond/sql/Event_scheduler::COND_state";
-select count(name) from COND_INSTANCES
+select count(name) from cond_instances
where name like "wait/synch/cond/sql/COND_queue_state";
diff --git a/mysql-test/suite/perfschema/t/start_server_no_cond_class.test b/mysql-test/suite/perfschema/t/start_server_no_cond_class.test
index 34ff61c358e..da75306c2ca 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_cond_class.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_cond_class.test
@@ -23,7 +23,7 @@
# Expect no classes
show variables like "performance_schema_max_cond_classes";
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/synch/cond/%";
# We lost all the classes
@@ -31,7 +31,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_COND_CLASSES_LOST';
# Expect no instances
-select count(*) from performance_schema.COND_INSTANCES;
+select count(*) from performance_schema.cond_instances;
# Expect no instances lost
show status like "performance_schema_cond_instances_lost";
diff --git a/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test b/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test
index fe2177adb82..eb77d76b70e 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test
@@ -23,7 +23,7 @@
# Expect classes
show variables like "performance_schema_max_cond_classes";
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/cond/%";
# Expect no class lost
@@ -32,7 +32,7 @@ show status like "performance_schema_cond_classes_lost";
# Expect no instances
show variables like "performance_schema_max_cond_instances";
-select count(*) from performance_schema.COND_INSTANCES;
+select count(*) from performance_schema.cond_instances;
# Expect instances lost
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/t/start_server_no_file_class.test b/mysql-test/suite/perfschema/t/start_server_no_file_class.test
index ca84fbbdcf2..03180dae01e 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_file_class.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_file_class.test
@@ -23,7 +23,7 @@
# Expect no classes
show variables like "performance_schema_max_file_classes";
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/io/file/%";
# We lost all the classes
@@ -31,7 +31,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_FILE_CLASSES_LOST';
# Expect no instances
-select count(*) from performance_schema.FILE_INSTANCES;
+select count(*) from performance_schema.file_instances;
# Expect no instances lost
show status like "performance_schema_file_instances_lost";
diff --git a/mysql-test/suite/perfschema/t/start_server_no_file_inst.test b/mysql-test/suite/perfschema/t/start_server_no_file_inst.test
index dbbba7bbe4a..faa5e97a853 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_file_inst.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_file_inst.test
@@ -23,7 +23,7 @@
# Expect classes
show variables like "performance_schema_max_file_classes";
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/io/file/%";
# Expect no class lost
@@ -32,7 +32,7 @@ show status like "performance_schema_file_classes_lost";
# Expect no instances
show variables like "performance_schema_max_file_instances";
-select count(*) from performance_schema.FILE_INSTANCES;
+select count(*) from performance_schema.file_instances;
# Expect instances lost
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test b/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test
index 142e150ede6..79bf3d52bc5 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test
@@ -23,7 +23,7 @@
# Expect no classes
show variables like "performance_schema_max_mutex_classes";
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/synch/mutex/%";
# We lost all the classes
@@ -31,7 +31,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_MUTEX_CLASSES_LOST';
# Expect no instances
-select count(*) from performance_schema.MUTEX_INSTANCES;
+select count(*) from performance_schema.mutex_instances;
# Expect no instances lost
show status like "performance_schema_mutex_instances_lost";
diff --git a/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test b/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test
index 5a03251d97a..32c0a02b642 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test
@@ -23,7 +23,7 @@
# Expect classes
show variables like "performance_schema_max_mutex_classes";
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/mutex/%";
# Expect no class lost
@@ -32,7 +32,7 @@ show status like "performance_schema_mutex_classes_lost";
# Expect no instances
show variables like "performance_schema_max_mutex_instances";
-select count(*) from performance_schema.MUTEX_INSTANCES;
+select count(*) from performance_schema.mutex_instances;
# Expect instances lost
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test b/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test
index e4dfe121fcf..10780b59fbe 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test
@@ -23,7 +23,7 @@
# Expect no classes
show variables like "performance_schema_max_rwlock_classes";
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "wait/synch/rwlock/%";
# We lost all the classes
@@ -31,7 +31,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_RWLOCK_CLASSES_LOST';
# Expect no instances
-select count(*) from performance_schema.RWLOCK_INSTANCES;
+select count(*) from performance_schema.rwlock_instances;
# Expect no instances lost
show status like "performance_schema_rwlock_instances_lost";
diff --git a/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test b/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test
index 1d79d2d3991..2ba2ebcdd4b 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test
@@ -23,7 +23,7 @@
# Expect classes
show variables like "performance_schema_max_rwlock_classes";
-select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+select count(*) > 0 from performance_schema.setup_instruments
where name like "wait/synch/rwlock/%";
# Expect no class lost
@@ -32,7 +32,7 @@ show status like "performance_schema_rwlock_classes_lost";
# Expect no instances
show variables like "performance_schema_max_rwlock_instances";
-select count(*) from performance_schema.RWLOCK_INSTANCES;
+select count(*) from performance_schema.rwlock_instances;
# Expect instances lost
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_class.test b/mysql-test/suite/perfschema/t/start_server_no_thread_class.test
index 1ed0fecb538..df825ede637 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_thread_class.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_thread_class.test
@@ -23,7 +23,7 @@
# Expect no classes
show variables like "performance_schema_max_thread_classes";
-select count(*) from performance_schema.SETUP_INSTRUMENTS
+select count(*) from performance_schema.setup_instruments
where name like "thread/%";
# We lost all the classes
@@ -31,7 +31,7 @@ select variable_value > 0 from information_schema.global_status
where variable_name like 'PERFORMANCE_SCHEMA_THREAD_CLASSES_LOST';
# Expect no instances
-select count(*) from performance_schema.THREADS;
+select count(*) from performance_schema.threads;
# Expect no instances lost
show status like "performance_schema_thread_instances_lost";
diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test b/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test
index 489f814ba10..150886d01f9 100644
--- a/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test
+++ b/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test
@@ -24,7 +24,7 @@
show variables like "performance_schema_max_thread_classes";
# Not observable yet
-# select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS
+# select count(*) > 0 from performance_schema.setup_instruments
# where name like "thread/%";
# Expect no class lost
@@ -33,7 +33,7 @@ show status like "performance_schema_thread_classes_lost";
# Expect no instances
show variables like "performance_schema_max_thread_instances";
-select count(*) from performance_schema.THREADS;
+select count(*) from performance_schema.threads;
# Expect instances lost
select variable_value > 0 from information_schema.global_status
diff --git a/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test b/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test
index be079bacfbf..741b41ec46b 100644
--- a/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test
+++ b/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test
@@ -27,18 +27,18 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
-# The message prints 'mysql.SETUP_INSTRUMENTS'
-# instead of 'performance_schema.SETUP_INSTRUMENTS',
+# The message prints 'mysql.setup_instruments'
+# instead of 'performance_schema.setup_instruments',
# due to Bug#46792
call mtr.add_suppression(
-"Column count of mysql.SETUP_INSTRUMENTS is wrong. "
+"Column count of mysql.setup_instruments is wrong. "
"Expected 4, found 3. The table is probably corrupted");
--error ER_WRONG_NATIVE_TABLE_STRUCTURE
-select * from performance_schema.SETUP_INSTRUMENTS limit 1;
+select * from performance_schema.setup_instruments limit 1;
--disable_result_log
-select * from performance_schema.SETUP_CONSUMERS limit 1;
+select * from performance_schema.setup_consumers limit 1;
--enable_result_log
diff --git a/mysql-test/suite/perfschema/t/thread_cache.test b/mysql-test/suite/perfschema/t/thread_cache.test
index 5560f66babb..e839552ed19 100644
--- a/mysql-test/suite/perfschema/t/thread_cache.test
+++ b/mysql-test/suite/perfschema/t/thread_cache.test
@@ -20,6 +20,8 @@
# Setup
+flush status;
+
SET @saved_thread_cache_size = @@global.thread_cache_size;
set global thread_cache_size = 0;
@@ -30,17 +32,17 @@ connect (con1, localhost, root, , );
let $con1_ID=`select connection_id()`;
-let $con1_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID = connection_id()`;
+let $con1_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
connect (con2, localhost, root, , );
let $con2_ID=`select connection_id()`;
-let $con2_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID = connection_id()`;
+let $con2_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
-connection default;
+--connection default
--disable_query_log
eval select ($con2_ID - $con1_ID) into @id_increment;
@@ -52,19 +54,33 @@ select @id_increment;
# Expect 1, THREAD_ID is incremented for each new connection
select @thread_id_increment;
-disconnect con2;
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnect con2 to complete
+let $wait_condition=
+ select count(*) = 2 from performance_schema.threads
+ where name like "thread/sql/one_connection";
+--source include/wait_condition.inc
connect (con3, localhost, root, , );
let $con3_ID=`select connection_id()`;
-let $con3_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID = connection_id()`;
+let $con3_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
+
+--disconnect con3
+--disconnect con1
-disconnect con3;
-disconnect con1;
+--connection default
-connection default;
+# Wait for the disconnect con1 and con3 to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where name like "thread/sql/one_connection";
+--source include/wait_condition.inc
--disable_query_log
eval select ($con3_ID - $con2_ID) into @id_increment;
@@ -82,17 +98,17 @@ connect (con1, localhost, root, , );
let $con1_ID=`select connection_id()`;
-let $con1_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID = connection_id()`;
+let $con1_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
connect (con2, localhost, root, , );
let $con2_ID=`select connection_id()`;
-let $con2_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID = connection_id()`;
+let $con2_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
-connection default;
+--connection default
--disable_query_log
eval select ($con2_ID - $con1_ID) into @id_increment;
@@ -102,19 +118,33 @@ eval select ($con2_THREAD_ID - $con1_THREAD_ID) into @thread_id_increment;
select @id_increment;
select @thread_id_increment;
-disconnect con2;
+--disconnect con2
+
+--connection default
+
+# Wait for the disconnect con2 to complete
+let $wait_condition=
+ select count(*) = 2 from performance_schema.threads
+ where name like "thread/sql/one_connection";
+--source include/wait_condition.inc
connect (con3, localhost, root, , );
let $con3_ID=`select connection_id()`;
-let $con3_THREAD_ID=`select thread_id from performance_schema.THREADS
- where ID = connection_id()`;
+let $con3_THREAD_ID=`select thread_id from performance_schema.threads
+ where PROCESSLIST_ID = connection_id()`;
-disconnect con3;
-disconnect con1;
+--disconnect con3
+--disconnect con1
-connection default;
+--connection default
+
+# Wait for the disconnect con1 and con3 to complete
+let $wait_condition=
+ select count(*) = 1 from performance_schema.threads
+ where name like "thread/sql/one_connection";
+--source include/wait_condition.inc
--disable_query_log
eval select ($con3_ID - $con2_ID) into @id_increment;
@@ -132,3 +162,5 @@ select @thread_id_increment;
set global thread_cache_size = @saved_thread_cache_size;
+show status like "performance_schema_thread%";
+
diff --git a/mysql-test/suite/perfschema_stress/t/modify.test b/mysql-test/suite/perfschema_stress/t/modify.test
index 08b0699ace6..f37255c6b09 100644
--- a/mysql-test/suite/perfschema_stress/t/modify.test
+++ b/mysql-test/suite/perfschema_stress/t/modify.test
@@ -19,7 +19,7 @@
let $have_table= `SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1'`;
-if (`SELECT ($have_table = 0)`) {
+if (!$have_table) {
--source suite/perfschema_stress/t/setup.test
}
diff --git a/mysql-test/suite/perfschema_stress/t/setup.test b/mysql-test/suite/perfschema_stress/t/setup.test
index 9f643edfebe..e55ed5e8630 100644
--- a/mysql-test/suite/perfschema_stress/t/setup.test
+++ b/mysql-test/suite/perfschema_stress/t/setup.test
@@ -23,10 +23,10 @@ if (`SELECT VERSION() LIKE '%embedded%'`)
--disable_query_log
--disable_result_log
-if (`SELECT LENGTH('$engine_type') = 0`) {
+if (!$engine_type) {
let $engine_type= $default_engine_type;
}
-if (`SELECT '$engine_type' = 'Falcon'`) {
+if ($engine_type == Falcon) {
--source include/have_falcon.inc
}
diff --git a/mysql-test/suite/perfschema_stress/t/work.test b/mysql-test/suite/perfschema_stress/t/work.test
index 8f1bc42c5bc..4408a00b0c9 100644
--- a/mysql-test/suite/perfschema_stress/t/work.test
+++ b/mysql-test/suite/perfschema_stress/t/work.test
@@ -19,7 +19,7 @@
let $have_table= `SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1'`;
-if (`SELECT ($have_table = 0)`) {
+if (!$have_table) {
--source suite/perfschema_stress/t/setup.test
}
diff --git a/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc b/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc
index 79825016448..89db1c3545d 100644
--- a/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc
+++ b/mysql-test/suite/rpl/include/rpl_mixed_ddl.inc
@@ -1,6 +1,4 @@
#########################################
-# Author: Serge Kozlov skozlov@mysql.com
-# Date: 07/10/2006
# Purpose: testing the replication in mixed mode
# Requirements: define binlog format for mysqld as in example below:
# ./mysql-test-run.pl --mysqld=--binlog-format=mixed
@@ -82,3 +80,4 @@ sync_slave_with_master;
# the files your self to see what is not matching
--diff_files $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/include/rpl_mixed_dml.inc b/mysql-test/suite/rpl/include/rpl_mixed_dml.inc
index d953397c0cb..dc245b8d38c 100644
--- a/mysql-test/suite/rpl/include/rpl_mixed_dml.inc
+++ b/mysql-test/suite/rpl/include/rpl_mixed_dml.inc
@@ -1,6 +1,4 @@
#########################################
-# Author: Serge Kozlov skozlov@mysql.com
-# Date: 07/10/2006
# Purpose: testing the replication in mixed mode
# Requirements: define binlog format for mysqld as in example below:
# ./mysql-test-run.pl --mysqld=--binlog-format=mixed
@@ -342,3 +340,4 @@ sync_slave_with_master;
# the files your self to see what is not matching
--diff_files $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_master.sql $MYSQLTEST_VARDIR/tmp/rpl_switch_stm_row_mixed_slave.sql
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl000011.result b/mysql-test/suite/rpl/r/rpl000011.result
deleted file mode 100644
index dd0fa2fbe74..00000000000
--- a/mysql-test/suite/rpl/r/rpl000011.result
+++ /dev/null
@@ -1,16 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (n int);
-insert into t1 values(1);
-stop slave;
-start slave;
-insert into t1 values(2);
-select * from t1;
-n
-1
-2
-drop table t1;
diff --git a/mysql-test/suite/rpl/r/rpl000010.result b/mysql-test/suite/rpl/r/rpl_000010.result
index 65191ea411f..4bb87a765cd 100644
--- a/mysql-test/suite/rpl/r/rpl000010.result
+++ b/mysql-test/suite/rpl/r/rpl_000010.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (n int not null auto_increment primary key);
insert into t1 values(NULL);
insert into t1 values(2);
@@ -12,3 +8,4 @@ n
1
2
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_000011.result b/mysql-test/suite/rpl/r/rpl_000011.result
new file mode 100644
index 00000000000..8a59eb746ad
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_000011.result
@@ -0,0 +1,15 @@
+include/master-slave.inc
+[connection master]
+create table t1 (n int);
+insert into t1 values(1);
+stop slave;
+include/wait_for_slave_to_stop.inc
+start slave;
+include/wait_for_slave_to_start.inc
+insert into t1 values(2);
+select * from t1;
+n
+1
+2
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl000013.result b/mysql-test/suite/rpl/r/rpl_000013.result
index 37838bb88e0..e94a469e970 100644
--- a/mysql-test/suite/rpl/r/rpl000013.result
+++ b/mysql-test/suite/rpl/r/rpl_000013.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t2(n int);
create temporary table t1 (n int);
insert into t1 values(1),(2),(3);
@@ -26,3 +22,4 @@ Slave_open_temp_tables 0
drop table if exists t1,t2;
Warnings:
Note 1051 Unknown table 't1'
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl000017.result b/mysql-test/suite/rpl/r/rpl_000017.result
index 403f4d4d4fe..1b4f9f1e8a3 100644
--- a/mysql-test/suite/rpl/r/rpl000017.result
+++ b/mysql-test/suite/rpl/r/rpl_000017.result
@@ -1,11 +1,8 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+include/master-slave.inc
+[connection master]
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
-start slave;
-drop table if exists t1;
+include/start_slave.inc
create table t1(n int);
insert into t1 values(24);
select * from t1;
@@ -13,3 +10,4 @@ n
24
drop table t1;
delete from mysql.user where user="replicate";
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_EE_err.result b/mysql-test/suite/rpl/r/rpl_EE_err.result
index 8c1277445b2..8220f4e0c8d 100644
--- a/mysql-test/suite/rpl/r/rpl_EE_err.result
+++ b/mysql-test/suite/rpl/r/rpl_EE_err.result
@@ -1,11 +1,8 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int) engine=myisam;
flush tables;
drop table if exists t1;
Warnings:
Warning 2 Can't find file: 't1' (errno: 2)
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_LD_INFILE.result b/mysql-test/suite/rpl/r/rpl_LD_INFILE.result
index b092dd9e088..3280d4bbaf7 100644
--- a/mysql-test/suite/rpl/r/rpl_LD_INFILE.result
+++ b/mysql-test/suite/rpl/r/rpl_LD_INFILE.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (a VARCHAR(255), PRIMARY KEY(a));
LOAD DATA INFILE '../../std_data/words2.dat' INTO TABLE test.t1;
@@ -115,3 +111,4 @@ abasement
abased
abase
DROP TABLE test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_alter.result b/mysql-test/suite/rpl/r/rpl_alter.result
index 6ef5ce3462a..2cffa70d778 100644
--- a/mysql-test/suite/rpl/r/rpl_alter.result
+++ b/mysql-test/suite/rpl/r/rpl_alter.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest;
+include/master-slave.inc
+[connection master]
create database mysqltest;
create table mysqltest.t1 ( n int);
alter table mysqltest.t1 add m int;
@@ -19,3 +14,4 @@ select * from mysqltest.t3;
n
45
drop database mysqltest;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_alter_db.result b/mysql-test/suite/rpl/r/rpl_alter_db.result
index 60c07d0dede..55adbfeda79 100644
--- a/mysql-test/suite/rpl/r/rpl_alter_db.result
+++ b/mysql-test/suite/rpl/r/rpl_alter_db.result
@@ -1,12 +1,9 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Verify that alter database does not stop replication ====
create database temp_db;
use temp_db;
alter database collate latin1_bin;
==== Clean up ====
drop database temp_db;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_auto_increment.result b/mysql-test/suite/rpl/r/rpl_auto_increment.result
index 831e9b5c8b5..a0478947c72 100644
--- a/mysql-test/suite/rpl/r/rpl_auto_increment.result
+++ b/mysql-test/suite/rpl/r/rpl_auto_increment.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam auto_increment=3;
insert into t1 values (NULL,1),(NULL,2),(NULL,3);
select * from t1;
@@ -244,12 +240,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
drop table t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) ENGINE=innodb;
@@ -303,12 +294,30 @@ id
INSERT INTO t1 VALUES(4);
INSERT INTO t2 VALUES(4);
FLUSH LOGS;
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1;
DROP TABLE t2;
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1;
DROP TABLE t2;
SET SQL_MODE='';
+CREATE TABLE t1 (id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, data INT) ENGINE=innodb;
+BEGIN;
+# Set sql_mode with NO_AUTO_VALUE_ON_ZERO for allowing
+# zero to fill the auto_increment field.
+SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
+INSERT INTO t1(id,data) VALUES(0,2);
+# Resetting sql_mode without NO_AUTO_VALUE_ON_ZERO to
+# affect the execution of the transaction on slave.
+SET SQL_MODE=0;
+COMMIT;
+SELECT * FROM t1;
+id data
+0 2
+SELECT * FROM t1;
+id data
+0 2
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_auto_increment_11932.result b/mysql-test/suite/rpl/r/rpl_auto_increment_11932.result
index 25eda6ee454..62ff28e7159 100644
--- a/mysql-test/suite/rpl/r/rpl_auto_increment_11932.result
+++ b/mysql-test/suite/rpl/r/rpl_auto_increment_11932.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists test1;
create database test1;
use test1;
@@ -44,4 +40,4 @@ id fname
1 testtest 1
2 test
drop database test1;
-drop database test1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result b/mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result
new file mode 100644
index 00000000000..71c6ff57f80
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result
@@ -0,0 +1,45 @@
+include/master-slave.inc
+[connection master]
+==== Initialize ====
+SET @old_relay_log_purge= @@global.relay_log_purge;
+include/setup_fake_relay_log.inc
+Setting up fake replication from MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001
+==== Test ====
+start slave sql_thread;
+include/wait_for_slave_param.inc [Exec_Master_Log_Pos]
+# Result on slave
+SELECT * FROM t1;
+id
+5
+6
+7
+8
+9
+10
+11
+SELECT * FROM t2;
+id
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+==== Clean up ====
+stop slave sql_thread;
+include/cleanup_fake_relay_log.inc
+DROP TABLE t1, t2;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP FUNCTION f1;
+SET @@global.relay_log_purge= @old_relay_log_purge;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result b/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
index b2cc92491c3..af84978dc80 100644
--- a/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
+++ b/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
# Test case1: INVOKES A TRIGGER with after insert action
create table t1(a int, b int) engine=innodb;
create table t2(i1 int not null auto_increment, a int, primary key(i1)) engine=innodb;
@@ -110,9 +106,9 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'INVOKES A TRIGGER with after insert action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t4 and slave:test.t4
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t4, slave:t4]
+include/diff_tables.inc [master:t6, slave:t6]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -226,9 +222,9 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'INVOKES A TRIGGER with before insert action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t4 and slave:test.t4
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t4, slave:t4]
+include/diff_tables.inc [master:t6, slave:t6]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -342,9 +338,9 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'INVOKES A TRIGGER with after update action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t4 and slave:test.t4
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t4, slave:t4]
+include/diff_tables.inc [master:t6, slave:t6]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -458,9 +454,9 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'INVOKES A TRIGGER with before update action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t4 and slave:test.t4
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t4, slave:t4]
+include/diff_tables.inc [master:t6, slave:t6]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -574,9 +570,9 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'INVOKES A TRIGGER with after delete action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t4 and slave:test.t4
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t4, slave:t4]
+include/diff_tables.inc [master:t6, slave:t6]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -690,9 +686,9 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'INVOKES A TRIGGER with before delete action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t4 and slave:test.t4
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t4, slave:t4]
+include/diff_tables.inc [master:t6, slave:t6]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -761,8 +757,8 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'CALLS A FUNCTION which INVOKES A TRIGGER with after insert action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t3 and slave:test.t3
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t3, slave:t3]
drop table t1;
drop table t2;
drop table t3;
@@ -828,8 +824,8 @@ master-bin.000001 # Xid # # COMMIT /* XID */
commit;
#Test if the results are consistent on master and slave
#for 'CALLS A FUNCTION which INVOKES A TRIGGER with before insert action'
-Comparing tables master:test.t2 and slave:test.t2
-Comparing tables master:test.t3 and slave:test.t3
+include/diff_tables.inc [master:t2, slave:t2]
+include/diff_tables.inc [master:t3, slave:t3]
drop table t1;
drop table t2;
drop table t3;
@@ -853,7 +849,7 @@ INSERT INTO v16(c1) VALUES (25), (26);
commit;
#Test if the results are consistent on master and slave
#for 'INSERT DATA INTO VIEW WHICH INVOKES TRIGGERS'
-Comparing tables master:test.t3 and slave:test.t3
+include/diff_tables.inc [master:t3, slave:t3]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -877,7 +873,7 @@ INSERT INTO v16(c1) VALUES (25), (26);
commit;
#Test if the results are consistent on master and slave
#for 'INSERT DATA INTO VIEW WHICH INVOKES TRIGGERS'
-Comparing tables master:test.t3 and slave:test.t3
+include/diff_tables.inc [master:t3, slave:t3]
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
@@ -980,8 +976,8 @@ master-bin.000001 # Query # # use `test`; insert into t2(a,b) values(3,3)
master-bin.000001 # Xid # # COMMIT /* XID */
#Test if the results are consistent on master and slave
#for 'UPDATE MORE THAN ONE TABLES ON TOP-STATEMENT'
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
drop table t1;
drop table t2;
# Test case14: INSERT DATA INTO VIEW WHICH INVOLVED MORE THAN ONE TABLES
@@ -1034,8 +1030,9 @@ master-bin.000001 # Query # # use `test`; INSERT INTO v15(c2) VALUES (25), (26)
master-bin.000001 # Xid # # COMMIT /* XID */
#Test if the results are consistent on master and slave
#for 'INSERT DATA INTO VIEW WHICH INVOLVED MORE THAN ONE TABLES'
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
drop table t1;
drop table t2;
drop view v15;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result b/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
index 94c4e31d584..4cddb7d2cc7 100644
--- a/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
+++ b/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
SET @@session.binlog_direct_non_transactional_updates= FALSE;
@@ -52,6 +48,7 @@ before call db1.p1()
after call db1.p1()
[on slave]
start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_POS;
+include/wait_for_slave_sql_to_stop.inc
#
# If we got non-zero here, then we're suffering BUG#43263
#
@@ -92,6 +89,7 @@ executed db1.p2()
after call db1.p2()
[on slave]
start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_POS;
+include/wait_for_slave_sql_to_stop.inc
#
# If we got non-zero here, then we're suffering BUG#43263
#
@@ -110,6 +108,7 @@ s
before call db1.p1()
executed db1.p2()
START SLAVE;
+include/wait_for_slave_sql_to_start.inc
#
# SAVEPOINT and ROLLBACK TO have the same problem in BUG#43263
# This was reported by BUG#50407
@@ -178,3 +177,4 @@ a
#
DROP DATABASE db1;
DROP DATABASE db2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_auto_inc_bug33029.result b/mysql-test/suite/rpl/r/rpl_binlog_auto_inc_bug33029.result
deleted file mode 100644
index f0fdd5eaa1f..00000000000
--- a/mysql-test/suite/rpl/r/rpl_binlog_auto_inc_bug33029.result
+++ /dev/null
@@ -1,37 +0,0 @@
-Setting up fake replication from MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001
-start slave sql_thread;
-select MASTER_POS_WAIT('master-bin.000001', 3776);
-# Result on slave
-SELECT * FROM t1;
-id
-5
-6
-7
-8
-9
-10
-11
-SELECT * FROM t2;
-id
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-DROP TABLE IF EXISTS t1, t2;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP FUNCTION IF EXISTS f1;
-DROP TRIGGER IF EXISTS tr1;
-stop slave sql_thread;
-Cleaning up after setup_fake_relay_log.inc
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_corruption.result b/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
index f94d2833603..a2a065e0a4f 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
+++ b/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
@@ -1,8 +1,16 @@
+include/master-slave.inc
+[connection master]
call mtr.add_suppression('Found invalid event in binary log');
+call mtr.add_suppression('Slave SQL.*Relay log read failure: Could not parse relay log event entry.* 1594');
==== Initialize ====
+include/stop_slave.inc
+RESET SLAVE;
+include/setup_fake_relay_log.inc
Setting up fake replication from MYSQL_TEST_DIR/std_data/bug40482-bin.000001
==== Test ====
START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error.inc [errno=1594]
Last_SQL_Error = Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
==== Clean up ====
-Cleaning up after setup_fake_relay_log.inc
+include/cleanup_fake_relay_log.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_errors.result b/mysql-test/suite/rpl/r/rpl_binlog_errors.result
new file mode 100644
index 00000000000..be1b3b150bc
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_binlog_errors.result
@@ -0,0 +1,278 @@
+include/master-slave.inc
+[connection master]
+#######################################################################
+####################### PART 1: MASTER TESTS ##########################
+#######################################################################
+include/stop_slave.inc
+call mtr.add_suppression("Can't generate a unique log-filename");
+call mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+call mtr.add_suppression("Error writing file .*");
+SET @old_debug= @@global.debug;
+SELECT repeat('x',8192) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data';
+SELECT repeat('x',10) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_46166-2.data';
+RESET MASTER;
+###################### TEST #1
+FLUSH LOGS;
+# assert: must show two binlogs
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+###################### TEST #2
+RESET MASTER;
+SET GLOBAL debug="+d,error_unique_log_filename";
+FLUSH LOGS;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show one binlog
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+SET GLOBAL debug="";
+RESET MASTER;
+###################### TEST #3
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a VARCHAR(16384)) Engine=InnoDB;
+CREATE TABLE t4 (a VARCHAR(16384));
+INSERT INTO t1 VALUES (1);
+RESET MASTER;
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+# assert: must show two binlog
+show binary logs;
+Log_name File_size
+master-bin.000001 #
+master-bin.000002 #
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #4
+SET GLOBAL debug="+d,error_unique_log_filename";
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show one entry
+SELECT count(*) FROM t2;
+count(*)
+1
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #5
+SET GLOBAL debug="+d,error_unique_log_filename";
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166-2.data' INTO TABLE t2;
+# assert: must show one entry
+SELECT count(*) FROM t2;
+count(*)
+1
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #6
+SET GLOBAL debug="+d,error_unique_log_filename";
+SET AUTOCOMMIT=0;
+INSERT INTO t2 VALUES ('muse');
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+INSERT INTO t2 VALUES ('muse');
+COMMIT;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show three entries
+SELECT count(*) FROM t2;
+count(*)
+3
+SET AUTOCOMMIT= 1;
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+###################### TEST #7
+SET GLOBAL debug="+d,error_unique_log_filename";
+SELECT count(*) FROM t4;
+count(*)
+0
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t4;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# assert: must show 1 entry
+SELECT count(*) FROM t4;
+count(*)
+1
+### check that the incident event is written to the current log
+SET GLOBAL debug="-d,error_unique_log_filename";
+FLUSH LOGS;
+SHOW BINLOG EVENTS IN 'BINLOG_FILE' FROM <binlog_start> LIMIT 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+BINLOG_FILE # Incident # # #1 (LOST_EVENTS)
+DELETE FROM t4;
+RESET MASTER;
+###################### TEST #8
+SET GLOBAL debug="+d,error_unique_log_filename";
+# must show 0 entries
+SELECT count(*) FROM t4;
+count(*)
+0
+SELECT count(*) FROM t2;
+count(*)
+0
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t4;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug_46166.data' INTO TABLE t2;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc');
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# INFO: Count(*) Before Offending DELETEs
+# assert: must show 1 entry
+SELECT count(*) FROM t4;
+count(*)
+1
+# assert: must show 4 entries
+SELECT count(*) FROM t2;
+count(*)
+4
+DELETE FROM t4;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+DELETE FROM t2;
+ERROR HY000: Can't generate a unique log-filename master-bin.(1-999)
+
+# INFO: Count(*) After Offending DELETEs
+# assert: must show zero entries
+SELECT count(*) FROM t4;
+count(*)
+0
+SELECT count(*) FROM t2;
+count(*)
+0
+SET GLOBAL debug="-d,error_unique_log_filename";
+###################### TEST #9
+SET GLOBAL debug="+d,error_unique_log_filename";
+SET SQL_LOG_BIN=0;
+INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc'), ('ddd');
+INSERT INTO t4 VALUES ('eee'), ('fff'), ('ggg'), ('hhh');
+# assert: must show four entries
+SELECT count(*) FROM t2;
+count(*)
+4
+SELECT count(*) FROM t4;
+count(*)
+4
+DELETE FROM t2;
+DELETE FROM t4;
+# assert: must show zero entries
+SELECT count(*) FROM t2;
+count(*)
+0
+SELECT count(*) FROM t4;
+count(*)
+0
+SET SQL_LOG_BIN=1;
+SET GLOBAL debug="-d,error_unique_log_filename";
+###################### TEST #10
+call mtr.add_suppression("MSYQL_BIN_LOG::open failed to sync the index file.");
+call mtr.add_suppression("Could not open .*");
+RESET MASTER;
+SHOW WARNINGS;
+Level Code Message
+SET GLOBAL debug="+d,fault_injection_registering_index";
+FLUSH LOGS;
+ERROR HY000: Can't open file: 'master-bin.000002' (errno: 1)
+SET GLOBAL debug="-d,fault_injection_registering_index";
+SHOW BINARY LOGS;
+ERROR HY000: You are not using binary logging
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+###################### TEST #11
+include/rpl_restart_server.inc [server_number=1]
+SET GLOBAL debug="+d,fault_injection_openning_index";
+FLUSH LOGS;
+ERROR HY000: Can't open file: 'master-bin.index' (errno: 1)
+SET GLOBAL debug="-d,fault_injection_openning_index";
+RESET MASTER;
+ERROR HY000: Binlog closed, cannot RESET MASTER
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+include/rpl_restart_server.inc [server_number=1]
+###################### TEST #12
+SET GLOBAL debug="+d,fault_injection_new_file_rotate_event";
+FLUSH LOGS;
+ERROR HY000: Can't open file: 'master-bin' (errno: 2)
+SET GLOBAL debug="-d,fault_injection_new_file_rotate_event";
+RESET MASTER;
+ERROR HY000: Binlog closed, cannot RESET MASTER
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+include/rpl_restart_server.inc [server_number=1]
+SET GLOBAL debug= @old_debug;
+DROP TABLE t1, t2, t4;
+RESET MASTER;
+include/start_slave.inc
+#######################################################################
+####################### PART 2: SLAVE TESTS ###########################
+#######################################################################
+include/rpl_reset.inc
+call mtr.add_suppression("Slave I/O: Relay log write failure: could not queue event from master.*");
+call mtr.add_suppression("Error writing file .*");
+call mtr.add_suppression("Could not open .*");
+call mtr.add_suppression("MSYQL_BIN_LOG::open failed to sync the index file.");
+call mtr.add_suppression("Can't generate a unique log-filename .*");
+###################### TEST #13
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug="+d,error_unique_log_filename";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug="-d,error_unique_log_filename";
+SET GLOBAL debug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+###################### TEST #14
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug="+d,fault_injection_new_file_rotate_event";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug="-d,fault_injection_new_file_rotate_event";
+SET GLOBAL debug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+###################### TEST #15
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug="+d,fault_injection_registering_index";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug="-d,fault_injection_registering_index";
+SET GLOBAL debug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+###################### TEST #16
+SET @old_debug=@@global.debug;
+include/stop_slave.inc
+SET GLOBAL debug="+d,fault_injection_openning_index";
+START SLAVE io_thread;
+include/wait_for_slave_io_error.inc [errno=1595]
+Last_IO_Error = 'Relay log write failure: could not queue event from master'
+SET GLOBAL debug="-d,fault_injection_openning_index";
+SET GLOBAL debug=@old_debug;
+include/rpl_restart_server.inc [server_number=2]
+include/stop_slave_sql.inc
+Warnings:
+Note 1255 Slave already has been stopped
+SET GLOBAL debug=@old_debug;
+RESET SLAVE;
+RESET MASTER;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_binlog_grant.result b/mysql-test/suite/rpl/r/rpl_binlog_grant.result
index 7a2e3183d5b..ccc7116a949 100644
--- a/mysql-test/suite/rpl/r/rpl_binlog_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_binlog_grant.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists d1;
+include/master-slave.inc
+[connection master]
create database d1;
use d1;
create table t (s1 int) engine=innodb;
@@ -30,3 +25,4 @@ Grants for x@y
GRANT USAGE ON *.* TO 'x'@'y'
drop user x@y;
drop database d1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bit.result b/mysql-test/suite/rpl/r/rpl_bit.result
index 924de8a65f8..fa935cd9e56 100644
--- a/mysql-test/suite/rpl/r/rpl_bit.result
+++ b/mysql-test/suite/rpl/r/rpl_bit.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (
dummyKey INTEGER NOT NULL,
@@ -136,3 +132,4 @@ hex(bit3)
24
35
DROP TABLE IF EXISTS test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bit_npk.result b/mysql-test/suite/rpl/r/rpl_bit_npk.result
index 9599660f18f..13c9985614e 100644
--- a/mysql-test/suite/rpl/r/rpl_bit_npk.result
+++ b/mysql-test/suite/rpl/r/rpl_bit_npk.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (
dummyKey INTEGER NOT NULL,
@@ -167,3 +163,4 @@ a b
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_blackhole.result b/mysql-test/suite/rpl/r/rpl_blackhole.result
index b28261bef9b..1fb8dd6d125 100644
--- a/mysql-test/suite/rpl/r/rpl_blackhole.result
+++ b/mysql-test/suite/rpl/r/rpl_blackhole.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
CREATE TABLE t1 (a INT, b INT, c INT);
CREATE TABLE t2 (a INT, b INT, c INT);
@@ -91,4 +87,5 @@ SELECT COUNT(*) FROM t1;
COUNT(*)
0
>>> Something was written to binary log <<<
-drop table t1,t2;
+DROP TABLE t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bug26395.result b/mysql-test/suite/rpl/r/rpl_bug26395.result
index c6dd2d01ed3..a3725f34a55 100644
--- a/mysql-test/suite/rpl/r/rpl_bug26395.result
+++ b/mysql-test/suite/rpl/r/rpl_bug26395.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialize ====
[on master]
CREATE TABLE tinnodb (a INT) ENGINE = INNODB;
@@ -20,6 +16,7 @@ SELECT * FROM tinnodb ORDER BY a;
a
1
[on slave]
+include/sync_slave_io_with_master.inc
==== Verify results on slave ====
include/stop_slave.inc
SELECT "" AS Slave_IO_State;
@@ -39,3 +36,4 @@ DROP TABLE tinnodb;
set @@debug= @old_debug;
[on slave]
DROP TABLE tinnodb;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bug31076.result b/mysql-test/suite/rpl/r/rpl_bug31076.result
index 76bce39fc43..1cf8b87f68d 100644
--- a/mysql-test/suite/rpl/r/rpl_bug31076.result
+++ b/mysql-test/suite/rpl/r/rpl_bug31076.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET @saved_slave_type_conversions = @@slave_type_conversions;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY';
CREATE DATABASE track;
@@ -70,3 +66,4 @@ event_id visit_id timestamp src data visits_events_id
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
DROP DATABASE track;
End of 5.1 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bug33931.result b/mysql-test/suite/rpl/r/rpl_bug33931.result
index a7f398f4546..ce8b6b169c7 100644
--- a/mysql-test/suite/rpl/r/rpl_bug33931.result
+++ b/mysql-test/suite/rpl/r/rpl_bug33931.result
@@ -1,7 +1,13 @@
-reset master;
-reset slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Failed during slave I/O thread initialization");
+call mtr.add_suppression("Slave SQL.*Failed during slave thread initialization.* 1593");
+include/stop_slave.inc
+reset slave;
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
start slave;
-Last_SQL_Error = Failed during slave thread initialization
+include/wait_for_slave_sql_error.inc [errno=1593]
+Last_SQL_Error = 'Failed during slave thread initialization'
SET GLOBAL debug="";
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bug37426.result b/mysql-test/suite/rpl/r/rpl_bug37426.result
new file mode 100644
index 00000000000..bf96255c7b4
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_bug37426.result
@@ -0,0 +1,12 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE char128_utf8 (i1 INT NOT NULL, c CHAR(128) CHARACTER SET utf8 NOT NULL, i2 INT NOT NULL);
+INSERT INTO char128_utf8 VALUES ( 1, "123", 1 );
+SELECT * FROM char128_utf8;
+i1 c i2
+1 123 1
+SELECT * FROM char128_utf8;
+i1 c i2
+1 123 1
+DROP TABLE char128_utf8;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bug38694.result b/mysql-test/suite/rpl/r/rpl_bug38694.result
index 711c4a91c03..b666d9a9155 100644
--- a/mysql-test/suite/rpl/r/rpl_bug38694.result
+++ b/mysql-test/suite/rpl/r/rpl_bug38694.result
@@ -1,6 +1,3 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_bug41902.result b/mysql-test/suite/rpl/r/rpl_bug41902.result
index c65773708cc..5331d4334fa 100644
--- a/mysql-test/suite/rpl/r/rpl_bug41902.result
+++ b/mysql-test/suite/rpl/r/rpl_bug41902.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
stop slave;
SET @@debug="d,simulate_find_log_pos_error";
reset slave;
@@ -31,4 +27,6 @@ purge binary logs to 'master-bin.000001';
ERROR HY000: Target log not found in binlog index
SET @@debug="";
purge binary logs to 'master-bin.000001';
-End of the tests
+==== clean up ====
+CHANGE MASTER TO MASTER_HOST = '127.0.0.1';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_change_master.result b/mysql-test/suite/rpl/r/rpl_change_master.result
index af09bed8dce..6674ab168ef 100644
--- a/mysql-test/suite/rpl/r/rpl_change_master.result
+++ b/mysql-test/suite/rpl/r/rpl_change_master.result
@@ -1,15 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(n int);
select * from t1;
n
stop slave sql_thread;
insert into t1 values(1);
insert into t1 values(2);
+include/wait_for_slave_param.inc [Read_Master_Log_Pos]
include/stop_slave.inc
change master to master_user='root';
start slave;
@@ -18,20 +15,4 @@ n
1
2
drop table t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int);
-insert into t1 values (1);
-flush logs;
-insert into t1 values (2);
-include/stop_slave.inc
-delete from t1 where a=2;
-CHANGE MASTER TO relay_log_file='slave-relay-bin.000005', relay_log_pos=4;
-start slave sql_thread;
-start slave io_thread;
-set global relay_log_purge=1;
-drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_charset.result b/mysql-test/suite/rpl/r/rpl_charset.result
index a4841b0baf3..5b025445050 100644
--- a/mysql-test/suite/rpl/r/rpl_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_charset.result
@@ -1,12 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set timestamp=1000000000;
-drop database if exists mysqltest2;
-drop database if exists mysqltest3;
create database mysqltest2 character set latin2;
set @@character_set_server=latin5;
create database mysqltest3;
@@ -141,3 +135,4 @@ primary key (`pk`)
set @p=_latin1 'test';
update t1 set pk='test' where pk=@p;
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_charset_sjis.result b/mysql-test/suite/rpl/r/rpl_charset_sjis.result
index 770ad0588d1..b31bad28a59 100644
--- a/mysql-test/suite/rpl/r/rpl_charset_sjis.result
+++ b/mysql-test/suite/rpl/r/rpl_charset_sjis.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1;
drop procedure if exists p1;
create table t1 (a varchar(255) character set sjis);
@@ -24,3 +20,4 @@ hex(a)
965C
drop table t1;
drop procedure p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
index c3ccc76d1bc..f9c5b48e227 100644
--- a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
+++ b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result
@@ -1,60 +1,11 @@
-*** Set up circular ring by schema A->B->C->D->A ***
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 1;
-RESET MASTER;
-RESET SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_A_PORT,master_user='root',MASTER_LOG_FILE='MASTER_A_LOG_FILE';
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 2;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_B_PORT,master_user='root',MASTER_LOG_FILE='MASTER_B_LOG_FILE';
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 3;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_C_PORT,master_user='root',MASTER_LOG_FILE='MASTER_C_LOG_FILE';
-SET auto_increment_increment = 4;
-SET auto_increment_offset = 4;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_D_PORT,master_user='root',MASTER_LOG_FILE='MASTER_D_LOG_FILE';
-SHOW VARIABLES LIKE 'auto_increment_%';
-Variable_name Value
-auto_increment_increment 4
-auto_increment_offset 1
-SHOW VARIABLES LIKE 'auto_increment_%';
-Variable_name Value
-auto_increment_increment 4
-auto_increment_offset 2
-SHOW VARIABLES LIKE 'auto_increment_%';
-Variable_name Value
-auto_increment_increment 4
-auto_increment_offset 3
-SHOW VARIABLES LIKE 'auto_increment_%';
-Variable_name Value
-auto_increment_increment 4
-auto_increment_offset 4
-1
-START SLAVE;
-START SLAVE;
-START SLAVE;
-START SLAVE;
+*** Set up circular replication on four servers ***
+include/rpl_init.inc [topology=1->2->3->4->1]
*** Preparing data ***
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=MyISAM;
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
+include/rpl_sync.inc
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
*** Testing schema A->B->C->D->A ***
@@ -62,6 +13,7 @@ INSERT INTO t1(b,c) VALUES('A',1);
INSERT INTO t1(b,c) VALUES('B',1);
INSERT INTO t1(b,c) VALUES('C',1);
INSERT INTO t1(b,c) VALUES('D',1);
+include/rpl_sync.inc
SELECT 'Master A',a,b FROM t1 WHERE c = 1 ORDER BY a,b;
Master A a b
Master A 1 A
@@ -95,6 +47,8 @@ SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
include/start_slave.inc
INSERT INTO t1 VALUES(6,'C',2);
INSERT INTO t1(b,c) VALUES('B',2);
+call mtr.add_suppression("Slave SQL.*Duplicate entry .6. for key .PRIMARY.* Error_code: 1062");
+include/wait_for_slave_sql_error.inc [errno=1062]
INSERT INTO t1(b,c) VALUES('A',2);
INSERT INTO t1(b,c) VALUES('D',2);
@@ -116,9 +70,9 @@ Master D a b
Master D 8 D
* Reconfigure replication to schema A->B->D->A *
-STOP SLAVE;
-STOP SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_B_PORT,master_user='root',master_log_file='LOG_FILE',master_log_pos=LOG_POS;
+include/stop_slave_io.inc
+include/stop_slave.inc
+include/rpl_change_topology.inc [new topology=1->2->4->1,2->3]
include/start_slave.inc
* Check data inserted before failure *
@@ -145,6 +99,7 @@ Master D 8 D
INSERT INTO t1(b,c) VALUES('A',3);
INSERT INTO t1(b,c) VALUES('B',3);
INSERT INTO t1(b,c) VALUES('D',3);
+include/rpl_sync.inc
SELECT 'Master A',a,b FROM t1 WHERE c = 3 ORDER BY a,b;
Master A a b
Master A 9 A
@@ -168,11 +123,12 @@ Master D 12 D
* Remove wrong event from C and restore B->C->D *
include/stop_slave.inc
DELETE FROM t1 WHERE a = 6;
-START SLAVE;
+include/start_slave.inc
RESET MASTER;
RESET SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_C_PORT,master_user='root',master_log_file='LOG_FILE',master_log_pos=LOG_POS;
-START SLAVE;
+include/rpl_change_topology.inc [new topology=1->2->3->4->1]
+include/start_slave.inc
+include/rpl_sync.inc
* Check data inserted before restoring schema A->B->C->D->A *
SELECT 'Master A',a,b FROM t1 WHERE c IN (2,3) ORDER BY a,b;
@@ -213,6 +169,7 @@ INSERT INTO t1(b,c) VALUES('A',4);
INSERT INTO t1(b,c) VALUES('B',4);
INSERT INTO t1(b,c) VALUES('C',4);
INSERT INTO t1(b,c) VALUES('D',4);
+include/rpl_sync.inc
SELECT 'Master A',a,b FROM t1 WHERE c = 4 ORDER BY a,b;
Master A a b
Master A 13 A
@@ -241,6 +198,7 @@ Master D 16 D
* Transactions with commits *
BEGIN;
BEGIN;
+include/rpl_sync.inc
SELECT 'Master A',b,COUNT(*) FROM t2 WHERE c = 1 GROUP BY b ORDER BY b;
Master A b COUNT(*)
Master A A 100
@@ -269,6 +227,7 @@ Master D D 100
* Transactions with rollbacks *
BEGIN;
BEGIN;
+include/rpl_sync.inc
SELECT 'Master A',b,COUNT(*) FROM t2 WHERE c = 2 GROUP BY b ORDER BY b;
Master A b COUNT(*)
Master A B 100
@@ -288,11 +247,4 @@ Master D D 100
*** Clean up ***
DROP TABLE t1,t2;
-STOP SLAVE;
-RESET SLAVE;
-STOP SLAVE;
-RESET SLAVE;
-STOP SLAVE;
-RESET SLAVE;
-STOP SLAVE;
-RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_colSize.result b/mysql-test/suite/rpl/r/rpl_colSize.result
index ae1ac3c7fed..0f701e32d9b 100644
--- a/mysql-test/suite/rpl/r/rpl_colSize.result
+++ b/mysql-test/suite/rpl/r/rpl_colSize.result
@@ -1,13 +1,10 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t1;
**** Testing WL#3228 changes. ****
*** Create "wider" table on slave ***
STOP SLAVE;
+include/wait_for_slave_to_stop.inc
RESET SLAVE;
SET @saved_slave_type_conversions = @@slave_type_conversions;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY';
@@ -57,6 +54,7 @@ t LONGTEXT
RESET MASTER;
*** Start replication ***
START SLAVE;
+include/wait_for_slave_to_start.inc
*** Insert data on master and display it. ***
INSERT INTO t1 () VALUES (
17.567,
@@ -180,3 +178,4 @@ t1 CREATE TABLE `t1` (
*** Cleanup ***
DROP TABLE t1;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_commit_after_flush.result b/mysql-test/suite/rpl/r/rpl_commit_after_flush.result
index eaddda63b6a..b91b273e64e 100644
--- a/mysql-test/suite/rpl/r/rpl_commit_after_flush.result
+++ b/mysql-test/suite/rpl/r/rpl_commit_after_flush.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (a INT) ENGINE=innodb;
begin;
insert into t1 values(1);
@@ -11,3 +7,4 @@ flush tables with read lock;
commit;
unlock tables;
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_concurrency_error.result b/mysql-test/suite/rpl/r/rpl_concurrency_error.result
index eb303c46f28..b6ed9db6c66 100644
--- a/mysql-test/suite/rpl/r/rpl_concurrency_error.result
+++ b/mysql-test/suite/rpl/r/rpl_concurrency_error.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
########################################################################
# Environment
@@ -118,11 +114,12 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; UPDATE t SET f = 'dark blue 1' WHERE f = 'red'
master-bin.000001 # Query # # use `test`; INSERT INTO t VALUES (6 + (1 * 10),"brown")
master-bin.000001 # Xid # # COMMIT /* XID */
-source include/diff_master_slave.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
+include/rpl_diff.inc
########################################################################
# Cleanup
########################################################################
DROP TRIGGER tr;
DROP TABLE t;
DROP TABLE n;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_conditional_comments.result b/mysql-test/suite/rpl/r/rpl_conditional_comments.result
index 0a2f4d60e6f..fca7d941718 100644
--- a/mysql-test/suite/rpl/r/rpl_conditional_comments.result
+++ b/mysql-test/suite/rpl/r/rpl_conditional_comments.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1(c1 INT);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
@@ -19,7 +15,7 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; /* 99999 --- */INSERT /*!INTO*/ /*!10000 t1 */ VALUES(10) /* 99999 ,(11)*/
master-bin.000001 # Query # # COMMIT
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
# Case 2:
# -----------------------------------------------------------------
@@ -30,7 +26,7 @@ EXECUTE stmt;
DROP TABLE t1;
CREATE TABLE t1(c1 INT);
EXECUTE stmt;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
SET @value=62;
PREPARE stmt FROM 'INSERT INTO /*!99999 blabla */ t1 VALUES(?) /*!99999 ,(63)*/';
@@ -56,7 +52,7 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1(c1 INT)
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO /* 99999 blabla */ t1 VALUES(62) /* 99999 ,(63)*/
master-bin.000001 # Query # # COMMIT
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
# Case 3:
# -----------------------------------------------------------------
@@ -65,3 +61,4 @@ Comparing tables master:test.t1 and slave:test.t1
SELECT c1 FROM /*!99999 t1 WHEREN;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/*!99999 t1 WHEREN' at line 1
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_database.result b/mysql-test/suite/rpl/r/rpl_create_database.result
index 9780b65f334..6bb950483ed 100644
--- a/mysql-test/suite/rpl/r/rpl_create_database.result
+++ b/mysql-test/suite/rpl/r/rpl_create_database.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP DATABASE IF EXISTS mysqltest_prometheus;
DROP DATABASE IF EXISTS mysqltest_sisyfos;
DROP DATABASE IF EXISTS mysqltest_bob;
@@ -60,3 +56,4 @@ t2
DROP DATABASE IF EXISTS mysqltest_prometheus;
DROP DATABASE IF EXISTS mysqltest_sisyfos;
DROP DATABASE IF EXISTS mysqltest_bob;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result b/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
index 0d3fc1b79a7..d12f3ff1360 100644
--- a/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
+++ b/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP DATABASE IF EXISTS mysqltest;
CREATE DATABASE IF NOT EXISTS mysqltest;
USE mysqltest;
@@ -69,12 +65,7 @@ DROP TABLE t3;
# After the worklog, it will insert nothing and the statement will not be
# binlogged if the table already exists.
# After the worklog, some bugs will disappear automotically.
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
# Case 1: BUG#47132
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
@@ -126,3 +117,4 @@ show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
DROP VIEW v1;
DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result b/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result
index 7459a977cf8..6bafbb32897 100644
--- a/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result
+++ b/mysql-test/suite/rpl/r/rpl_create_tmp_table_if_not_exists.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP DATABASE IF EXISTS mysqltest;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp(c1 int);
@@ -19,3 +15,4 @@ master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS t
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp1 LIKE tmp
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_cross_version.result b/mysql-test/suite/rpl/r/rpl_cross_version.result
index de5dd134516..ddb97ffa8c5 100644
--- a/mysql-test/suite/rpl/r/rpl_cross_version.result
+++ b/mysql-test/suite/rpl/r/rpl_cross_version.result
@@ -1,12 +1,19 @@
+include/master-slave.inc
+[connection master]
==== Initialize ====
+include/stop_slave.inc
+RESET SLAVE;
+include/setup_fake_relay_log.inc
Setting up fake replication from MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001
==== Test ====
start slave sql_thread;
+include/wait_for_slave_param.inc [Exec_Master_Log_Pos]
==== a prove that the fake has been processed successfully ====
SELECT COUNT(*) - 17920 as zero FROM t3;
zero
0
==== Clean up ====
-stop slave sql_thread;
-Cleaning up after setup_fake_relay_log.inc
+include/stop_slave_sql.inc
+include/cleanup_fake_relay_log.inc
drop table t1, t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_current_user.result b/mysql-test/suite/rpl/r/rpl_current_user.result
index 69c20078531..ecf8fc851d8 100644
--- a/mysql-test/suite/rpl/r/rpl_current_user.result
+++ b/mysql-test/suite/rpl/r/rpl_current_user.result
@@ -1,26 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
-
-# On slave2
-# Connect slave2 to slave
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=SLAVE_MYPORT;,
-MASTER_LOG_FILE='slave-bin.000001', MASTER_USER='root';
-START SLAVE;
-
-# [On master]
-DROP VIEW IF EXISTS v_user;
-DROP VIEW IF EXISTS v_tables_priv;
-DROP VIEW IF EXISTS v_procs_priv;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS my_grant;
-DROP PROCEDURE IF EXISTS my_revoke;
-DROP FUNCTION IF EXISTS my_user;
-DROP EVENT IF EXISTS e1;
+include/rpl_init.inc [topology=1->2->3]
+include/rpl_connect.inc [creating master]
+include/rpl_connect.inc [creating slave]
CREATE TABLE t1(c1 char(100));
CREATE VIEW test.v_user AS SELECT * FROM mysql.user WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_tables_priv AS SELECT * FROM mysql.tables_priv WHERE User LIKE 'bug48321%';
@@ -42,76 +22,76 @@ ERROR HY000: String '01234567890123456789012345678901234567890123456789012345678
# [On conn1]
# Verify 'REVOKE ALL' statement
REVOKE ALL PRIVILEGES, GRANT OPTION FROM CURRENT_USER();
-Comparing tables master:test.v_user and slave:test.v_user
-Comparing tables master:test.v_user and slave2:test.v_user
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_user, server_2:v_user, server_3:v_user]
# Verify 'GRANT ... ON TABLE ...' statement
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
-Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
-Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv]
# Verify 'GRANT ... ON PROCEDURE...' statement
GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE p1 TO CURRENT_USER();
-Comparing tables master:test.v_procs_priv and slave:test.v_procs_priv
-Comparing tables master:test.v_procs_priv and slave2:test.v_procs_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_procs_priv, server_2:v_procs_priv, server_3:v_procs_priv]
# Verify 'GRANT ... ON *.* ...' statement
GRANT ALL PRIVILEGES ON *.* TO CURRENT_USER() WITH GRANT OPTION;
-Comparing tables master:test.v_procs_priv and slave:test.v_procs_priv
-Comparing tables master:test.v_procs_priv and slave2:test.v_procs_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_procs_priv, server_2:v_procs_priv, server_3:v_procs_priv]
# Verify 'REVOKE ... ON TABLE ...' statement
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
-Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
-Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv]
# Verify 'REVOKE ... ON PROCEDURE...' statement
REVOKE ALTER ROUTINE, EXECUTE ON PROCEDURE p1 FROM CURRENT_USER();
-Comparing tables master:test.v_procs_priv and slave:test.v_procs_priv
-Comparing tables master:test.v_procs_priv and slave2:test.v_procs_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_procs_priv, server_2:v_procs_priv, server_3:v_procs_priv]
# Verify 'REVOKE ... ON *.* ...' statement
REVOKE ALL PRIVILEGES ON *.* FROM CURRENT_USER();
-Comparing tables master:test.v_user and slave:test.v_user
-Comparing tables master:test.v_user and slave2:test.v_user
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_user, server_2:v_user, server_3:v_user]
# Verify 'GRANT ...' statement in the procedure
CREATE PROCEDURE my_grant()
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
call my_grant;
-Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
-Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv]
# Verify 'REVOKE ... ON TABLE ...' statement in the procedure
CREATE PROCEDURE my_revoke()
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
call my_revoke;
-Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
-Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv]
# Verify 'RENAME USER ...' statement
RENAME USER CURRENT_USER TO 'bug48321_2'@'localhost';
-Comparing tables master:test.v_user and slave:test.v_user
-Comparing tables master:test.v_user and slave2:test.v_user
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_user, server_2:v_user, server_3:v_user]
# Verify 'DROP USER ...' statement
GRANT CREATE USER ON *.* TO 'bug48321_2'@'localhost';
DROP USER CURRENT_USER();
-Comparing tables master:test.v_user and slave:test.v_user
-Comparing tables master:test.v_user and slave2:test.v_user
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_user, server_2:v_user, server_3:v_user]
# Verify 'ALTER EVENT...' statement
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT * FROM t1;
# Explicitly assign CURRENT_USER() to definer
ALTER DEFINER=CURRENT_USER() EVENT e1 ENABLE;
-Comparing tables master:test.v_event and slave:test.v_event
-Comparing tables master:test.v_event and slave2:test.v_event
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_event, server_2:v_event, server_3:v_event]
# Session user will be set as definer, if the statement does not assign
# a definer
ALTER EVENT e1 ENABLE;
-Comparing tables master:test.v_event and slave:test.v_event
-Comparing tables master:test.v_event and slave2:test.v_event
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:v_event, server_2:v_event, server_3:v_event]
# Verify that this patch does not affect the calling of CURRENT_USER()
# in the other statements
@@ -128,7 +108,7 @@ SELECT * FROM t1;
c1
@
1234
-# [On slave2]
+# [On server_3]
SELECT * FROM t1;
c1
@
@@ -146,7 +126,7 @@ SELECT * FROM t1;
c1
@
@
-# [On slave2]
+# [On server_3]
SELECT * FROM t1;
c1
@
@@ -160,7 +140,7 @@ c1
# [On slave]
SELECT * FROM t1;
c1
-# [On slave2]
+# [On server_3]
SELECT * FROM t1;
c1
# [On master]
@@ -187,7 +167,7 @@ c1
SELECT * FROM t2;
c1
@
-# [On slave2]
+# [On server_3]
SELECT * FROM t1;
c1
@
@@ -203,3 +183,4 @@ DROP PROCEDURE my_grant;
DROP PROCEDURE my_revoke;
DROP FUNCTION my_user;
DROP EVENT e1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
index 1485389204b..c399b408d5c 100644
--- a/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_deadlock_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
*** Prepare tables and data ***
CREATE TABLE t1 (a INT NOT NULL, KEY(a)) ENGINE=innodb;
CREATE TABLE t2 (a INT) ENGINE=innodb;
@@ -50,7 +46,7 @@ a
SELECT * FROM t3;
a
3
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
*** Test lock wait timeout ***
include/stop_slave.inc
@@ -61,6 +57,7 @@ SELECT * FROM t1 FOR UPDATE;
a
1
START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1205]
SELECT COUNT(*) FROM t2;
COUNT(*)
0
@@ -74,7 +71,7 @@ SELECT * FROM t3;
a
3
3
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
*** Test lock wait timeout and purged relay logs ***
SET @my_max_relay_log_size= @@global.max_relay_log_size;
@@ -88,6 +85,7 @@ a
1
1
START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1205]
SELECT COUNT(*) FROM t2;
COUNT(*)
0
@@ -103,9 +101,10 @@ a
3
3
3
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
*** Clean up ***
DROP TABLE t1,t2,t3;
SET global max_relay_log_size= @my_max_relay_log_size;
End of 5.1 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_delete_no_where.result b/mysql-test/suite/rpl/r/rpl_delete_no_where.result
index 78edf4bf3fa..923cd428aec 100644
--- a/mysql-test/suite/rpl/r/rpl_delete_no_where.result
+++ b/mysql-test/suite/rpl/r/rpl_delete_no_where.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int, b int) engine=myisam;
insert into t1 values(1,1);
select * from t1;
@@ -13,3 +9,4 @@ delete from t1;
select * from t1;
a b
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_do_grant.result b/mysql-test/suite/rpl/r/rpl_do_grant.result
index 45c5bcf7ba0..772ffd1db20 100644
--- a/mysql-test/suite/rpl/r/rpl_do_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_do_grant.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
delete from mysql.user where user=_binary'rpl_do_grant';
delete from mysql.db where user=_binary'rpl_do_grant';
flush privileges;
@@ -166,22 +162,13 @@ USE test;
DROP FUNCTION bug42217_db.upgrade_del_func;
DROP FUNCTION bug42217_db.upgrade_alter_func;
DROP DATABASE bug42217_db;
-stop slave;
+SET SQL_LOG_BIN= 0;
DROP USER 'create_rout_db'@'localhost';
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+SET SQL_LOG_BIN= 1;
+include/rpl_reset.inc
+USE test;
######## BUG#49119 #######
### i) test case from the 'how to repeat section'
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
CREATE TABLE t1(c1 INT);
CREATE PROCEDURE p1() SELECT * FROM t1 |
REVOKE EXECUTE ON PROCEDURE p1 FROM 'root'@'localhost';
@@ -189,12 +176,7 @@ ERROR 42000: There is no such grant defined for user 'root' on host 'localhost'
DROP TABLE t1;
DROP PROCEDURE p1;
### ii) Test case in which REVOKE partially succeeds
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1(c1 INT);
CREATE PROCEDURE p1() SELECT * FROM t1 |
CREATE USER 'user49119'@'localhost';
@@ -208,6 +190,7 @@ GRANT EXECUTE ON PROCEDURE `test`.`p1` TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
##############################################################
### Showing grants for both users: root and user49119 (master)
@@ -218,6 +201,7 @@ GRANT EXECUTE ON PROCEDURE `test`.`p1` TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
## This statement will make the revoke fail because root has no
## execute grant. However, it will still revoke the grant for
@@ -233,6 +217,7 @@ GRANT USAGE ON *.* TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
#############################################################
### Showing grants for both users: root and user49119 (slave)
@@ -243,16 +228,12 @@ GRANT USAGE ON *.* TO 'user49119'@'localhost'
SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
+GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
##############################################################
DROP TABLE t1;
DROP PROCEDURE p1;
DROP USER 'user49119'@'localhost';
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
grant all on *.* to foo@"1.2.3.4";
revoke all privileges, grant option from "foo";
ERROR HY000: Can't revoke all privileges for one or more of the requested users
@@ -260,5 +241,24 @@ show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; grant all on *.* to foo@"1.2.3.4"
master-bin.000001 # Query # # use `test`; revoke all privileges, grant option from "foo"
+include/check_slave_no_error.inc
DROP USER foo@"1.2.3.4";
-"End of test"
+
+# Bug#27606 GRANT statement should be replicated with DEFINER information
+include/rpl_reset.inc
+GRANT SELECT, INSERT ON mysql.user TO user_bug27606@localhost;
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+Grantor
+root@localhost
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+Grantor
+root@localhost
+REVOKE SELECT ON mysql.user FROM user_bug27606@localhost;
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+Grantor
+root@localhost
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+Grantor
+root@localhost
+DROP USER user_bug27606@localhost;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop.result b/mysql-test/suite/rpl/r/rpl_drop.result
index b83594c9bb1..bdba42e1d34 100644
--- a/mysql-test/suite/rpl/r/rpl_drop.result
+++ b/mysql-test/suite/rpl/r/rpl_drop.result
@@ -1,10 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1, t2;
+include/master-slave.inc
+[connection master]
create table t1 (a int);
drop table t1, t2;
ERROR 42S02: Unknown table 't2'
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop_db.result b/mysql-test/suite/rpl/r/rpl_drop_db.result
index 8825797f80d..8a88f01a444 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_db.result
+++ b/mysql-test/suite/rpl/r/rpl_drop_db.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
create database mysqltest1;
create table mysqltest1.t1 (n int);
@@ -34,4 +30,4 @@ n
use test;
drop table t1;
drop database mysqltest1;
-include/stop_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop_temp.result b/mysql-test/suite/rpl/r/rpl_drop_temp.result
index 726b8f2fe54..ffabd514b0f 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_temp.result
+++ b/mysql-test/suite/rpl/r/rpl_drop_temp.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create database if not exists mysqltest;
use mysqltest;
create temporary table mysqltest.t1 (n int)ENGINE=MyISAM;
@@ -26,12 +22,7 @@ CREATE TEMPORARY TABLE tmp3 (a int);
DROP TEMPORARY TABLE tmp3;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 ( i INT );
SHOW STATUS LIKE 'Slave_open_temp_tables';
Variable_name Value
@@ -47,3 +38,4 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( i INT )
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE ttmp1 ( i INT )
master-bin.000001 # Query # # use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `ttmp1`
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_drop_view.result b/mysql-test/suite/rpl/r/rpl_drop_view.result
index c359011612a..0688ce42bc2 100644
--- a/mysql-test/suite/rpl/r/rpl_drop_view.result
+++ b/mysql-test/suite/rpl/r/rpl_drop_view.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1, t2;
drop view if exists v1, v2, v3, not_exist_view;
create table t1 (a int);
@@ -27,3 +23,4 @@ select * from v3;
ERROR 42S02: Table 'test.v3' doesn't exist
==== clean up ====
drop table t1, t2, t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result b/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result
index aa1a573d052..3a3bed1a6fd 100644
--- a/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result
+++ b/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result
@@ -1,12 +1,4 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-change master to master_host="127.0.0.1",master_port=SLAVE_PORT,master_user="root";
-include/start_slave.inc
+include/rpl_init.inc [topology=1->2->1]
create table t1 (n int);
include/stop_slave.inc
create table t2 (n int);
@@ -25,6 +17,7 @@ insert into t3 values(4);
start slave until master_log_file="MASTER_LOG_FILE",master_log_pos=MASTER_LOG_POS;
Warnings:
Note 1278 It is recommended to use --skip-slave-start when doing step-by-step replication with START SLAVE UNTIL; otherwise, you will get problems if you get an unexpected slave's mysqld restart
+include/wait_for_slave_sql_to_stop.inc
show tables;
Tables_in_test
t1
@@ -32,12 +25,14 @@ t2
start slave until master_log_file="MASTER_LOG_FILE",master_log_pos=MASTER_LOG_POS;
Warnings:
Note 1278 It is recommended to use --skip-slave-start when doing step-by-step replication with START SLAVE UNTIL; otherwise, you will get problems if you get an unexpected slave's mysqld restart
+include/wait_for_slave_sql_to_stop.inc
select * from t3;
n
1
start slave until master_log_file="MASTER_LOG_FILE",master_log_pos=MASTER_LOG_POS;
Warnings:
Note 1278 It is recommended to use --skip-slave-start when doing step-by-step replication with START SLAVE UNTIL; otherwise, you will get problems if you get an unexpected slave's mysqld restart
+include/wait_for_slave_sql_to_stop.inc
select * from t3;
n
1
@@ -55,6 +50,5 @@ t3
t4
t5
t6
-include/stop_slave.inc
-reset slave;
-drop table t1,t2,t3,t4,t5,t6;
+drop table t1, t2, t3, t4, t5, t6;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_empty_master_host.result b/mysql-test/suite/rpl/r/rpl_empty_master_host.result
index 46ef32d415b..8b0b4ec30df 100644
--- a/mysql-test/suite/rpl/r/rpl_empty_master_host.result
+++ b/mysql-test/suite/rpl/r/rpl_empty_master_host.result
@@ -1,10 +1,7 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
STOP SLAVE;
+include/wait_for_slave_to_stop.inc
Master_Host = '127.0.0.1' (expected '127.0.0.1')
CHANGE MASTER TO MASTER_HOST="";
ERROR HY000: Incorrect arguments to MASTER_HOST
@@ -14,3 +11,5 @@ Master_Host = 'foo' (expected 'foo')
CHANGE MASTER TO MASTER_HOST="127.0.0.1";
Master_Host = '127.0.0.1' (expected '127.0.0.1')
START SLAVE;
+include/wait_for_slave_to_start.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_err_ignoredtable.result b/mysql-test/suite/rpl/r/rpl_err_ignoredtable.result
index f211d5d9a2f..c2ec7eb4ba4 100644
--- a/mysql-test/suite/rpl/r/rpl_err_ignoredtable.result
+++ b/mysql-test/suite/rpl/r/rpl_err_ignoredtable.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int primary key);
create table t4 (a int primary key);
insert into t1 values (1),(1);
@@ -40,3 +36,4 @@ a
3
4
DROP TABLE test.t4;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_events.result b/mysql-test/suite/rpl/r/rpl_events.result
index 7d4e8a208eb..23dcfab57f0 100644
--- a/mysql-test/suite/rpl/r/rpl_events.result
+++ b/mysql-test/suite/rpl/r/rpl_events.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET @old_event_scheduler = @@global.event_scheduler;
set global event_scheduler=1;
DROP EVENT IF EXISTS test.justonce;
@@ -167,3 +163,4 @@ DROP EVENT event44331_1;
DROP EVENT event44331_2;
DROP EVENT event44331_3;
DROP EVENT event44331_4;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result b/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result
index 137253e68c0..e5e690bdf52 100644
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
***********************************************************
***********************************************************
@@ -90,7 +86,7 @@ f1 f2 f3 f4
27 27 27 next
29 29 29 second
30 30 30 next
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
***** Testing Altering table def scenario *****
@@ -427,7 +423,7 @@ f1 f2 f3 f4
** Check slave status **
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
****************************************
* columns in master at middle of table *
@@ -463,10 +459,8 @@ INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)''
*** Drop t10 ***
DROP TABLE t10;
@@ -501,10 +495,8 @@ INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)''
*** Drop t11 ***
DROP TABLE t11;
@@ -615,7 +607,8 @@ c1 c3 hex(c4) c5 c6
************
* Bug30415 *
************
-Last_SQL_Error = Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+include/wait_for_slave_sql_error.inc [errno=1091]
+Last_SQL_Error = 'Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7''
STOP SLAVE;
RESET SLAVE;
@@ -663,7 +656,8 @@ c1 hex(c4) c5 c6 c7 c2
*** Expect slave to fail with Error 1054 ***
********************************************
-Last_SQL_Error = Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+include/wait_for_slave_sql_error.inc [errno=1054]
+Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7''
STOP SLAVE;
RESET SLAVE;
@@ -711,7 +705,8 @@ c1 hex(c4) c5 c6 c7
*** BUG 30434 ***
*****************
-Last_SQL_Error = Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+include/wait_for_slave_sql_error.inc [errno=1072]
+Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)''
STOP SLAVE;
RESET SLAVE;
@@ -875,4 +870,4 @@ c1 hex(c4) c5
2 6231623162316231 JOE
3 6231623162316231 QA
DROP TABLE t5;
-
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result b/mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result
index d55a6bcbbf2..9247ceb1030 100644
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_master_myisam.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
***********************************************************
***********************************************************
@@ -90,7 +86,7 @@ f1 f2 f3 f4
27 27 27 next
29 29 29 second
30 30 30 next
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
***** Testing Altering table def scenario *****
@@ -427,7 +423,7 @@ f1 f2 f3 f4
** Check slave status **
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
****************************************
* columns in master at middle of table *
@@ -463,10 +459,8 @@ INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t10' cannot be converted from type 'double' to type 'char(5)''
*** Drop t10 ***
DROP TABLE t10;
@@ -501,10 +495,8 @@ INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t11' cannot be converted from type 'tinyblob' to type 'varchar(254)''
*** Drop t11 ***
DROP TABLE t11;
@@ -615,7 +607,8 @@ c1 c3 hex(c4) c5 c6
************
* Bug30415 *
************
-Last_SQL_Error = Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+include/wait_for_slave_sql_error.inc [errno=1091]
+Last_SQL_Error = 'Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7''
STOP SLAVE;
RESET SLAVE;
@@ -663,7 +656,8 @@ c1 hex(c4) c5 c6 c7 c2
*** Expect slave to fail with Error 1054 ***
********************************************
-Last_SQL_Error = Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+include/wait_for_slave_sql_error.inc [errno=1054]
+Last_SQL_Error = 'Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7''
STOP SLAVE;
RESET SLAVE;
@@ -711,7 +705,8 @@ c1 hex(c4) c5 c6 c7
*** BUG 30434 ***
*****************
-Last_SQL_Error = Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+include/wait_for_slave_sql_error.inc [errno=1072]
+Last_SQL_Error = 'Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)''
STOP SLAVE;
RESET SLAVE;
@@ -875,4 +870,4 @@ c1 hex(c4) c5
2 6231623162316231 JOE
3 6231623162316231 QA
DROP TABLE t5;
-
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result b/mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result
index 3f2256a65e0..c63ba401085 100644
--- a/mysql-test/suite/rpl/r/rpl_extraCol_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_slave_innodb.result
@@ -1,10 +1,7 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* Error_code: 1677");
**** Diff Table Def Start ****
*** On Slave ***
STOP SLAVE;
@@ -57,7 +54,8 @@ a b c
3 4 QA TESTING
*** Start Slave ***
START SLAVE;
-Last_SQL_Error = Column 2 of table 'test.t2' cannot be converted from type 'char(10)' to type 'char(5)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t2' cannot be converted from type 'char(10)' to type 'char(5)''
STOP SLAVE;
RESET SLAVE;
SELECT * FROM t2 ORDER BY a;
@@ -86,10 +84,8 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TEST
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t3' cannot be converted from type 'tinyblob' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t3' cannot be converted from type 'tinyblob' to type 'int(11)''
*** Drop t3 ***
DROP TABLE t3;
*** Create t4 on slave ***
@@ -111,10 +107,8 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t4' cannot be converted from type 'decimal(8,2)' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t4' cannot be converted from type 'decimal(8,2)' to type 'int(11)''
*** Drop t4 ***
DROP TABLE t4;
*** Create t5 on slave ***
@@ -136,10 +130,8 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'varchar(6)' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'varchar(6)' to type 'char(5)''
*** Drop t5 ***
DROP TABLE t5;
*** Create t6 on slave ***
@@ -160,12 +152,11 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
-Last_SQL_Error = Column 1 of table 'test.t6' cannot be converted from type 'varchar(6)' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'varchar(6)' to type 'char(5)''
*** Drop t6 ***
+include/rpl_reset.inc
DROP TABLE t6;
-DROP TABLE t6;
-START SLAVE;
**** Diff Table Def End ****
**** Extra Colums Start ****
*** Create t7 on slave ***
@@ -240,6 +231,7 @@ a b c d e f g h i
1 b1b1b1b1b1b1b1b1 Kyle 0000-00-00 00:00:00 0 NULL NULL
2 b1b1b1b1b1b1b1b1 JOE 0000-00-00 00:00:00 0 NULL NULL
3 b1b1b1b1b1b1b1b1 QA 0000-00-00 00:00:00 0 NULL NULL
+DROP TABLE t9;
*** Create t10 on slave ***
STOP SLAVE;
RESET SLAVE;
@@ -258,10 +250,8 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'char(5)' to type 'double'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t10' cannot be converted from type 'char(5)' to type 'double''
*** Drop t10 ***
DROP TABLE t10;
*** Create t11 on slave ***
@@ -282,10 +272,8 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'varchar(254)' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t11' cannot be converted from type 'varchar(254)' to type 'int(11)''
*** Drop t11 ***
DROP TABLE t11;
*** Create t12 on slave ***
@@ -442,6 +430,7 @@ c1 c4 c5 c6 c7
4 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
5 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
6 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
+DROP TABLE t14a;
*** connect to master and drop columns ***
ALTER TABLE t14 DROP COLUMN c2;
ALTER TABLE t14 DROP COLUMN c4;
@@ -473,6 +462,9 @@ c4 BLOB, c5 CHAR(5)) ENGINE='InnoDB';
RESET MASTER;
*** Start Slave ***
START SLAVE;
+call mtr.add_suppression("Error .Unknown table .t6.. on query.* Error_code: 1051");
+call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* Error_code: 1060");
+call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* Error_code: 1535");
*** Master Data Insert ***
set @b1 = 'b1b1b1b1';
set @b1 = concat(@b1,@b1);
@@ -495,10 +487,8 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
********************************************
*** Expect slave to fail with Error 1060 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1060]
+Last_SQL_Error = 'Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5''
*** Try to insert in master ****
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
SELECT * FROM t15 ORDER BY c1;
@@ -598,9 +588,8 @@ INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t17' cannot be converted from type 'bigint' to type 'smallint(6)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t17' cannot be converted from type 'bigint' to type 'smallint(6)''
** DROP table t17 ***
DROP TABLE t17;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result b/mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result
index af5d8539b7e..4e483da72e4 100644
--- a/mysql-test/suite/rpl/r/rpl_extraCol_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_extra_col_slave_myisam.result
@@ -1,10 +1,7 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]*. cannot be converted from type.* Error_code: 1677");
**** Diff Table Def Start ****
*** On Slave ***
STOP SLAVE;
@@ -57,7 +54,8 @@ a b c
3 4 QA TESTING
*** Start Slave ***
START SLAVE;
-Last_SQL_Error = Column 2 of table 'test.t2' cannot be converted from type 'char(10)' to type 'char(5)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t2' cannot be converted from type 'char(10)' to type 'char(5)''
STOP SLAVE;
RESET SLAVE;
SELECT * FROM t2 ORDER BY a;
@@ -86,10 +84,8 @@ INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TEST
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t3' cannot be converted from type 'tinyblob' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t3' cannot be converted from type 'tinyblob' to type 'int(11)''
*** Drop t3 ***
DROP TABLE t3;
*** Create t4 on slave ***
@@ -111,10 +107,8 @@ INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t4' cannot be converted from type 'decimal(8,2)' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t4' cannot be converted from type 'decimal(8,2)' to type 'int(11)''
*** Drop t4 ***
DROP TABLE t4;
*** Create t5 on slave ***
@@ -136,10 +130,8 @@ INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'varchar(6)' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'varchar(6)' to type 'char(5)''
*** Drop t5 ***
DROP TABLE t5;
*** Create t6 on slave ***
@@ -160,12 +152,11 @@ INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
-Last_SQL_Error = Column 1 of table 'test.t6' cannot be converted from type 'varchar(6)' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'varchar(6)' to type 'char(5)''
*** Drop t6 ***
+include/rpl_reset.inc
DROP TABLE t6;
-DROP TABLE t6;
-START SLAVE;
**** Diff Table Def End ****
**** Extra Colums Start ****
*** Create t7 on slave ***
@@ -240,6 +231,7 @@ a b c d e f g h i
1 b1b1b1b1b1b1b1b1 Kyle 0000-00-00 00:00:00 0 NULL NULL
2 b1b1b1b1b1b1b1b1 JOE 0000-00-00 00:00:00 0 NULL NULL
3 b1b1b1b1b1b1b1b1 QA 0000-00-00 00:00:00 0 NULL NULL
+DROP TABLE t9;
*** Create t10 on slave ***
STOP SLAVE;
RESET SLAVE;
@@ -258,10 +250,8 @@ INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'char(5)' to type 'double'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t10' cannot be converted from type 'char(5)' to type 'double''
*** Drop t10 ***
DROP TABLE t10;
*** Create t11 on slave ***
@@ -282,10 +272,8 @@ INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'varchar(254)' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t11' cannot be converted from type 'varchar(254)' to type 'int(11)''
*** Drop t11 ***
DROP TABLE t11;
*** Create t12 on slave ***
@@ -442,6 +430,7 @@ c1 c4 c5 c6 c7
4 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
5 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
6 b1b1b1b1b1b1b1b1 NULL 1 CURRENT_TIMESTAMP
+DROP TABLE t14a;
*** connect to master and drop columns ***
ALTER TABLE t14 DROP COLUMN c2;
ALTER TABLE t14 DROP COLUMN c4;
@@ -473,6 +462,9 @@ c4 BLOB, c5 CHAR(5)) ENGINE='MyISAM';
RESET MASTER;
*** Start Slave ***
START SLAVE;
+call mtr.add_suppression("Error .Unknown table .t6.. on query.* Error_code: 1051");
+call mtr.add_suppression("Error .Duplicate column name .c6.. on query.* Error_code: 1060");
+call mtr.add_suppression("Table definition on master and slave does not match: Column . ...e mismatch.* Error_code: 1535");
*** Master Data Insert ***
set @b1 = 'b1b1b1b1';
set @b1 = concat(@b1,@b1);
@@ -495,10 +487,8 @@ ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
********************************************
*** Expect slave to fail with Error 1060 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1060]
+Last_SQL_Error = 'Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5''
*** Try to insert in master ****
INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
SELECT * FROM t15 ORDER BY c1;
@@ -598,9 +588,8 @@ INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
********************************************
*** Expect slave to fail with Error 1677 ***
********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t17' cannot be converted from type 'bigint' to type 'smallint(6)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t17' cannot be converted from type 'bigint' to type 'smallint(6)''
** DROP table t17 ***
DROP TABLE t17;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_failed_optimize.result b/mysql-test/suite/rpl/r/rpl_failed_optimize.result
index 7210898d521..0d46f78c150 100644
--- a/mysql-test/suite/rpl/r/rpl_failed_optimize.result
+++ b/mysql-test/suite/rpl/r/rpl_failed_optimize.result
@@ -1,19 +1,8 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
BEGIN;
INSERT INTO t1 VALUES (1);
-OPTIMIZE TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
-test.t1 optimize error Lock wait timeout exceeded; try restarting transaction
-test.t1 optimize status Operation failed
-Warnings:
-Error 1205 Lock wait timeout exceeded; try restarting transaction
OPTIMIZE TABLE non_existing;
Table Op Msg_type Msg_text
test.non_existing optimize Error Table 'test.non_existing' doesn't exist
@@ -23,3 +12,4 @@ a
1
commit;
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result b/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
index 5f1f72a9a3a..c88dcee9dbc 100644
--- a/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
+++ b/mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (id int, a int);
CREATE TABLE t2 (id int, b int);
CREATE TABLE t3 (id int, c int);
@@ -46,86 +42,55 @@ UPDATE t4 LEFT JOIN (t1, t2, t5) ON (t1.id=t4.id and t2.id=t4.id and t5.id=t4.id
UPDATE t4 LEFT JOIN (t1, t6, t7) ON (t4.id=t1.id and t4.id=t6.id and t4.id=t7.id) SET a=0, d=0, f=0, g=0 where t4.id=1;
UPDATE t7 LEFT JOIN (t4, t1, t2) ON (t7.id=t4.id and t7.id=t1.id and t7.id=t2.id) SET a=0, b=0, d=0, g=0 where t7.id=1;
UPDATE t7 LEFT JOIN (t8, t4, t1) ON (t7.id=t8.id and t7.id=t4.id and t7.id=t1.id) SET a=0, d=0, g=0, h=0 where t7.id=1;
+call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* Error_code: 1146");
UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0 where t1.id=1''
UPDATE t1 LEFT JOIN (t4, t7) ON (t1.id=t4.id and t1.id=t7.id) SET a=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t7) ON (t1.id=t4.id and t1.id=t7.id) SET a=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t7) ON (t1.id=t4.id and t1.id=t7.id) SET a=0 where t1.id=1''
UPDATE t1 LEFT JOIN (t2, t4, t7) ON (t1.id=t2.id and t1.id=t4.id and t1.id=t7.id) SET a=0, b=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t2, t4, t7) ON (t1.id=t2.id and t1.id=t4.id and t1.id=t7.id) SET a=0, b=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t2, t4, t7) ON (t1.id=t2.id and t1.id=t4.id and t1.id=t7.id) SET a=0, b=0 where t1.id=1''
UPDATE t1 LEFT JOIN (t2, t3, t7) ON (t1.id=t2.id and t1.id=t3.id and t1.id=t7.id) SET a=0, b=0, c=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t2, t3, t7) ON (t1.id=t2.id and t1.id=t3.id and t1.id=t7.id) SET a=0, b=0, c=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t2, t3, t7) ON (t1.id=t2.id and t1.id=t3.id and t1.id=t7.id) SET a=0, b=0, c=0 where t1.id=1''
UPDATE t1 LEFT JOIN t7 ON (t1.id=t7.id) SET a=0, g=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t7 ON (t1.id=t7.id) SET a=0, g=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t7 ON (t1.id=t7.id) SET a=0, g=0 where t1.id=1''
UPDATE t7 LEFT JOIN t1 ON (t1.id=t7.id) SET a=0, g=0 where t7.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN t1 ON (t1.id=t7.id) SET a=0, g=0 where t7.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN t1 ON (t1.id=t7.id) SET a=0, g=0 where t7.id=1''
UPDATE t1 LEFT JOIN (t4, t5, t7) ON (t1.id=t4.id and t1.id=t5.id and t1.id=t7.id) SET a=0, g=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t5, t7) ON (t1.id=t4.id and t1.id=t5.id and t1.id=t7.id) SET a=0, g=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t5, t7) ON (t1.id=t4.id and t1.id=t5.id and t1.id=t7.id) SET a=0, g=0 where t1.id=1''
UPDATE t1 LEFT JOIN (t4, t7, t8) ON (t1.id=t4.id and t1.id=t7.id and t1.id=t8.id) SET a=0, g=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t7, t8) ON (t1.id=t4.id and t1.id=t7.id and t1.id=t8.id) SET a=0, g=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t7, t8) ON (t1.id=t4.id and t1.id=t7.id and t1.id=t8.id) SET a=0, g=0 where t1.id=1''
UPDATE t1 LEFT JOIN (t7, t8, t9) ON (t1.id=t7.id and t1.id=t8.id and t1.id=t9.id) SET a=0, g=0, h=0, i=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t7, t8, t9) ON (t1.id=t7.id and t1.id=t8.id and t1.id=t9.id) SET a=0, g=0, h=0, i=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t7, t8, t9) ON (t1.id=t7.id and t1.id=t8.id and t1.id=t9.id) SET a=0, g=0, h=0, i=0 where t1.id=1''
UPDATE t7 LEFT JOIN (t1, t2, t3) ON (t7.id=t1.id and t7.id=t2.id and t7.id=t3.id) SET g=0, a=0, b=0, c=0 where t7.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t1, t2, t3) ON (t7.id=t1.id and t7.id=t2.id and t7.id=t3.id) SET g=0, a=0, b=0, c=0 where t7.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t1, t2, t3) ON (t7.id=t1.id and t7.id=t2.id and t7.id=t3.id) SET g=0, a=0, b=0, c=0 where t7.id=1''
UPDATE t7 LEFT JOIN (t4, t5, t3) ON (t7.id=t4.id and t7.id=t5.id and t7.id=t3.id) SET g=0, c=0 where t7.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t4, t5, t3) ON (t7.id=t4.id and t7.id=t5.id and t7.id=t3.id) SET g=0, c=0 where t7.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t4, t5, t3) ON (t7.id=t4.id and t7.id=t5.id and t7.id=t3.id) SET g=0, c=0 where t7.id=1''
UPDATE t7 LEFT JOIN (t8, t9, t3) ON (t7.id=t8.id and t7.id=t9.id and t7.id=t3.id) SET g=0, h=0, i=0, c=0 where t7.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t8, t9, t3) ON (t7.id=t8.id and t7.id=t9.id and t7.id=t3.id) SET g=0, h=0, i=0, c=0 where t7.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t8, t9, t3) ON (t7.id=t8.id and t7.id=t9.id and t7.id=t3.id) SET g=0, h=0, i=0, c=0 where t7.id=1''
UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0, d=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0, d=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN t4 ON (t1.id=t4.id) SET a=0, d=0 where t1.id=1''
UPDATE t1 LEFT JOIN (t4, t5, t6) ON (t1.id=t4.id and t1.id=t5.id and t1.id=t6.id) SET a=0, d=0, e=0, f=0 where t1.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t5, t6) ON (t1.id=t4.id and t1.id=t5.id and t1.id=t6.id) SET a=0, d=0, e=0, f=0 where t1.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t1 LEFT JOIN (t4, t5, t6) ON (t1.id=t4.id and t1.id=t5.id and t1.id=t6.id) SET a=0, d=0, e=0, f=0 where t1.id=1''
UPDATE t4 LEFT JOIN (t1, t5, t6) ON (t4.id=t1.id and t4.id=t5.id and t4.id=t6.id) SET a=0, e=0, f=0 where t4.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t4 LEFT JOIN (t1, t5, t6) ON (t4.id=t1.id and t4.id=t5.id and t4.id=t6.id) SET a=0, e=0, f=0 where t4.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t4' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t4 LEFT JOIN (t1, t5, t6) ON (t4.id=t1.id and t4.id=t5.id and t4.id=t6.id) SET a=0, e=0, f=0 where t4.id=1''
UPDATE t7 LEFT JOIN (t1, t4, t2) ON (t7.id=t1.id and t7.id=t4.id and t7.id=t2.id) SET a=0, b=0, d=0, g=0 where t7.id=1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t1, t4, t2) ON (t7.id=t1.id and t7.id=t4.id and t7.id=t2.id) SET a=0, b=0, d=0, g=0 where t7.id=1'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1146]
+Last_SQL_Error = 'Error 'Table 'test.t7' doesn't exist' on query. Default database: 'test'. Query: 'UPDATE t7 LEFT JOIN (t1, t4, t2) ON (t7.id=t1.id and t7.id=t4.id and t7.id=t2.id) SET a=0, b=0, d=0, g=0 where t7.id=1''
[on slave]
show tables like 't%';
Tables_in_test (t%)
@@ -149,3 +114,4 @@ id c
3 3
[on master]
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_flush_logs.result b/mysql-test/suite/rpl/r/rpl_flush_logs.result
index 4c3352559c4..4fce91a7234 100644
--- a/mysql-test/suite/rpl/r/rpl_flush_logs.result
+++ b/mysql-test/suite/rpl/r/rpl_flush_logs.result
@@ -1,20 +1,14 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
# Test if support 'flush error logs' statement.
flush error logs;
# Make sure binary logs was not be flushed
# after execute 'flush error logs' statement.
# Make sure relay logs was not be flushed
# after execute 'flush error logs' statement.
-# Make sure the 'slave-relay-bin.000004' file does not
-# exist before execute 'flush relay logs' statement.
# Test if support 'flush relay logs' statement.
flush relay logs;
-# Check the 'slave-relay-bin.000004' file is created
+# Check the 'slave-relay-bin.000003' file is created
# after executed 'flush relay logs' statement.
# Make sure binary logs was not be flushed
# after execute 'flush relay logs' statement.
@@ -36,20 +30,21 @@ flush engine logs;
flush binary logs;
# Check the 'master-bin.000002' file is created
# after executed 'flush binary logs' statement.
-# Make sure the 'slave-relay-bin.000007' file does not exist
+# Make sure the 'slave-relay-bin.000006' file does not exist
# exist before execute 'flush error logs, relay logs' statement.
# Test if support to combine all kinds of logs into one statement.
flush error logs, relay logs;
# Make sure binary logs was not be flushed
# after execute 'flush error logs, relay logs' statement.
-# Check the 'slave-relay-bin.000007' file is created after
+# Check the 'slave-relay-bin.000006' file is created after
# execute 'flush error logs, relay logs' statement.
-# Make sure the 'slave-relay-bin.000008' and 'slave-relay-bin.000009'
-# files do not exist before execute 'flush error logs, relay logs'
+# Make sure the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
+# files do not exist before execute 'flush error logs, relay logs'
# statement.
# Test if 'flush logs' statement works fine and flush all the logs.
flush logs;
# Check 'master-bin.000003' is created
# after execute 'flush logs' statement.
-# Check the 'slave-relay-bin.000008' and 'slave-relay-bin.000009'
+# Check the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
# files are created after execute 'flush logs' statement.
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
index 93e74c20e28..931335fb95c 100644
--- a/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
+++ b/mysql-test/suite/rpl/r/rpl_flushlog_loop.result
@@ -1,28 +1,16 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_init.inc [topology=1->2->1]
show variables like 'relay_log%';
Variable_name Value
-relay_log MYSQLD_DATADIR/relay-log
+relay_log
relay_log_index
relay_log_info_file relay-log.info
relay_log_purge ON
relay_log_recovery OFF
relay_log_space_limit 0
-stop slave;
-change master to master_host='127.0.0.1',master_user='root',
-master_password='',master_port=MASTER_PORT;
-start slave;
-stop slave;
-change master to master_host='127.0.0.1',master_user='root',
-master_password='',master_port=SLAVE_PORT;
-include/start_slave.inc
CREATE TABLE t1 (a INT KEY) ENGINE= MyISAM;
INSERT INTO t1 VALUE(1);
FLUSH LOGS;
INSERT INTO t1 VALUE(2);
-Checking that both slave threads are running.
-Relay_Log_File relay-log.000003
+include/check_slave_is_running.inc
+Relay_Log_File = 'mysqld-relay-bin.000003'
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result b/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
index 960833b85d8..f778e76adc0 100644
--- a/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (a INT AUTO_INCREMENT KEY) ENGINE=INNODB;
CREATE TABLE t2 (b INT AUTO_INCREMENT KEY, c INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=INNODB;
SET FOREIGN_KEY_CHECKS=0;
@@ -52,3 +48,4 @@ select count(*) from t1 /* must be zero */;
count(*)
0
drop table t2,t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_free_items.result b/mysql-test/suite/rpl/r/rpl_free_items.result
index 91c1e2aa6e5..416f597aebc 100644
--- a/mysql-test/suite/rpl/r/rpl_free_items.result
+++ b/mysql-test/suite/rpl/r/rpl_free_items.result
@@ -1,10 +1,7 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int);
create table t2 (a int);
drop table t1;
drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_geometry.result b/mysql-test/suite/rpl/r/rpl_geometry.result
index 9b48dba4f22..7ec119c9ae8 100644
--- a/mysql-test/suite/rpl/r/rpl_geometry.result
+++ b/mysql-test/suite/rpl/r/rpl_geometry.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(a varchar(100),
b multipoint not null,
c varchar(256));
@@ -16,3 +12,4 @@ b geometrycollection default null,
c decimal(10,0));
insert into t2(c) values (null);
drop table t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_get_lock.result b/mysql-test/suite/rpl/r/rpl_get_lock.result
index 2adda3cfc18..757ce9bba17 100644
--- a/mysql-test/suite/rpl/r/rpl_get_lock.result
+++ b/mysql-test/suite/rpl/r/rpl_get_lock.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
create table t1(n int);
insert into t1 values(get_lock("lock",2));
@@ -34,3 +30,4 @@ select is_free_lock(NULL);
is_free_lock(NULL)
NULL
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
index ba7db2d11e3..2997d4eb426 100644
--- a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
+++ b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
@@ -1,34 +1,33 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: .*");
call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
call mtr.add_suppression("Slave I/O thread .* register on master");
-stop slave;
+include/stop_slave.inc
SET @@global.debug= "+d,'debug_lock.before_get_UNIX_TIMESTAMP'";
-start slave;
+include/start_slave.inc
slave is going to hang in get_master_version_and_clock
+include/rpl_stop_server.inc [server_number=1]
slave is unblocked
SET DEBUG_SYNC='now SIGNAL signal.get_unix_timestamp';
Check network error happened here
+include/wait_for_slave_io_error.inc [errno=1040, 1053, 2002, 2003, 2006, 2013]
set @@global.debug = "-d,'debug_lock.before_get_UNIX_TIMESTAMP'";
-stop slave;
+include/rpl_start_server.inc [server_number=1]
+include/wait_for_slave_param.inc [Slave_IO_Running]
+include/stop_slave.inc
SET @@global.debug= "+d,'debug_lock.before_get_SERVER_ID'";
-start slave;
+include/start_slave.inc
slave is going to hang in get_master_version_and_clock
+include/rpl_stop_server.inc [server_number=1]
slave is unblocked
SET DEBUG_SYNC='now SIGNAL signal.get_server_id';
Check network error happened here
+include/wait_for_slave_io_error.inc [errno=1040, 1053, 2002, 2003, 2006, 2013]
set @@global.debug = "-d,'debug_lock.before_get_SERVER_ID'";
+include/rpl_start_server.inc [server_number=1]
+include/wait_for_slave_param.inc [Slave_IO_Running]
set global debug= '';
-reset master;
-include/stop_slave.inc
-change master to master_port=SLAVE_PORT;
-start slave;
-*** must be having the replicate-same-server-id IO thread error ***
-Last_IO_Error = Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
SET DEBUG_SYNC= 'RESET';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_grant.result b/mysql-test/suite/rpl/r/rpl_grant.result
index 285d52b7678..4ec8c51a5dc 100644
--- a/mysql-test/suite/rpl/r/rpl_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_grant.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
**** On Master ****
CREATE USER dummy@localhost;
CREATE USER dummy1@localhost, dummy2@localhost;
@@ -41,3 +37,4 @@ user host
SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
COUNT(*)
0
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat.result b/mysql-test/suite/rpl/r/rpl_heartbeat.result
index 05d37dc7d04..d4bdb77ef0b 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat.result
@@ -6,19 +6,19 @@ show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 5.000
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root', master_heartbeat_period= 4294968;
-ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
+ERROR HY000: The requested value for the heartbeat period is either negative or exceeds the maximum allowed (4294967 seconds).
show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 5.000
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root', master_heartbeat_period= 0.0009999;
Warnings:
-Warning 1624 The requested value for the heartbeat period is less than 1 msec. The period is reset to zero which means no heartbeats will be sending
+Warning 1703 The requested value for the heartbeat period is less than 1 millisecond. The value is reset to 0, meaning that heartbeating will effectively be disabled.
show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 0.000
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root', master_heartbeat_period= 4294967;
Warnings:
-Warning 1624 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
+Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 4294967.000
@@ -30,7 +30,7 @@ reset slave;
set @@global.slave_net_timeout= 5;
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root', master_heartbeat_period= 5.001;
Warnings:
-Warning 1624 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
+Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 5.001
@@ -42,7 +42,7 @@ Variable_name Slave_heartbeat_period
Value 4.000
set @@global.slave_net_timeout= 3 /* must be a warning */;
Warnings:
-Warning 1624 The current value for master_heartbeat_period exceeds the new value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
+Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
reset slave;
drop table if exists t1;
set @@global.slave_net_timeout= 10;
@@ -52,10 +52,12 @@ Variable_name Slave_heartbeat_period
Value 0.500
start slave;
create table t1 (f1 int);
+include/check_slave_param.inc [Relay_Log_File]
show status like 'Slave_heartbeat_period';;
Variable_name Slave_heartbeat_period
Value 0.500
A heartbeat has been received by the slave
drop table t1;
set @@global.slave_net_timeout= @restore_slave_net_timeout;
+include/stop_slave.inc
End of tests
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result b/mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result
index ecb7c62c488..e0e6df064b9 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result
@@ -1,55 +1,41 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
-*** Preparing ***
-[on slave]
+include/rpl_init.inc [topology=1->2,1->3]
+include/rpl_connect.inc [creating master]
+include/rpl_connect.inc [creating slave_1]
+include/rpl_connect.inc [creating slave_2]
include/stop_slave.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1, MASTER_LOG_FILE='MASTER_BINLOG';
+CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD = 0.1;
include/start_slave.inc
-[on slave1]
-STOP SLAVE;
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=1, MASTER_LOG_FILE='MASTER_BINLOG';
+include/stop_slave.inc
+CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD = 1;
include/start_slave.inc
-
-*** 2 slaves ***
Slave has received heartbeat event
-Slave1 has received heartbeat event
-Slave has received more heartbeats than Slave1 (1 means 'yes'): 1
+include/assert.inc [slave_1 should have received more heartbeats than slave_2]
-*** Master->data->Slave1->heartbeat->Slave: ***
-[on slave1]
-RESET MASTER;
-[on slave]
+include/rpl_stop_slaves.inc
+include/rpl_change_topology.inc [new topology=1->3->2]
+include/rpl_start_slaves.inc
include/stop_slave.inc
-RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=SLAVE1_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.2, MASTER_LOG_FILE='SLAVE1_BINLOG';
+CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=0.1;
include/start_slave.inc
-Slave has received heartbeat event
+slave_1 has received heartbeat event
[on master]
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT);
INSERT INTO t1 VALUES (1, 'on master', '');
SHOW TABLES;
Tables_in_test
t1
-[on slave1]
+[on slave_2]
SHOW TABLES;
Tables_in_test
t1
-[on slave]
+[on slave_1]
SHOW TABLES;
Tables_in_test
[on master]
-creating updates on master and send to slave1 during 5 second
-[on slave]
-Slave has received heartbeats (1 means 'yes'): 1
+creating updates on master and send to slave_2 during 5 second
+[on slave_1]
+include/assert.inc [slave_1 should have received heartbeats]
*** Clean up ***
DROP TABLE t1;
-
-End of 6.0 test
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result b/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
index b54602663d8..93faf37053a 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
*** Preparing ***
include/stop_slave.inc
@@ -20,7 +16,7 @@ RESET SLAVE;
*** Reset slave affect ***
SET @@global.slave_net_timeout=30;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=5;
RESET SLAVE;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
@@ -28,7 +24,7 @@ Slave_heartbeat_period 15.000
*** Default value if slave_net_timeout changed ***
SET @@global.slave_net_timeout=50;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root';
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
Slave_heartbeat_period 25.000
@@ -38,19 +34,19 @@ RESET SLAVE;
*** Warning if updated slave_net_timeout < slave_heartbeat_timeout ***
SET @@global.slave_net_timeout=FLOOR(SLAVE_HEARTBEAT_TIMEOUT)-1;
Warnings:
-Warning 1624 The current value for master_heartbeat_period exceeds the new value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
+Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
RESET SLAVE;
*** Warning if updated slave_heartbeat_timeout > slave_net_timeout ***
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=SLAVE_NET_TIMEOUT;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=SLAVE_NET_TIMEOUT;
Warnings:
-Warning 1624 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
+Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
RESET SLAVE;
*** CHANGE MASTER statement only updates slave_heartbeat_period ***
SET @@global.slave_net_timeout=20;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=5;
SHOW VARIABLES LIKE 'slave_net_timeout';
Variable_name Value
slave_net_timeout 20
@@ -71,7 +67,7 @@ RESET SLAVE;
SET @@global.slave_net_timeout=500;
SET @@global.slave_net_timeout=200;
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root';
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20;
include/start_slave.inc
SHOW VARIABLES LIKE 'slave_net_timeout';
Variable_name Value
@@ -86,7 +82,7 @@ SET @@global.slave_net_timeout=@restore_slave_net_timeout;
*** Start/stop slave ***
SET @@global.slave_net_timeout=100;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=20;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=20;
include/start_slave.inc
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
@@ -98,15 +94,15 @@ Slave_heartbeat_period 20.000
*** Reload slave ***
SET @@global.slave_net_timeout=50;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=30;
-Reload slave
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=30;
+include/rpl_restart_server.inc [server_number=2]
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
Slave_heartbeat_period 30.000
SET @restore_slave_net_timeout=@@global.slave_net_timeout;
*** Disable heartbeat ***
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
Slave_heartbeat_period 0.000
@@ -133,50 +129,50 @@ Result
0
*** Min slave_heartbeat_timeout ***
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.001;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.001;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
Slave_heartbeat_period 0.001
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.0009;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.0009;
Warnings:
-Warning 1624 The requested value for the heartbeat period is less than 1 msec. The period is reset to zero which means no heartbeats will be sending
+Warning 1703 The requested value for the heartbeat period is less than 1 millisecond. The value is reset to 0, meaning that heartbeating will effectively be disabled.
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
Slave_heartbeat_period 0.000
RESET SLAVE;
*** Max slave_heartbeat_timeout ***
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294967;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=4294967;
Warnings:
-Warning 1624 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
+Warning 1704 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' seconds. A sensible value for the period should be less than the timeout.
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
Variable_name Value
Slave_heartbeat_period 4294967.000
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294968;
-ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=4294968;
+ERROR HY000: The requested value for the heartbeat period is either negative or exceeds the maximum allowed (4294967 seconds).
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=8589935;
-ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=8589935;
+ERROR HY000: The requested value for the heartbeat period is either negative or exceeds the maximum allowed (4294967 seconds).
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294967296;
-ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=4294967296;
+ERROR HY000: The requested value for the heartbeat period is either negative or exceeds the maximum allowed (4294967 seconds).
RESET SLAVE;
*** Misc incorrect values ***
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='-1';
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD='-1';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''-1'' at line 1
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='123abc';
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD='123abc';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''123abc'' at line 1
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='';
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD='';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1
RESET SLAVE;
*** Running slave ***
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.1;
include/start_slave.inc
Heartbeat event received
@@ -189,25 +185,29 @@ include/start_slave.inc
Heartbeat event received
*** Stopped IO thread ***
-STOP SLAVE IO_THREAD;
+include/stop_slave_io.inc
Number of received heartbeat events while io thread stopped: 0
*** Started IO thread ***
START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
Heartbeat event received
*** Stopped SQL thread ***
-STOP SLAVE SQL_THREAD;
+include/stop_slave_sql.inc
Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
*** Started SQL thread ***
START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_start.inc
Heartbeat event received
*** Stopped SQL thread by error ***
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT);
INSERT INTO t1 VALUES (1, 'on slave', NULL);
INSERT INTO t1 VALUES (1, 'on master', NULL);
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
include/stop_slave.inc
DROP TABLE t1;
@@ -220,7 +220,7 @@ BEGIN
UPDATE test.t1 SET a = a + 1 WHERE a < 10;
END|
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=5;
include/start_slave.inc
SET @@global.event_scheduler=1;
Number of received heartbeat events: 0
@@ -233,7 +233,7 @@ RESET SLAVE;
DROP TABLE t1;
DROP TABLE t1;
RESET MASTER;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.5;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.5;
include/start_slave.inc
Heartbeat events are received while rotation of relay logs (1 means 'yes'): 1
@@ -242,7 +242,7 @@ SET @@global.slave_compressed_protocol=1;
include/stop_slave.inc
RESET SLAVE;
SET @@global.slave_compressed_protocol=1;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.1;
include/start_slave.inc
Heartbeat event received
SET @@global.slave_compressed_protocol=0;
@@ -251,7 +251,7 @@ SET @@global.slave_compressed_protocol=0;
*** Reset master ***
STOP SLAVE;
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.1;
include/start_slave.inc
RESET MASTER;
Heartbeat events are received after reset of master (1 means 'yes'): 1
@@ -259,21 +259,17 @@ Heartbeat events are received after reset of master (1 means 'yes'): 1
*** Reload master ***
STOP SLAVE;
RESET SLAVE;
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_CONNECT_RETRY=20, MASTER_HEARTBEAT_PERIOD=0.1;
include/start_slave.inc
Heartbeat event received
-Reload master
+include/rpl_restart_server.inc [server_number=1]
+include/wait_for_slave_io_to_start.inc
Heartbeat event received
*** Circular replication ***
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
include/stop_slave.inc
-CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=SLAVE_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=1, MASTER_LOG_FILE='SLAVE_BINLOG';
+include/rpl_change_topology.inc [new topology=1->2->1]
include/start_slave.inc
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
INSERT INTO t1 VALUES(1, 'on master');
@@ -291,9 +287,6 @@ a b
Heartbeat event received on master
Heartbeat event received on slave
*** Clean up ***
-include/stop_slave.inc
DROP TABLE t1;
-include/stop_slave.inc
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
-
-End of tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_heartbeat_ssl.result b/mysql-test/suite/rpl/r/rpl_heartbeat_ssl.result
index 42de3c459cb..a73c99bd99b 100644
--- a/mysql-test/suite/rpl/r/rpl_heartbeat_ssl.result
+++ b/mysql-test/suite/rpl/r/rpl_heartbeat_ssl.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
*** Heartbeat over SSL ***
include/stop_slave.inc
@@ -23,5 +19,10 @@ Master_SSL_Allowed: Yes
Heartbeat event has received
*** Clean up ***
-
-End of 6.0 test
+include/stop_slave.inc
+CHANGE MASTER TO
+MASTER_SSL=0,
+MASTER_SSL_CA='',
+MASTER_SSL_CERT='',
+MASTER_SSL_KEY='';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_idempotency.result b/mysql-test/suite/rpl/r/rpl_idempotency.result
index 5e37e7a1f5e..07c6db416b4 100644
--- a/mysql-test/suite/rpl/r/rpl_idempotency.result
+++ b/mysql-test/suite/rpl/r/rpl_idempotency.result
@@ -1,12 +1,9 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-call mtr.add_suppression("Slave: Can't find record in 't.' Error_code: 1032");
-call mtr.add_suppression("Slave: Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Slave: Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Slave SQL.*Can.t find record in .t[12].* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
+call mtr.add_suppression("Slave SQL.*Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
CREATE TABLE t1 (a INT PRIMARY KEY);
CREATE TABLE t2 (a INT);
INSERT INTO t1 VALUES (-1),(-2),(-3);
@@ -33,8 +30,7 @@ SELECT * FROM t2 ORDER BY a;
a
-3
-1
-Last_SQL_Error
-0
+include/check_slave_no_error.inc
INSERT IGNORE INTO t1 VALUES (-2);
INSERT IGNORE INTO t1 VALUES (-2);
SELECT * FROM t1 ORDER BY a;
@@ -47,8 +43,7 @@ a
-3
-2
-1
-Last_SQL_Error
-0
+include/check_slave_no_error.inc
UPDATE t1 SET a = 1 WHERE a = -1;
UPDATE t2 SET a = 1 WHERE a = -1;
UPDATE t1 SET a = 1 WHERE a = -1;
@@ -71,7 +66,7 @@ SELECT * FROM t2 ORDER BY a;
a
-3
1
-Last_SQL_Error
-0
+include/check_slave_no_error.inc
DROP TABLE t1, t2;
SET @@global.slave_exec_mode= @old_slave_exec_mode;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_grant.result b/mysql-test/suite/rpl/r/rpl_ignore_grant.result
index 5169cc8e888..ae6d6ddfc8d 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_grant.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_grant.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
@@ -35,3 +31,4 @@ flush privileges;
delete from mysql.user where user=_binary'rpl_ignore_grant';
delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_revoke.result b/mysql-test/suite/rpl/r/rpl_ignore_revoke.result
index b1ccd2f0442..84e1a3b40c7 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_revoke.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_revoke.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
grant select on *.* to 'user_foo'@'%' identified by 'user_foopass';
revoke select on *.* from 'user_foo'@'%';
select select_priv from mysql.user where user='user_foo' /* master:must be N */;
@@ -28,3 +24,4 @@ Y
revoke select on *.* FROM 'user_foo';
delete from mysql.user where user="user_foo";
delete from mysql.user where user="user_foo";
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_table.result b/mysql-test/suite/rpl/r/rpl_ignore_table.result
index d06dda66267..e5f39655c8d 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_table.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_table.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
**** Test case for BUG#16487 ****
**** Master ****
CREATE TABLE test.t4 (a int);
@@ -117,6 +113,7 @@ show grants for mysqltest4@localhost;
Grants for mysqltest4@localhost
GRANT USAGE ON *.* TO 'mysqltest4'@'localhost' IDENTIFIED BY PASSWORD '*196BDEDE2AE4F84CA44C47D54D78478C7E2BD7B7'
set global slave_exec_mode='IDEMPOTENT';
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table mysql.* Error_code: 1032");
drop table t1, mysqltest2.t2;
drop table t4;
drop database mysqltest2;
@@ -142,3 +139,4 @@ HEX(word)
SELECT * FROM tmptbl504451f4258$1;
ERROR 42S02: Table 'test.tmptbl504451f4258$1' doesn't exist
DROP TABLE t5;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ignore_table_update.result b/mysql-test/suite/rpl/r/rpl_ignore_table_update.result
index a88a3c690ed..c3882d0b98f 100644
--- a/mysql-test/suite/rpl/r/rpl_ignore_table_update.result
+++ b/mysql-test/suite/rpl/r/rpl_ignore_table_update.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
use test;
drop table if exists mysqltest_foo;
drop table if exists mysqltest_bar;
@@ -21,3 +17,4 @@ n m k
4 15 55
drop table mysqltest_foo,mysqltest_bar,t1;
drop table mysqltest_foo,mysqltest_bar,t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_incident.result b/mysql-test/suite/rpl/r/rpl_incident.result
index 6c226aaf2f7..d528fb3297a 100644
--- a/mysql-test/suite/rpl/r/rpl_incident.result
+++ b/mysql-test/suite/rpl/r/rpl_incident.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
**** On Master ****
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
@@ -19,7 +15,9 @@ a
2
3
4
-Last_SQL_Error = The incident LOST_EVENTS occured on the master. Message: <none>
+call mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master.* 1590");
+include/wait_for_slave_sql_error.inc [errno=1590]
+Last_SQL_Error = 'The incident LOST_EVENTS occured on the master. Message: <none>'
**** On Slave ****
SELECT * FROM t1;
a
@@ -34,5 +32,6 @@ a
2
3
4
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_init_slave.result b/mysql-test/suite/rpl/r/rpl_init_slave.result
index 908abf56c1f..fcf7114879c 100644
--- a/mysql-test/suite/rpl/r/rpl_init_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_init_slave.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set global max_connections=151;
include/stop_slave.inc
include/start_slave.inc
@@ -25,6 +21,6 @@ set global init_connect="set @c=1";
show variables like 'init_connect';
Variable_name Value
init_connect set @c=1
-include/stop_slave.inc
set global init_connect= @my_global_init_connect;
set global max_connections= default;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_init_slave_errors.result b/mysql-test/suite/rpl/r/rpl_init_slave_errors.result
index c6ee82b13f3..a185afc5af2 100644
--- a/mysql-test/suite/rpl/r/rpl_init_slave_errors.result
+++ b/mysql-test/suite/rpl/r/rpl_init_slave_errors.result
@@ -1,19 +1,19 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
stop slave;
reset slave;
SET GLOBAL debug= "d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
start slave;
-Reporting the following error: Failed during slave thread initialization
-call mtr.add_suppression("Failed during slave I/O thread initialization");
+include/wait_for_slave_sql_error.inc [errno=1593]
+Last_SQL_Error = 'Failed during slave thread initialization'
+call mtr.add_suppression("Failed during slave.* thread initialization");
SET GLOBAL debug= "";
-stop slave;
reset slave;
SET GLOBAL init_slave= "garbage";
start slave;
-Reporting the following error: Slave SQL thread aborted. Can't execute init_slave query
+include/wait_for_slave_sql_error.inc [errno=1064]
+Last_SQL_Error = 'Slave SQL thread aborted. Can't execute init_slave query'
SET GLOBAL init_slave= "";
+include/stop_slave_io.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
index 6ad22c368b4..f8734b48295 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug28430.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
use test;
CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
@@ -140,3 +136,4 @@ DROP PROCEDURE test.proc_byrange;
DROP TABLE test.regular_tbl;
DROP TABLE test.bykey_tbl;
DROP TABLE test.byrange_tbl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result b/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result
index abff02b4b07..d06e6681e81 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_bug30888.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
use test;
CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
@@ -33,3 +29,4 @@ END|
CALL test.proc_norm();
DROP PROCEDURE test.proc_norm;
DROP TABLE test.regular_tbl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result b/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result
index 549842198e8..36294a4333b 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_mixed_ddl.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==========MASTER==========
show global variables like 'binlog_format%';
Variable_name Value
@@ -157,3 +153,4 @@ master-bin.000001 # Query # # use `test_rpl`; CREATE INDEX index2 on t2 (d)
master-bin.000001 # Query # # use `test_rpl`; CREATE INDEX index3 on t2 (a, d)
master-bin.000001 # Query # # use `test_rpl`; ALTER TABLE t2 DROP COLUMN d
drop database test_rpl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result b/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
index 818a883a602..d89bce479e5 100644
--- a/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
+++ b/mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==========MASTER==========
show global variables like 'binlog_format%';
Variable_name Value
@@ -1102,3 +1098,4 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test_rpl`; DELETE FROM t2
master-bin.000001 # Xid # # COMMIT /* XID */
drop database test_rpl;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_insert.result b/mysql-test/suite/rpl/r/rpl_insert.result
index 6080d18c5aa..b8e5bfad5d5 100644
--- a/mysql-test/suite/rpl/r/rpl_insert.result
+++ b/mysql-test/suite/rpl/r/rpl_insert.result
@@ -1,12 +1,8 @@
#
# Bug#20821: INSERT DELAYED fails to write some rows to binlog
#
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE SCHEMA IF NOT EXISTS mysqlslap;
USE mysqlslap;
CREATE TABLE t1 (id INT, name VARCHAR(64)) ENGINE=MyISAM;
@@ -21,3 +17,4 @@ COUNT(*)
#
USE test;
DROP SCHEMA mysqlslap;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_insert_duplicate.result b/mysql-test/suite/rpl/r/rpl_insert_duplicate.result
new file mode 100644
index 00000000000..61ebbaaa5a9
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_insert_duplicate.result
@@ -0,0 +1,29 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (
+a INT UNSIGNED NOT NULL PRIMARY KEY
+) ENGINE=innodb;
+CREATE TABLE t2 (
+a INT UNSIGNED
+) ENGINE=innodb;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 SELECT t2.a FROM t2 ORDER BY t2.a ON DUPLICATE KEY UPDATE t1.a= t1.a;
+include/assert.inc [Sum of elements in t1 should be 1.]
+include/assert.inc [In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.]
+include/diff_tables.inc [master:test.t1 , slave:test.t1]
+drop table t1, t2;
+CREATE TABLE t1 (
+a INT UNSIGNED NOT NULL PRIMARY KEY
+) ENGINE=myisam;
+CREATE TABLE t2 (
+a INT UNSIGNED
+) ENGINE=myisam;
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (1);
+INSERT INTO t1 SELECT t2.a FROM t2 ORDER BY t2.a ON DUPLICATE KEY UPDATE t1.a= t1.a;
+include/assert.inc [Sum of elements in t1 should be 1.]
+include/assert.inc [In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.]
+include/diff_tables.inc [master:test.t1 , slave:test.t1]
+drop table t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_insert_id.result b/mysql-test/suite/rpl/r/rpl_insert_id.result
index f8a8e9eed32..05ef04e8a1d 100644
--- a/mysql-test/suite/rpl/r/rpl_insert_id.result
+++ b/mysql-test/suite/rpl/r/rpl_insert_id.result
@@ -1,21 +1,14 @@
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
#
# Setup
#
-use test;
-drop table if exists t1, t2, t3;
#
# See if queries that use both auto_increment and LAST_INSERT_ID()
# are replicated well
#
# We also check how the foreign_key_check variable is replicated
#
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET @old_concurrent_insert= @@global.concurrent_insert;
SET @@global.concurrent_insert= 0;
create table t1(a int auto_increment, key(a)) engine=myisam;
@@ -534,4 +527,4 @@ drop table t1, t2;
drop procedure foo;
SET @@global.concurrent_insert= @old_concurrent_insert;
set @@session.sql_auto_is_null=default;
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_insert_id_pk.result b/mysql-test/suite/rpl/r/rpl_insert_id_pk.result
index 79815355332..c2d6d2c9b0c 100644
--- a/mysql-test/suite/rpl/r/rpl_insert_id_pk.result
+++ b/mysql-test/suite/rpl/r/rpl_insert_id_pk.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(a int auto_increment, primary key(a));
create table t2(b int auto_increment, c int, primary key(b));
insert into t1 values (1),(2),(3);
@@ -74,3 +70,4 @@ SET FOREIGN_KEY_CHECKS=0;
INSERT INTO t1 VALUES (1),(1);
Got one of the listed errors
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_insert_ignore.result b/mysql-test/suite/rpl/r/rpl_insert_ignore.result
index e3e85c5e4c4..04b64359126 100644
--- a/mysql-test/suite/rpl/r/rpl_insert_ignore.result
+++ b/mysql-test/suite/rpl/r/rpl_insert_ignore.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
@@ -25,47 +21,36 @@ INSERT INTO t2 VALUES (4, 3);
INSERT INTO t2 VALUES (5, 4);
INSERT INTO t2 VALUES (6, 6);
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-drop table t1;
+include/assert.inc [Count of elements in t1 should be 6.]
+include/diff_tables.inc [master:test.t1 , slave:test.t1]
+INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
+include/assert.inc [Count of elements in t1 should be 6.]
+include/assert.inc [In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.]
+drop table t1, t2;
CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
b int unsigned,
unique (b)
) ENGINE=myisam;
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t1 VALUES (3, 3);
-INSERT INTO t1 VALUES (4, 4);
+CREATE TABLE t2 (
+a int unsigned, # to force INSERT SELECT to have a certain order
+b int unsigned
+) ENGINE=myisam;
+INSERT INTO t1 VALUES (NULL, 1);
+INSERT INTO t1 VALUES (NULL, 2);
+INSERT INTO t1 VALUES (NULL, 3);
+INSERT INTO t1 VALUES (NULL, 4);
+INSERT INTO t2 VALUES (1, 1);
+INSERT INTO t2 VALUES (2, 2);
+INSERT INTO t2 VALUES (3, 5);
+INSERT INTO t2 VALUES (4, 3);
+INSERT INTO t2 VALUES (5, 4);
+INSERT INTO t2 VALUES (6, 6);
+INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
+include/assert.inc [Count of elements in t1 should be 6.]
+include/diff_tables.inc [master:test.t1 , slave:test.t1]
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
+include/assert.inc [Count of elements in t1 should be 6.]
+include/assert.inc [In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.]
drop table t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_insert_select.result b/mysql-test/suite/rpl/r/rpl_insert_select.result
index 1aff39e0026..d98ae2538fa 100644
--- a/mysql-test/suite/rpl/r/rpl_insert_select.result
+++ b/mysql-test/suite/rpl/r/rpl_insert_select.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (n int not null primary key);
insert into t1 values (1);
create table t2 (n int);
@@ -15,3 +11,4 @@ n
1
2
drop table t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_invoked_features.result b/mysql-test/suite/rpl/r/rpl_invoked_features.result
index be9169c785b..514483e7995 100644
--- a/mysql-test/suite/rpl/r/rpl_invoked_features.result
+++ b/mysql-test/suite/rpl/r/rpl_invoked_features.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
USE test;
DROP VIEW IF EXISTS v1,v11;
DROP TABLE IF EXISTS t1,t2,t3,t11,t12,t13;
@@ -447,3 +443,4 @@ DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
DROP EVENT IF EXISTS e1;
DROP EVENT IF EXISTS e11;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ip_mix.result b/mysql-test/suite/rpl/r/rpl_ip_mix.result
index ddd7a008a97..4d3999549b3 100644
--- a/mysql-test/suite/rpl/r/rpl_ip_mix.result
+++ b/mysql-test/suite/rpl/r/rpl_ip_mix.result
@@ -63,6 +63,4 @@ change master to master_host='127.0.0.1';
Master-Host: 127.0.0.1
change master to master_host='0:0:0:0:0:0:0:1';
Master-Host: 0:0:0:0:0:0:0:1
-disconnect slave;
-disconnect master;
-connection default;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/r/rpl_ip_mix2.result b/mysql-test/suite/rpl/r/rpl_ip_mix2.result
index e1011bf85ee..3f536fc3efd 100644
--- a/mysql-test/suite/rpl/r/rpl_ip_mix2.result
+++ b/mysql-test/suite/rpl/r/rpl_ip_mix2.result
@@ -63,6 +63,4 @@ change master to master_host='127.0.0.1';
Master-Host: 127.0.0.1
change master to master_host='0:0:0:0:0:0:0:1';
Master-Host: 0:0:0:0:0:0:0:1
-disconnect slave;
-disconnect master;
-connection default;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result b/mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result
index 0393cfa483c..e1a0c6d4772 100644
--- a/mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result
+++ b/mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result
@@ -105,6 +105,4 @@ change master to master_host='127.0.0.1';
Master-Host: 127.0.0.1
change master to master_host='0:0000:0000:0:0000:FFFF:127.0.0.1';
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
-disconnect slave;
-disconnect master;
-connection default;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/r/rpl_ipv6.result b/mysql-test/suite/rpl/r/rpl_ipv6.result
index 6ae946d197b..04f0727b87f 100644
--- a/mysql-test/suite/rpl/r/rpl_ipv6.result
+++ b/mysql-test/suite/rpl/r/rpl_ipv6.result
@@ -60,6 +60,4 @@ change master to master_host='127.0.0.1';
Master-Host: 127.0.0.1
change master to master_host='0:0:0:0:0:0:0:1';
Master-Host: 0:0:0:0:0:0:0:1
-disconnect slave;
-disconnect master;
-connection default;
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/r/rpl_killed_ddl.result b/mysql-test/suite/rpl/r/rpl_killed_ddl.result
index c3cde16b9d2..a02c9b599bf 100644
--- a/mysql-test/suite/rpl/r/rpl_killed_ddl.result
+++ b/mysql-test/suite/rpl/r/rpl_killed_ddl.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP DATABASE IF EXISTS d1;
DROP DATABASE IF EXISTS d2;
DROP DATABASE IF EXISTS d3;
@@ -59,62 +55,62 @@ CREATE VIEW v1 AS SELECT a FROM t1 WHERE a < 100;
[on master1]
CREATE DATABASE d2;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP DATABASE d1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP DATABASE IF EXISTS d2;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE EVENT e2
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
DO INSERT INTO test.t1 VALUES (2);
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP EVENT e1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP EVENT IF EXISTS e2;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE FUNCTION f2 () RETURNS INT DETERMINISTIC
RETURN 1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
ALTER FUNCTION f1 SQL SECURITY INVOKER;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP FUNCTION f1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE PROCEDURE p2 (OUT rows INT)
BEGIN
SELECT COUNT(*) INTO rows FROM t2;
END;
//
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
ALTER PROCEDURE p1 SQL SECURITY INVOKER COMMENT 'return rows of table t1';
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP PROCEDURE p1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE TABLE t2 (b int);
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
ALTER TABLE t1 ADD (d int);
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
RENAME TABLE t3 TO t4;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE INDEX i2 on t1 (a);
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP INDEX i1 on t1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE TABLE IF NOT EXISTS t4 (a int);
CREATE TRIGGER tr2 BEFORE INSERT ON t4
FOR EACH ROW BEGIN
@@ -122,28 +118,28 @@ DELETE FROM t1 WHERE a=NEW.a;
END;
//
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP TRIGGER tr1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP TRIGGER IF EXISTS tr2;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
CREATE VIEW v2 AS SELECT a FROM t1 WHERE a > 100;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP VIEW v1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP VIEW IF EXISTS v2;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP TABLE t1;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP TABLE IF EXISTS t2;
source include/kill_query.inc;
-source include/diff_master_slave.inc;
+include/rpl_diff.inc
DROP DATABASE IF EXISTS d1;
DROP DATABASE IF EXISTS d2;
DROP DATABASE IF EXISTS d3;
@@ -168,3 +164,4 @@ DROP PROCEDURE IF EXISTS p1;
DROP PROCEDURE IF EXISTS p2;
DROP PROCEDURE IF EXISTS p3;
DROP PROCEDURE IF EXISTS p4;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result b/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
index daefee9c669..43f5c082dea 100644
--- a/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
+++ b/mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT,
UNIQUE(b));
INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10;
@@ -11,14 +7,18 @@ SELECT * FROM t1;
a b
1 10
2 2
-Last_SQL_Error = Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10'
+call mtr.add_suppression("Slave SQL.*suffer.*http:..bugs.mysql.com.bug.php.id=24432");
+include/wait_for_slave_sql_error.inc [errno=1105]
+Last_SQL_Error = 'Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10''
SELECT * FROM t1;
a b
stop slave;
+include/wait_for_slave_to_stop.inc
reset slave;
reset master;
drop table t1;
start slave;
+include/wait_for_slave_to_start.inc
CREATE TABLE t1 (
id bigint(20) unsigned NOT NULL auto_increment,
field_1 int(10) unsigned NOT NULL,
@@ -56,12 +56,16 @@ id field_1 field_2 field_3
4 4 d 4d
5 5 e 5e
6 6 f 6f
-Last_SQL_Error = Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1 (field_1, field_2, field_3)
+include/wait_for_slave_sql_error.inc [errno=1105]
+Last_SQL_Error = 'Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1 (field_1, field_2, field_3)
SELECT t2.field_a, t2.field_b, t2.field_c
FROM t2
ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c'
+t1.field_3 = t2.field_c''
SELECT * FROM t1;
id field_1 field_2 field_3
drop table t1, t2;
drop table t1, t2;
+include/stop_slave_io.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata.result b/mysql-test/suite/rpl/r/rpl_loaddata.result
index 32ec2e624e2..621f3a1ddf5 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
+include/master-slave.inc
+[connection master]
select last_insert_id();
last_insert_id()
0
@@ -32,32 +27,29 @@ drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
-set global sql_slave_skip_counter=1;
-start slave;
-Last_SQL_Errno=0
-Last_SQL_Error
-
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
+include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
+include/check_slave_no_error.inc
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
-stop slave;
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/stop_slave_io.inc
change master to master_user='test';
change master to master_user='root';
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/check_slave_no_error.inc
set global sql_slave_skip_counter=1;
start slave;
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
+include/wait_for_slave_sql_error.inc [errno=1062]
stop slave;
reset slave;
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/check_slave_no_error.inc
reset master;
create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
unique(day)) engine=MyISAM;
@@ -80,18 +72,14 @@ load data infile '../../std_data/rpl_loaddata2.dat' into table t2 fields
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
+include/wait_for_slave_sql_error.inc [errno=0]
drop table t1, t2;
drop table t1, t2;
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
LOAD DATA INFILE "../../std_data/words.dat" INTO TABLE t1;
ERROR 23000: Duplicate entry 'Aarhus' for key 'PRIMARY'
-DROP TABLE IF EXISTS t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+DROP TABLE t1;
+include/rpl_reset.inc
drop database if exists b48297_db1;
drop database if exists b42897_db2;
create database b48297_db1;
@@ -112,15 +100,10 @@ LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE t1;
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
### disconnect and switch back to master connection
use b48297_db1;
-Comparing tables master:b48297_db1.t1 and slave:b48297_db1.t1
+include/diff_tables.inc [master:b48297_db1.t1, slave:b48297_db1.t1]
DROP DATABASE b48297_db1;
DROP DATABASE b42897_db2;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
use test;
CREATE TABLE t1 (`key` TEXT, `text` TEXT);
LOAD DATA INFILE '../../std_data/loaddata2.dat' REPLACE INTO TABLE `t1` FIELDS TERMINATED BY ',';
@@ -132,3 +115,4 @@ Field 3 'Field 4'
'Field 5' 'Field 6'
Field 6 'Field 7'
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_charset.result b/mysql-test/suite/rpl/r/rpl_loaddata_charset.result
index e0971b84e3d..6b60bffa365 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_charset.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a varchar(10) character set utf8);
load data infile '../../std_data/loaddata6.dat' into table t1;
set @@character_set_database=koi8r;
@@ -76,3 +72,4 @@ E4B880E4BA8CE4B889
E59B9BE4BA94E585AD
E4B883E585ABE4B99D
DROP DATABASE mysqltest;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
index 9acc1ad93ac..b13e2ced183 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_fatal.result
@@ -1,14 +1,10 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (a INT, b INT);
INSERT INTO t1 VALUES (1,10);
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Fatal error: Not enough memory
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
+call mtr.add_suppression("Slave SQL.*Fatal error: Not enough memory, Error_code: 1593");
+include/wait_for_slave_sql_error_and_skip.inc [errno=1593]
+Last_SQL_Error = 'Fatal error: Not enough memory'
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_m.result b/mysql-test/suite/rpl/r/rpl_loaddata_m.result
index 4639c717cea..c34021b1fef 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_m.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_m.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest;
USE test;
CREATE TABLE t1(a INT, b INT, UNIQUE(b));
@@ -38,3 +34,4 @@ COUNT(*)
2
DROP DATABASE mysqltest;
DROP TABLE test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_map.result b/mysql-test/suite/rpl/r/rpl_loaddata_map.result
index 0588ae657ab..38e553e0117 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_map.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_map.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Create a big file ====
==== Load our big file into a table ====
create table t2 (id int not null primary key auto_increment);
@@ -31,3 +27,4 @@ count(*)
==== Clean up ====
[on master]
drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_s.result b/mysql-test/suite/rpl/r/rpl_loaddata_s.result
index 779a3af9631..351c5b584c5 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_s.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_s.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
reset master;
create table test.t1(a int, b int, unique(b));
load data infile '../../std_data/rpl_loaddata.dat' into table test.t1;
@@ -13,3 +9,4 @@ count(*)
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
drop table test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_simple.result b/mysql-test/suite/rpl/r/rpl_loaddata_simple.result
index 5e3923616ed..24a1a35470d 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_simple.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_simple.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (word CHAR(20) NOT NULL);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
SELECT * FROM t1 ORDER BY word;
@@ -151,3 +147,4 @@ Abernathy
aberrant
aberration
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddata_symlink.result b/mysql-test/suite/rpl/r/rpl_loaddata_symlink.result
index c7806f5ecce..c3b3c2232a6 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddata_symlink.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddata_symlink.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(a int not null auto_increment, b int, primary key(a) );
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
select * from t1;
@@ -15,3 +11,4 @@ a b
1 10
2 15
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_loaddatalocal.result b/mysql-test/suite/rpl/r/rpl_loaddatalocal.result
index 6dccaa3d74c..902bc1cda00 100644
--- a/mysql-test/suite/rpl/r/rpl_loaddatalocal.result
+++ b/mysql-test/suite/rpl/r/rpl_loaddatalocal.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(a int);
select * into outfile 'MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' from t1;
truncate table t1;
@@ -78,7 +74,50 @@ LOAD/*!99999 special comments that do not expand */DATA/*!99999 code from the fu
SET sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER';
LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
[slave]
+
+Bug #59267:
+"LOAD DATA LOCAL INFILE not executed on slave with SBR"
+
+[master]
+SELECT * INTO OUTFILE 'MYSQLD_DATADIR/bug59267.sql' FROM t1;
+TRUNCATE TABLE t1;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug59267.sql' INTO TABLE t1;
+SELECT 'Master', COUNT(*) FROM t1;
+Master COUNT(*)
+Master 44
+[slave]
+SELECT 'Slave', COUNT(*) FROM t1;
+Slave COUNT(*)
+Slave 44
[master]
DROP TABLE t1;
SET SESSION sql_mode=@old_mode;
[slave]
+
+Bug #60580/#11902767:
+"statement improperly replicated crashes slave sql thread"
+
+[master]
+CREATE TABLE t1(f1 INT, f2 INT);
+CREATE TABLE t2(f1 INT, f2 TIMESTAMP);
+INSERT INTO t2 VALUES(1, '2011-03-22 21:01:28');
+INSERT INTO t2 VALUES(2, '2011-03-21 21:01:28');
+INSERT INTO t2 VALUES(3, '2011-03-20 21:01:28');
+CREATE TABLE t3 AS SELECT * FROM t2;
+CREATE VIEW v1 AS SELECT * FROM t2
+WHERE f1 IN (SELECT f1 FROM t3 WHERE (t3.f2 IS NULL));
+SELECT 1 INTO OUTFILE 'MYSQLD_DATADIR/bug60580.csv' FROM DUAL;
+LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug60580.csv' INTO TABLE t1 (@f1) SET f2 = (SELECT f1 FROM v1 WHERE f1=@f1);
+SELECT * FROM t1;
+f1 f2
+NULL NULL
+[slave]
+SELECT * FROM t1;
+f1 f2
+NULL NULL
+[master]
+DROP VIEW v1;
+DROP TABLE t1, t2, t3;
+[slave]
+include/rpl_end.inc
+# End of 5.1 tests
diff --git a/mysql-test/suite/rpl/r/rpl_loadfile.result b/mysql-test/suite/rpl/r/rpl_loadfile.result
index 22f65c0b5e5..640d1f72bf5 100644
--- a/mysql-test/suite/rpl/r/rpl_loadfile.result
+++ b/mysql-test/suite/rpl/r/rpl_loadfile.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, PRIMARY KEY(a));
@@ -225,11 +221,7 @@ aberration
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE test.t1;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
SELECT repeat('x',20) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_39701.data';
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (t text);
@@ -240,6 +232,7 @@ END|
include/stop_slave.inc
CALL p('MYSQLTEST_VARDIR/tmp/bug_39701.data');
include/start_slave.inc
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
DROP PROCEDURE p;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_locale.result b/mysql-test/suite/rpl/r/rpl_locale.result
index b7396084663..1f6bd40cd16 100644
--- a/mysql-test/suite/rpl/r/rpl_locale.result
+++ b/mysql-test/suite/rpl/r/rpl_locale.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (s1 char(10));
set lc_time_names= 'de_DE';
insert into t1 values (date_format('2001-01-01','%W'));
@@ -18,3 +14,4 @@ s1
Montag
Monday
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_log_pos.result b/mysql-test/suite/rpl/r/rpl_log_pos.result
index 7eec839e7cb..b8bf8b447d2 100644
--- a/mysql-test/suite/rpl/r/rpl_log_pos.result
+++ b/mysql-test/suite/rpl/r/rpl_log_pos.result
@@ -1,11 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table if not exists t1 (n int);
-drop table t1;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression ("Slave I/O: Got fatal error 1236 from master when reading data from binary");
call mtr.add_suppression ("Error in Log_event::read_log_event");
show master status;
@@ -13,9 +7,11 @@ File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
include/stop_slave.inc
change master to master_log_pos=MASTER_LOG_POS;
+Read_Master_Log_Pos = '75'
start slave;
-Last_IO_Error = Got fatal error 1236 from master when reading data from binary log: 'binlog truncated in the middle of event'
-include/stop_slave.inc
+include/wait_for_slave_io_error.inc [errno=1236]
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master''
+include/stop_slave_sql.inc
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
@@ -32,3 +28,4 @@ n
3
drop table t1;
End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_manual_change_index_file.result b/mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
index 9061abca477..23238d9c97b 100644
--- a/mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
+++ b/mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
@@ -1,21 +1,18 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
FLUSH LOGS;
CREATE TABLE t1(c1 INT);
FLUSH LOGS;
call mtr.add_suppression('Got fatal error 1236 from master when reading data from binary log: .*could not find next log');
-Last_IO_Error
-Got fatal error 1236 from master when reading data from binary log: 'could not find next log'
+include/wait_for_slave_io_error.inc [errno=1236]
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'could not find next log''
CREATE TABLE t2(c1 INT);
FLUSH LOGS;
CREATE TABLE t3(c1 INT);
FLUSH LOGS;
CREATE TABLE t4(c1 INT);
START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
SHOW TABLES;
Tables_in_test
t1
@@ -23,3 +20,4 @@ t2
t3
t4
DROP TABLE t1, t2, t3, t4;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_many_optimize.result b/mysql-test/suite/rpl/r/rpl_many_optimize.result
index b2148892591..53be9b48c7b 100644
--- a/mysql-test/suite/rpl/r/rpl_many_optimize.result
+++ b/mysql-test/suite/rpl/r/rpl_many_optimize.result
@@ -1,9 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int not null auto_increment primary key, b int, key(b));
INSERT INTO t1 (a) VALUES (1),(2);
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
index edcae6e7506..bf4347757f7 100644
--- a/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
+++ b/mysql-test/suite/rpl/r/rpl_master_pos_wait.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
select master_pos_wait('master-bin.999999',0,2);
master_pos_wait('master-bin.999999',0,2)
-1
@@ -22,3 +18,4 @@ show slave status;
select master_pos_wait('foo', 98);
master_pos_wait('foo', 98)
NULL
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_misc_functions.result b/mysql-test/suite/rpl/r/rpl_misc_functions.result
index 8e39aa0135a..61006ecd714 100644
--- a/mysql-test/suite/rpl/r/rpl_misc_functions.result
+++ b/mysql-test/suite/rpl/r/rpl_misc_functions.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT');
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
insert into t1 values(1, connection_id(), 0, 0, "");
@@ -54,3 +50,4 @@ DROP TABLE t1, t1_slave;
DROP PROCEDURE test_replication_sp1;
DROP PROCEDURE test_replication_sp2;
DROP FUNCTION test_replication_sf;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mix_found_rows.result b/mysql-test/suite/rpl/r/rpl_mix_found_rows.result
index a3bc1934a70..40e80e23047 100644
--- a/mysql-test/suite/rpl/r/rpl_mix_found_rows.result
+++ b/mysql-test/suite/rpl/r/rpl_mix_found_rows.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialize ====
**** On Master ****
CREATE TABLE t1 (a INT);
@@ -136,3 +132,4 @@ DROP PROCEDURE just_log;
DROP PROCEDURE log_me;
DROP PROCEDURE log_me_inner;
DROP FUNCTION log_rows;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result b/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result
index ecc2987576c..0074d69ba15 100644
--- a/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result
+++ b/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE SCHEMA IF NOT EXISTS mysqlslap;
USE mysqlslap;
select @@global.binlog_format;
@@ -60,3 +56,4 @@ drop table t1;
FLUSH LOGS;
FLUSH LOGS;
End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result b/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
index 1ad34fbe961..14ed79680f1 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
@@ -1,10 +1,10 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
@@ -15,13 +15,11 @@ CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
Got one of the listed errors
*** Single statement on non-transactional table ***
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
*** Single statement on both transactional and non-transactional tables. ***
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
-source include/diff_master_slave.inc;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 2 - BEGIN - IMPLICIT COMMIT by DDL
########################################################################################
@@ -38,7 +36,7 @@ Got one of the listed errors
BEGIN;
Got one of the listed errors
Got one of the listed errors
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 3 - BEGIN - COMMIT
########################################################################################
@@ -50,7 +48,7 @@ Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 4 - BEGIN - ROLLBACK
########################################################################################
@@ -64,7 +62,7 @@ Got one of the listed errors
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 5 - PROCEDURE
########################################################################################
@@ -88,7 +86,7 @@ TRUNCATE TABLE t1;
BEGIN;
Got one of the listed errors
ROLLBACK;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 6 - XID
########################################################################################
@@ -103,7 +101,7 @@ ROLLBACK TO sv;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 7 - NON-TRANS TABLE
########################################################################################
@@ -118,7 +116,45 @@ COMMIT;
BEGIN;
Got one of the listed errors
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################
+# 8 - Bug#55375(Regression Bug) Transaction bigger than
+# max_binlog_cache_size crashes slave
+########################################################################
+# [ On Slave ]
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+include/stop_slave.inc
+include/start_slave.inc
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+TRUNCATE t1;
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+BEGIN;
+Repeat statement 'INSERT INTO t1 VALUES($n, repeat("a", 32))' 128 times
+COMMIT;
+include/wait_for_slave_sql_error.inc [errno=1197]
+SELECT count(*) FROM t1;
+count(*)
+0
+show binlog events in 'slave-bin.000001' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+include/stop_slave.inc
+include/start_slave.inc
+SELECT count(*) FROM t1;
+count(*)
+128
########################################################################################
# CLEAN
########################################################################################
@@ -126,8 +162,6 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
-Warnings:
-Note 1051 Unknown table 't6'
+DROP TABLE t5;
DROP PROCEDURE p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result b/mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result
index f1b0b2ae5cb..2b5b31201cb 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
CREATE TABLE t1 (`bit_key` bit, `bit` bit, key (`bit_key` )) ENGINE=MyISAM;
CREATE TABLE t2 (`bit_key` bit(4), `bit` bit, key (`bit_key` )) ENGINE=MyISAM;
@@ -30,3 +26,4 @@ DELETE FROM `t7` WHERE `bit` < 2 LIMIT 4;
INSERT INTO `t8` ( `bit` ) VALUES ( 0 );
DELETE FROM `t8` WHERE `bit` < 2 LIMIT 4;
DROP TABLE t1, t2, t3, t4, t5, t6, t7, t8;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result b/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result
index 38806e2b66d..f24f34fa0bf 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (n int auto_increment primary key);
set insert_id = 2000;
insert into t1 values (NULL),(NULL),(NULL);
@@ -17,6 +13,7 @@ Server_id Host Port Master_id
2 127.0.0.1 9999 1
drop table t1;
stop slave;
+include/wait_for_slave_to_stop.inc
create table t2(id int auto_increment primary key, created datetime);
SET TIME_ZONE= '+03:00';
set timestamp=12345;
@@ -28,6 +25,7 @@ create table t3 like t2;
create temporary table t4 like t2;
create table t5 select * from t4;
start slave;
+include/wait_for_slave_to_start.inc
select * from t2;
id created
1 1970-01-01 06:25:45
@@ -45,3 +43,4 @@ t5 CREATE TABLE `t5` (
`created` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2,t3,t5;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result
index b749778bcc2..541234fb5af 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_drop_create_temp_table.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -1563,3 +1559,4 @@ DROP TABLE IF EXISTS nt_1;
DROP TABLE IF EXISTS tt_2;
DROP TABLE IF EXISTS tt_1;
SET @commands= '';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result b/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result
index 7a5c6533641..baeefe7c6ea 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_implicit_commit_binlog.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-set session storage_engine=innodb;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -525,10 +520,8 @@ master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
###################################################################################
# CHECK CONSISTENCY
###################################################################################
-Comparing tables master:test.tt_1 and slave:test.tt_1
+include/diff_tables.inc [master:tt_1,slave:tt_1]
###################################################################################
# CLEAN
###################################################################################
-DROP TABLE tt_1;
-DROP TABLE tt_2;
-DROP TABLE nt_1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
index 5e42ca3d6da..5982d439a3e 100644
--- a/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -11561,3 +11557,4 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt_xx_
###################################################################################
# CLEAN
###################################################################################
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_delete.result b/mysql-test/suite/rpl/r/rpl_multi_delete.result
index 4831502eb88..ea1d87a3960 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_delete.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_delete.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int primary key);
create table t2 (a int);
insert into t1 values (1);
@@ -20,3 +16,4 @@ select * from t2;
a
1
drop table t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_delete2.result b/mysql-test/suite/rpl/r/rpl_multi_delete2.result
index 8e6a6a3d4d0..c693a43a550 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_delete2.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_delete2.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set sql_log_bin=0;
create database mysqltest_from;
set sql_log_bin=1;
@@ -42,3 +38,4 @@ set sql_log_bin=0;
drop database mysqltest_from;
set sql_log_bin=1;
drop database mysqltest_to;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_engine.result b/mysql-test/suite/rpl/r/rpl_multi_engine.result
index e26777c15ce..7815fa88c93 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_engine.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_engine.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1;
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc
VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT
@@ -360,3 +356,4 @@ id hex(b1) vc bc d f total y t
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id hex(b1) vc bc d f total y t
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_update.result b/mysql-test/suite/rpl/r/rpl_multi_update.result
index 524278be042..8634e86afed 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_update.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_update.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
b int unsigned
@@ -25,3 +21,4 @@ a b
2 1
UPDATE t1, t2 SET t1.b = t2.b WHERE t1.a = t2.a;
drop table t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_update2.result b/mysql-test/suite/rpl/r/rpl_multi_update2.result
index 5bb262764fa..a3cab693322 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_update2.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_update2.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1,t2;
CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
@@ -53,3 +49,4 @@ select * from t1;
a
3
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_update3.result b/mysql-test/suite/rpl/r/rpl_multi_update3.result
index dba7f770ba2..6b9ec5c3947 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_update3.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_update3.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
-------- Test for BUG#9361 --------
CREATE TABLE t1 (
@@ -195,3 +191,4 @@ idpro price nbprice
2 1.0000 2
3 2.0000 1
DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_multi_update4.result b/mysql-test/suite/rpl/r/rpl_multi_update4.result
index f6dde65a35d..0c4857bed60 100644
--- a/mysql-test/suite/rpl/r/rpl_multi_update4.result
+++ b/mysql-test/suite/rpl/r/rpl_multi_update4.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists d1;
drop database if exists d2;
drop database if exists d2;
@@ -23,3 +19,4 @@ id
0
drop database d1;
drop database d2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result b/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
index 26c3e545293..632529ce2b9 100644
--- a/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
+++ b/mysql-test/suite/rpl/r/rpl_mysql_upgrade.result
@@ -1,14 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
DROP DATABASE IF EXISTS `#mysql50#mysqltest-1`;
CREATE DATABASE `#mysql50#mysqltest-1`;
Master position is not changed
STOP SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_stop.inc
Master position has been changed
DROP DATABASE `mysqltest-1`;
DROP DATABASE `#mysql50#mysqltest-1`;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_name_const.result b/mysql-test/suite/rpl/r/rpl_name_const.result
index acb2684d2c8..89a48bad09b 100644
--- a/mysql-test/suite/rpl/r/rpl_name_const.result
+++ b/mysql-test/suite/rpl/r/rpl_name_const.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialize ====
[on master]
create table t1 (id int);
@@ -26,3 +22,4 @@ id
[on master]
drop table t1;
drop procedure test_procedure;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result
index 1f62ea7b100..9a72eba851f 100644
--- a/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -11933,3 +11929,4 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt_xx_
###################################################################################
# CLEAN
###################################################################################
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result
index 7390d5fd316..4106dc93198 100644
--- a/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -13801,3 +13797,4 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt_xx_
###################################################################################
# CLEAN
###################################################################################
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result
index 213a50f97ac..21031190660 100644
--- a/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -11123,3 +11119,4 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt_xx_
###################################################################################
# CLEAN
###################################################################################
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result b/mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result
index 1b7ac567936..ebbc657fcfd 100644
--- a/mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result
+++ b/mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT');
CREATE TABLE t1 (a VARCHAR(1000));
INSERT INTO t1 VALUES (CONNECTION_ID());
@@ -23,5 +19,6 @@ INSERT INTO t1 VALUES
(UTC_TIMESTAMP());
INSERT INTO t1 VALUES (RAND());
INSERT INTO t1 VALUES (LAST_INSERT_ID());
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_not_null_innodb.result b/mysql-test/suite/rpl/r/rpl_not_null_innodb.result
index b09fbab905a..1eaeaba05bb 100644
--- a/mysql-test/suite/rpl/r/rpl_not_null_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_not_null_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET SQL_LOG_BIN= 0;
CREATE TABLE t1(`a` INT, `b` DATE DEFAULT NULL,
`c` INT DEFAULT NULL,
@@ -45,8 +41,8 @@ INSERT INTO t4(a,c) VALUES (4, 4);
INSERT INTO t4(a) VALUES (5);
************* SHOWING THE RESULT SETS WITH INSERTS *************
TABLES t1 and t2 must be equal otherwise an error will be thrown.
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
TABLES t2 and t3 must be different.
SELECT * FROM t3 ORDER BY a;
a b
@@ -80,7 +76,7 @@ UPDATE t1 set b= NULL, c= 300 where a= 1;
REPLACE INTO t1(a,b,c) VALUES (2, NULL, 300);
************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
TABLES t1 and t2 must be equal otherwise an error will be thrown.
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
************* CLEANING *************
DROP TABLE t1;
DROP TABLE t2;
@@ -122,7 +118,7 @@ UPDATE t1 set b= NULL, c= b'00' where a= 1;
REPLACE INTO t1(a,b,c) VALUES (2, NULL, b'00');
************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
TABLES t1 and t2 must be equal otherwise an error will be thrown.
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
################################################################################
# NULL ---> NOT NULL (STRICT MODE)
@@ -200,3 +196,4 @@ a b c
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_not_null_myisam.result b/mysql-test/suite/rpl/r/rpl_not_null_myisam.result
index 09611dc6480..ec17e3bfafa 100644
--- a/mysql-test/suite/rpl/r/rpl_not_null_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_not_null_myisam.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET SQL_LOG_BIN= 0;
CREATE TABLE t1(`a` INT, `b` DATE DEFAULT NULL,
`c` INT DEFAULT NULL,
@@ -45,8 +41,8 @@ INSERT INTO t4(a,c) VALUES (4, 4);
INSERT INTO t4(a) VALUES (5);
************* SHOWING THE RESULT SETS WITH INSERTS *************
TABLES t1 and t2 must be equal otherwise an error will be thrown.
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
TABLES t2 and t3 must be different.
SELECT * FROM t3 ORDER BY a;
a b
@@ -80,7 +76,7 @@ UPDATE t1 set b= NULL, c= 300 where a= 1;
REPLACE INTO t1(a,b,c) VALUES (2, NULL, 300);
************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
TABLES t1 and t2 must be equal otherwise an error will be thrown.
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
************* CLEANING *************
DROP TABLE t1;
DROP TABLE t2;
@@ -122,7 +118,7 @@ UPDATE t1 set b= NULL, c= b'00' where a= 1;
REPLACE INTO t1(a,b,c) VALUES (2, NULL, b'00');
************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
TABLES t1 and t2 must be equal otherwise an error will be thrown.
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
################################################################################
# NULL ---> NOT NULL (STRICT MODE)
@@ -200,3 +196,4 @@ a b c
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_optimize.result b/mysql-test/suite/rpl/r/rpl_optimize.result
index 542e9dfd6cb..b606e47a55f 100644
--- a/mysql-test/suite/rpl/r/rpl_optimize.result
+++ b/mysql-test/suite/rpl/r/rpl_optimize.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop tables if exists t1;
+include/master-slave.inc
+[connection master]
create table t1 (a int not null auto_increment primary key, b int, key(b));
INSERT INTO t1 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
INSERT INTO t1 (a) SELECT null FROM t1;
@@ -26,3 +21,4 @@ optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_packet.result b/mysql-test/suite/rpl/r/rpl_packet.result
index 1ec9259a1fb..6190f458367 100644
--- a/mysql-test/suite/rpl/r/rpl_packet.result
+++ b/mysql-test/suite/rpl/r/rpl_packet.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Slave I/O: Got a packet bigger than 'max_allowed_packet' bytes, Error_code: 1153");
call mtr.add_suppression("Slave I/O: Got fatal error 1236 from master when reading data from binary log:");
drop database if exists DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
@@ -33,22 +29,15 @@ include/stop_slave.inc
include/start_slave.inc
CREATE TABLE `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
-Slave_IO_Running = No (expect No)
-SELECT "Got a packet bigger than 'max_allowed_packet' bytes" AS Last_IO_Error;
-Last_IO_Error
-Got a packet bigger than 'max_allowed_packet' bytes
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/wait_for_slave_io_error.inc [errno=1153]
+Last_IO_Error = 'Got a packet bigger than 'max_allowed_packet' bytes'
+include/stop_slave_sql.inc
+include/rpl_reset.inc
+DROP TABLE t1;
CREATE TABLE t1 (f1 int PRIMARY KEY, f2 LONGTEXT, f3 LONGTEXT) ENGINE=MyISAM;
INSERT INTO t1(f1, f2, f3) VALUES(1, REPEAT('a', @@global.max_allowed_packet), REPEAT('b', @@global.max_allowed_packet));
-Slave_IO_Running = No (expect No)
-SELECT "Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master'" AS Last_IO_Error;
-Last_IO_Error
-Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master'
+include/wait_for_slave_io_error.inc [errno=1236]
+Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master''
STOP SLAVE;
RESET SLAVE;
RESET MASTER;
@@ -60,5 +49,9 @@ SET @max_allowed_packet_2= @@session.max_allowed_packet;
==== clean up ====
DROP TABLE t1;
SET @@global.max_allowed_packet= 1024;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SET @@global.net_buffer_length= 1024;
DROP TABLE t1;
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_plugin_load.result b/mysql-test/suite/rpl/r/rpl_plugin_load.result
index 43e171a97c9..b33e29ef668 100644
--- a/mysql-test/suite/rpl/r/rpl_plugin_load.result
+++ b/mysql-test/suite/rpl/r/rpl_plugin_load.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
Verify that example engine is not installed.
SELECT * FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE='EXAMPLE';
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
@@ -33,4 +29,5 @@ Delta
Verify that example engine is not installed.
SELECT * FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE='EXAMPLE';
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
+include/rpl_end.inc
End of test
diff --git a/mysql-test/suite/rpl/r/rpl_ps.result b/mysql-test/suite/rpl/r/rpl_ps.result
index 89e822b3eb6..ca46f373610 100644
--- a/mysql-test/suite/rpl/r/rpl_ps.result
+++ b/mysql-test/suite/rpl/r/rpl_ps.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1;
create table t1(n char(30));
prepare stmt1 from 'insert into t1 values (?)';
@@ -26,6 +22,7 @@ from-master-2-'',
from-var-from-master-3
drop table t1;
stop slave;
+include/wait_for_slave_to_stop.inc
########################################################################
#
@@ -33,49 +30,22 @@ stop slave;
# statement breaks binlog.
#
########################################################################
-
# Connection: slave
-
-
START SLAVE;
-
# Connection: master
-
-
CREATE DATABASE mysqltest1;
CREATE TABLE t1(db_name CHAR(32), db_col_name CHAR(32));
-
PREPARE stmt_d_1 FROM 'INSERT INTO t1 VALUES(DATABASE(), @@collation_database)';
-
EXECUTE stmt_d_1;
-
use mysqltest1;
-
EXECUTE stmt_d_1;
-
-
# Connection: slave
-
-
SELECT * FROM t1;
db_name db_col_name
test latin1_swedish_ci
test latin1_swedish_ci
-
# Connection: master
-
-
DROP DATABASE mysqltest1;
-
use test;
DROP TABLE t1;
-
-
-# Connection: slave
-
-
-STOP SLAVE;
-
-########################################################################
-reset master;
-reset slave;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
index 7f43869c3b7..e41c16110dc 100644
--- a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
+++ b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
**** On Master ****
CREATE TABLE t1 (a INT, b LONG);
INSERT INTO t1 VALUES (1,1), (2,2);
@@ -30,3 +26,4 @@ slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
DROP TABLE IF EXISTS t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_read_only.result b/mysql-test/suite/rpl/r/rpl_read_only.result
index 971b20fcf3a..2f1f8cc1efb 100644
--- a/mysql-test/suite/rpl/r/rpl_read_only.result
+++ b/mysql-test/suite/rpl/r/rpl_read_only.result
@@ -1,10 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-call mtr.add_suppression("Unsafe statement written to the binary log in statement format since BINLOG_FORMAT = STATEMENT");
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
create user test;
create table t1(a int) engine=InnoDB;
create table t2(a int) engine=MyISAM;
@@ -31,15 +27,26 @@ a
2001
set global read_only=0;
BEGIN;
+BEGIN;
+select @@read_only;
+@@read_only
+0
+set global read_only=1;
+*** On SUPER USER connection ***
insert into t1 values(1002);
insert into t2 values(2002);
-BEGIN;
+*** On regular USER connection ***
insert into t1 values(1003);
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
insert into t2 values(2003);
-set global read_only=1;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+*** SUPER USER COMMIT (must succeed) ***
COMMIT;
+*** regular USER COMMIT (must succeed - nothing to commit) ***
COMMIT;
-ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+select @@read_only;
+@@read_only
+1
set global read_only=0;
insert into t1 values(1004);
insert into t2 values(2004);
@@ -52,7 +59,6 @@ select * from t2;
a
2001
2002
-2003
2004
select * from t1;
a
@@ -63,7 +69,6 @@ select * from t2;
a
2001
2002
-2003
2004
set global read_only=1;
select @@read_only;
@@ -91,7 +96,6 @@ select * from t2;
a
2001
2002
-2003
2004
2005
select * from t1;
@@ -104,7 +108,6 @@ select * from t2;
a
2001
2002
-2003
2004
2005
insert into t1 values(1006);
@@ -115,3 +118,4 @@ drop user test;
drop table t1;
drop table t2;
set global read_only=0;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result b/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
index 54aac2eca35..4f10ac50f9a 100644
--- a/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SHOW VARIABLES LIKE 'relay_log_space_limit';
Variable_name Value
relay_log_space_limit 0
@@ -23,3 +19,4 @@ Andy 31 00000001
Jacob 2 00000002
Caleb 1 00000003
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result b/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
index e8d2d63e46e..4c1a50b2f33 100644
--- a/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SHOW VARIABLES LIKE 'relay_log_space_limit';
Variable_name Value
relay_log_space_limit 0
@@ -23,3 +19,4 @@ Andy 31 00000001
Jacob 2 00000002
Caleb 1 00000003
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_relayrotate.result b/mysql-test/suite/rpl/r/rpl_relayrotate.result
index 20f19973d83..ea00aee0085 100644
--- a/mysql-test/suite/rpl/r/rpl_relayrotate.result
+++ b/mysql-test/suite/rpl/r/rpl_relayrotate.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
stop slave;
create table t1 (a int) engine=innodb;
reset slave;
@@ -14,3 +10,4 @@ select max(a) from t1;
max(a)
8000
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_relayspace.result b/mysql-test/suite/rpl/r/rpl_relayspace.result
index bb4e672e7e5..fb21540aa31 100644
--- a/mysql-test/suite/rpl/r/rpl_relayspace.result
+++ b/mysql-test/suite/rpl/r/rpl_relayspace.result
@@ -1,19 +1,15 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
+include/master-slave.inc
+[connection master]
+include/stop_slave.inc
create table t1 (a int);
drop table t1;
create table t1 (a int);
drop table t1;
reset slave;
start slave io_thread;
-stop slave io_thread;
+include/wait_for_slave_param.inc [Slave_IO_State]
+include/stop_slave_io.inc
reset slave;
-start slave;
-select master_pos_wait('MASTER_LOG_FILE',200,30)=-1;
-master_pos_wait('MASTER_LOG_FILE',200,30)=-1
-0
+include/start_slave.inc
+include/assert.inc [Assert that master_pos_wait does not timeout nor it returns NULL]
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_replicate_do.result b/mysql-test/suite/rpl/r/rpl_replicate_do.result
index 637047a883b..6f85fc15b1e 100644
--- a/mysql-test/suite/rpl/r/rpl_replicate_do.result
+++ b/mysql-test/suite/rpl/r/rpl_replicate_do.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t11;
drop table if exists t11;
create table t2 (n int);
@@ -26,7 +22,7 @@ n
select * from t11;
ERROR 42S02: Table 'test.t11' doesn't exist
drop table if exists t1,t2,t11;
-Replicate_Do_Table test.t1
+Replicate_Do_Table = 'test.t1'
create table t1 (ts timestamp);
set one_shot time_zone='met';
insert into t1 values('2005-08-12 00:00:00');
@@ -73,3 +69,4 @@ Trigger Event Table Statement Timing Created sql_mode Definer character_set_clie
*** master ***
drop table t1;
drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result b/mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result
index 0135804c02d..f0c46b0b966 100644
--- a/mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result
+++ b/mysql-test/suite/rpl/r/rpl_replicate_ignore_db.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
drop database if exists mysqltest2;
create database mysqltest1;
@@ -21,3 +17,4 @@ a
1
drop database mysqltest1;
drop database mysqltest2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_report.result b/mysql-test/suite/rpl/r/rpl_report.result
index e129d7c8f22..b979d1faf5d 100644
--- a/mysql-test/suite/rpl/r/rpl_report.result
+++ b/mysql-test/suite/rpl/r/rpl_report.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
select * from Information_schema.GLOBAL_VARIABLES where variable_name like 'report_host';
VARIABLE_NAME VARIABLE_VALUE
REPORT_HOST 127.0.0.1
@@ -31,3 +27,4 @@ Value my_password
set @@global.report_host='my.new.address.net';
ERROR HY000: Variable 'report_host' is a read only variable
end of tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_rewrt_db.result b/mysql-test/suite/rpl/r/rpl_rewrt_db.result
index dae72d83b51..12071faecfd 100644
--- a/mysql-test/suite/rpl/r/rpl_rewrt_db.result
+++ b/mysql-test/suite/rpl/r/rpl_rewrt_db.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
create database mysqltest1;
use mysqltest1;
@@ -219,3 +215,4 @@ DROP DATABASE database_slave_temp_01;
DROP DATABASE database_slave_temp_02;
DROP DATABASE database_slave_temp_03;
SET sql_log_bin= 1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_rotate_logs.result b/mysql-test/suite/rpl/r/rpl_rotate_logs.result
index f529170d05e..279ab88bde3 100644
--- a/mysql-test/suite/rpl/r/rpl_rotate_logs.result
+++ b/mysql-test/suite/rpl/r/rpl_rotate_logs.result
@@ -1,5 +1,3 @@
-drop table if exists t1, t2, t3, t4;
-drop table if exists t1, t2, t3, t4;
start slave;
Got one of the listed errors
start slave;
@@ -10,13 +8,14 @@ reset slave;
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
reset master;
start slave;
+include/wait_for_slave_to_start.inc
create temporary table temp_table (a char(80) not null);
insert into temp_table values ("testing temporary tables");
create table t1 (s text);
insert into t1 values('Could not break slave'),('Tried hard');
-Master_Log_File master-bin.000001
-Relay_Master_Log_File master-bin.000001
-Checking that both slave threads are running.
+Master_Log_File = 'master-bin.000001'
+Relay_Master_Log_File = 'master-bin.000001'
+include/check_slave_is_running.inc
select * from t1;
s
Could not break slave
@@ -38,8 +37,8 @@ drop table temp_table, t3;
insert into t2 values(1234);
set insert_id=1234;
insert into t2 values(NULL);
-set global sql_slave_skip_counter=1;
-start slave;
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .1234. for key .PRIMARY.. on query.* Error_code: 1062");
+include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
purge master logs to 'master-bin.000002';
show master logs;
Log_name master-bin.000002
@@ -57,9 +56,9 @@ show binary logs;
Log_name File_size
master-bin.000003 #
insert into t2 values (65);
-Master_Log_File master-bin.000003
-Relay_Master_Log_File master-bin.000003
-Checking that both slave threads are running.
+Master_Log_File = 'master-bin.000003'
+Relay_Master_Log_File = 'master-bin.000003'
+include/check_slave_is_running.inc
select * from t2;
m
34
@@ -91,7 +90,7 @@ a
testing temporary tables part 2
Master_Log_File master-bin.000009
Relay_Master_Log_File master-bin.000009
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
lock tables t3 read;
select count(*) from t3 where n >= 4;
count(*)
@@ -106,3 +105,4 @@ show binlog events in '';
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
purge master logs before now();
End of 5.0 tests
+include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_001.result b/mysql-test/suite/rpl/r/rpl_row_001.result
index 0d682eb82e1..b5f6aea9698 100644
--- a/mysql-test/suite/rpl/r/rpl_row_001.result
+++ b/mysql-test/suite/rpl/r/rpl_row_001.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (word CHAR(20) NOT NULL);
LOAD DATA INFILE 'LOAD_FILE' INTO TABLE t1;
LOAD DATA INFILE 'LOAD_FILE' INTO TABLE t1;
@@ -53,3 +49,4 @@ SELECT n FROM t1;
n
3456
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_4_bytes.result b/mysql-test/suite/rpl/r/rpl_row_4_bytes.result
index e2431364ed3..ef9602204a1 100644
--- a/mysql-test/suite/rpl/r/rpl_row_4_bytes.result
+++ b/mysql-test/suite/rpl/r/rpl_row_4_bytes.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
create database mysqltest1;
use mysqltest1;
@@ -25,3 +21,4 @@ ABE
ANG
LIL
DROP DATABASE mysqltest1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_NOW.result b/mysql-test/suite/rpl/r/rpl_row_NOW.result
index 23f95878608..eb6271d6e93 100644
--- a/mysql-test/suite/rpl/r/rpl_row_NOW.result
+++ b/mysql-test/suite/rpl/r/rpl_row_NOW.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create database if not exists mysqltest1;
DROP TABLE IF EXISTS mysqltest1.t1;
CREATE TABLE mysqltest1.t1 (n MEDIUMINT NOT NULL AUTO_INCREMENT,
@@ -27,3 +23,4 @@ INSERT INTO mysqltest1.t1 SET n = NULL, a = now();
DROP TABLE IF EXISTS mysqltest1.t1;
DROP FUNCTION mysqltest1.f1;
DROP DATABASE mysqltest1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_USER.result b/mysql-test/suite/rpl/r/rpl_row_USER.result
index 98755fb4653..5298395da20 100644
--- a/mysql-test/suite/rpl/r/rpl_row_USER.result
+++ b/mysql-test/suite/rpl/r/rpl_row_USER.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP DATABASE IF EXISTS mysqltest1;
CREATE DATABASE mysqltest1;
CREATE USER tester IDENTIFIED BY 'test';
@@ -36,3 +32,4 @@ REVOKE ALL ON mysqltest1.* FROM 'tester'@'%';
REVOKE ALL ON mysqltest1.* FROM ''@'localhost%';
DROP USER tester@'%';
DROP USER ''@'localhost%';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_UUID.result b/mysql-test/suite/rpl/r/rpl_row_UUID.result
index 02174a7ecae..b7d3f8914e0 100644
--- a/mysql-test/suite/rpl/r/rpl_row_UUID.result
+++ b/mysql-test/suite/rpl/r/rpl_row_UUID.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, vchar_column VARCHAR(100), PRIMARY KEY(a)) engine=myisam;
@@ -38,3 +34,4 @@ DROP PROCEDURE test.p1;
DROP FUNCTION test.fn1;
DROP TABLE test.t1;
DROP TABLE test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
index 1051d907b26..9f973bbe80e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE DATABASE test_ignore;
**** On Master ****
SHOW DATABASES;
@@ -48,11 +44,10 @@ t1
USE test_ignore;
ERROR 42000: Unknown database 'test_ignore'
DROP DATABASE test_ignore;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+USE test;
+DROP TABLE t1;
+USE test;
+include/rpl_reset.inc
CREATE TABLE t1 (a INT);
DELETE FROM t1;
INSERT INTO t1 VALUES (1),(2);
@@ -67,13 +62,10 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
================ Test for BUG#17620 ================
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
**** On Slave ****
SET GLOBAL QUERY_CACHE_SIZE=0;
+call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* Error_code: 1032");
**** On Master ****
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
@@ -105,12 +97,9 @@ a
8
9
SET GLOBAL QUERY_CACHE_SIZE=0;
+DROP TABLE t1;
================ Test for BUG#22550 ================
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (a BIT(1), b INT) ENGINE=MYISAM;
INSERT INTO t1 VALUES(1,2);
SELECT HEX(a),b FROM t1;
@@ -128,11 +117,7 @@ HEX(a) b
0 2
DROP TABLE IF EXISTS t1;
================ Test for BUG#22583 ================
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
**** On Master ****
CREATE TABLE t1_myisam (k INT, a BIT(1), b BIT(9)) ENGINE=MYISAM;
CREATE TABLE t1_innodb (k INT, a BIT(1), b BIT(9)) ENGINE=INNODB;
@@ -249,13 +234,8 @@ a b
3 1
4 4
drop table t1,t2;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
**** On Master ****
-SET SESSION BINLOG_FORMAT=ROW;
CREATE TABLE t1 (a INT PRIMARY KEY, b SET('master','slave'));
INSERT INTO t1 VALUES (1,'master,slave'), (2,'master,slave');
**** On Slave ****
@@ -279,6 +259,6 @@ SELECT * FROM t1 ORDER BY a;
a b
2 master,slave
5 slave
-DROP TABLE t1;
**** On Master ****
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
index 350ce0ac2c9..c864850a238 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'MYISAM' ;
SELECT * FROM t1;
C1 C2
@@ -422,11 +418,7 @@ a b c
**** Test for BUG#31552 ****
**** On Master ****
DELETE FROM t1;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
**** On Master ****
INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
**** On Master ****
@@ -436,7 +428,7 @@ DELETE FROM t1;
SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
COUNT(*) 0
set @@global.slave_exec_mode= default;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
COUNT(*) 0
**** Test for BUG#37076 ****
@@ -480,47 +472,43 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY';
[expecting slave to replicate correctly]
INSERT INTO t1 VALUES (1, "", 1);
INSERT INTO t1 VALUES (2, repeat(_utf8'a', 16), 2);
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
[expecting slave to replicate correctly]
INSERT INTO t2 VALUES (1, "", 1);
INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2);
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, Error_code: 1677");
+include/rpl_reset.inc
[expecting slave to replicate correctly]
INSERT INTO t4 VALUES (1, "", 1);
INSERT INTO t4 VALUES (2, repeat(_utf8'a', 128), 2);
-Comparing tables master:test.t4 and slave:test.t4
+include/diff_tables.inc [master:t4, slave:t4]
[expecting slave to stop]
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)'
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1677 ]
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)''
+include/rpl_reset.inc
[expecting slave to stop]
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
-Last_SQL_Error = Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)'
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1677 ]
+Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)''
+include/rpl_reset.inc
[expecting slave to replicate correctly]
INSERT INTO t7 VALUES (1, "", 1);
INSERT INTO t7 VALUES (2, repeat(_utf8'a', 255), 2);
-Comparing tables master:test.t7 and slave:test.t7
+include/diff_tables.inc [master:t7, slave:t7]
drop table t1, t2, t3, t4, t5, t6, t7;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE='MYISAM' ;
INSERT INTO t1 VALUES (1), (2), (3);
UPDATE t1 SET a = 10;
ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
INSERT INTO t1 VALUES (4);
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
drop table t1;
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (
@@ -574,7 +562,7 @@ ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
DELETE FROM t2 WHERE `pk` < 7 LIMIT 1;
UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6;
*** results: t2 must be consistent ****
-Comparing tables master:test.t2 and master:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1, t2;
EOF OF TESTS
CREATE TABLE t1 (a int) ENGINE='MYISAM' ;
@@ -590,7 +578,7 @@ UPDATE t1 SET a = 9 WHERE a < 3;
INSERT INTO t1 ( a ) VALUES ( 3 );
UPDATE t1 SET a = 0 WHERE a < 4;
UPDATE t1 SET a = 8 WHERE a < 5;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
drop table t1;
CREATE TABLE t1 (a bit) ENGINE='MYISAM' ;
INSERT IGNORE INTO t1 VALUES (NULL);
@@ -632,5 +620,6 @@ DELETE FROM t1 WHERE a < 3 LIMIT 0;
UPDATE t1 SET a = 8 WHERE a = 5 LIMIT 2;
INSERT INTO t1 ( a ) VALUES ( 1 );
UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 3;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
index 59441ac5684..0e00695500c 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'INNODB' ;
SELECT * FROM t1;
C1 C2
@@ -425,11 +421,7 @@ a b c
**** Test for BUG#31552 ****
**** On Master ****
DELETE FROM t1;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
**** On Master ****
INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
**** On Master ****
@@ -439,7 +431,7 @@ DELETE FROM t1;
SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
COUNT(*) 0
set @@global.slave_exec_mode= default;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
COUNT(*) 0
**** Test for BUG#37076 ****
@@ -483,47 +475,43 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY';
[expecting slave to replicate correctly]
INSERT INTO t1 VALUES (1, "", 1);
INSERT INTO t1 VALUES (2, repeat(_utf8'a', 16), 2);
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
[expecting slave to replicate correctly]
INSERT INTO t2 VALUES (1, "", 1);
INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2);
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 1 size mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table test.t1.* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t.. cannot be converted from type.*, Error_code: 1677");
+include/rpl_reset.inc
[expecting slave to replicate correctly]
INSERT INTO t4 VALUES (1, "", 1);
INSERT INTO t4 VALUES (2, repeat(_utf8'a', 128), 2);
-Comparing tables master:test.t4 and slave:test.t4
+include/diff_tables.inc [master:t4, slave:t4]
[expecting slave to stop]
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)'
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1677 ]
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)''
+include/rpl_reset.inc
[expecting slave to stop]
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
-Last_SQL_Error = Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)'
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
+include/wait_for_slave_sql_error.inc [errno=1677 ]
+Last_SQL_Error = 'Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)''
+include/rpl_reset.inc
[expecting slave to replicate correctly]
INSERT INTO t7 VALUES (1, "", 1);
INSERT INTO t7 VALUES (2, repeat(_utf8'a', 255), 2);
-Comparing tables master:test.t7 and slave:test.t7
+include/diff_tables.inc [master:t7, slave:t7]
drop table t1, t2, t3, t4, t5, t6, t7;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE='INNODB' ;
INSERT INTO t1 VALUES (1), (2), (3);
UPDATE t1 SET a = 10;
ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
INSERT INTO t1 VALUES (4);
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
drop table t1;
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (
@@ -577,7 +565,7 @@ ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
DELETE FROM t2 WHERE `pk` < 7 LIMIT 1;
UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6;
*** results: t2 must be consistent ****
-Comparing tables master:test.t2 and master:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1, t2;
EOF OF TESTS
CREATE TABLE t1 (a int) ENGINE='INNODB' ;
@@ -593,7 +581,7 @@ UPDATE t1 SET a = 9 WHERE a < 3;
INSERT INTO t1 ( a ) VALUES ( 3 );
UPDATE t1 SET a = 0 WHERE a < 4;
UPDATE t1 SET a = 8 WHERE a < 5;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
drop table t1;
SET @saved_slave_type_conversions = @@SLAVE_TYPE_CONVERSIONS;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_LOSSY';
@@ -638,5 +626,6 @@ UPDATE t1 SET a = 8 WHERE a = 5 LIMIT 2;
INSERT INTO t1 ( a ) VALUES ( 1 );
UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 3;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result b/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result
index 3443e704031..c7241c52353 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_8partition.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t1;
SET @@BINLOG_FORMAT = ROW;
SELECT @@BINLOG_FORMAT;
@@ -717,3 +713,4 @@ COUNT(*)
4
DELETE FROM t1;
DROP TABLE IF EXISTS t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result b/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
index 6e47f747a79..077199a0c93 100644
--- a/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
+++ b/mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
@@ -1,10 +1,10 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
@@ -15,13 +15,11 @@ CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
Got one of the listed errors
*** Single statement on non-transactional table ***
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
*** Single statement on both transactional and non-transactional tables. ***
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 2;
-START SLAVE SQL_THREAD;
-source include/diff_master_slave.inc;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 2 - BEGIN - IMPLICIT COMMIT by DDL
########################################################################################
@@ -39,9 +37,7 @@ Got one of the listed errors
BEGIN;
Got one of the listed errors
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 3 - BEGIN - COMMIT
########################################################################################
@@ -53,7 +49,7 @@ Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 4 - BEGIN - ROLLBACK
########################################################################################
@@ -67,7 +63,7 @@ Got one of the listed errors
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 5 - PROCEDURE
########################################################################################
@@ -91,7 +87,7 @@ TRUNCATE TABLE t1;
BEGIN;
Got one of the listed errors
ROLLBACK;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 6 - XID
########################################################################################
@@ -106,7 +102,7 @@ ROLLBACK TO sv;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 7 - NON-TRANS TABLE
########################################################################################
@@ -121,7 +117,45 @@ COMMIT;
BEGIN;
Got one of the listed errors
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################
+# 8 - Bug#55375(Regression Bug) Transaction bigger than
+# max_binlog_cache_size crashes slave
+########################################################################
+# [ On Slave ]
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+include/stop_slave.inc
+include/start_slave.inc
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+TRUNCATE t1;
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+BEGIN;
+Repeat statement 'INSERT INTO t1 VALUES($n, repeat("a", 32))' 128 times
+COMMIT;
+include/wait_for_slave_sql_error.inc [errno=1534]
+SELECT count(*) FROM t1;
+count(*)
+0
+show binlog events in 'slave-bin.000001' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+include/stop_slave.inc
+include/start_slave.inc
+SELECT count(*) FROM t1;
+count(*)
+128
########################################################################################
# CLEAN
########################################################################################
@@ -129,10 +163,6 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE IF EXISTS t4;
-Warnings:
-Note 1051 Unknown table 't4'
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
-Warnings:
-Note 1051 Unknown table 't6'
+DROP TABLE t5;
DROP PROCEDURE p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_blob_innodb.result b/mysql-test/suite/rpl/r/rpl_row_blob_innodb.result
index 055efffbd6a..4fb33dc4b6b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_blob_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_blob_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
***** Table Create Section ****
@@ -154,3 +150,4 @@ c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_blob_myisam.result b/mysql-test/suite/rpl/r/rpl_row_blob_myisam.result
index 055efffbd6a..4fb33dc4b6b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_blob_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_blob_myisam.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
***** Table Create Section ****
@@ -154,3 +150,4 @@ c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_colSize.result b/mysql-test/suite/rpl/r/rpl_row_colSize.result
index 0ef47b8752d..487cddc2051 100644
--- a/mysql-test/suite/rpl/r/rpl_row_colSize.result
+++ b/mysql-test/suite/rpl/r/rpl_row_colSize.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t1;
**** Testing WL#3228 changes. ****
*** Create "wider" table on slave ***
@@ -18,7 +14,8 @@ CREATE TABLE t1 (a DECIMAL(20, 10));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'decimal(20,10)' to type 'decimal(5,2)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'decimal(20,10)' to type 'decimal(5,2)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -34,7 +31,8 @@ CREATE TABLE t1 (a DECIMAL(27, 18));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'decimal(27,18)' to type 'decimal(27,9)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'decimal(27,18)' to type 'decimal(27,9)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -50,7 +48,8 @@ CREATE TABLE t1 (a NUMERIC(20, 10));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'decimal(20,10)' to type 'decimal(5,2)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'decimal(20,10)' to type 'decimal(5,2)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -67,7 +66,8 @@ CREATE TABLE t1 (a FLOAT(47));
RESET MASTER;
INSERT INTO t1 VALUES (901251.90125);
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'double' to type 'float'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'double' to type 'float''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -84,7 +84,8 @@ CREATE TABLE t1 (a BIT(64));
RESET MASTER;
INSERT INTO t1 VALUES (B'10101');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'bit(64)' to type 'bit(5)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'bit(64)' to type 'bit(5)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -100,7 +101,8 @@ CREATE TABLE t1 (a BIT(12));
RESET MASTER;
INSERT INTO t1 VALUES (B'10101');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'bit(12)' to type 'bit(11)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'bit(12)' to type 'bit(11)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -117,7 +119,8 @@ CREATE TABLE t1 (a SET('1','2','3','4','5','6','7','8','9'));
RESET MASTER;
INSERT INTO t1 VALUES ('4');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'set' to type 'set('4')'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'set' to type 'set('4')''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -134,7 +137,8 @@ CREATE TABLE t1 (a CHAR(20));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'char(20)' to type 'char(10)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'char(20)' to type 'char(10)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -182,7 +186,8 @@ CREATE TABLE t1 (a ENUM(
RESET MASTER;
INSERT INTO t1 VALUES ('44');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'enum' to type 'enum('44','54')'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'enum' to type 'enum('44','54')''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -199,7 +204,8 @@ CREATE TABLE t1 (a VARCHAR(2000));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'varchar(2000)' to type 'varchar(100)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'varchar(2000)' to type 'varchar(100)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -215,7 +221,8 @@ CREATE TABLE t1 (a VARCHAR(200));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'varchar(200)' to type 'varchar(10)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'varchar(200)' to type 'varchar(10)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -231,7 +238,8 @@ CREATE TABLE t1 (a VARCHAR(2000));
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'varchar(2000)' to type 'varchar(1000)'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'varchar(2000)' to type 'varchar(1000)''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -248,7 +256,8 @@ CREATE TABLE t1 (a LONGBLOB);
RESET MASTER;
INSERT INTO t1 VALUES ('This is a test.');
START SLAVE;
-Last_SQL_Error = Column 0 of table 'test.t1' cannot be converted from type 'tinyblob' to type 'tinyblob'
+include/wait_for_slave_sql_error.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t1' cannot be converted from type 'tinyblob' to type 'tinyblob''
SELECT COUNT(*) FROM t1;
COUNT(*)
0
@@ -256,5 +265,8 @@ STOP SLAVE;
RESET SLAVE;
RESET MASTER;
START SLAVE;
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 0 ...e mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column 0 of table .test.t1. cannot be converted from type.* Error_code: 1677");
*** Cleanup ***
DROP TABLE IF EXISTS t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_conflicts.result b/mysql-test/suite/rpl/r/rpl_row_conflicts.result
index 90ccae5d738..b42ff0c3b17 100644
--- a/mysql-test/suite/rpl/r/rpl_row_conflicts.result
+++ b/mysql-test/suite/rpl/r/rpl_row_conflicts.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Slave: Can\'t find record in \'t1\' Error_code: .*");
[on slave]
SET @old_slave_exec_mode= @@global.slave_exec_mode;
@@ -24,14 +20,17 @@ a
1
[on slave]
---- Wait until slave stops with an error ----
+include/wait_for_slave_sql_error.inc [errno=1062]
Last_SQL_Error (expected "duplicate key" error)
Could not execute Write_rows event on table test.t1; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log master-bin.000001, end_log_pos END_LOG_POS
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
SELECT * FROM t1;
a
1
---- Resolve the conflict on the slave and restart SQL thread ----
DELETE FROM t1 WHERE a = 1;
START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_start.inc
---- Sync slave and verify that there is no error ----
Last_SQL_Error = '' (expected no error)
SELECT * FROM t1;
@@ -51,12 +50,16 @@ SELECT * FROM t1;
a
[on slave]
---- Wait until slave stops with an error ----
-Last_SQL_Error = Could not execute Delete_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos 983 (expected "can't find record" error)
+call mtr.add_suppression("Slave SQL.*Can.t find record in .t1., Error_code: 1032");
+include/wait_for_slave_sql_error.inc [errno=1032]
+Last_SQL_Error (expected "duplicate key" error)
+Could not execute Delete_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos END_LOG_POS
SELECT * FROM t1;
a
---- Resolve the conflict on the slave and restart SQL thread ----
INSERT INTO t1 VALUES (1);
START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_start.inc
---- Sync slave and verify that there is no error ----
Last_SQL_Error = (expected no error)
SELECT * FROM t1;
@@ -65,6 +68,7 @@ a
[on master]
DROP TABLE t1;
[on slave]
+include/rpl_reset.inc
######## Run with slave_exec_mode=IDEMPOTENT ########
set @@global.slave_exec_mode= 'IDEMPOTENT';
==== Initialize ====
@@ -108,3 +112,4 @@ a
DROP TABLE t1;
[on slave]
SET @@global.slave_exec_mode= @old_slave_exec_mode;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_delayed_ins.result b/mysql-test/suite/rpl/r/rpl_row_delayed_ins.result
index 90b68428008..4575588b1ef 100644
--- a/mysql-test/suite/rpl/r/rpl_row_delayed_ins.result
+++ b/mysql-test/suite/rpl/r/rpl_row_delayed_ins.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(a int not null primary key) engine=myisam;
insert delayed into t1 values (1);
insert delayed into t1 values (2);
@@ -20,3 +16,4 @@ a
2
3
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_drop.result b/mysql-test/suite/rpl/r/rpl_row_drop.result
index 402d20e469b..be7b2d16a0b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_drop.result
+++ b/mysql-test/suite/rpl/r/rpl_row_drop.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
**** On Master ****
CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
@@ -55,3 +51,4 @@ t2
SHOW TABLES;
Tables_in_test
t2
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result
index a0b7f74fea4..db38c2d8005 100644
--- a/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_row_drop_create_temp_table.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -1628,3 +1624,4 @@ DROP TABLE IF EXISTS nt_1;
DROP TABLE IF EXISTS tt_2;
DROP TABLE IF EXISTS tt_1;
SET @commands= '';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_find_row.result b/mysql-test/suite/rpl/r/rpl_row_find_row.result
index 69516b47b7d..fff1f1b0c35 100644
--- a/mysql-test/suite/rpl/r/rpl_row_find_row.result
+++ b/mysql-test/suite/rpl/r/rpl_row_find_row.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET SQL_LOG_BIN=0;
CREATE TABLE t (a int, b int, c int, key(b));
SET SQL_LOG_BIN=1;
@@ -12,27 +8,18 @@ INSERT INTO t VALUES (1,2,4);
INSERT INTO t VALUES (4,3,4);
DELETE FROM t;
DROP TABLE t;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t (a int, b int, c int, key(b));
ALTER TABLE t DISABLE KEYS;
INSERT INTO t VALUES (1,2,4);
INSERT INTO t VALUES (4,3,4);
DELETE FROM t;
DROP TABLE t;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT, UNIQUE KEY(c1,c3), KEY(c2));
INSERT INTO t1(c1,c2) VALUES(1,1);
INSERT INTO t1(c1,c2) VALUES(1,2);
UPDATE t1 SET c1=1000 WHERE c2=2;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result b/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
index fe2fb1d9da2..6b8d8b9407e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
+++ b/mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result
@@ -1,10 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int) ENGINE=MyISAM;
+include/master-slave.inc
+[connection master]
+create table t1 (a int);
insert into t1 values (10);
create table t2 (a int) ENGINE=MyISAM;
create table t3 (a int) engine=merge union(t1);
@@ -21,10 +17,13 @@ flush tables;
select * from t3;
a
stop slave;
+include/wait_for_slave_to_stop.inc
drop table t1;
flush tables with read lock;
start slave;
+include/wait_for_slave_to_start.inc
stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
drop table t3, t4, t5;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_func001.result b/mysql-test/suite/rpl/r/rpl_row_func001.result
index b20f3f724d0..74a053abb26 100644
--- a/mysql-test/suite/rpl/r/rpl_row_func001.result
+++ b/mysql-test/suite/rpl/r/rpl_row_func001.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP FUNCTION test.f1;
DROP TABLE IF EXISTS test.t1;
create table test.t1 (a int, PRIMARY KEY(a));
@@ -28,3 +24,4 @@ a
2
DROP FUNCTION test.f1;
DROP TABLE test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_func002.result b/mysql-test/suite/rpl/r/rpl_row_func002.result
index 03f5b3115c3..69a732048b2 100644
--- a/mysql-test/suite/rpl/r/rpl_row_func002.result
+++ b/mysql-test/suite/rpl/r/rpl_row_func002.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP FUNCTION test.f1;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
@@ -24,3 +20,4 @@ INSERT INTO test.t2 VALUES (null,f1(),CURRENT_TIMESTAMP);
DROP FUNCTION test.f1;
DROP TABLE test.t1;
DROP TABLE test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_func003.result b/mysql-test/suite/rpl/r/rpl_row_func003.result
index 94d01b50ce5..cdc5bf6afba 100644
--- a/mysql-test/suite/rpl/r/rpl_row_func003.result
+++ b/mysql-test/suite/rpl/r/rpl_row_func003.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression('Statement may not be safe to log in statement format.');
DROP FUNCTION IF EXISTS test.f1;
DROP TABLE IF EXISTS test.t1;
@@ -28,3 +24,4 @@ ROLLBACK;
SET AUTOCOMMIT=1;
DROP FUNCTION test.f1;
DROP TABLE test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_idempotency.result b/mysql-test/suite/rpl/r/rpl_row_idempotency.result
index fcc68cd4712..20afcd0a393 100644
--- a/mysql-test/suite/rpl/r/rpl_row_idempotency.result
+++ b/mysql-test/suite/rpl/r/rpl_row_idempotency.result
@@ -1,12 +1,9 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-call mtr.add_suppression("Slave: Can't find record in 't.' Error_code: 1032");
-call mtr.add_suppression("Slave: Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Slave: Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Can.t find record in .t[12].* Error_code: 1032");
+call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
+call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+call mtr.add_suppression("Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
set @old_slave_exec_mode= @@global.slave_exec_mode;
set @@global.slave_exec_mode= IDEMPOTENT;
create table ti1 (b int primary key) engine = innodb;
@@ -76,6 +73,7 @@ b
2
3
*** slave must stop (Trying to delete a referenced foreing key)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1451
select * from ti1 order by b /* must be (1),(2),(3) - not deleted */;
@@ -94,6 +92,7 @@ set global slave_exec_mode='STRICT';
delete from ti1 where b=3;
insert into ti2 set a=3, b=3 /* offending write event */;
*** slave must stop (Trying to insert an invalid foreign key)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1452
select * from ti2 order by b /* must be (2,2) */;
@@ -114,6 +113,7 @@ a b
insert into ti1 set b=1;
insert into ti1 set b=1 /* offending write event */;
*** slave must stop (Trying to insert a dupliacte key)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1062
set foreign_key_checks= 0;
@@ -130,6 +130,7 @@ DELETE FROM t1 WHERE a = -2;
DELETE FROM t2 WHERE a = -2;
DELETE FROM t1 WHERE a = -2;
*** slave must stop (Key was not found)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1032
set global slave_exec_mode='IDEMPOTENT';
@@ -137,6 +138,7 @@ start slave sql_thread;
set global slave_exec_mode='STRICT';
DELETE FROM t2 WHERE a = -2;
*** slave must stop (Key was not found)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1032
set global slave_exec_mode='IDEMPOTENT';
@@ -146,6 +148,7 @@ UPDATE t1 SET a = 1 WHERE a = -1;
UPDATE t2 SET a = 1 WHERE a = -1;
UPDATE t1 SET a = 1 WHERE a = -1;
*** slave must stop (Key was not found)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1032
set global slave_exec_mode='IDEMPOTENT';
@@ -153,6 +156,7 @@ start slave sql_thread;
set global slave_exec_mode='STRICT';
UPDATE t2 SET a = 1 WHERE a = -1;
*** slave must stop (Key was not found)
+include/wait_for_slave_sql_to_stop.inc
Last_SQL_Error
1032
set global slave_exec_mode='IDEMPOTENT';
@@ -161,3 +165,4 @@ SET @@global.slave_exec_mode= @old_slave_exec_mode;
drop table t1,t2,ti2,ti1;
set @@global.slave_exec_mode= @old_slave_exec_mode;
*** end of tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result b/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result
index d9e70ce95c5..f81e5db986e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result
+++ b/mysql-test/suite/rpl/r/rpl_row_implicit_commit_binlog.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-set session storage_engine=innodb;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -563,10 +558,8 @@ master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
###################################################################################
# CHECK CONSISTENCY
###################################################################################
-Comparing tables master:test.tt_1 and slave:test.tt_1
+include/diff_tables.inc [master:tt_1,slave:tt_1]
###################################################################################
# CLEAN
###################################################################################
-DROP TABLE tt_1;
-DROP TABLE tt_2;
-DROP TABLE nt_1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result b/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
index 9a179478ecc..fa565c4061c 100644
--- a/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
+++ b/mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Setup table on master but not on slave ====
[on master]
CREATE TABLE t1 (a INT);
@@ -14,8 +10,11 @@ DROP TABLE t1;
INSERT INTO t1 VALUES (1);
==== Verify error on slave ====
[on slave]
-Last_SQL_Error = Error executing row event: 'Table 'test.t1' doesn't exist'
+call mtr.add_suppression("Slave SQL.*Error executing row event: .Table .test.t1. doesn.t exist., Error_code: 1146");
+include/wait_for_slave_sql_error.inc [errno=1146]
==== Clean up ====
-include/stop_slave.inc
+include/stop_slave_io.inc
+RESET SLAVE;
[on master]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result b/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result
index 5959a82183e..e7f25f9cb0a 100644
--- a/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result
+++ b/mysql-test/suite/rpl/r/rpl_row_insert_delayed.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE SCHEMA IF NOT EXISTS mysqlslap;
USE mysqlslap;
select @@global.binlog_format;
@@ -58,3 +54,4 @@ a
1
drop table t1;
End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result b/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result
index 4b2948f9382..988be2b84d0 100644
--- a/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result
+++ b/mysql-test/suite/rpl/r/rpl_row_loaddata_concurrent.result
@@ -13,13 +13,8 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
+include/master-slave.inc
+[connection master]
select last_insert_id();
last_insert_id()
0
@@ -47,32 +42,27 @@ drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
-set global sql_slave_skip_counter=1;
-start slave;
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
+include/check_slave_no_error.inc
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
-stop slave;
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/stop_slave_io.inc
change master to master_user='test';
change master to master_user='root';
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/check_slave_no_error.inc
set global sql_slave_skip_counter=1;
start slave;
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
+include/wait_for_slave_sql_error.inc [errno=1062]
stop slave;
reset slave;
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/check_slave_no_error.inc
reset master;
create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
unique(day)) engine=MyISAM;
@@ -99,13 +89,8 @@ drop table t1, t2;
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
LOAD DATA CONCURRENT INFILE "../../std_data/words.dat" INTO TABLE t1;
ERROR 23000: Duplicate entry 'Aarhus' for key 'PRIMARY'
-DROP TABLE IF EXISTS t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+DROP TABLE t1;
+include/rpl_reset.inc
drop database if exists b48297_db1;
drop database if exists b42897_db2;
create database b48297_db1;
@@ -126,15 +111,10 @@ LOAD DATA CONCURRENT LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO
LOAD DATA CONCURRENT LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
### disconnect and switch back to master connection
use b48297_db1;
-Comparing tables master:b48297_db1.t1 and slave:b48297_db1.t1
+include/diff_tables.inc [master:b48297_db1.t1, slave:b48297_db1.t1]
DROP DATABASE b48297_db1;
DROP DATABASE b42897_db2;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
use test;
CREATE TABLE t1 (`key` TEXT, `text` TEXT);
LOAD DATA INFILE '../../std_data/loaddata2.dat' REPLACE INTO TABLE `t1` FIELDS TERMINATED BY ',';
@@ -146,3 +126,4 @@ Field 3 'Field 4'
'Field 5' 'Field 6'
Field 6 'Field 7'
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_log.result b/mysql-test/suite/rpl/r/rpl_row_log.result
index dbb43b9415b..b9be2cd0144 100644
--- a/mysql-test/suite/rpl/r/rpl_row_log.result
+++ b/mysql-test/suite/rpl/r/rpl_row_log.result
@@ -1,13 +1,11 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
reset master;
reset slave;
start slave;
+include/wait_for_slave_to_start.inc
create table t1(n int not null auto_increment primary key)ENGINE=MyISAM;
insert into t1 values (NULL);
drop table t1;
@@ -243,18 +241,13 @@ slave-bin.000002 # Query # # BEGIN
slave-bin.000002 # Table_map # # table_id: # (test.t2)
slave-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
slave-bin.000002 # Query # # COMMIT
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
@@ -276,3 +269,4 @@ a b
5 1
6 1
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
index ed6051829d4..15aa8f23b55 100644
--- a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result
@@ -1,13 +1,11 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
reset master;
reset slave;
start slave;
+include/wait_for_slave_to_start.inc
create table t1(n int not null auto_increment primary key)ENGINE=InnoDB;
insert into t1 values (NULL);
drop table t1;
@@ -243,18 +241,13 @@ slave-bin.000002 # Query # # BEGIN
slave-bin.000002 # Table_map # # table_id: # (test.t2)
slave-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
slave-bin.000002 # Xid # # COMMIT /* XID */
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
@@ -276,3 +269,4 @@ a b
5 1
6 1
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result b/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
index 547dd8e1541..379cea4d3fc 100644
--- a/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
+++ b/mysql-test/suite/rpl/r/rpl_row_max_relay_size.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
stop slave;
#
# Generate a big enough master's binlog to cause relay log rotations
@@ -23,7 +19,7 @@ select @@global.max_relay_log_size;
@@global.max_relay_log_size
4096
start slave;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 2
#
@@ -33,7 +29,7 @@ set global max_relay_log_size=(5*4096);
select @@global.max_relay_log_size;
@@global.max_relay_log_size 20480
start slave;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 3: max_relay_log_size = 0
#
@@ -43,7 +39,7 @@ set global max_relay_log_size=0;
select @@global.max_relay_log_size;
@@global.max_relay_log_size 0
start slave;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
#
@@ -57,13 +53,13 @@ reset slave;
start slave;
flush logs;
create table t1 (a int);
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
#
flush logs;
drop table t1;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
flush logs;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
@@ -72,3 +68,4 @@ set global max_binlog_size= @my_max_binlog_size;
#
# End of 4.1 tests
#
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result
index 7390d5fd316..4106dc93198 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mixing_engines.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -13801,3 +13797,4 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt_xx_
###################################################################################
# CLEAN
###################################################################################
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
index 0852d1048f2..9e3577e1d5c 100644
--- a/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
+++ b/mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
---Setup Section --
set timestamp=1000000000;
@@ -83,9 +79,11 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
stop slave;
+include/wait_for_slave_to_stop.inc
reset master;
reset slave;
start slave;
+include/wait_for_slave_to_start.inc
--- Test 1 Load from Dump binlog file --
@@ -209,9 +207,11 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
stop slave;
+include/wait_for_slave_to_stop.inc
reset master;
reset slave;
start slave;
+include/wait_for_slave_to_start.inc
SELECT COUNT(*) from t1;
COUNT(*)
352
@@ -337,9 +337,11 @@ ROLLBACK /* added by mysqlbinlog */;
--- Test 8 switch internal charset --
stop slave;
+include/wait_for_slave_to_stop.inc
reset master;
reset slave;
start slave;
+include/wait_for_slave_to_start.inc
create table t4 (f text character set utf8);
create table t5 (f text character set cp932);
flush logs;
@@ -378,3 +380,4 @@ a b
1 1
FLUSH LOGS;
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result b/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
index c461cafbd7c..523564a222e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
@@ -1,46 +1,34 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
## case #1 - last_null_bit_pos==0 in record_compare without X bit
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 varchar(1) DEFAULT '', c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0, c8 bigint(20) DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
UPDATE t1 SET c5 = 'a';
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
## case #1.1 - last_null_bit_pos==0 in record_compare with X bit
## (1 column less and no varchar)
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 bigint(20) DEFAULT 0, c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
UPDATE t1 SET c5 = 'a';
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
## case #2 - X bit is wrongly set.
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 int, c2 varchar(1) default '') ENGINE=InnoDB DEFAULT CHARSET= latin1;
INSERT INTO t1(c1) VALUES (10);
INSERT INTO t1(c1) VALUES (NULL);
UPDATE t1 SET c1= 0;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
+include/rpl_reset.inc
+CREATE TABLE t1 (c1 int(11) NOT NULL, c2 int(11) NOT NULL, c3 int(11) DEFAULT '-1') ENGINE=InnoDB DEFAULT CHARSET=latin1;
+INSERT INTO t1 VALUES (1,2,NULL);
+UPDATE t1 SET c1=1, c2=2, c3=-1 WHERE c1=1 AND c2=2 AND ISNULL(c3);
+include/diff_tables.inc [master:test.t1, slave:test.t1]
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result b/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
index 38fbe486d2e..4dc7c0bc7a3 100644
--- a/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
@@ -1,60 +1,43 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+## coverage purposes - Field_bits
+## 1 X bit + 2 Null bits + 5 bits => last_null_bit_pos==0
+include/rpl_reset.inc
+CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bit(5)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO t1(c1,c2) VALUES (10, b'1');
+INSERT INTO t1(c1,c2) VALUES (NULL, b'1');
+UPDATE t1 SET c1= 0;
+include/diff_tables.inc [master:t1, slave:t1]
+DROP TABLE t1;
## case #1 - last_null_bit_pos==0 in record_compare without X bit
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 varchar(1) DEFAULT '', c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0, c8 bigint(20) DEFAULT 0) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
UPDATE t1 SET c5 = 'a';
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
## case #1.1 - last_null_bit_pos==0 in record_compare with X bit
## (1 column less and no varchar)
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 bigint(20) DEFAULT 0, c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
UPDATE t1 SET c5 = 'a';
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
## case #2 - X bit is wrongly set.
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 int, c2 varchar(1) default '') ENGINE=MyISAM DEFAULT CHARSET= latin1;
INSERT INTO t1(c1) VALUES (10);
INSERT INTO t1(c1) VALUES (NULL);
UPDATE t1 SET c1= 0;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
-## coverage purposes - Field_bits
-## 1 X bit + 2 Null bits + 5 bits => last_null_bit_pos==0
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bit(5)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-INSERT INTO t1(c1,c2) VALUES (10, b'1');
-INSERT INTO t1(c1,c2) VALUES (NULL, b'1');
-UPDATE t1 SET c1= 0;
-Comparing tables master:test.t1 and slave:test.t1
+include/rpl_reset.inc
+CREATE TABLE t1 (c1 int(11) NOT NULL, c2 int(11) NOT NULL, c3 int(11) DEFAULT '-1') ENGINE=MyISAM DEFAULT CHARSET=latin1;
+INSERT INTO t1 VALUES (1,2,NULL);
+UPDATE t1 SET c1=1, c2=2, c3=-1 WHERE c1=1 AND c2=2 AND ISNULL(c3);
+include/diff_tables.inc [master:test.t1, slave:test.t1]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_reset_slave.result b/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
index 5499d41bc1f..7dc94bab481 100644
--- a/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
@@ -1,22 +1,18 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-Master_User root
-Master_Host 127.0.0.1
+include/master-slave.inc
+[connection master]
+Master_User = 'root'
+Master_Host = '127.0.0.1'
include/stop_slave.inc
change master to master_user='test';
-Master_User test
-Master_Host 127.0.0.1
+Master_User = 'test'
+Master_Host = '127.0.0.1'
reset slave;
-Master_User test
-Master_Host 127.0.0.1
+Master_User = 'test'
+Master_Host = '127.0.0.1'
change master to master_user='root';
include/start_slave.inc
-Master_User root
-Master_Host 127.0.0.1
+Master_User = 'root'
+Master_Host = '127.0.0.1'
include/stop_slave.inc
reset slave;
include/start_slave.inc
@@ -29,13 +25,20 @@ Variable_name Value
Slave_open_temp_tables 0
include/stop_slave.inc
reset slave;
+include/check_slave_no_error.inc
change master to master_user='impossible_user_name';
start slave;
-stop slave;
+include/wait_for_slave_io_error.inc [errno=1045]
+include/stop_slave_sql.inc
change master to master_user='root';
include/start_slave.inc
+include/check_slave_no_error.inc
stop slave;
change master to master_user='impossible_user_name';
start slave;
-stop slave;
+include/wait_for_slave_io_error.inc [errno=1045]
+include/stop_slave_sql.inc
reset slave;
+include/check_slave_no_error.inc
+change master to master_user='root';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result b/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
index a05213217b2..7c55e44ed59 100644
--- a/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
+++ b/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
@@ -1,18 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+include/rpl_reset.inc
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-[MASTER] ********* SOW BINLOG EVENTS IN ... *********
-show binlog events from <binlog_start>;
+******** [master] SHOW BINLOG EVENTS IN <FILE> ********
+show binlog events in 'master-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
master-bin.000001 # Query # # BEGIN
@@ -27,19 +21,17 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'master-bin.000001' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'master-bin.000001' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-[MASTER] ********* SOW BINLOG EVENTS *********
+******** [master] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -55,33 +47,8 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-[MASTER] ********* SOW BINLOG EVENTS ... LIMIT rows *********
-show binlog events from <binlog_start> limit 3;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-[MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
-show binlog events from <binlog_start> limit 1,4;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-[SLAVE] ********* SOW BINLOG EVENTS IN ... *********
-show binlog events from <binlog_start>;
+******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
+show binlog events in 'slave-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
slave-bin.000001 # Query # # BEGIN
@@ -96,19 +63,17 @@ slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'slave-bin.000001' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'slave-bin.000001' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-[SLAVE] ********* SOW BINLOG EVENTS *********
+******** [slave] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -124,32 +89,7 @@ slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-[SLAVE] ********* SOW BINLOG EVENTS ... LIMIT rows *********
-show binlog events from <binlog_start> limit 3;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-[SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
-show binlog events from <binlog_start> limit 1,4;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-[SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
show relaylog events in 'slave-relay-bin.000003' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
@@ -167,42 +107,35 @@ slave-relay-bin.000003 # Query # # BEGIN
slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
-slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
-slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Table_map # # table_id: # (test.t1)
-slave-relay-bin.000003 # Write_rows # # table_id: # flags: STMT_END_F
-slave-relay-bin.000003 # Query # # COMMIT
-[SLAVE] ********* SOW RELAYLOG EVENTS *********
-show relaylog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000002 # Rotate # # slave-relay-bin.000003;pos=4
-[MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT rows *********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 3;
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
+show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
-slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
-[MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT offset,rows *********
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1,3;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
slave-relay-bin.000003 # Query # # BEGIN
+******** [slave] SHOW RELAYLOG EVENTS ********
+show relaylog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Rotate # # slave-relay-bin.000003;pos=4
FLUSH LOGS;
FLUSH LOGS;
DROP TABLE t1;
-[MASTER] ********* SOW BINLOG EVENTS IN ... *********
+******** [master] SHOW BINLOG EVENTS IN <FILE> ********
show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-[MASTER] ********* SOW BINLOG EVENTS *********
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'master-bin.000002' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'master-bin.000002' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
+******** [master] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -218,24 +151,19 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
master-bin.000001 # Rotate # # master-bin.000002;pos=4
-[SLAVE] ********* SOW BINLOG EVENTS IN ... *********
+******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
show binlog events in 'slave-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-[SLAVE] ********* SOW BINLOG EVENTS *********
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'slave-bin.000002' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'slave-bin.000002' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
+******** [slave] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -251,26 +179,25 @@ slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
-[SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
-show relaylog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=4
-slave-relay-bin.000005 # Rotate # # slave-relay-bin.000006;pos=4
-[SLAVE] ********* SOW RELAYLOG EVENTS *********
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
+show relaylog events in 'slave-relay-bin.000006' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
+slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
+show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW RELAYLOG EVENTS ********
show relaylog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=4
slave-relay-bin.000005 # Rotate # # slave-relay-bin.000006;pos=4
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp001.result b/mysql-test/suite/rpl/r/rpl_row_sp001.result
index 8c26c061376..17117ce2fac 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp001.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp001.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
<Begin test section 1 (non deterministic SP)>
---------------------------------------------
@@ -83,3 +79,4 @@ DROP PROCEDURE test.p1;
DROP PROCEDURE test.p2;
DROP TABLE test.t1;
DROP TABLE test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result b/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result
index a42c9af988c..f368cf6e356 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result
@@ -1,15 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP PROCEDURE IF EXISTS test.p2;
-DROP PROCEDURE IF EXISTS test.p3;
-DROP TABLE IF EXISTS test.t3;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
+include/master-slave.inc
+[connection master]
CREATE TABLE test.t1 (a INT AUTO_INCREMENT KEY, t CHAR(6)) ENGINE=INNODB;
CREATE TABLE test.t2 (a INT AUTO_INCREMENT KEY, f INT, FOREIGN KEY(a) REFERENCES test.t1(a) ON DELETE CASCADE) ENGINE=INNODB;
create procedure test.p1(IN i CHAR(6))
@@ -231,9 +221,10 @@ a t
98 NONE
SET AUTOCOMMIT=1;
SET FOREIGN_KEY_CHECKS=0;
-DROP PROCEDURE IF EXISTS test.p3;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP PROCEDURE IF EXISTS test.p2;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-DROP TABLE IF EXISTS test.t3;
+DROP PROCEDURE test.p3;
+DROP PROCEDURE test.p1;
+DROP PROCEDURE test.p2;
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP TABLE test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp003.result b/mysql-test/suite/rpl/r/rpl_row_sp003.result
index df3e2a7ceed..42acf21c836 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp003.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp003.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
@@ -26,6 +22,11 @@ CALL test.p2();
SELECT release_lock("test");
release_lock("test")
1
+get_lock("test", 100)
+1
+SELECT release_lock("test");
+release_lock("test")
+1
SELECT * FROM test.t1;
a
5
@@ -37,7 +38,10 @@ CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=INNODB;
CALL test.p2();
CALL test.p1();
get_lock("test", 100)
-0
+1
+SELECT release_lock("test");
+release_lock("test")
+1
SELECT * FROM test.t1;
a
8
@@ -47,3 +51,4 @@ a
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp005.result b/mysql-test/suite/rpl/r/rpl_row_sp005.result
index 58c53b394b2..0496fd6fe46 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp005.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp005.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t2;
@@ -100,3 +96,4 @@ DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result b/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
index 079e750e2eb..2b3348270f1 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp006_InnoDB.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP PROCEDURE IF EXISTS p1;
@@ -44,3 +40,4 @@ DROP TABLE t1;
DROP TABLE t2;
DROP PROCEDURE p1;
DROP PROCEDURE p2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result b/mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result
index 5a6a9ace4c5..4f5008aae65 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp007_innodb.result
@@ -1,11 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP TABLE IF EXISTS test.t1;
+include/master-slave.inc
+[connection master]
CREATE PROCEDURE test.p1(IN i INT)
BEGIN
DECLARE CONTINUE HANDLER FOR sqlexception BEGIN END;
@@ -44,5 +38,6 @@ num
SELECT * FROM test.t1;
num
13
-DROP PROCEDURE IF EXISTS test.p1;
-DROP TABLE IF EXISTS test.t1;
+DROP PROCEDURE test.p1;
+DROP TABLE test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp008.result b/mysql-test/suite/rpl/r/rpl_row_sp008.result
index 23197964a24..f817e9c5f1b 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp008.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp008.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t2;
CREATE TABLE test.t1 (a INT,PRIMARY KEY(a));
@@ -32,3 +28,4 @@ a
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp009.result b/mysql-test/suite/rpl/r/rpl_row_sp009.result
index 35ce0d7b420..8e9a2cbb8e9 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp009.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp009.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
@@ -75,3 +71,4 @@ a
DROP PROCEDURE test.p1;
DROP TABLE test.t1;
DROP TABLE test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp010.result b/mysql-test/suite/rpl/r/rpl_row_sp010.result
index 02567465428..d31f37d8411 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp010.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp010.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP PROCEDURE IF EXISTS test.p3;
@@ -54,3 +50,4 @@ DROP PROCEDURE IF EXISTS test.p3;
DROP PROCEDURE IF EXISTS test.p4;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp011.result b/mysql-test/suite/rpl/r/rpl_row_sp011.result
index e35c9f21adb..8588d739dff 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp011.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp011.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP PROCEDURE IF EXISTS test.p3;
@@ -67,3 +63,4 @@ DROP PROCEDURE IF EXISTS test.p6;
DROP PROCEDURE IF EXISTS test.p7;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_sp012.result b/mysql-test/suite/rpl/r/rpl_row_sp012.result
index b9c818bad9a..57d92386638 100644
--- a/mysql-test/suite/rpl/r/rpl_row_sp012.result
+++ b/mysql-test/suite/rpl/r/rpl_row_sp012.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP PROCEDURE IF EXISTS test.p3;
@@ -57,3 +53,4 @@ DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP USER user1@localhost;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
index 0e745feb3cd..49dccfc5d73 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
STOP SLAVE;
SET @my_sql_mode= @@global.sql_mode;
SET GLOBAL SQL_MODE='STRICT_ALL_TABLES';
@@ -118,27 +114,23 @@ a b
SELECT * FROM t2;
a
2
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
INSERT INTO t9 VALUES (4);
INSERT INTO t4 VALUES (4);
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* Error_code: 1677");
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (5);
INSERT INTO t5 VALUES (5,10,25);
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'int' to type 'float'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (6);
INSERT INTO t6 VALUES (6,12,36);
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t6' cannot be converted from type 'int' to type 'float'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t6' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (6);
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
INSERT INTO t7 VALUES (1),(2),(3);
INSERT INTO t8 VALUES (1),(2),(3);
SELECT * FROM t7 ORDER BY a;
@@ -194,3 +186,4 @@ a b x y z
DROP TABLE IF EXISTS t1_int,t1_bit,t1_char,t1_nodef;
DROP TABLE IF EXISTS t2,t3,t4,t5,t6,t7,t8,t9;
SET @@global.sql_mode= @my_sql_mode;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
index 7bd3be78c60..9c1e2740c03 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
STOP SLAVE;
SET @my_sql_mode= @@global.sql_mode;
SET GLOBAL SQL_MODE='STRICT_ALL_TABLES';
@@ -118,27 +114,23 @@ a b
SELECT * FROM t2;
a
2
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
INSERT INTO t9 VALUES (4);
INSERT INTO t4 VALUES (4);
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column [012] type mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column [0-9] of table .test.t[0-9]. cannot be converted from type.* Error_code: 1677");
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 0 of table 'test.t4' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (5);
INSERT INTO t5 VALUES (5,10,25);
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'int' to type 'float'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 1 of table 'test.t5' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (6);
INSERT INTO t6 VALUES (6,12,36);
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t6' cannot be converted from type 'int' to type 'float'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
+include/wait_for_slave_sql_error_and_skip.inc [errno=1677]
+Last_SQL_Error = 'Column 2 of table 'test.t6' cannot be converted from type 'int' to type 'float''
INSERT INTO t9 VALUES (6);
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
INSERT INTO t7 VALUES (1),(2),(3);
INSERT INTO t8 VALUES (1),(2),(3);
SELECT * FROM t7 ORDER BY a;
@@ -194,3 +186,4 @@ a b x y z
DROP TABLE IF EXISTS t1_int,t1_bit,t1_char,t1_nodef;
DROP TABLE IF EXISTS t2,t3,t4,t5,t6,t7,t8,t9;
SET @@global.sql_mode= @my_sql_mode;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_tabledefs_7ndb.result b/mysql-test/suite/rpl/r/rpl_row_tabledefs_7ndb.result
deleted file mode 100644
index 5876a0e1b65..00000000000
--- a/mysql-test/suite/rpl/r/rpl_row_tabledefs_7ndb.result
+++ /dev/null
@@ -1,288 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-STOP SLAVE;
-SET @my_sql_mode= @@global.sql_mode;
-SET GLOBAL SQL_MODE='STRICT_ALL_TABLES';
-START SLAVE;
-CREATE TABLE t1_int (a INT PRIMARY KEY, b INT) ENGINE='NDB';
-CREATE TABLE t1_bit (a INT PRIMARY KEY, b INT) ENGINE='NDB';
-CREATE TABLE t1_char (a INT PRIMARY KEY, b INT) ENGINE='NDB';
-CREATE TABLE t1_nodef (a INT PRIMARY KEY, b INT) ENGINE='NDB';
-CREATE TABLE t2 (a INT PRIMARY KEY, b INT) ENGINE='NDB';
-CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE='NDB';
-CREATE TABLE t4 (a INT) ENGINE='NDB';
-CREATE TABLE t5 (a INT, b INT, c INT) ENGINE='NDB';
-CREATE TABLE t6 (a INT, b INT, c INT) ENGINE='NDB';
-CREATE TABLE t9 (a INT) ENGINE='NDB';
-ALTER TABLE t1_int ADD x INT DEFAULT 42;
-ALTER TABLE t1_bit
-ADD x BIT(3) DEFAULT b'011',
-ADD y BIT(5) DEFAULT b'10101',
-ADD z BIT(2) DEFAULT b'10';
-ALTER TABLE t1_char ADD x CHAR(20) DEFAULT 'Just a test';
-ALTER TABLE t1_nodef ADD x INT NOT NULL;
-ALTER TABLE t2 DROP b;
-ALTER TABLE t4 MODIFY a FLOAT;
-ALTER TABLE t5 MODIFY b FLOAT;
-ALTER TABLE t6 MODIFY c FLOAT;
-INSERT INTO t1_int VALUES (2, 4, 4711);
-INSERT INTO t1_char VALUES (2, 4, 'Foo is a bar');
-INSERT INTO t1_bit VALUES (2, 4, b'101', b'11100', b'01');
-**** On Master ****
-INSERT INTO t1_int VALUES (1,2);
-INSERT INTO t1_int VALUES (2,5);
-INSERT INTO t1_bit VALUES (1,2);
-INSERT INTO t1_bit VALUES (2,5);
-INSERT INTO t1_char VALUES (1,2);
-INSERT INTO t1_char VALUES (2,5);
-SELECT * FROM t1_int;
-a b
-1 2
-2 5
-SELECT * FROM t1_bit;
-a b
-1 2
-2 5
-SELECT * FROM t1_char;
-a b
-1 2
-2 5
-**** On Slave ****
-SELECT a,b,x FROM t1_int;
-a b x
-1 2 42
-2 5 42
-SELECT a,b,HEX(x),HEX(y),HEX(z) FROM t1_bit;
-a b HEX(x) HEX(y) HEX(z)
-1 2 3 15 2
-2 5 3 15 2
-SELECT a,b,x FROM t1_char;
-a b x
-1 2 Just a test
-2 5 Just a test
-**** On Master ****
-UPDATE t1_int SET b=2*b WHERE a=2;
-UPDATE t1_char SET b=2*b WHERE a=2;
-UPDATE t1_bit SET b=2*b WHERE a=2;
-SELECT * FROM t1_int;
-a b
-1 2
-2 10
-SELECT * FROM t1_bit;
-a b
-1 2
-2 10
-SELECT * FROM t1_char;
-a b
-1 2
-2 10
-**** On Slave ****
-SELECT a,b,x FROM t1_int;
-a b x
-1 2 42
-2 10 42
-SELECT a,b,HEX(x),HEX(y),HEX(z) FROM t1_bit;
-a b HEX(x) HEX(y) HEX(z)
-1 2 3 15 2
-2 10 3 15 2
-SELECT a,b,x FROM t1_char;
-a b x
-1 2 Just a test
-2 10 Just a test
-INSERT INTO t9 VALUES (2);
-INSERT INTO t1_nodef VALUES (1,2);
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_PORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 1364
-Last_Error Error in Write_rows event: error during transaction execution on table test.t1_nodef
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-INSERT INTO t9 VALUES (2);
-INSERT INTO t2 VALUES (2,4);
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_PORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 1514
-Last_Error Table width mismatch - received 2 columns, test.t2 has 1 columns
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-INSERT INTO t9 VALUES (4);
-INSERT INTO t4 VALUES (4);
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_PORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 1514
-Last_Error Column 0 type mismatch - received type 3, test.t4 has type 4
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-INSERT INTO t9 VALUES (5);
-INSERT INTO t5 VALUES (5,10,25);
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_PORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 1514
-Last_Error Column 1 type mismatch - received type 3, test.t5 has type 4
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-INSERT INTO t9 VALUES (6);
-INSERT INTO t6 VALUES (6,12,36);
-SHOW SLAVE STATUS;
-Slave_IO_State #
-Master_Host 127.0.0.1
-Master_User root
-Master_Port MASTER_PORT
-Connect_Retry 1
-Master_Log_File master-bin.000001
-Read_Master_Log_Pos #
-Relay_Log_File #
-Relay_Log_Pos #
-Relay_Master_Log_File master-bin.000001
-Slave_IO_Running Yes
-Slave_SQL_Running No
-Replicate_Do_DB
-Replicate_Ignore_DB
-Replicate_Do_Table
-Replicate_Ignore_Table
-Replicate_Wild_Do_Table
-Replicate_Wild_Ignore_Table
-Last_Errno 1514
-Last_Error Column 2 type mismatch - received type 3, test.t6 has type 4
-Skip_Counter 0
-Exec_Master_Log_Pos #
-Relay_Log_Space #
-Until_Condition None
-Until_Log_File
-Until_Log_Pos 0
-Master_SSL_Allowed No
-Master_SSL_CA_File
-Master_SSL_CA_Path
-Master_SSL_Cert
-Master_SSL_Cipher
-Master_SSL_Key
-Seconds_Behind_Master #
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
-START SLAVE;
-DROP TABLE IF EXISTS t1_int,t1_bit,t1_char,t1_nodef;
-DROP TABLE IF EXISTS t2,t3,t4,t5,t6,t9;
-SET @@global.sql_mode= @my_sql_mode;
diff --git a/mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result b/mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result
index 711d0d063aa..eaee105a2d9 100644
--- a/mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result
+++ b/mysql-test/suite/rpl/r/rpl_row_tbl_metadata.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS `t1`;
### TABLE with field_metadata_size == 290
CREATE TABLE `t1` (
@@ -159,15 +155,10 @@ LOCK TABLES `t1` WRITE;
INSERT INTO `t1`(c2) VALUES ('1');
FLUSH LOGS;
### assertion: the slave replicated event successfully and tables match
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE `t1`;
=== Using mysqlbinlog to detect failure. Before the patch mysqlbinlog would find a corrupted event, thence would fail.
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
### action: generating several tables with different metadata
### sizes (resorting to perl)
### testing table with 249 field metadata size.
@@ -182,25 +173,26 @@ start slave;
### testing table with 258 field metadata size.
FLUSH LOGS;
### assertion: the slave replicated event successfully and tables match for t10
-Comparing tables master:test.t10 and slave:test.t10
+include/diff_tables.inc [master:t10, slave:t10]
### assertion: the slave replicated event successfully and tables match for t9
-Comparing tables master:test.t9 and slave:test.t9
+include/diff_tables.inc [master:t9, slave:t9]
### assertion: the slave replicated event successfully and tables match for t8
-Comparing tables master:test.t8 and slave:test.t8
+include/diff_tables.inc [master:t8, slave:t8]
### assertion: the slave replicated event successfully and tables match for t7
-Comparing tables master:test.t7 and slave:test.t7
+include/diff_tables.inc [master:t7, slave:t7]
### assertion: the slave replicated event successfully and tables match for t6
-Comparing tables master:test.t6 and slave:test.t6
+include/diff_tables.inc [master:t6, slave:t6]
### assertion: the slave replicated event successfully and tables match for t5
-Comparing tables master:test.t5 and slave:test.t5
+include/diff_tables.inc [master:t5, slave:t5]
### assertion: the slave replicated event successfully and tables match for t4
-Comparing tables master:test.t4 and slave:test.t4
+include/diff_tables.inc [master:t4, slave:t4]
### assertion: the slave replicated event successfully and tables match for t3
-Comparing tables master:test.t3 and slave:test.t3
+include/diff_tables.inc [master:t3, slave:t3]
### assertion: the slave replicated event successfully and tables match for t2
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
### assertion: the slave replicated event successfully and tables match for t1
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
### assertion: check that binlog is not corrupt. Using mysqlbinlog to
### detect failure. Before the patch mysqlbinlog would find
### a corrupted event, thence would fail.
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_trig001.result b/mysql-test/suite/rpl/r/rpl_row_trig001.result
index ea0ef27fccd..d00da976d30 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trig001.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trig001.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE test.t1 (n MEDIUMINT NOT NULL, d DATETIME, PRIMARY KEY(n));
CREATE TABLE test.t2 (n MEDIUMINT NOT NULL AUTO_INCREMENT, f FLOAT, d DATETIME, PRIMARY KEY(n));
CREATE TABLE test.t3 (n MEDIUMINT NOT NULL AUTO_INCREMENT, d DATETIME, PRIMARY KEY(n));
@@ -29,3 +25,4 @@ DROP TRIGGER test.t3_bi_t2;
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP TABLE test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_trig002.result b/mysql-test/suite/rpl/r/rpl_row_trig002.result
index 794104db750..b0be0316bf2 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trig002.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trig002.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TRIGGER test.t2_ai;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
@@ -67,3 +63,4 @@ DROP TRIGGER test.t2_ai;
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP TABLE test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_trig003.result b/mysql-test/suite/rpl/r/rpl_row_trig003.result
index 131af933b41..68552ede1c0 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trig003.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trig003.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TRIGGER test.t1_bi;
DROP TRIGGER test.t2_ai;
DROP TRIGGER test.t1_bu;
@@ -69,15 +65,9 @@ INSERT INTO test.t2 VALUES(NULL,0,'Testing MySQL databases is a cool ', 'MySQL C
UPDATE test.t1 SET b1 = 0 WHERE b1 = 1;
INSERT INTO test.t2 VALUES(NULL,1,'This is an after update test.', 'If this works, total will not be zero on the master or slave',1.4321,5.221,0,YEAR(NOW()),NOW());
UPDATE test.t2 SET b1 = 0 WHERE b1 = 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
INSERT INTO test.t1 VALUES(NULL,1,'add some more test data test.', 'and hope for the best', 3.321,5.221,0,YEAR(NOW()),NOW());
DELETE FROM test.t1 WHERE id = 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DELETE FROM test.t2 WHERE id = 1;
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
DROP TRIGGER test.t1_bi;
DROP TRIGGER test.t2_ai;
DROP TRIGGER test.t1_bu;
@@ -87,3 +77,4 @@ DROP TRIGGER test.t2_ad;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_trig004.result b/mysql-test/suite/rpl/r/rpl_row_trig004.result
index d0d0657f875..50317b55e2e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trig004.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trig004.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TRIGGER test.t1_bi_t2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
@@ -28,3 +24,4 @@ n f
DROP TRIGGER test.t1_bi_t2;
DROP TABLE test.t1;
DROP TABLE test.t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_trunc_temp.result b/mysql-test/suite/rpl/r/rpl_row_trunc_temp.result
index f9181be9bc0..d3b892326ac 100644
--- a/mysql-test/suite/rpl/r/rpl_row_trunc_temp.result
+++ b/mysql-test/suite/rpl/r/rpl_row_trunc_temp.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TEMPORARY TABLE t1(c1 INTEGER);
CREATE TABLE t2(c1 INTEGER);
CREATE TABLE t1(c1 INTEGER);
@@ -27,3 +23,4 @@ SELECT * FROM t2;
c1
DROP TABLE t1;
DROP TABLE t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result b/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
index 800670b78ae..b9ae1893629 100644
--- a/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
+++ b/mysql-test/suite/rpl/r/rpl_row_unsafe_funcs.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (a INT);
CREATE TABLE t2 (a INT, b INT);
INSERT INTO t1 SELECT 1;
@@ -20,3 +16,4 @@ b
1
3
DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_until.result b/mysql-test/suite/rpl/r/rpl_row_until.result
index 81aeb0d645b..5629f5c8cdd 100644
--- a/mysql-test/suite/rpl/r/rpl_row_until.result
+++ b/mysql-test/suite/rpl/r/rpl_row_until.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO t1 VALUES (1),(2),(3),(4);
DROP TABLE t1;
@@ -14,27 +10,37 @@ DROP TABLE t2;
include/stop_slave.inc
RESET SLAVE;
START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_drop_t1
+include/wait_for_slave_sql_to_stop.inc
SELECT * FROM t1;
n
1
2
3
4
+include/check_slave_param.inc [Exec_Master_Log_Pos]
START SLAVE UNTIL MASTER_LOG_FILE='master-no-such-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
+include/wait_for_slave_sql_to_stop.inc
SELECT * FROM t1;
n
1
2
3
4
+include/check_slave_param.inc [Exec_Master_Log_Pos]
START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', RELAY_LOG_POS=relay_pos_insert1_t2
+include/wait_for_slave_sql_to_stop.inc
SELECT * FROM t2;
n
1
2
+include/check_slave_param.inc [Exec_Master_Log_Pos]
START SLAVE;
+include/wait_for_slave_to_start.inc
include/stop_slave.inc
START SLAVE SQL_THREAD UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=master_pos_create_t2
+include/wait_for_slave_param.inc [Until_Log_Pos]
+include/wait_for_slave_sql_to_stop.inc
+include/check_slave_param.inc [Exec_Master_Log_Pos]
START SLAVE UNTIL MASTER_LOG_FILE='master-bin', MASTER_LOG_POS=MASTER_LOG_POS;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS, RELAY_LOG_POS=RELAY_LOG_POS;
@@ -49,3 +55,6 @@ START SLAVE;
START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
Warnings:
Note 1254 Slave is already running
+include/stop_slave.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_utf16.result b/mysql-test/suite/rpl/r/rpl_row_utf16.result
index f7e66dd92ee..cca69e1da82 100644
--- a/mysql-test/suite/rpl/r/rpl_row_utf16.result
+++ b/mysql-test/suite/rpl/r/rpl_row_utf16.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1(c1 CHAR(10) CHARACTER SET utf16 DEFAULT 'ola');
INSERT INTO t1 VALUES ('abc');
INSERT INTO t1 VALUES ();
@@ -19,5 +15,6 @@ c1 abc
hex(c1) 006100620063
c1 ola
hex(c1) 006F006C0061
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_utf32.result b/mysql-test/suite/rpl/r/rpl_row_utf32.result
index e07db9c9e48..0a212544113 100644
--- a/mysql-test/suite/rpl/r/rpl_row_utf32.result
+++ b/mysql-test/suite/rpl/r/rpl_row_utf32.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET SQL_LOG_BIN=0;
CREATE TABLE t1 (c1 char(255) DEFAULT NULL, KEY c1 (c1)) DEFAULT CHARSET=utf32;
Warnings:
@@ -23,3 +19,4 @@ DROP TABLE t1;
SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions;
include/stop_slave.inc
include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_view01.result b/mysql-test/suite/rpl/r/rpl_row_view01.result
index 4dfe5826f32..471de20ea6d 100644
--- a/mysql-test/suite/rpl/r/rpl_row_view01.result
+++ b/mysql-test/suite/rpl/r/rpl_row_view01.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create database if not exists mysqltest1;
DROP VIEW IF EXISTS mysqltest1.v1;
DROP VIEW IF EXISTS mysqltest1.v2;
@@ -102,3 +98,4 @@ DROP TABLE IF EXISTS mysqltest1.t2;
DROP TABLE IF EXISTS mysqltest1.t4;
DROP TABLE IF EXISTS mysqltest1.t10;
DROP DATABASE mysqltest1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_row_wide_table.result b/mysql-test/suite/rpl/r/rpl_row_wide_table.result
index da96e84d1d5..f469a13837c 100644
--- a/mysql-test/suite/rpl/r/rpl_row_wide_table.result
+++ b/mysql-test/suite/rpl/r/rpl_row_wide_table.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t300;
create table t300 (
f1 int,
@@ -316,3 +312,4 @@ one
1
*** Cleanup ***
DROP TABLE t300;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_savepoint.result b/mysql-test/suite/rpl/r/rpl_savepoint.result
index e1462f435a3..75eb0f307bb 100644
--- a/mysql-test/suite/rpl/r/rpl_savepoint.result
+++ b/mysql-test/suite/rpl/r/rpl_savepoint.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#
# Bug#50124 Rpl failure on DROP table with concurrent txn/non-txn
# DML flow and SAVEPOINT
@@ -30,3 +26,4 @@ COMMIT;
FLUSH LOGS;
# Connection master
DROP TABLE nt;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync.result b/mysql-test/suite/rpl/r/rpl_semi_sync.result
index 13a5c179520..bb037de4e6d 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync.result
@@ -1,21 +1,9 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#
# Uninstall semi-sync plugins on master and slave
#
include/stop_slave.inc
-reset slave;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-reset master;
-set sql_log_bin=0;
-UNINSTALL PLUGIN rpl_semi_sync_slave;
-UNINSTALL PLUGIN rpl_semi_sync_master;
-set sql_log_bin=1;
#
# Main test of semi-sync replication start here
#
@@ -453,7 +441,9 @@ Rpl_semi_sync_slave_status OFF
include/stop_slave.inc
UNINSTALL PLUGIN rpl_semi_sync_slave;
UNINSTALL PLUGIN rpl_semi_sync_master;
+change master to master_user='root',master_password='';
include/start_slave.inc
drop table t1;
drop user rpl@127.0.0.1;
flush privileges;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_semi_sync_event.result b/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
index f3f5aa1559d..1c6d73fe681 100644
--- a/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
+++ b/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
include/stop_slave.inc
include/start_slave.inc
SET GLOBAL event_scheduler = ON;
@@ -44,3 +40,4 @@ include/start_slave.inc
DROP EVENT ev1;
DROP EVENT ev2;
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_server_id1.result b/mysql-test/suite/rpl/r/rpl_server_id1.result
index 76f187e3b01..80e5bbae146 100644
--- a/mysql-test/suite/rpl/r/rpl_server_id1.result
+++ b/mysql-test/suite/rpl/r/rpl_server_id1.result
@@ -1,13 +1,7 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
-include/stop_slave.inc
-change master to master_port=SLAVE_PORT;
-start slave;
-*** must be having the replicate-same-server-id IO thread error ***
-Slave_IO_Errno= 1593
-Slave_IO_Error= Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
+include/rpl_init.inc [topology=2->2]
+START SLAVE;
+include/wait_for_slave_io_error.inc [errno=1593]
+Last_IO_Error = 'Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).'
+include/stop_slave_sql.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_server_id2.result b/mysql-test/suite/rpl/r/rpl_server_id2.result
index bb5a175fbfe..69c0e1f7d9b 100644
--- a/mysql-test/suite/rpl/r/rpl_server_id2.result
+++ b/mysql-test/suite/rpl/r/rpl_server_id2.result
@@ -1,30 +1,32 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (n int);
reset master;
stop slave;
+include/wait_for_slave_to_stop.inc
change master to master_port=SLAVE_PORT;
start slave;
+include/wait_for_slave_to_start.inc
insert into t1 values (1);
select * from t1;
n
1
1
stop slave;
+include/wait_for_slave_to_stop.inc
drop table t1;
reset master;
create table t1(n int);
create table t2(n int);
change master to master_port=MASTER_PORT;
start slave until master_log_file='master-bin.000001', master_log_pos=UNTIL_POS;
-*** checking until postion execution: must be only t1 in the list ***
+include/wait_for_slave_io_to_start.inc
+include/wait_for_slave_sql_to_stop.inc
+*** checking until position execution: must be only t1 in the list ***
show tables;
Tables_in_test
t1
start slave sql_thread;
drop table t1;
drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_server_id_ignore.result b/mysql-test/suite/rpl/r/rpl_server_id_ignore.result
index cba6571eb1a..0a4f414ad6e 100644
--- a/mysql-test/suite/rpl/r/rpl_server_id_ignore.result
+++ b/mysql-test/suite/rpl/r/rpl_server_id_ignore.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
master_id: 1
stop slave;
*** --replicate-same-server-id and change master option can clash ***
@@ -25,11 +21,13 @@ ignore server id list: 1, 3, 4, 5
*** ignore master (server 1) queries for a while ***
start slave;
create table t1 (n int);
+include/wait_for_slave_param.inc [Exec_Master_Log_Pos]
*** must be empty as the event is to be filtered out ***
show tables;
Tables_in_test
*** allowing events from master ***
stop slave;
+include/wait_for_slave_to_stop.inc
reset slave;
change master to IGNORE_SERVER_IDS= (10, 100);
*** the list must remain (10, 100) after reset slave ***
@@ -44,3 +42,4 @@ Tables_in_test
t1
drop table t1;
end of the tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_session_var.result b/mysql-test/suite/rpl/r/rpl_session_var.result
index 297a18a5931..030ae161b22 100644
--- a/mysql-test/suite/rpl/r/rpl_session_var.result
+++ b/mysql-test/suite/rpl/r/rpl_session_var.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
@@ -51,3 +47,4 @@ SELECT length(data) < 100 FROM t1;
length(data) < 100
1
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_set_charset.result b/mysql-test/suite/rpl/r/rpl_set_charset.result
index 480d926fbba..fa30a361d13 100644
--- a/mysql-test/suite/rpl/r/rpl_set_charset.result
+++ b/mysql-test/suite/rpl/r/rpl_set_charset.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
create database mysqltest1 /*!40100 character set latin2 */;
use mysqltest1;
@@ -46,3 +42,4 @@ D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF D0
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF E0
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF F0
drop database mysqltest1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_set_null_innodb.result b/mysql-test/suite/rpl/r/rpl_set_null_innodb.result
index 41600a5fe1b..f099b2b7691 100644
--- a/mysql-test/suite/rpl/r/rpl_set_null_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_set_null_innodb.result
@@ -1,35 +1,22 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+include/rpl_reset.inc
CREATE TABLE t1 (c1 BIT, c2 INT) Engine=InnoDB;
INSERT INTO `t1` VALUES ( 1, 1 );
UPDATE t1 SET c1=NULL where c2=1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DELETE FROM t1 WHERE c2=1 LIMIT 1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 CHAR) Engine=InnoDB;
INSERT INTO t1 ( c1 ) VALUES ( 'w' ) ;
SELECT * FROM t1;
c1
w
UPDATE t1 SET c1=NULL WHERE c1='w';
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DELETE FROM t1 LIMIT 2;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_set_null_myisam.result b/mysql-test/suite/rpl/r/rpl_set_null_myisam.result
index cbd7010664a..5698be4ff0c 100644
--- a/mysql-test/suite/rpl/r/rpl_set_null_myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_set_null_myisam.result
@@ -1,35 +1,22 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+include/rpl_reset.inc
CREATE TABLE t1 (c1 BIT, c2 INT) Engine=MyISAM;
INSERT INTO `t1` VALUES ( 1, 1 );
UPDATE t1 SET c1=NULL where c2=1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DELETE FROM t1 WHERE c2=1 LIMIT 1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (c1 CHAR) Engine=MyISAM;
INSERT INTO t1 ( c1 ) VALUES ( 'w' ) ;
SELECT * FROM t1;
c1
w
UPDATE t1 SET c1=NULL WHERE c1='w';
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DELETE FROM t1 LIMIT 2;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_show_slave_hosts.result b/mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
index 9838d8b08a8..2ada5670e04 100644
--- a/mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
+++ b/mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
@@ -1,17 +1,15 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
RESET SLAVE;
CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_PORT,master_user='root';
START SLAVE IO_THREAD;
+include/wait_for_slave_io_to_start.inc
SHOW SLAVE HOSTS;
Server_id Host Port Master_id
3 slave2 DEFAULT_PORT 1
2 SLAVE_PORT 1
-STOP SLAVE IO_THREAD;
+include/stop_slave_io.inc
SHOW SLAVE HOSTS;
Server_id Host Port Master_id
2 SLAVE_PORT 1
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_show_slave_running.result b/mysql-test/suite/rpl/r/rpl_show_slave_running.result
index 556acb14e5c..599290ac776 100644
--- a/mysql-test/suite/rpl/r/rpl_show_slave_running.result
+++ b/mysql-test/suite/rpl/r/rpl_show_slave_running.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET DEBUG_SYNC= 'RESET';
include/stop_slave.inc
set global debug= 'd,dbug.before_get_running_status_yes';
@@ -21,6 +17,7 @@ Slave_running OFF
Slave_IO_Running= Connecting
Slave_SQL_Running= No
SET DEBUG_SYNC='now SIGNAL signal.io_thread_let_running';
+include/wait_for_slave_param.inc [Slave_IO_Running]
Slave_running, Slave_IO_Running, Slave_SQL_Running must be OFF YES NO in three following queries
SHOW STATUS LIKE 'Slave_running';
Variable_name Value
@@ -28,6 +25,7 @@ Slave_running OFF
Slave_IO_Running= Yes
Slave_SQL_Running= No
start slave sql_thread;
+include/wait_for_slave_sql_to_start.inc
Slave_running, Slave_IO_Running, Slave_SQL_Running must be ON, YES, YES in three following queries
SHOW STATUS LIKE 'Slave_running';
Variable_name Value
@@ -37,3 +35,4 @@ Slave_SQL_Running= Yes
set global debug= '';
SET DEBUG_SYNC= 'RESET';
End of tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_skip_error.result b/mysql-test/suite/rpl/r/rpl_skip_error.result
index 0aa8069a38c..f5675b5e25f 100644
--- a/mysql-test/suite/rpl/r/rpl_skip_error.result
+++ b/mysql-test/suite/rpl/r/rpl_skip_error.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Test Without sql_mode=strict_trans_tables ====
[on master]
create table t1 (n int not null primary key);
@@ -31,7 +27,7 @@ n
3
7
8
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
==== Clean Up ====
drop table t1;
create table t1(a int primary key);
@@ -46,7 +42,7 @@ select * from t1;
a
1
2
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
==== Clean Up ====
drop table t1;
==== Using Innodb ====
@@ -60,6 +56,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SET SQL_LOG_BIN=1;
+call mtr.add_suppression("Slave SQL.*Could not execute .*te_rows event on table test.t.; Duplicate entry.* Error_code: 1062");
CREATE TABLE t1(id INT NOT NULL PRIMARY KEY, data INT) Engine=InnoDB;
SHOW CREATE TABLE t1;
Table Create Table
@@ -112,3 +109,4 @@ UPDATE t2 SET id= id + 3, data = 2;
==== Clean Up ====
DROP TABLE t1;
DROP TABLE t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result b/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result
index eb3c4ef5978..4c3b08589d9 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_grp_exec.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
*** Preparing data ***
CREATE TABLE t1 (a INT NOT NULL, b VARCHAR(10)) ENGINE=MyISAM;
@@ -33,6 +29,8 @@ a b
SELECT * FROM t3 ORDER BY a;
a b
1 ZZ
+call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* Error_code: 1146");
+include/wait_for_slave_sql_error.inc [errno=1146]
SHOW TABLES LIKE 't%';
Tables_in_test (t%)
t1
@@ -44,7 +42,7 @@ a b
SELECT * FROM t2 ORDER BY a;
a b
1 AA_for_row_or_YY_for_stmt_mixed
-include/stop_slave.inc
+include/stop_slave_io.inc
RENAME TABLE t3_bak TO t3;
include/start_slave.inc
TRUNCATE t1;
@@ -60,6 +58,7 @@ INSERT INTO t3 VALUES(2, 'B');
INSERT INTO t2 VALUES(2, 'B');
INSERT INTO t1 VALUES(2, 'B');
UPDATE t1 SET b = 'X' WHERE a = 2;
+include/wait_for_slave_sql_error.inc [errno=1146]
SELECT * FROM t1 ORDER BY a;
a b
2 X
@@ -78,7 +77,7 @@ SELECT * FROM t1 ORDER BY a;
a b
SELECT * FROM t2 ORDER BY a;
a b
-include/stop_slave.inc
+include/stop_slave_io.inc
RENAME TABLE t3_bak TO t3;
include/start_slave.inc
TRUNCATE t1;
@@ -95,6 +94,7 @@ INSERT INTO t1 VALUES (3, 'C'), (4, 'D');
INSERT INTO t2 VALUES (3, 'C'), (4, 'D');
INSERT INTO t3 VALUES (3, 'C'), (4, 'D');
COMMIT;
+include/wait_for_slave_sql_error.inc [errno=1146]
SELECT * FROM t1 ORDER BY a;
a b
3 C
@@ -116,8 +116,9 @@ SELECT * FROM t1 ORDER BY a;
a b
SELECT * FROM t2 ORDER BY a;
a b
-include/stop_slave.inc
+include/stop_slave_io.inc
RENAME TABLE t3_bak TO t3;
include/start_slave.inc
*** Clean up ***
DROP TABLE t1,t2,t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_load_in.result b/mysql-test/suite/rpl/r/rpl_slave_load_in.result
index 2cc83fd0a19..504f6f60d9e 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_load_in.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_load_in.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1(a int not null auto_increment, b int, primary key(a));
create table t2(a int not null auto_increment, b int, primary key(a)) engine=innodb;
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
@@ -13,7 +9,8 @@ insert into t2(b) values (2);
load data infile '../../std_data/rpl_loaddata.dat' into table t2;
load data infile '../../std_data/rpl_loaddata.dat' into table t2;
commit;
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:t2, slave:t2]
drop table t1;
drop table t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result b/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result
index 85fbcb69760..e08c066d226 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_load_remove_tmpfile.result
@@ -1,16 +1,21 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+SET @@GLOBAL.DEBUG = '+d,remove_slave_load_file_before_write';
create table t1(a int not null auto_increment, b int, primary key(a)) engine=innodb;
start transaction;
insert into t1(b) values (1);
insert into t1(b) values (2);
load data infile '../../std_data/rpl_loaddata.dat' into table t1;
commit;
+include/wait_for_slave_sql_error.inc [errno=29, 13]
drop table t1;
+include/sync_slave_io_with_master.inc
+include/stop_slave_io.inc
+RESET SLAVE;
drop table t1;
call mtr.add_suppression("Slave: Can't get stat of .*");
+call mtr.add_suppression("Slave SQL: Error .Can.t get stat of.* Error_code: 13");
call mtr.add_suppression("Slave: File.* not found.*");
+call mtr.add_suppression("Slave SQL: Error .File.* not found.* Error_code: 29");
+SET @@GLOBAL.DEBUG = '';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result b/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result
index 3ed14a9cb6b..262404ff6f9 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_load_tmpdir_not_exist.result
@@ -1,6 +1,8 @@
-CHANGE MASTER TO MASTER_USER='root',
-MASTER_CONNECT_RETRY=1,
-MASTER_HOST='127.0.0.1',
-MASTER_PORT=MASTER_MYPORT;
+include/master-slave.inc
+[connection master]
START SLAVE;
-12
+call mtr.add_suppression("Slave SQL.*Unable to use slave.s temporary directory.* Error_code: 12");
+include/wait_for_slave_sql_error.inc [errno=12]
+include/stop_slave_io.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_skip.result b/mysql-test/suite/rpl/r/rpl_slave_skip.result
index 5feba69b64d..a1884731a3e 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_skip.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_skip.result
@@ -1,11 +1,8 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
**** On Slave ****
STOP SLAVE;
+include/wait_for_slave_to_stop.inc
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM;
@@ -43,8 +40,12 @@ c d
3 18
**** On Slave ****
START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
+include/wait_for_slave_sql_to_stop.inc
+include/check_slave_param.inc [Exec_Master_Log_Pos]
+include/check_slave_no_error.inc
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
+include/wait_for_slave_to_start.inc
SELECT * FROM t1;
a b
1 1
@@ -56,6 +57,7 @@ c d
2 8
3 27
STOP SLAVE;
+include/wait_for_slave_to_stop.inc
RESET SLAVE;
RESET MASTER;
SET SESSION BINLOG_FORMAT=STATEMENT;
@@ -68,8 +70,10 @@ master-bin.000001 # User var # # @`foo`=12
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@foo, 2*@foo)
master-bin.000001 # Query # # COMMIT
START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=MASTER_LOG_POS;
+include/wait_for_slave_sql_to_stop.inc
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
+include/wait_for_slave_to_start.inc
**** On Master ****
DROP TABLE t1, t2;
SET SESSION BINLOG_FORMAT=ROW;
@@ -281,3 +285,4 @@ include/start_slave.inc
SELECT * FROM t10 ORDER BY a;
a b
DROP TABLE t10;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slave_status.result b/mysql-test/suite/rpl/r/rpl_slave_status.result
index a98a81dc74f..be978362c81 100644
--- a/mysql-test/suite/rpl/r/rpl_slave_status.result
+++ b/mysql-test/suite/rpl/r/rpl_slave_status.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Create new replication user ====
[on master]
GRANT REPLICATION SLAVE ON *.* TO rpl@127.0.0.1 IDENTIFIED BY 'rpl';
@@ -27,9 +23,14 @@ FLUSH PRIVILEGES;
==== Restart slave without privileges =====
include/stop_slave.inc
START SLAVE;
-==== Verify that Slave_IO_Running = No ====
-Slave_IO_Running = No (should be No)
+include/wait_for_slave_sql_to_start.inc
+include/wait_for_slave_io_to_stop.inc
+==== Verify that Slave IO thread stopped with error ====
+include/wait_for_slave_io_error.inc [errno=1045]
==== Cleanup (Note that slave IO thread is not running) ====
-DROP TABLE t1;
+include/stop_slave_sql.inc
+CHANGE MASTER TO MASTER_USER = 'root', MASTER_PASSWORD = '';
+include/rpl_reset.inc
[on master]
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_slow_query_log.result b/mysql-test/suite/rpl/r/rpl_slow_query_log.result
index 0b35cf68e96..79b83b4ceb9 100644
--- a/mysql-test/suite/rpl/r/rpl_slow_query_log.result
+++ b/mysql-test/suite/rpl/r/rpl_slow_query_log.result
@@ -1,10 +1,7 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
include/stop_slave.inc
SET @old_log_output= @@log_output;
SET GLOBAL log_output= 'TABLE';
@@ -46,12 +43,7 @@ include/stop_slave.inc
SET GLOBAL long_query_time= @old_long_query_time;
SET GLOBAL log_output= @old_log_output;
include/start_slave.inc
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
SET @old_log_output= @@log_output;
SET GLOBAL log_output= 'TABLE';
SET GLOBAL long_query_time= 2;
@@ -89,3 +81,4 @@ SET @@global.long_query_time= @old_long_query_time;
DROP TABLE t1;
SET @@global.log_output= @old_log_output;
SET @@global.long_query_time= @old_long_query_time;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sp.result b/mysql-test/suite/rpl/r/rpl_sp.result
index 7d1d050e56b..4b9e768861d 100644
--- a/mysql-test/suite/rpl/r/rpl_sp.result
+++ b/mysql-test/suite/rpl/r/rpl_sp.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
create database mysqltest1;
use mysqltest1;
@@ -1238,14 +1234,7 @@ ERROR 42000: FUNCTION test.f1 does not exist
#
# Bug #11918 Can't use a declared variable in LIMIT clause
#
-drop table if exists t1;
-drop procedure if exists p1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
create table t1 (c1 int);
insert into t1 (c1) values
(1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
@@ -1281,3 +1270,4 @@ set @@session.binlog_format=@save_binlog_format;
drop table t1;
drop procedure p1;
# End of 5.5 tests.
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sp004.result b/mysql-test/suite/rpl/r/rpl_sp004.result
index 1c0ed3cc50a..5b67d225490 100644
--- a/mysql-test/suite/rpl/r/rpl_sp004.result
+++ b/mysql-test/suite/rpl/r/rpl_sp004.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t2;
@@ -91,3 +87,4 @@ DROP PROCEDURE IF EXISTS test.p2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sp_effects.result b/mysql-test/suite/rpl/r/rpl_sp_effects.result
index d9cdfd81167..a6e3ae03963 100644
--- a/mysql-test/suite/rpl/r/rpl_sp_effects.result
+++ b/mysql-test/suite/rpl/r/rpl_sp_effects.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
drop procedure if exists p1;
drop procedure if exists p2;
@@ -278,3 +274,4 @@ drop procedure sp_bug26199;
drop function sf_bug26199;
SET @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
end of the tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_spec_variables.result b/mysql-test/suite/rpl/r/rpl_spec_variables.result
index ea2778bf71c..785913134a7 100644
--- a/mysql-test/suite/rpl/r/rpl_spec_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_spec_variables.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
* auto_increment_increment, auto_increment_offset *
SET @@global.auto_increment_increment=2;
@@ -173,7 +169,7 @@ t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` varchar(10) DEFAULT NULL,
PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -223,3 +219,4 @@ SET @@global.max_heap_table_size=@restore_slave_max_heap_table_size;
SET @@global.storage_engine=@restore_slave_storage_engine;
call mtr.add_suppression("The table 't[12]' is full");
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sporadic_master.result b/mysql-test/suite/rpl/r/rpl_sporadic_master.result
index 14fb673a081..1ec94964acf 100644
--- a/mysql-test/suite/rpl/r/rpl_sporadic_master.result
+++ b/mysql-test/suite/rpl/r/rpl_sporadic_master.result
@@ -1,16 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t2(n int);
create table t1(n int not null auto_increment primary key);
insert into t1 values (NULL),(NULL);
truncate table t1;
insert into t1 values (4),(NULL);
-stop slave;
-start slave;
+include/stop_slave.inc
+include/start_slave.inc
insert into t1 values (NULL),(NULL);
flush logs;
truncate table t1;
@@ -24,3 +20,4 @@ n
14
15
drop table t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ssl.result b/mysql-test/suite/rpl/r/rpl_ssl.result
index 1af4c5e227c..35aaabc8c56 100644
--- a/mysql-test/suite/rpl/r/rpl_ssl.result
+++ b/mysql-test/suite/rpl/r/rpl_ssl.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
grant replication slave on *.* to replssl@localhost require ssl;
create table t1 (t int auto_increment, KEY(t));
stop slave;
@@ -19,23 +15,32 @@ insert into t1 values(1);
select * from t1;
t
1
-Master_SSL_Allowed Yes
-Master_SSL_CA_Path
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Checking that both slave threads are running.
+Master_SSL_Allowed = 'Yes'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
STOP SLAVE;
select * from t1;
t
1
insert into t1 values (NULL);
-Master_SSL_Allowed Yes
-Master_SSL_CA_Path
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Checking that both slave threads are running.
+include/wait_for_slave_to_start.inc
+Master_SSL_Allowed = 'Yes'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
drop user replssl@localhost;
drop table t1;
+include/stop_slave.inc
+CHANGE MASTER TO
+master_user = 'root',
+master_ssl = 0,
+master_ssl_ca = '',
+master_ssl_cert = '',
+master_ssl_key = '';
End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_ssl1.result b/mysql-test/suite/rpl/r/rpl_ssl1.result
index 5b4aa126c77..a7a56d7c5ee 100644
--- a/mysql-test/suite/rpl/r/rpl_ssl1.result
+++ b/mysql-test/suite/rpl/r/rpl_ssl1.result
@@ -1,41 +1,43 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
grant replication slave on *.* to replssl@localhost require ssl;
create table t1 (t int);
stop slave;
+include/wait_for_slave_to_stop.inc
change master to master_user='replssl',master_password='';
start slave;
insert into t1 values (1);
select * from t1;
t
stop slave;
+include/wait_for_slave_to_stop.inc
change master to master_ssl=1 , master_ssl_ca ='MYSQL_TEST_DIR/std_data/cacert.pem', master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem', master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem';
start slave;
+include/wait_for_slave_to_start.inc
select * from t1;
t
1
-Master_SSL_Allowed Yes
-Master_SSL_CA_Path
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Checking that both slave threads are running.
+Master_SSL_Allowed = 'Yes'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
stop slave;
+include/wait_for_slave_to_stop.inc
change master to master_user='root',master_password='', master_ssl=0;
start slave;
+include/wait_for_slave_to_start.inc
drop user replssl@localhost;
drop table t1;
-Master_SSL_Allowed No
-Master_SSL_CA_Path
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Checking that both slave threads are running.
+Master_SSL_Allowed = 'No'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
stop slave;
+include/wait_for_slave_to_stop.inc
change master to
master_host="localhost",
master_ssl=1 ,
@@ -44,16 +46,26 @@ master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem',
master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem',
master_ssl_verify_server_cert=1;
start slave;
+include/wait_for_slave_to_start.inc
create table t1 (t int);
insert into t1 values (1);
on slave
select * from t1;
t
1
-Master_SSL_Allowed Yes
-Master_SSL_CA_Path
-Master_SSL_CA_File MYSQL_TEST_DIR/std_data/cacert.pem
-Master_SSL_Cert MYSQL_TEST_DIR/std_data/client-cert.pem
-Master_SSL_Key MYSQL_TEST_DIR/std_data/client-key.pem
-Checking that both slave threads are running.
+Master_SSL_Allowed = 'Yes'
+Master_SSL_CA_Path = ''
+Master_SSL_CA_File = 'MYSQL_TEST_DIR/std_data/cacert.pem'
+Master_SSL_Cert = 'MYSQL_TEST_DIR/std_data/client-cert.pem'
+Master_SSL_Key = 'MYSQL_TEST_DIR/std_data/client-key.pem'
+include/check_slave_is_running.inc
drop table t1;
+include/stop_slave.inc
+CHANGE MASTER TO
+master_host="127.0.0.1",
+master_ssl_ca ='',
+master_ssl_cert='',
+master_ssl_key='',
+master_ssl_verify_server_cert=0,
+master_ssl=0;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_000001.result b/mysql-test/suite/rpl/r/rpl_stm_000001.result
index 7fd9a6a9c92..65715b471aa 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_000001.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_000001.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
create table t1 (word char(20) not null);
load data infile '../../std_data/words.dat' into table t1;
@@ -40,6 +36,7 @@ stop slave;
reset slave;
lock tables t1 read;
start slave;
+include/sync_slave_io_with_master.inc
unlock tables;
create table t2(id int);
insert into t2 values(connection_id());
@@ -52,8 +49,7 @@ select (@id := id) - id from t2;
kill @id;
drop table t2;
Got one of the listed errors
-set global sql_slave_skip_counter=1;
-start slave;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1053]
select count(*) from t1;
count(*)
5000
@@ -82,3 +78,4 @@ select_priv user
Y blafasel2
drop table t1;
delete from mysql.user where user="blafasel2";
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result b/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
index e69952787fb..d4a14adc6b8 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t1 (a int, unique(a)) engine=myisam;
set sql_log_bin=0;
insert into t1 values(2);
@@ -11,6 +7,11 @@ set sql_log_bin=1;
insert into t1 values(1),(2);
ERROR 23000: Duplicate entry '2' for key 'a'
drop table t1;
-Error: "Query caused different errors on master and slave. Error on master: 'Duplicate entry '%-.192s' for key %d' (1062), Error on slave: 'no error' (0). Default database: 'test'. Query: 'insert into t1 values(1),(2)'" (expected different error codes on master and slave)
+include/wait_for_slave_sql_to_stop.inc
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.* error code=1062.*Error on slave:.* Error_code: 0");
+Error: "Query caused different errors on master and slave. Error on master: message (format)='Duplicate entry '%-.192s' for key %d' error code=1062 ; Error on slave: actual message='no error', error code=0. Default database: 'test'. Query: 'insert into t1 values(1),(2)'" (expected different error codes on master and slave)
Errno: "0" (expected 0)
drop table t1;
+include/stop_slave.inc
+RESET SLAVE;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result b/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
index 7cbe1d73254..cade32bbfdd 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY);
@@ -206,3 +202,4 @@ DROP PROCEDURE IF EXISTS p1;
DROP PROCEDURE IF EXISTS p2;
DROP FUNCTION IF EXISTS f1;
DROP TRIGGER IF EXISTS tr1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result b/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
index 1ad34fbe961..14ed79680f1 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
@@ -1,10 +1,10 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
CREATE TABLE t2(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MyIsam;
CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
@@ -15,13 +15,11 @@ CREATE TABLE t3(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=Innodb;
Got one of the listed errors
*** Single statement on non-transactional table ***
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
*** Single statement on both transactional and non-transactional tables. ***
Got one of the listed errors
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
-START SLAVE SQL_THREAD;
-source include/diff_master_slave.inc;
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 2 - BEGIN - IMPLICIT COMMIT by DDL
########################################################################################
@@ -38,7 +36,7 @@ Got one of the listed errors
BEGIN;
Got one of the listed errors
Got one of the listed errors
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 3 - BEGIN - COMMIT
########################################################################################
@@ -50,7 +48,7 @@ Got one of the listed errors
Got one of the listed errors
Got one of the listed errors
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 4 - BEGIN - ROLLBACK
########################################################################################
@@ -64,7 +62,7 @@ Got one of the listed errors
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 5 - PROCEDURE
########################################################################################
@@ -88,7 +86,7 @@ TRUNCATE TABLE t1;
BEGIN;
Got one of the listed errors
ROLLBACK;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 6 - XID
########################################################################################
@@ -103,7 +101,7 @@ ROLLBACK TO sv;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
########################################################################################
# 7 - NON-TRANS TABLE
########################################################################################
@@ -118,7 +116,45 @@ COMMIT;
BEGIN;
Got one of the listed errors
COMMIT;
-source include/diff_master_slave.inc;
+include/diff_tables.inc [master:t1,slave:t1]
+########################################################################
+# 8 - Bug#55375(Regression Bug) Transaction bigger than
+# max_binlog_cache_size crashes slave
+########################################################################
+# [ On Slave ]
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+include/stop_slave.inc
+include/start_slave.inc
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Multi-statement transaction required more than 'max_binlog_stmt_cache_size' bytes of storage.*");
+CALL mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+CALL mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master. Message: error writing to the binary log");
+TRUNCATE t1;
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+BEGIN;
+Repeat statement 'INSERT INTO t1 VALUES($n, repeat("a", 32))' 128 times
+COMMIT;
+include/wait_for_slave_sql_error.inc [errno=1197]
+SELECT count(*) FROM t1;
+count(*)
+0
+show binlog events in 'slave-bin.000001' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+include/stop_slave.inc
+include/start_slave.inc
+SELECT count(*) FROM t1;
+count(*)
+128
########################################################################################
# CLEAN
########################################################################################
@@ -126,8 +162,6 @@ DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE IF EXISTS t4;
-DROP TABLE IF EXISTS t5;
-DROP TABLE IF EXISTS t6;
-Warnings:
-Note 1051 Unknown table 't6'
+DROP TABLE t5;
DROP PROCEDURE p1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_conflicts.result b/mysql-test/suite/rpl/r/rpl_stm_conflicts.result
index 6d9759b3562..e30429540fb 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_conflicts.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_conflicts.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialize ====
[on master]
CREATE TABLE t1(a INT PRIMARY KEY);
@@ -19,14 +15,17 @@ a
1
[on slave]
---- Wait until slave stops with an error ----
+include/wait_for_slave_sql_error.inc [errno=1062]
Last_SQL_Error (expected "duplicate key" error)
Error 'Duplicate entry '1' for key 'PRIMARY'' on query. Default database: 'test'. Query: 'INSERT INTO t1 VALUES (1)'
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
SELECT * FROM t1;
a
1
---- Resolve the conflict on the slave and restart SQL thread ----
DELETE FROM t1 WHERE a = 1;
START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_start.inc
---- Sync slave and verify that there is no error ----
Last_SQL_Error = '' (expected no error)
SELECT * FROM t1;
@@ -53,3 +52,4 @@ a
[on master]
DROP TABLE t1;
[on slave]
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result b/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
index 75f668d8c08..3f72e281b0b 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -1613,3 +1609,4 @@ DROP TABLE IF EXISTS nt_1;
DROP TABLE IF EXISTS tt_2;
DROP TABLE IF EXISTS tt_1;
SET @commands= '';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result b/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
index fe2fb1d9da2..6b8d8b9407e 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
@@ -1,10 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int) ENGINE=MyISAM;
+include/master-slave.inc
+[connection master]
+create table t1 (a int);
insert into t1 values (10);
create table t2 (a int) ENGINE=MyISAM;
create table t3 (a int) engine=merge union(t1);
@@ -21,10 +17,13 @@ flush tables;
select * from t3;
a
stop slave;
+include/wait_for_slave_to_stop.inc
drop table t1;
flush tables with read lock;
start slave;
+include/wait_for_slave_to_start.inc
stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
drop table t3, t4, t5;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_found_rows.result b/mysql-test/suite/rpl/r/rpl_stm_found_rows.result
index 2388c4e4b7c..eff96952918 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_found_rows.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_found_rows.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialize ====
**** On Master ****
CREATE TABLE t1 (a INT);
@@ -100,8 +96,4 @@ DROP TABLE t1, logtbl;
DROP PROCEDURE just_log;
DROP PROCEDURE calc_and_log;
DROP FUNCTION log_rows;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result b/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
index e48f1a7d0f3..626b748e63d 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set session storage_engine=innodb;
#########################################################################
# CONFIGURATION
@@ -524,10 +520,8 @@ master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
###################################################################################
# CHECK CONSISTENCY
###################################################################################
-Comparing tables master:test.tt_1 and slave:test.tt_1
+include/diff_tables.inc [master:tt_1,slave:tt_1]
###################################################################################
# CLEAN
###################################################################################
-DROP TABLE tt_1;
-DROP TABLE tt_2;
-DROP TABLE nt_1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_innodb.result b/mysql-test/suite/rpl/r/rpl_stm_innodb.result
index f99457faaf0..0e9531317b9 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_innodb.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t4 (
id INT(5) unsigned NOT NULL auto_increment,
name varchar(15) NOT NULL default '',
@@ -130,3 +126,4 @@ id b
DROP TABLE t1;
DROP TABLE t3;
End of 6.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result b/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result
index c6b743c7c89..afff633cd49 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE SCHEMA IF NOT EXISTS mysqlslap;
USE mysqlslap;
select @@global.binlog_format;
@@ -51,8 +47,8 @@ CREATE TABLE t1(a int, UNIQUE(a));
INSERT DELAYED IGNORE INTO t1 VALUES(1);
INSERT DELAYED IGNORE INTO t1 VALUES(1);
flush table t1;
-use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
-use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
+use `test`; INSERT IGNORE INTO t1 VALUES(1)
+use `test`; INSERT IGNORE INTO t1 VALUES(1)
select * from t1;
a
1
@@ -60,10 +56,10 @@ On slave
show binlog events in 'slave-bin.000002' from <binlog_start> limit 1,6;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Query # # BEGIN
-slave-bin.000002 # Query # # use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
+slave-bin.000002 # Query # # use `test`; INSERT IGNORE INTO t1 VALUES(1)
slave-bin.000002 # Query # # COMMIT
slave-bin.000002 # Query # # BEGIN
-slave-bin.000002 # Query # # use `test`; INSERT DELAYED IGNORE INTO t1 VALUES(1)
+slave-bin.000002 # Query # # use `test`; INSERT IGNORE INTO t1 VALUES(1)
slave-bin.000002 # Query # # COMMIT
select * from t1;
a
@@ -72,3 +68,4 @@ drop table t1;
FLUSH LOGS;
FLUSH LOGS;
End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result b/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
index 417da0e2237..feedc3d8281 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
@@ -14,13 +14,8 @@ master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA CONCURRENT INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`) ;file_id=#
master-bin.000001 # Query # # COMMIT
DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-reset master;
+include/master-slave.inc
+[connection master]
select last_insert_id();
last_insert_id()
0
@@ -48,32 +43,29 @@ drop table t3;
create table t1(a int, b int, unique(b));
insert into t1 values(1,10);
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
-set global sql_slave_skip_counter=1;
-start slave;
-Last_SQL_Errno=0
-Last_SQL_Error
-
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
+include/wait_for_slave_sql_error_and_skip.inc [errno=1062]
+include/check_slave_no_error.inc
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
-stop slave;
+include/wait_for_slave_sql_error.inc [errno=1062]
+include/stop_slave_io.inc
change master to master_user='test';
change master to master_user='root';
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/check_slave_no_error.inc
set global sql_slave_skip_counter=1;
start slave;
set sql_log_bin=0;
delete from t1;
set sql_log_bin=1;
load data CONCURRENT infile '../../std_data/rpl_loaddata.dat' into table t1;
+include/wait_for_slave_sql_error.inc [errno=1062]
stop slave;
reset slave;
-Last_SQL_Errno=0
-Last_SQL_Error
-
+include/check_slave_no_error.inc
reset master;
create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
unique(day)) engine=MyISAM;
@@ -96,18 +88,14 @@ load data CONCURRENT infile '../../std_data/rpl_loaddata2.dat' into table t2 fie
terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
'\n##\n' starting by '>' ignore 1 lines;
ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
+include/wait_for_slave_sql_error.inc [errno=0]
drop table t1, t2;
drop table t1, t2;
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
LOAD DATA CONCURRENT INFILE "../../std_data/words.dat" INTO TABLE t1;
ERROR 23000: Duplicate entry 'Aarhus' for key 'PRIMARY'
-DROP TABLE IF EXISTS t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+DROP TABLE t1;
+include/rpl_reset.inc
drop database if exists b48297_db1;
drop database if exists b42897_db2;
create database b48297_db1;
@@ -128,15 +116,10 @@ LOAD DATA CONCURRENT LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO
LOAD DATA CONCURRENT LOCAL INFILE 'MYSQLTEST_VARDIR/std_data/loaddata5.dat' INTO TABLE b48297_db1.t1;
### disconnect and switch back to master connection
use b48297_db1;
-Comparing tables master:b48297_db1.t1 and slave:b48297_db1.t1
+include/diff_tables.inc [master:b48297_db1.t1, slave:b48297_db1.t1]
DROP DATABASE b48297_db1;
DROP DATABASE b42897_db2;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
use test;
CREATE TABLE t1 (`key` TEXT, `text` TEXT);
LOAD DATA INFILE '../../std_data/loaddata2.dat' REPLACE INTO TABLE `t1` FIELDS TERMINATED BY ',';
@@ -148,3 +131,4 @@ Field 3 'Field 4'
'Field 5' 'Field 6'
Field 6 'Field 7'
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_loadfile.result b/mysql-test/suite/rpl/r/rpl_stm_loadfile.result
index 1abb0d88bbe..72fae5ce6ee 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_loadfile.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_loadfile.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, PRIMARY KEY(a));
@@ -229,3 +225,4 @@ aberration
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE test.t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_log.result b/mysql-test/suite/rpl/r/rpl_stm_log.result
index 472be5ee607..3bb3f347a43 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_log.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_log.result
@@ -1,13 +1,11 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
include/stop_slave.inc
+include/wait_for_slave_to_stop.inc
reset master;
reset slave;
start slave;
+include/wait_for_slave_to_start.inc
create table t1(n int not null auto_increment primary key)ENGINE=MyISAM;
insert into t1 values (NULL);
drop table t1;
@@ -241,18 +239,13 @@ slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=MyISAM
slave-bin.000002 # Query # # BEGIN
slave-bin.000002 # Query # # use `test`; insert into t2 values (1)
slave-bin.000002 # Query # # COMMIT
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
@@ -275,3 +268,4 @@ a b
5 1
6 1
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result b/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
index 547dd8e1541..379cea4d3fc 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
stop slave;
#
# Generate a big enough master's binlog to cause relay log rotations
@@ -23,7 +19,7 @@ select @@global.max_relay_log_size;
@@global.max_relay_log_size
4096
start slave;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 2
#
@@ -33,7 +29,7 @@ set global max_relay_log_size=(5*4096);
select @@global.max_relay_log_size;
@@global.max_relay_log_size 20480
start slave;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 3: max_relay_log_size = 0
#
@@ -43,7 +39,7 @@ set global max_relay_log_size=0;
select @@global.max_relay_log_size;
@@global.max_relay_log_size 0
start slave;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
#
@@ -57,13 +53,13 @@ reset slave;
start slave;
flush logs;
create table t1 (a int);
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
#
# Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
#
flush logs;
drop table t1;
-Checking that both slave threads are running.
+include/check_slave_is_running.inc
flush logs;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
@@ -72,3 +68,4 @@ set global max_binlog_size= @my_max_binlog_size;
#
# End of 4.1 tests
#
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result b/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
index 5dc86137635..f706fa0fe75 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
@@ -1,18 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+include/rpl_reset.inc
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
-INSERT INTO t1 VALUES (4);
-INSERT INTO t1 VALUES (5);
-INSERT INTO t1 VALUES (6);
-[MASTER] ********* SOW BINLOG EVENTS IN ... *********
-show binlog events from <binlog_start>;
+******** [master] SHOW BINLOG EVENTS IN <FILE> ********
+show binlog events in 'master-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
master-bin.000001 # Query # # BEGIN
@@ -24,16 +18,17 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Query # # COMMIT
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'master-bin.000001' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'master-bin.000001' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (6)
+master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Query # # COMMIT
-[MASTER] ********* SOW BINLOG EVENTS *********
+******** [master] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -46,30 +41,8 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (6)
-master-bin.000001 # Query # # COMMIT
-[MASTER] ********* SOW BINLOG EVENTS ... LIMIT rows *********
-show binlog events from <binlog_start> limit 3;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
-[MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
-show binlog events from <binlog_start> limit 1,4;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-[SLAVE] ********* SOW BINLOG EVENTS IN ... *********
-show binlog events from <binlog_start>;
+******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
+show binlog events in 'slave-bin.000001' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
slave-bin.000001 # Query # # BEGIN
@@ -81,16 +54,17 @@ slave-bin.000001 # Query # # COMMIT
slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-bin.000001 # Query # # COMMIT
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'slave-bin.000001' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'slave-bin.000001' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (6)
+slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
slave-bin.000001 # Query # # COMMIT
-[SLAVE] ********* SOW BINLOG EVENTS *********
+******** [slave] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -103,29 +77,7 @@ slave-bin.000001 # Query # # COMMIT
slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (6)
-slave-bin.000001 # Query # # COMMIT
-[SLAVE] ********* SOW BINLOG EVENTS ... LIMIT rows *********
-show binlog events from <binlog_start> limit 3;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
-[SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
-show binlog events from <binlog_start> limit 1,4;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-[SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
show relaylog events in 'slave-relay-bin.000003' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
@@ -140,39 +92,35 @@ slave-relay-bin.000003 # Query # # COMMIT
slave-relay-bin.000003 # Query # # BEGIN
slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-slave-relay-bin.000003 # Query # # COMMIT
-slave-relay-bin.000003 # Query # # BEGIN
-slave-relay-bin.000003 # Query # # use `test`; INSERT INTO t1 VALUES (6)
-slave-relay-bin.000003 # Query # # COMMIT
-[SLAVE] ********* SOW RELAYLOG EVENTS *********
-show relaylog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000002 # Rotate # # slave-relay-bin.000003;pos=4
-[MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT rows *********
-show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 3;
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
+show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000003 # Rotate # # master-bin.000001;pos=4
-slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
-slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
-[MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT offset,rows *********
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
show relaylog events in 'slave-relay-bin.000003' from <binlog_start> limit 1,3;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000003 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
slave-relay-bin.000003 # Query # # use `test`; CREATE TABLE t1 (a INT)
slave-relay-bin.000003 # Query # # BEGIN
+******** [slave] SHOW RELAYLOG EVENTS ********
+show relaylog events from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000002 # Rotate # # slave-relay-bin.000003;pos=4
FLUSH LOGS;
FLUSH LOGS;
DROP TABLE t1;
-[MASTER] ********* SOW BINLOG EVENTS IN ... *********
+******** [master] SHOW BINLOG EVENTS IN <FILE> ********
show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-[MASTER] ********* SOW BINLOG EVENTS *********
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'master-bin.000002' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [master] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'master-bin.000002' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
+******** [master] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -185,21 +133,19 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (6)
-master-bin.000001 # Query # # COMMIT
master-bin.000001 # Rotate # # master-bin.000002;pos=4
-[SLAVE] ********* SOW BINLOG EVENTS IN ... *********
+******** [slave] SHOW BINLOG EVENTS IN <FILE> ********
show binlog events in 'slave-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-[SLAVE] ********* SOW BINLOG EVENTS *********
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1 ********
+show binlog events in 'slave-bin.000002' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW BINLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show binlog events in 'slave-bin.000002' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
+******** [slave] SHOW BINLOG EVENTS ********
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
@@ -212,23 +158,25 @@ slave-bin.000001 # Query # # COMMIT
slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5)
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (6)
-slave-bin.000001 # Query # # COMMIT
slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
-[SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
-show relaylog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=4
-slave-relay-bin.000005 # Rotate # # slave-relay-bin.000006;pos=4
-[SLAVE] ********* SOW RELAYLOG EVENTS *********
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> ********
+show relaylog events in 'slave-relay-bin.000006' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
+slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1 ********
+show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000006 # Rotate # # master-bin.000002;pos=4
+******** [slave] SHOW RELAYLOG EVENTS IN <FILE> LIMIT 1,3 ********
+show relaylog events in 'slave-relay-bin.000006' from <binlog_start> limit 1,3;
+Log_name Pos Event_type Server_id End_log_pos Info
+slave-relay-bin.000006 # Format_desc # # SERVER_VERSION, BINLOG_VERSION
+slave-relay-bin.000006 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
+******** [slave] SHOW RELAYLOG EVENTS ********
show relaylog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000005 # Rotate # # master-bin.000002;pos=4
slave-relay-bin.000005 # Rotate # # slave-relay-bin.000006;pos=4
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result b/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
index c11f974ac2f..6e0ee695b41 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#########################################################################
# CONFIGURATION
#########################################################################
@@ -11266,23 +11262,6 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt_xx_
###################################################################################
# CLEAN
###################################################################################
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE `t1` (
-`c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
-`c2` tinyint(1) unsigned DEFAULT NULL,
-`c3` varchar(300) DEFAULT NULL,
-`c4` int(10) unsigned NOT NULL,
-`c5` int(10) unsigned DEFAULT NULL,
-PRIMARY KEY (`c1`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-ALTER TABLE `t1` Engine=InnoDB;
-SET AUTOCOMMIT=0;
-INSERT INTO t1 (c1,c2,c3,c4,c5) VALUES (1, 1, 'X', 1, NULL);
-COMMIT;
-ROLLBACK;
-SET AUTOCOMMIT=1;
-Comparing tables master:test.t1 and slave:test.t1
-DROP TABLE `t1`;
+include/rpl_reset.inc
+include/diff_tables.inc [master:t1, slave:t1]
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_multi_query.result b/mysql-test/suite/rpl/r/rpl_stm_multi_query.result
index 0bd57d4b78a..68c769a7ede 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_multi_query.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_multi_query.result
@@ -1,10 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop database if exists mysqltest;
+include/master-slave.inc
+[connection master]
create database mysqltest;
create table mysqltest.t1 ( n int);
insert into mysqltest.t1 values(1)/
@@ -21,7 +16,6 @@ n
5
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # drop database if exists mysqltest
master-bin.000001 # Query # # create database mysqltest
master-bin.000001 # Query # # use `test`; create table mysqltest.t1 ( n int)
master-bin.000001 # Query # # BEGIN
@@ -40,3 +34,4 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into mysqltest.t1 values(5)
master-bin.000001 # Query # # COMMIT
drop database mysqltest;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_no_op.result b/mysql-test/suite/rpl/r/rpl_stm_no_op.result
index 5a253d61fcb..cf5b03cdfa6 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_no_op.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_no_op.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create database mysqltest;
drop database if exists mysqltest;
Warnings:
@@ -50,3 +46,4 @@ a b
select * from t2;
a b
drop table t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result b/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
index c6c2c525098..aa8bc63a432 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_reset_slave.result
@@ -1,22 +1,18 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-Master_User root
-Master_Host 127.0.0.1
+include/master-slave.inc
+[connection master]
+Master_User = 'root'
+Master_Host = '127.0.0.1'
include/stop_slave.inc
change master to master_user='test';
-Master_User test
-Master_Host 127.0.0.1
+Master_User = 'test'
+Master_Host = '127.0.0.1'
reset slave;
-Master_User test
-Master_Host 127.0.0.1
+Master_User = 'test'
+Master_Host = '127.0.0.1'
change master to master_user='root';
include/start_slave.inc
-Master_User root
-Master_Host 127.0.0.1
+Master_User = 'root'
+Master_Host = '127.0.0.1'
include/stop_slave.inc
reset slave;
include/start_slave.inc
@@ -29,13 +25,20 @@ Variable_name Value
Slave_open_temp_tables 1
include/stop_slave.inc
reset slave;
+include/check_slave_no_error.inc
change master to master_user='impossible_user_name';
start slave;
-stop slave;
+include/wait_for_slave_io_error.inc [errno=1045]
+include/stop_slave_sql.inc
change master to master_user='root';
include/start_slave.inc
+include/check_slave_no_error.inc
stop slave;
change master to master_user='impossible_user_name';
start slave;
-stop slave;
+include/wait_for_slave_io_error.inc [errno=1045]
+include/stop_slave_sql.inc
reset slave;
+include/check_slave_no_error.inc
+change master to master_user='root';
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_sql_mode.result b/mysql-test/suite/rpl/r/rpl_stm_sql_mode.result
index fd143fc8a50..fa5ac2a0c85 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_sql_mode.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_sql_mode.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TABLE t1 (pk integer auto_increment , primary key (pk));
SET SESSION SQL_MODE='traditional';
# **** [MASTER] *****
@@ -16,3 +12,4 @@ DROP TABLE t1;
# assertion: sync slave with master makes slave not to stop with
# duplicate key error (because it has received event
# with expected error code).
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result b/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result
index 71ad0177bae..57206873e2f 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result
@@ -1,17 +1,19 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
+SET @old_innodb_flush_log_at_trx_commit= @@global.innodb_flush_log_at_trx_commit;
+SET @@global.innodb_flush_log_at_trx_commit= 0;
+SET @old_innodb_flush_log_at_trx_commit= @@global.innodb_flush_log_at_trx_commit;
+SET @@global.innodb_flush_log_at_trx_commit= 0;
SET @@session.binlog_direct_non_transactional_updates= FALSE;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
create table t1(n int);
stop slave;
+include/wait_for_slave_to_stop.inc
start slave;
stop slave io_thread;
start slave io_thread;
+include/wait_for_slave_to_start.inc
drop table t1;
create table t1i(n int primary key) engine=innodb;
create table t2m(n int primary key) engine=myisam;
@@ -33,6 +35,7 @@ zero
0
stop slave;
rollback;
+include/wait_for_slave_to_stop.inc
*** sql thread is *not* running: No ***
*** the prove: the stopped slave has finished the current transaction ***
five
@@ -43,3 +46,30 @@ one
1
include/start_slave.inc
drop table t1i, t2m;
+#
+# Bug#56096 STOP SLAVE hangs if executed in parallel with user sleep
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a INT );
+# Slave1: lock table for synchronization
+LOCK TABLES t1 WRITE;
+# Master: insert into the table
+INSERT INTO t1 SELECT SLEEP(4);
+Warnings:
+Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
+# Slave: wait for the insert
+# Slave: send slave stop
+STOP SLAVE;
+# Slave1: wait for stop slave
+# Slave1: unlock the table
+UNLOCK TABLES;
+# Slave: wait for the slave to stop
+include/wait_for_slave_to_stop.inc
+# Start slave again
+include/start_slave.inc
+# Clean up
+DROP TABLE t1;
+SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result b/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result
index eb1d6689bfc..0b3233437aa 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET @@session.binlog_direct_non_transactional_updates= FALSE;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
create table tm (a int auto_increment primary key) engine=myisam;
@@ -15,6 +11,9 @@ insert into tm set a=null;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
commit;
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+call mtr.add_suppression("Slave SQL.*Slave SQL Thread stopped with incomplete event group having non-transactional changes");
+include/wait_for_slave_sql_to_stop.inc
SELECT "NO" AS Last_SQL_Error, @check as `true`;
Last_SQL_Error true
NO 1
@@ -36,9 +35,10 @@ insert into tm set a=null;
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.
commit;
-SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
+include/wait_for_slave_sql_to_stop.inc
+SELECT "Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
Last_SQL_Error true
-Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1
+Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1
select count(*) as one from tm;
one
1
@@ -52,9 +52,10 @@ include/start_slave.inc
set @@global.debug="+d,stop_slave_middle_group";
set @@global.debug="+d,incomplete_group_in_relay_log";
update tm as t1, ti as t2 set t1.a=t1.a * 2, t2.a=t2.a * 2;
-SELECT "Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
+include/wait_for_slave_sql_to_stop.inc
+SELECT "Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details)." AS Last_SQL_Error, @check as `true`;
Last_SQL_Error true
-Fatal error: ... The slave SQL is stopped, leaving the current group of events unfinished with a non-transaction table changed. If the group consists solely of Row-based events, you can try restarting the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1
+Fatal error: ... Slave SQL Thread stopped with incomplete event group having non-transactional changes. If the group consists solely of row-based events, you can try to restart the slave with --slave-exec-mode=IDEMPOTENT, which ignores duplicate key, key not found, and similar errors (see documentation for details). 1
select max(a) as two from tm;
two
2
@@ -62,6 +63,6 @@ select max(a) as one from ti;
one
1
set @@global.debug="-d";
+include/rpl_reset.inc
drop table tm, ti;
-include/stop_slave.inc
-drop table tm, ti;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_until.result b/mysql-test/suite/rpl/r/rpl_stm_until.result
index c9c97bc533c..ed1d9a6f226 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_until.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_until.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
[on slave]
include/stop_slave.inc
==== Create some events on master ====
@@ -18,29 +14,41 @@ drop table t2;
==== Replicate one event at a time on slave ====
[on slave]
start slave until master_log_file='MASTER_LOG_FILE', master_log_pos=MASTER_LOG_POS;
+include/wait_for_slave_io_to_start.inc
+include/wait_for_slave_sql_to_stop.inc
select * from t1;
n
1
2
3
4
+include/check_slave_param.inc [Exec_Master_Log_Pos]
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=MASTER_LOG_POS;
+include/wait_for_slave_io_to_start.inc
+include/wait_for_slave_sql_to_stop.inc
select * from t1;
n
1
2
3
4
-start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=RELAY_LOG_POS;
+include/check_slave_param.inc [Exec_Master_Log_Pos]
+start slave until relay_log_file='slave-relay-bin.000003', relay_log_pos=RELAY_LOG_POS;
+include/wait_for_slave_io_to_start.inc
+include/wait_for_slave_sql_to_stop.inc
select * from t2;
n
1
2
+include/check_slave_param.inc [Exec_Master_Log_Pos]
start slave;
[on master]
[on slave]
include/stop_slave.inc
start slave until master_log_file='MASTER_LOG_FILE', master_log_pos=MASTER_LOG_POS;
+include/wait_for_slave_io_to_start.inc
+include/wait_for_slave_sql_to_stop.inc
+include/check_slave_param.inc [Exec_Master_Log_Pos]
==== Test various error conditions ====
start slave until master_log_file='master-bin', master_log_pos=MASTER_LOG_POS;
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
@@ -75,6 +83,7 @@ select count(*) as two from t1;
two
2
start slave until master_log_file='MASTER_LOG_FILE', master_log_pos= UNTIL_POS;;
+include/wait_for_slave_sql_to_stop.inc
slave stopped at the prescribed position
select 0 as zero;
zero
@@ -84,24 +93,17 @@ one
1
drop table t1;
start slave;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
+include/rpl_reset.inc
+flush logs;
stop slave;
flush logs;
flush logs;
reset slave;
start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS; /* to stop right before DROP */;
+include/wait_for_slave_sql_to_stop.inc
show tables /* t1 must exist */;
Tables_in_test
t1
drop table t1;
stop slave;
-reset slave;
-reset master;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stm_user_variables.result b/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
index 8f43425b201..e59928af66d 100644
--- a/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
SET @positive= 18446744073709551615;
SET @negative= -9223372036854775808;
CREATE TABLE t1 (`tinyint` TINYINT,
@@ -58,7 +54,7 @@ real 18446744073709552000.00
decimal 18446744073709551615.00
#########################################
## assertion: master and slave tables are in sync
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
TRUNCATE t1;
### b) user var
INSERT INTO t1 VALUES (@positive,
@@ -110,7 +106,7 @@ real 18446744073709552000.00
decimal 18446744073709551615.00
#########################################
## assertion: master and slave tables are in sync
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
TRUNCATE t1;
### insert min signed
### a) declarative
@@ -150,7 +146,7 @@ real -9223372036854776000.00
decimal -9223372036854775808.00
#########################################
## assertion: master and slave tables are in sync
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
TRUNCATE t1;
### b) user var
INSERT INTO t1 VALUES (@negative,
@@ -202,16 +198,11 @@ real -9223372036854776000.00
decimal -9223372036854775808.00
#########################################
## assertion: master and slave tables are in sync
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
TRUNCATE t1;
## check: contents of both tables master's and slave's
DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 ( c INT, PRIMARY KEY (c)) Engine=MyISAM;
CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW SET @aux = -1 ;
SET @aux = 10294947273192243200;
@@ -219,6 +210,7 @@ SET @aux1= @aux;
INSERT INTO t1 VALUES (@aux) , (@aux1);
ERROR 23000: Duplicate entry '2147483647' for key 'PRIMARY'
## assertion: master and slave tables are in sync
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1,slave:t1]
DROP TRIGGER tr1;
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_stop_slave.result b/mysql-test/suite/rpl/r/rpl_stop_slave.result
new file mode 100644
index 00000000000..588d9bbabf5
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_stop_slave.result
@@ -0,0 +1,122 @@
+include/master-slave.inc
+[connection master]
+
+# BUG#56118 STOP SLAVE does not wait till trx with CREATE TMP TABLE ends
+#
+# If a temporary table is created or dropped, the transaction should be
+# regarded similarly that a non-transactional table is modified. So
+# STOP SLAVE should wait until the transaction has finished.
+CREATE TABLE t1(c1 INT) ENGINE=InnoDB;
+CREATE TABLE t2(c1 INT) ENGINE=InnoDB;
+SET DEBUG_SYNC= 'RESET';
+include/stop_slave.inc
+
+# Suspend the INSERT statement in current transaction on SQL thread.
+# It guarantees that SQL thread is applying the transaction when
+# STOP SLAVE command launchs.
+SET GLOBAL debug= 'd,after_mysql_insert';
+include/start_slave.inc
+
+# CREATE TEMPORARY TABLE with InnoDB engine
+# -----------------------------------------
+
+[ On Master ]
+BEGIN;
+DELETE FROM t1;
+CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1);
+DROP TEMPORARY TABLE tt1;
+COMMIT;
+
+[ On Slave ]
+STOP SLAVE SQL_THREAD;
+
+[ On Slave1 ]
+# To resume slave SQL thread
+SET DEBUG_SYNC= 'now SIGNAL signal.continue';
+SET DEBUG_SYNC= 'RESET';
+
+[ On Slave ]
+include/wait_for_slave_sql_to_stop.inc
+# Slave should stop after the transaction has committed.
+# So t1 on master is same to t1 on slave.
+include/diff_tables.inc [master:t1, slave:t1]
+START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_start.inc
+
+# CREATE TEMPORARY TABLE ... SELECT with InnoDB engine
+# ----------------------------------------------------
+
+[ On Master ]
+BEGIN;
+DELETE FROM t1;
+CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = InnoDB
+SELECT c1 FROM t2;
+INSERT INTO t1 VALUES (1);
+DROP TEMPORARY TABLE tt1;
+COMMIT;
+
+[ On Slave ]
+STOP SLAVE SQL_THREAD;
+
+[ On Slave1 ]
+# To resume slave SQL thread
+SET DEBUG_SYNC= 'now SIGNAL signal.continue';
+SET DEBUG_SYNC= 'RESET';
+
+[ On Slave ]
+include/wait_for_slave_sql_to_stop.inc
+# Slave should stop after the transaction has committed.
+# So t1 on master is same to t1 on slave.
+include/diff_tables.inc [master:t1, slave:t1]
+START SLAVE SQL_THREAD;
+include/wait_for_slave_sql_to_start.inc
+
+# Test end
+SET GLOBAL debug= '$debug_save';
+include/restart_slave.inc
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+[connection master]
+DROP TABLE t1, t2;
+
+# Bug#58546 test rpl_packet timeout failure sporadically on PB
+# ----------------------------------------------------------------------
+# STOP SLAVE stopped IO thread first and then stopped SQL thread. It was
+# possible that IO thread stopped after replicating part of a transaction
+# which SQL thread was executing. SQL thread would be hung if the
+# transaction could not be rolled back safely.
+# It caused some sporadic failures on PB2.
+#
+# This test verifies that when 'STOP SLAVE' is issued by a user, IO
+# thread will continue to fetch the rest events of the transaction which
+# is being executed by SQL thread and is not able to be rolled back safely.
+CREATE TABLE t1 (c1 INT KEY, c2 INT) ENGINE=InnoDB;
+CREATE TABLE t2 (c1 INT) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(1, 1);
+[connection master]
+SET GLOBAL debug= 'd,dump_thread_wait_before_send_xid';
+[connection slave]
+include/restart_slave.inc
+BEGIN;
+UPDATE t1 SET c2 = 2 WHERE c1 = 1;
+[connection master]
+BEGIN;
+INSERT INTO t1 VALUES(2, 2);
+INSERT INTO t2 VALUES(1);
+UPDATE t1 SET c2 = 3 WHERE c1 = 1;
+COMMIT;
+[connection slave1]
+STOP SLAVE;
+[connection slave]
+ROLLBACK;
+[connection master]
+SET DEBUG_SYNC= 'now SIGNAL signal.continue';
+SET DEBUG_SYNC= 'RESET';
+[connection slave]
+include/wait_for_slave_to_stop.inc
+[connection slave1]
+include/start_slave.inc
+[connection master]
+DROP TABLE t1, t2;
+SET GLOBAL debug= $debug_save;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result b/mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result
index 23400df98bc..33666defaa4 100644
--- a/mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result
+++ b/mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop database if exists mysqltest1;
create database mysqltest1;
use mysqltest1;
@@ -427,3 +423,4 @@ INSERT INTO t13 VALUES (CURRENT_USER());
INSERT INTO t13 VALUES (my_current_user());
drop database mysqltest1;
set global binlog_format =@my_binlog_format;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_sync.result b/mysql-test/suite/rpl/r/rpl_sync.result
index edc20c46140..de3506465aa 100644
--- a/mysql-test/suite/rpl/r/rpl_sync.result
+++ b/mysql-test/suite/rpl/r/rpl_sync.result
@@ -1,10 +1,6 @@
=====Configuring the enviroment=======;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression('Attempting backtrace');
call mtr.add_suppression("Recovery from master pos .* and file master-bin.000001");
CREATE TABLE t1(a INT, PRIMARY KEY(a)) engine=innodb;
@@ -12,20 +8,21 @@ insert into t1(a) values(1);
insert into t1(a) values(2);
insert into t1(a) values(3);
=====Inserting data on the master but without the SQL Thread being running=======;
-stop slave SQL_THREAD;
+include/stop_slave_sql.inc
insert into t1(a) values(4);
insert into t1(a) values(5);
insert into t1(a) values(6);
=====Removing relay log files and crashing/recoverying the slave=======;
-stop slave IO_THREAD;
+include/stop_slave_io.inc
SET SESSION debug="d,crash_before_rotate_relaylog";
FLUSH LOGS;
ERROR HY000: Lost connection to MySQL server during query
+include/rpl_reconnect.inc
=====Dumping and comparing tables=======;
-start slave;
-Comparing tables master:test.t1 and slave:test.t1
+include/start_slave.inc
+include/diff_tables.inc [master:t1,slave:t1]
=====Corrupting the master.info=======;
-stop slave;
+include/stop_slave.inc
FLUSH LOGS;
insert into t1(a) values(7);
insert into t1(a) values(8);
@@ -33,8 +30,10 @@ insert into t1(a) values(9);
SET SESSION debug="d,crash_before_rotate_relaylog";
FLUSH LOGS;
ERROR HY000: Lost connection to MySQL server during query
+include/rpl_reconnect.inc
=====Dumping and comparing tables=======;
-start slave;
-Comparing tables master:test.t1 and slave:test.t1
+include/start_slave.inc
+include/diff_tables.inc [master:t1,slave:t1]
=====Clean up=======;
drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temp_table.result b/mysql-test/suite/rpl/r/rpl_temp_table.result
index e4ca31d8908..e7df070874a 100644
--- a/mysql-test/suite/rpl/r/rpl_temp_table.result
+++ b/mysql-test/suite/rpl/r/rpl_temp_table.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create table t2 (n int, PRIMARY KEY(n));
create temporary table t1 (n int);
create temporary table t3 (n int not null);
@@ -46,3 +42,4 @@ Slave_open_temp_tables 0
drop table if exists t1,t2;
Warnings:
Note 1051 Unknown table 't1'
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result b/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
index e90d7c3f2d2..8fb910666dc 100644
--- a/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
+++ b/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialize ====
[on master]
CREATE TABLE t1 (a CHAR(48));
@@ -15,6 +11,7 @@ SHOW STATUS LIKE "Slave_open_temp_tables";
Variable_name Value
Slave_open_temp_tables 1
[on master]
+[on master1]
[on slave]
==== Verify results on slave ====
SHOW STATUS LIKE "Slave_open_temp_tables";
@@ -22,14 +19,10 @@ Variable_name Value
Slave_open_temp_tables 0
==== Clean up ====
[on master]
+include/rpl_connect.inc [creating master]
DROP TABLE t1;
[on slave]
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
CREATE TABLE t1 (a int);
CREATE TABLE t2 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) );
CREATE TABLE t3 ( i1 INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (i1) );
@@ -65,9 +58,54 @@ slave-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server
slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Xid # # COMMIT /* XID */
slave-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t2_tmp` /* generated by server */
slave-bin.000001 # Query # # BEGIN
slave-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
-slave-bin.000001 # Query # # COMMIT
+slave-bin.000001 # Xid # # COMMIT /* XID */
slave-bin.000001 # Query # # use `test`; DROP TABLE `t3`,`t1` /* generated by server */
+
+# Bug#55478 Row events wrongly apply on the temporary table of the same name
+# ==========================================================================
+# The statement should be binlogged
+CREATE TEMPORARY TABLE t1(c1 INT) ENGINE=InnoDB;
+
+# Case 1: CREATE TABLE t1 ... SELECT
+# ----------------------------------
+
+# The statement generates row events on t1. And the rows events should
+# be inserted into the base table on slave.
+CREATE TABLE t1 ENGINE=MyISAM SELECT rand();
+show binlog events in 'master-bin.000001' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `test`; CREATE TABLE `t1` (
+ `rand()` double NOT NULL DEFAULT '0'
+) ENGINE=MyISAM
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+
+# Case 2: DROP TEMPORARY TABLE in a transacation
+# ----------------------------------------------
+
+BEGIN;
+DROP TEMPORARY TABLE t1;
+# The rows event will binlogged before 'DROP TEMPORARY TABLE t1',
+# as t1 is non-transactional table
+INSERT INTO t1 VALUES(Rand());
+COMMIT;
+show binlog events in 'master-bin.000001' from <binlog_start>;
+Log_name Pos Event_type Server_id End_log_pos Info
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Table_map # # table_id: # (test.t1)
+master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
+master-bin.000001 # Query # # COMMIT
+master-bin.000001 # Query # # BEGIN
+master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
+master-bin.000001 # Query # # COMMIT
+# Compare the base table.
+include/diff_tables.inc [master:t1, slave:t1]
+
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporary.result b/mysql-test/suite/rpl/r/rpl_temporary.result
index 1e73e4ecad7..dfab66d074f 100644
--- a/mysql-test/suite/rpl/r/rpl_temporary.result
+++ b/mysql-test/suite/rpl/r/rpl_temporary.result
@@ -1,11 +1,6 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SET sql_log_bin = 0;
-SET sql_log_bin = 1;
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Slave: Can\'t find record in \'user\' Error_code: 1032");
reset master;
DROP TABLE IF EXISTS t1;
CREATE TEMPORARY TABLE t1 (a char(1));
@@ -130,8 +125,8 @@ select * from t1;
a
1
drop table t1;
-SET sql_log_bin = 0;
-SET sql_log_bin = 1;
+include/stop_slave.inc
+include/rpl_reset.inc
-- Bug#43748
-- make a user on the slave that can list but not kill system threads.
FLUSH PRIVILEGES;
@@ -143,5 +138,5 @@ KILL @id;
Got one of the listed errors
-- throw out test-user on slave.
DROP USER user43748@127.0.0.1;
--- done. back to master.
End of 5.1 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_temporary_errors.result b/mysql-test/suite/rpl/r/rpl_temporary_errors.result
index 64fa4ed14ea..4a9a8e1dad4 100644
--- a/mysql-test/suite/rpl/r/rpl_temporary_errors.result
+++ b/mysql-test/suite/rpl/r/rpl_temporary_errors.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Deadlock found");
**** On Master ****
CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
@@ -39,7 +35,8 @@ a b
2 2
3 3
4 4
-Checking that both slave threads are running.
-DROP TABLE t1;
+include/check_slave_is_running.inc
+call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1");
**** On Master ****
DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_test_framework.result b/mysql-test/suite/rpl/r/rpl_test_framework.result
new file mode 100644
index 00000000000..e45c12ba0ec
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_test_framework.result
@@ -0,0 +1,170 @@
+==== Create t1 on all servers. ====
+include/rpl_init.inc [topology=1->2->3->4->5->6->7->8->9]
+CREATE TABLE t1 (a INT);
+include/rpl_end.inc
+==== Test 3-server topologies ====
+include/rpl_init.inc [topology=1 -> 2]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 12'
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (1);
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (1);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=2 -> 3]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 23'
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (2);
+[connection server_2]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (2);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=none]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ''
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (3);
+[connection server_2]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (3);
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (3);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=1->2, 2->1]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 212'
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (4);
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (4);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=1->2->1]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 212'
+[connection server_2]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (5);
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (5);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=2->1->2]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 212'
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (6);
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (6);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=1->2->3]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 123'
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (7);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=2->3->2->1]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 323 21'
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (8);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=1->2,2->3,3->1]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 23123'
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (9);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=1->3->2->1]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 13213'
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (10);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1]
+include/rpl_end.inc
+==== Test 6-server topologies ====
+include/rpl_init.inc [topology=1->2->3->4->1->5->6]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 341234156'
+[connection server_1]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (11);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1,server_4:t1,server_5:t1,server_6:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=3->4->5->6->3->1->2]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 4563456 312'
+[connection server_4]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (12);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1,server_4:t1,server_5:t1,server_6:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=6->5->4->3->2->1]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 65 54 43 32 21'
+[connection server_6]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (13);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1,server_4:t1,server_5:t1,server_6:t1]
+include/rpl_end.inc
+include/rpl_init.inc [topology=1->2->3->1,4->5->6]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 456 23123'
+[connection server_3]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (14);
+[connection server_4]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (14);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1,server_4:t1,server_5:t1,server_6:t1]
+include/rpl_end.inc
+==== Test 9-server topology ====
+include/rpl_init.inc [topology=1->2, 2->3, 3->4, 4->5, 5->1, 1->6, 6->7, 6->8, 8->9]
+include/rpl_generate_sync_chain.inc
+rpl_sync_chain= ' 345123451689 67'
+[connection server_2]
+DELETE FROM t1;
+INSERT INTO t1 VALUES (15);
+include/rpl_sync.inc
+include/diff_tables.inc [server_1:t1,server_2:t1,server_3:t1,server_4:t1,server_5:t1,server_6:t1,server_7:t1,server_8:t1,server_9:t1]
+include/rpl_end.inc
+==== Clean up ====
+include/rpl_init.inc [topology=1->2->3->4->5->6->7->8->9]
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_timezone.result b/mysql-test/suite/rpl/r/rpl_timezone.result
index 0b5c03b5300..ce93c3030c0 100644
--- a/mysql-test/suite/rpl/r/rpl_timezone.result
+++ b/mysql-test/suite/rpl/r/rpl_timezone.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set @my_time_zone= @@global.time_zone;
set timestamp=100000000;
create table t1 (t timestamp, n int not null auto_increment, PRIMARY KEY(n));
@@ -122,6 +118,7 @@ a b
SET @@session.time_zone = default;
DROP TABLE t1;
SET @@session.time_zone = default;
+include/stop_slave.inc
reset master;
CREATE TABLE t1 (date timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, a int(11) default NULL);
SET @@session.time_zone='+01:00';
@@ -141,4 +138,5 @@ date a
2008-12-23 19:39:39 2
DROP TABLE t1;
SET @@session.time_zone = default;
+include/rpl_end.inc
End of 5.0 tests
diff --git a/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result b/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result
index 3136599e5aa..550b3f596e5 100644
--- a/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result
+++ b/mysql-test/suite/rpl/r/rpl_tmp_table_and_DDL.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
CREATE TEMPORARY TABLE t1 (a INT);
CREATE TABLE t2 (a INT, b INT) ENGINE= MyISAM;
INSERT INTO t1 VALUES (1);
@@ -123,16 +119,16 @@ DROP PROCEDURE p2;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
INSERT INTO t2 VALUES ("DROP PROCEDURE p2 with table locked");
CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
INSERT INTO t2 VALUES ("CREATE EVENT e1 with table locked");
UNLOCK TABLE;
CREATE EVENT e2 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
LOCK TABLE t1 WRITE;
ALTER EVENT e2 ON SCHEDULE EVERY 20 HOUR DO SELECT 1;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
INSERT INTO t2 VALUES ("ALTER EVENT e2 with table locked");
DROP EVENT e2;
-ERROR HY000: Table 'event' was not locked with LOCK TABLES
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
INSERT INTO t2 VALUES ("DROP EVENT e2 with table locked");
CREATE DATABASE mysqltest1;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
@@ -191,3 +187,4 @@ DROP FUNCTION f2;
DROP PROCEDURE p2;
DROP EVENT e2;
DROP TABLE t1, t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_trigger.result b/mysql-test/suite/rpl/r/rpl_trigger.result
index 01d886c4709..784cd1bcdff 100644
--- a/mysql-test/suite/rpl/r/rpl_trigger.result
+++ b/mysql-test/suite/rpl/r/rpl_trigger.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
@@ -862,8 +858,8 @@ drop table t21,t31;
drop table t11;
STOP SLAVE;
FLUSH LOGS;
---> Stop master server
---> Start master server
+include/rpl_stop_server.inc [server_number=1]
+include/rpl_start_server.inc [server_number=1]
--> Master binlog: Server ver: 5.0.16-debug-log, Binlog ver: 4
RESET SLAVE;
START SLAVE;
@@ -976,12 +972,7 @@ a b
2 b
3 c
drop table t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/rpl_reset.inc
create table t1 ( f int ) engine = innodb;
create table log ( r int ) engine = myisam;
create trigger tr
@@ -992,6 +983,7 @@ insert into t1 values ( 1 );
rollback;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
-Comparing tables master:test.t1 and slave:test.t1
-Comparing tables master:test.log and slave:test.log
+include/diff_tables.inc [master:t1, slave:t1]
+include/diff_tables.inc [master:log, slave:log]
drop table t1, log;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_trunc_temp.result b/mysql-test/suite/rpl/r/rpl_trunc_temp.result
index 44624a38875..ae2c9973c9f 100644
--- a/mysql-test/suite/rpl/r/rpl_trunc_temp.result
+++ b/mysql-test/suite/rpl/r/rpl_trunc_temp.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
create temporary table t1 (n int);
insert into t1 values(1);
show status like 'Slave_open_temp_tables';
@@ -20,3 +16,4 @@ Slave_open_temp_tables 1
show status like 'Slave_open_temp_tables';
Variable_name Value
Slave_open_temp_tables 0
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result b/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result
index 38fb9e27764..da8db64cef4 100644
--- a/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result
@@ -1,20 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/master-slave.inc
+[connection master]
+include/rpl_reset.inc
**** On Master ****
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,1), (2,2);
**** On Master ****
TRUNCATE TABLE t1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
==== Test using a table with delete triggers ====
**** On Master ****
SET @count := 1;
@@ -22,19 +14,15 @@ CREATE TABLE t2 (a INT, b LONG) ENGINE=MyISAM;
CREATE TRIGGER trg1 BEFORE DELETE ON t1 FOR EACH ROW SET @count := @count + 1;
**** On Master ****
TRUNCATE TABLE t1;
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1,t2;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
**** On Master ****
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,1), (2,2);
**** On Master ****
DELETE FROM t1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
==== Test using a table with delete triggers ====
**** On Master ****
SET @count := 1;
@@ -42,5 +30,6 @@ CREATE TABLE t2 (a INT, b LONG) ENGINE=MyISAM;
CREATE TRIGGER trg1 BEFORE DELETE ON t1 FOR EACH ROW SET @count := @count + 1;
**** On Master ****
DELETE FROM t1;
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result b/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result
index b5e5936834d..d8a4443022d 100644
--- a/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result
@@ -1,20 +1,12 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/master-slave.inc
+[connection master]
+include/rpl_reset.inc
**** On Master ****
CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,1), (2,2);
**** On Master ****
TRUNCATE TABLE t1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
==== Test using a table with delete triggers ====
**** On Master ****
SET @count := 1;
@@ -22,19 +14,15 @@ CREATE TABLE t2 (a INT, b LONG) ENGINE=InnoDB;
CREATE TRIGGER trg1 BEFORE DELETE ON t1 FOR EACH ROW SET @count := @count + 1;
**** On Master ****
TRUNCATE TABLE t1;
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1,t2;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
**** On Master ****
CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,1), (2,2);
**** On Master ****
DELETE FROM t1;
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
==== Test using a table with delete triggers ====
**** On Master ****
SET @count := 1;
@@ -42,5 +30,6 @@ CREATE TABLE t2 (a INT, b LONG) ENGINE=InnoDB;
CREATE TRIGGER trg1 BEFORE DELETE ON t1 FOR EACH ROW SET @count := @count + 1;
**** On Master ****
DELETE FROM t1;
-Comparing tables master:test.t2 and slave:test.t2
+include/diff_tables.inc [master:t2, slave:t2]
DROP TABLE t1,t2;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_typeconv.result b/mysql-test/suite/rpl/r/rpl_typeconv.result
index 89096153c14..f9d5b50b4e2 100644
--- a/mysql-test/suite/rpl/r/rpl_typeconv.result
+++ b/mysql-test/suite/rpl/r/rpl_typeconv.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set @saved_slave_type_conversions = @@global.slave_type_conversions;
CREATE TABLE type_conversions (
TestNo INT AUTO_INCREMENT PRIMARY KEY,
@@ -41,32 +37,16 @@ SELECT @@global.slave_type_conversions;
ALL_LOSSY,ALL_NON_LOSSY
SET GLOBAL SLAVE_TYPE_CONVERSIONS='';
**** Running tests with @@SLAVE_TYPE_CONVERSIONS = '' ****
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
**** Running tests with @@SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY' ****
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY';
**** Running tests with @@SLAVE_TYPE_CONVERSIONS = 'ALL_LOSSY' ****
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_LOSSY,ALL_NON_LOSSY';
**** Running tests with @@SLAVE_TYPE_CONVERSIONS = 'ALL_LOSSY,ALL_NON_LOSSY' ****
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/rpl_reset.inc
**** Result of conversions ****
Source_Type Target_Type All_Type_Conversion_Flags Value_On_Slave
TINYBLOB TINYBLOB <Correct value>
@@ -554,5 +534,7 @@ BIT(6) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
BIT(5) BIT(12) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
BIT(12) BIT(5) ALL_LOSSY,ALL_NON_LOSSY <Correct value>
DROP TABLE type_conversions;
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* Error_code: 1677");
DROP TABLE t1;
set global slave_type_conversions = @saved_slave_type_conversions;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_typeconv_innodb.result b/mysql-test/suite/rpl/r/rpl_typeconv_innodb.result
index 0b4286c54eb..67ac642bc5a 100644
--- a/mysql-test/suite/rpl/r/rpl_typeconv_innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_typeconv_innodb.result
@@ -1,18 +1,10 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
+include/master-slave.inc
+[connection master]
SET @saved_slave_type_conversions = @@GLOBAL.SLAVE_TYPE_CONVERSIONS;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = '';
CREATE TABLE t1(b1 BIT(1), b2 BIT(2), b3 BIT(3)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (b'0', b'01', b'101');
-Comparing tables master:test.t1 and slave:test.t1
+include/diff_tables.inc [master:t1, slave:t1]
DROP TABLE t1;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_udf.result b/mysql-test/suite/rpl/r/rpl_udf.result
index 92ffb9cffc7..f9a5765d3a3 100644
--- a/mysql-test/suite/rpl/r/rpl_udf.result
+++ b/mysql-test/suite/rpl/r/rpl_udf.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1;
"*** Test 1) Test UDFs via loadable libraries ***
"Running on the master"
@@ -155,3 +151,4 @@ affected rows: 0
"Running on the master"
DROP TABLE t1;
affected rows: 0
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_user.result b/mysql-test/suite/rpl/r/rpl_user.result
index a98e7e9ca55..4ad87eb1ae7 100644
--- a/mysql-test/suite/rpl/r/rpl_user.result
+++ b/mysql-test/suite/rpl/r/rpl_user.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
set session sql_log_bin=0;
delete from mysql.user where Host='fakehost';
set session sql_log_bin=1;
@@ -43,3 +39,4 @@ master-bin.000001 # Query # # use `test`; rename user 'foo'@'fakehost' to 'foofo
master-bin.000001 # Query # # use `test`; rename user 'not_exist_user1'@'fakehost' to 'foobar'@'fakehost', 'bar'@'fakehost' to 'barbar'@'fakehost'
master-bin.000001 # Query # # use `test`; drop user 'foofoo'@'fakehost'
master-bin.000001 # Query # # use `test`; drop user 'not_exist_user1'@'fakehost', 'barbar'@'fakehost'
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_user_variables.result b/mysql-test/suite/rpl/r/rpl_user_variables.result
index 1f76eae3fce..e302ec0aceb 100644
--- a/mysql-test/suite/rpl/r/rpl_user_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_user_variables.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
reset master;
create table t1(n char(30));
set @i1:=12345678901234, @i2:=-12345678901234, @i3:=0, @i4:=-1;
@@ -279,4 +275,4 @@ i
DROP FUNCTION f1;
DROP FUNCTION f2;
DROP TABLE t1;
-stop slave;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_variables.result b/mysql-test/suite/rpl/r/rpl_variables.result
index b3108c75a6e..8711dce4ab6 100644
--- a/mysql-test/suite/rpl/r/rpl_variables.result
+++ b/mysql-test/suite/rpl/r/rpl_variables.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
==== Initialization ====
[on master]
SET @m_default_week_format= @@global.default_week_format;
@@ -38,13 +34,8 @@ SET @@global.sql_mode = 'ALLOW_INVALID_DATES';
SET @@local.sql_mode = 'ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE';
SET @user_num = 10;
SET @user_text = 'Alunda';
-[on master]
-**** Resetting master and slave ****
include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
include/start_slave.inc
-[on slave]
SET @@global.init_slave = 'SELECT 1';
[on master]
CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY,
@@ -550,15 +541,7 @@ id truth num text
30 NULL 30 NULL
31 NULL NULL Bergsbrunna
32 NULL NULL Centrum
-Comparing tables master:test.tstmt and master:test.tproc
-Comparing tables master:test.tstmt and master:test.tfunc
-Comparing tables master:test.tstmt and master:test.ttrig
-Comparing tables master:test.tstmt and master:test.tprep
-Comparing tables master:test.tstmt and slave:test.tstmt
-Comparing tables master:test.tstmt and slave:test.tproc
-Comparing tables master:test.tstmt and slave:test.tfunc
-Comparing tables master:test.tstmt and slave:test.ttrig
-Comparing tables master:test.tstmt and slave:test.tprep
+include/diff_tables.inc [master:tstmt, master:tproc, master:tfunc, master:ttrig, master:tprep, slave:tstmt, slave:tproc, slave:tfunc, slave:ttrig, slave:tprep]
==== Clean up ====
[on master]
DROP PROCEDURE proc;
@@ -582,3 +565,4 @@ SET @@global.relay_log_purge= @s_relay_log_purge;
SET @@global.slave_exec_mode= @s_slave_exec_mode;
SET @@global.sql_mode= @s_sql_mode;
SET @@global.sync_binlog= @s_sync_binlog;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_variables_stm.result b/mysql-test/suite/rpl/r/rpl_variables_stm.result
index 29bdf771237..dfd78742e75 100644
--- a/mysql-test/suite/rpl/r/rpl_variables_stm.result
+++ b/mysql-test/suite/rpl/r/rpl_variables_stm.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
==== Initialization ====
[on master]
@@ -488,15 +484,7 @@ id num text
56 NULL 47124712
57 NULL 1616
58 NULL 1717
-Comparing tables master:test.tstmt and master:test.tproc
-Comparing tables master:test.tstmt and master:test.tfunc
-Comparing tables master:test.tstmt and master:test.ttrig
-Comparing tables master:test.tstmt and master:test.tprep
-Comparing tables master:test.tstmt and slave:test.tstmt
-Comparing tables master:test.tstmt and slave:test.tproc
-Comparing tables master:test.tstmt and slave:test.tfunc
-Comparing tables master:test.tstmt and slave:test.ttrig
-Comparing tables master:test.tstmt and slave:test.tprep
+include/diff_tables.inc [master:tstmt, master:tproc, master:tfunc, master:ttrig, master:tprep, slave:tstmt, slave:tproc, slave:tfunc, slave:ttrig, slave:tprep]
==== Clean up ====
[on master]
DROP PROCEDURE proc;
@@ -520,3 +508,4 @@ SET @@global.collation_server= @s_collation_server;
SET @@global.time_zone= @s_time_zone;
SET @@global.lc_time_names= @s_lc_time_names;
SET @@global.collation_database= @s_collation_database;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_view.result b/mysql-test/suite/rpl/r/rpl_view.result
index b129223b6d2..307b88ff6f9 100644
--- a/mysql-test/suite/rpl/r/rpl_view.result
+++ b/mysql-test/suite/rpl/r/rpl_view.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
drop table if exists t1,v1;
drop view if exists t1,v1;
reset master;
@@ -116,3 +112,4 @@ v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI
DROP VIEW v1;
DROP TABLE t1;
End of 5.0 tests
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_view_multi.result b/mysql-test/suite/rpl/r/rpl_view_multi.result
index b3f10584a24..e42c8e51411 100644
--- a/mysql-test/suite/rpl/r/rpl_view_multi.result
+++ b/mysql-test/suite/rpl/r/rpl_view_multi.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
#
# Bug #25144 "replication / binlog with view breaks".
# Statements that used views didn't ensure that view were not modified
@@ -88,3 +84,4 @@ i
drop table t1, t2;
drop view v1;
# Syncing slave with master and switching to connection 'slave'
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def
index d962394d91b..a45fdb47ae6 100644
--- a/mysql-test/suite/rpl/t/disabled.def
+++ b/mysql-test/suite/rpl/t/disabled.def
@@ -10,8 +10,8 @@
#
##############################################################################
-rpl_failed_optimize : WL#4284: Can't optimize table used by a pending transaction (there is metadata lock on the table).
-rpl_read_only : WL#4284: Setting Read only won't succeed until all metadata locks are released.
-rpl_row_create_table : Bug#51574 2010-02-27 andrei failed different way than earlier with bug#45576
-rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
-rpl_log_pos : BUG#55675 Sep 10 2010 27 2010 alfranio rpl.rpl_log_pos fails sporadically with error binlog truncated in the middle
+rpl_row_create_table : Bug#11759274 2010-02-27 andrei failed different way than earlier with bug#45576
+rpl_spec_variables : BUG#11755836 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
+rpl_get_master_version_and_clock : Bug#11766137 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock
+rpl_row_until : BUG#59543 Jan 26 2011 alfranio Replication test from eits suite rpl_row_until times out
+rpl_stm_until : BUG#59543 Jan 26 2011 alfranio Replication test from eits suite rpl_row_until times out
diff --git a/mysql-test/suite/rpl/t/rpl000017-slave.sh b/mysql-test/suite/rpl/t/rpl000017-slave.sh
deleted file mode 100644
index 1d95798260a..00000000000
--- a/mysql-test/suite/rpl/t/rpl000017-slave.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-rm -f $MYSQLTEST_VARDIR/log/*relay*
-rm -f $MYSQLTEST_VARDIR/mysqld.2/data/relay-log.info
-cat > $MYSQLTEST_VARDIR/mysqld.2/data/master.info <<EOF
-master-bin.000001
-4
-127.0.0.1
-replicate
-aaaaaaaaaaaaaaab
-$MASTER_MYPORT
-1
-0
-EOF
diff --git a/mysql-test/suite/rpl/t/rpl000017.test b/mysql-test/suite/rpl/t/rpl000017.test
deleted file mode 100644
index a65189657cc..00000000000
--- a/mysql-test/suite/rpl/t/rpl000017.test
+++ /dev/null
@@ -1,34 +0,0 @@
-# The test manually replaces the relay-log.info file with connection
-# information which the slave then should pick up. However, to avoid
-# overwriting the file, no CHANGE MASTER TO nor RESET SLAVE statements
-# should be executed.
-#
-# Starting replication before granting a replication user privileges
-# to replicate will cause the start slave to fail, so we shouldn't do
-# that.
-
-let $no_change_master = 1;
-let $skip_slave_start = 1;
-source include/master-slave.inc;
-
-connection master;
-grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
-grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
-connection slave;
-start slave;
-source include/wait_for_slave_to_start.inc;
-
-connection master;
---disable_warnings
-drop table if exists t1;
---enable_warnings
-create table t1(n int);
-insert into t1 values(24);
-sync_slave_with_master;
-select * from t1;
-connection master;
-drop table t1;
-delete from mysql.user where user="replicate";
-sync_slave_with_master;
-
-# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl000010-slave.opt b/mysql-test/suite/rpl/t/rpl_000010-slave.opt
index 0dbfb311e33..0dbfb311e33 100644
--- a/mysql-test/suite/rpl/t/rpl000010-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_000010-slave.opt
diff --git a/mysql-test/suite/rpl/t/rpl000010.test b/mysql-test/suite/rpl/t/rpl_000010.test
index a95cded6496..de6337dd723 100644
--- a/mysql-test/suite/rpl/t/rpl000010.test
+++ b/mysql-test/suite/rpl/t/rpl_000010.test
@@ -13,3 +13,4 @@ drop table t1;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl000011.test b/mysql-test/suite/rpl/t/rpl_000011.test
index baff7c1a1b5..625b0c22c62 100644
--- a/mysql-test/suite/rpl/t/rpl000011.test
+++ b/mysql-test/suite/rpl/t/rpl_000011.test
@@ -17,3 +17,4 @@ drop table t1;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl000013.test b/mysql-test/suite/rpl/t/rpl_000013.test
index 7f80252a9fc..9f1b06665dd 100644
--- a/mysql-test/suite/rpl/t/rpl000013.test
+++ b/mysql-test/suite/rpl/t/rpl_000013.test
@@ -9,8 +9,6 @@
--source include/have_binlog_format_mixed_or_statement.inc
source include/master-slave.inc;
-sync_slave_with_master;
-connection master;
--disable_query_log
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
@@ -52,6 +50,6 @@ connection master2;
# exist in this connection.
drop table if exists t1,t2;
-sync_slave_with_master;
+--source include/rpl_end.inc
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_000017.test b/mysql-test/suite/rpl/t/rpl_000017.test
new file mode 100644
index 00000000000..a34419c37c8
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_000017.test
@@ -0,0 +1,48 @@
+# ==== Purpose ====
+#
+# Unknown.
+#
+# ==== Notes ====
+#
+# This test uses the -slave.opt file to start the slave with
+# --skip-slave-start.
+
+--source include/not_windows.inc
+
+--let $rpl_skip_start_slave= 1
+--source include/master-slave.inc
+
+--connection slave
+--let $slave_datadir= `SELECT @@datadir`
+
+--remove_file $slave_datadir/master.info
+--write_file $slave_datadir/master.info
+master-bin.000001
+4
+127.0.0.1
+replicate
+aaaaaaaaaaaaaaab
+$MASTER_MYPORT
+1
+0
+EOF
+
+connection master;
+grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
+grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
+connection slave;
+--source include/start_slave.inc
+
+connection master;
+create table t1(n int);
+insert into t1 values(24);
+sync_slave_with_master;
+select * from t1;
+connection master;
+drop table t1;
+delete from mysql.user where user="replicate";
+
+# End of 4.1 tests
+--source include/rpl_end.inc
+
+--source include/force_restart.inc
diff --git a/mysql-test/suite/rpl/t/rpl_EE_err.test b/mysql-test/suite/rpl/t/rpl_EE_err.test
index 6d064ae3197..5272b11f342 100644
--- a/mysql-test/suite/rpl/t/rpl_EE_err.test
+++ b/mysql-test/suite/rpl/t/rpl_EE_err.test
@@ -1,7 +1,3 @@
-########################################################
-# By JBM 2006-02-14 Wrapped to share test code between #
-# engines. Added to skip test when NDB is default #
-########################################################
-- source include/not_ndb_default.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_EE_err.test
diff --git a/mysql-test/suite/rpl/t/rpl_LD_INFILE.test b/mysql-test/suite/rpl/t/rpl_LD_INFILE.test
index ae647ed6648..0f02bdccb60 100644
--- a/mysql-test/suite/rpl/t/rpl_LD_INFILE.test
+++ b/mysql-test/suite/rpl/t/rpl_LD_INFILE.test
@@ -36,3 +36,4 @@ sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_alter.test b/mysql-test/suite/rpl/t/rpl_alter.test
index 6a6da9c9f24..630197f8637 100644
--- a/mysql-test/suite/rpl/t/rpl_alter.test
+++ b/mysql-test/suite/rpl/t/rpl_alter.test
@@ -1,7 +1,4 @@
source include/master-slave.inc;
---disable_warnings
-drop database if exists mysqltest;
---enable_warnings
create database mysqltest;
create table mysqltest.t1 ( n int);
@@ -18,3 +15,4 @@ drop database mysqltest;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_alter_db.test b/mysql-test/suite/rpl/t/rpl_alter_db.test
index 341496350d7..f6f0782580f 100644
--- a/mysql-test/suite/rpl/t/rpl_alter_db.test
+++ b/mysql-test/suite/rpl/t/rpl_alter_db.test
@@ -12,3 +12,4 @@ sync_slave_with_master;
connection master;
drop database temp_db;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_auto_increment.test b/mysql-test/suite/rpl/t/rpl_auto_increment.test
index 19770ffbdc0..8869e3745db 100644
--- a/mysql-test/suite/rpl/t/rpl_auto_increment.test
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment.test
@@ -1,10 +1,6 @@
#####################################
# Wrapper for rpl_auto_increment.test#
#####################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_auto_increment_11932.test b/mysql-test/suite/rpl/t/rpl_auto_increment_11932.test
index 8c95e158847..d1da69533ec 100644
--- a/mysql-test/suite/rpl/t/rpl_auto_increment_11932.test
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment_11932.test
@@ -56,6 +56,6 @@ sync_slave_with_master;
use test1;
select * from t1;
-drop database test1;
connection master;
drop database test1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test b/mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test
new file mode 100644
index 00000000000..6f7e0d80b5c
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test
@@ -0,0 +1,60 @@
+# BUG#33029 5.0 to 5.1 replication fails on dup key when inserting
+# using a trig in SP
+
+# For all 5.0 up to 5.0.58 exclusive, and 5.1 up to 5.1.12 exclusive,
+# if one statement in a SP generated AUTO_INCREMENT value by the top
+# statement, all statements after it would be considered generated
+# AUTO_INCREMENT value by the top statement, and a erroneous INSERT_ID
+# value might be associated with these statement, which could cause
+# duplicate entry error and stop the slave.
+
+# Test if the slave can replicate from such a buggy master
+
+# The bug33029-slave-relay-bin.000001 file is the
+# slave-replay-bin.000003 file generated by run the
+# rpl_auto_increment_bug33029.test with clean up statements at the end
+# of the test case removed on a buggy 5.0 server
+
+--let $rpl_skip_start_slave= 1
+--source include/master-slave.inc
+
+--echo ==== Initialize ====
+--connection slave
+
+# The binlog we read does funny things with triggers and causes this warning.
+--disable_query_log
+CALL mtr.add_suppression('Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT');
+--enable_query_log
+
+# Need to restore this at the end; CHANGE MASTER modifies it (see the
+# manual for CHANGE MASTER).
+SET @old_relay_log_purge= @@global.relay_log_purge;
+
+# the relay log contains create t1, t2 tables and load data infile
+--let $fake_relay_log = $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001
+--source include/setup_fake_relay_log.inc
+
+--echo ==== Test ====
+start slave sql_thread;
+--let $slave_param= Exec_Master_Log_Pos
+--let $slave_param_value= 3776
+--source include/wait_for_slave_param.inc
+
+
+echo # Result on slave;
+SELECT * FROM t1;
+SELECT * FROM t2;
+
+--echo ==== Clean up ====
+
+stop slave sql_thread;
+--source include/cleanup_fake_relay_log.inc
+
+DROP TABLE t1, t2;
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP FUNCTION f1;
+
+SET @@global.relay_log_purge= @old_relay_log_purge;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test b/mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test
index f38d2151ab3..b5eb3c5408a 100644
--- a/mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test
+++ b/mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test
@@ -159,11 +159,9 @@ source include/show_binlog_events.inc;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'UPDATE MORE THAN ONE TABLES ON TOP-STATEMENT'
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
connection master;
@@ -199,11 +197,9 @@ source include/show_binlog_events.inc;
sync_slave_with_master;
--echo #Test if the results are consistent on master and slave
--echo #for 'INSERT DATA INTO VIEW WHICH INVOLVED MORE THAN ONE TABLES'
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
connection master;
@@ -212,3 +208,4 @@ drop table t2;
drop view v15;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test b/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
index acb98a0ad88..b4798691ca3 100644
--- a/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
+++ b/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
@@ -177,4 +177,4 @@ SELECT * FROM db1.t1 WHERE a IN (30, 40);
connection master;
DROP DATABASE db1;
DROP DATABASE db2;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029-master.opt b/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029-master.opt
deleted file mode 100644
index 74e71a8e558..00000000000
--- a/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-same-server-id --relay-log=slave-relay-bin --skip-slave-start
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test b/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test
deleted file mode 100644
index dbdd96347a2..00000000000
--- a/mysql-test/suite/rpl/t/rpl_binlog_auto_inc_bug33029.test
+++ /dev/null
@@ -1,42 +0,0 @@
-# BUG#33029 5.0 to 5.1 replication fails on dup key when inserting
-# using a trig in SP
-
-# For all 5.0 up to 5.0.58 exclusive, and 5.1 up to 5.1.12 exclusive,
-# if one statement in a SP generated AUTO_INCREMENT value by the top
-# statement, all statements after it would be considered generated
-# AUTO_INCREMENT value by the top statement, and a erroneous INSERT_ID
-# value might be associated with these statement, which could cause
-# duplicate entry error and stop the slave.
-
-# Test if the slave can replicate from such a buggy master
-
-# The bug33029-slave-relay-bin.000001 file is the
-# slave-replay-bin.000003 file generated by run the
-# rpl_auto_increment_bug33029.test with clean up statements at the end
-# of the test case removed on a buggy 5.0 server
-
-source include/have_log_bin.inc;
-
-let $fake_relay_log= $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001;
-source include/setup_fake_relay_log.inc;
-
-start slave sql_thread;
-disable_result_log;
-select MASTER_POS_WAIT('master-bin.000001', 3776);
-enable_result_log;
-
-echo # Result on slave;
-SELECT * FROM t1;
-SELECT * FROM t2;
-
-# clean up
-disable_warnings;
-DROP TABLE IF EXISTS t1, t2;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-DROP FUNCTION IF EXISTS f1;
-DROP TRIGGER IF EXISTS tr1;
-enable_warnings;
-
-stop slave sql_thread;
-source include/cleanup_fake_relay_log.inc;
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt b/mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt
deleted file mode 100644
index 815a8f81d32..00000000000
--- a/mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-same-server-id --relay-log=slave-relay-bin
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_corruption.test b/mysql-test/suite/rpl/t/rpl_binlog_corruption.test
index 401597b5c64..6717bda0fa7 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_corruption.test
+++ b/mysql-test/suite/rpl/t/rpl_binlog_corruption.test
@@ -15,15 +15,14 @@
# BUG#31793: log event corruption causes crash
# BUG#40482: server/mysqlbinlog crashes when reading invalid Incident_log_event
-# Temporarily disabled on Windows due to bug #47639
---source include/not_windows.inc
+--source include/master-slave.inc
-source include/have_log_bin.inc;
# BUG#40482 only manifested itself in debug-compiled binaries.
source include/have_debug.inc;
+--connection slave
call mtr.add_suppression('Found invalid event in binary log');
-
+call mtr.add_suppression('Slave SQL.*Relay log read failure: Could not parse relay log event entry.* 1594');
#
# BUG#40482: server/mysqlbinlog crashes when reading invalid Incident_log_event
@@ -32,6 +31,9 @@ call mtr.add_suppression('Found invalid event in binary log');
# incident number.
--echo ==== Initialize ====
+--source include/stop_slave.inc
+RESET SLAVE;
+
let $fake_relay_log= $MYSQL_TEST_DIR/std_data/bug40482-bin.000001;
source include/setup_fake_relay_log.inc;
@@ -44,3 +46,5 @@ let $error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
--echo ==== Clean up ====
source include/cleanup_fake_relay_log.inc;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt b/mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt
new file mode 100644
index 00000000000..f8e46a44854
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt
@@ -0,0 +1 @@
+--max_binlog_size=4096
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_errors.test b/mysql-test/suite/rpl/t/rpl_binlog_errors.test
new file mode 100644
index 00000000000..7c09dab704e
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_binlog_errors.test
@@ -0,0 +1,413 @@
+# BUG#46166: MYSQL_BIN_LOG::new_file_impl is not propagating error
+# when generating new name.
+#
+# WHY
+# ===
+#
+# We want to check whether error is reported or not when
+# new_file_impl fails (this may happen when rotation is not
+# possible because there is some problem finding an
+# unique filename).
+#
+# HOW
+# ===
+#
+# Test cases are documented inline.
+
+-- source include/have_innodb.inc
+-- source include/have_debug.inc
+-- source include/master-slave.inc
+
+-- echo #######################################################################
+-- echo ####################### PART 1: MASTER TESTS ##########################
+-- echo #######################################################################
+
+
+### ACTION: stopping slave as it is not needed for the first part of
+### the test
+
+-- connection slave
+-- source include/stop_slave.inc
+-- connection master
+
+call mtr.add_suppression("Can't generate a unique log-filename");
+call mtr.add_suppression("Writing one row to the row-based binary log failed.*");
+call mtr.add_suppression("Error writing file .*");
+
+SET @old_debug= @@global.debug;
+
+### ACTION: create a large file (> 4096 bytes) that will be later used
+### in LOAD DATA INFILE to check binlog errors in its vacinity
+-- let $load_file= $MYSQLTEST_VARDIR/tmp/bug_46166.data
+-- let $MYSQLD_DATADIR= `select @@datadir`
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval SELECT repeat('x',8192) INTO OUTFILE '$load_file'
+
+### ACTION: create a small file (< 4096 bytes) that will be later used
+### in LOAD DATA INFILE to check for absence of binlog errors
+### when file loading this file does not force flushing and
+### rotating the binary log
+-- let $load_file2= $MYSQLTEST_VARDIR/tmp/bug_46166-2.data
+-- let $MYSQLD_DATADIR= `select @@datadir`
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval SELECT repeat('x',10) INTO OUTFILE '$load_file2'
+
+RESET MASTER;
+
+-- echo ###################### TEST #1
+
+### ASSERTION: no problem flushing logs (should show two binlogs)
+FLUSH LOGS;
+-- echo # assert: must show two binlogs
+-- source include/show_binary_logs.inc
+
+-- echo ###################### TEST #2
+
+### ASSERTION: check that FLUSH LOGS actually fails and reports
+### failure back to the user if find_uniq_filename fails
+### (should show just one binlog)
+
+RESET MASTER;
+SET GLOBAL debug="+d,error_unique_log_filename";
+-- error ER_NO_UNIQUE_LOGFILE
+FLUSH LOGS;
+-- echo # assert: must show one binlog
+-- source include/show_binary_logs.inc
+
+### ACTION: clean up and move to next test
+SET GLOBAL debug="";
+RESET MASTER;
+
+-- echo ###################### TEST #3
+
+### ACTION: create some tables (t1, t2, t4) and insert some values in
+### table t1
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a VARCHAR(16384)) Engine=InnoDB;
+CREATE TABLE t4 (a VARCHAR(16384));
+INSERT INTO t1 VALUES (1);
+RESET MASTER;
+
+### ASSERTION: we force rotation of the binary log because it exceeds
+### the max_binlog_size option (should show two binary
+### logs)
+
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
+
+# shows two binary logs
+-- echo # assert: must show two binlog
+-- source include/show_binary_logs.inc
+
+# clean up the table and the binlog to be used in next part of test
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+
+-- echo ###################### TEST #4
+
+### ASSERTION: load the big file into a transactional table and check
+### that it reports error. The table will contain the
+### changes performed despite the fact that it reported an
+### error.
+
+SET GLOBAL debug="+d,error_unique_log_filename";
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- error ER_NO_UNIQUE_LOGFILE
+-- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
+
+# show table
+-- echo # assert: must show one entry
+SELECT count(*) FROM t2;
+
+# clean up the table and the binlog to be used in next part of test
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+
+-- echo ###################### TEST #5
+
+### ASSERTION: load the small file into a transactional table and
+### check that it succeeds
+
+SET GLOBAL debug="+d,error_unique_log_filename";
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval LOAD DATA INFILE '$load_file2' INTO TABLE t2
+
+# show table
+-- echo # assert: must show one entry
+SELECT count(*) FROM t2;
+
+# clean up the table and the binlog to be used in next part of test
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+
+-- echo ###################### TEST #6
+
+### ASSERTION: check that even if one is using a transactional table
+### and explicit transactions (no autocommit) if rotation
+### fails we get the error. Transaction is not rolledback
+### because rotation happens after the commit.
+
+SET GLOBAL debug="+d,error_unique_log_filename";
+SET AUTOCOMMIT=0;
+INSERT INTO t2 VALUES ('muse');
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
+INSERT INTO t2 VALUES ('muse');
+-- error ER_NO_UNIQUE_LOGFILE
+COMMIT;
+
+### ACTION: Show the contents of the table after the test
+-- echo # assert: must show three entries
+SELECT count(*) FROM t2;
+
+### ACTION: clean up and move to the next test
+SET AUTOCOMMIT= 1;
+SET GLOBAL debug="-d,error_unique_log_filename";
+DELETE FROM t2;
+RESET MASTER;
+
+-- echo ###################### TEST #7
+
+### ASSERTION: check that on a non-transactional table, if rotation
+### fails then an error is reported and an incident event
+### is written to the current binary log.
+
+SET GLOBAL debug="+d,error_unique_log_filename";
+SELECT count(*) FROM t4;
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- error ER_NO_UNIQUE_LOGFILE
+-- eval LOAD DATA INFILE '$load_file' INTO TABLE t4
+
+-- echo # assert: must show 1 entry
+SELECT count(*) FROM t4;
+
+-- echo ### check that the incident event is written to the current log
+SET GLOBAL debug="-d,error_unique_log_filename";
+-- let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1)
+-- let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1)
+
+# 53 is the size of the incident event, so we start from 22 bytes before the
+# current position
+-- let $binlog_start = `SELECT $binlog_start - 53`
+FLUSH LOGS;
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $binlog_start <binlog_start> $binlog_file BINLOG_FILE
+-- replace_column 2 # 4 # 5 #
+-- eval SHOW BINLOG EVENTS IN '$binlog_file' FROM $binlog_start LIMIT 1
+
+# clean up and move to next test
+DELETE FROM t4;
+RESET MASTER;
+
+-- echo ###################### TEST #8
+
+### ASSERTION: check that statements end up in error but they succeed
+### on changing the data.
+
+SET GLOBAL debug="+d,error_unique_log_filename";
+-- echo # must show 0 entries
+SELECT count(*) FROM t4;
+SELECT count(*) FROM t2;
+
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- error ER_NO_UNIQUE_LOGFILE
+-- eval LOAD DATA INFILE '$load_file' INTO TABLE t4
+-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+-- error ER_NO_UNIQUE_LOGFILE
+-- eval LOAD DATA INFILE '$load_file' INTO TABLE t2
+-- error ER_NO_UNIQUE_LOGFILE
+INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc');
+
+-- echo # INFO: Count(*) Before Offending DELETEs
+-- echo # assert: must show 1 entry
+SELECT count(*) FROM t4;
+-- echo # assert: must show 4 entries
+SELECT count(*) FROM t2;
+
+-- error ER_NO_UNIQUE_LOGFILE
+DELETE FROM t4;
+-- error ER_NO_UNIQUE_LOGFILE
+DELETE FROM t2;
+
+-- echo # INFO: Count(*) After Offending DELETEs
+-- echo # assert: must show zero entries
+SELECT count(*) FROM t4;
+SELECT count(*) FROM t2;
+
+# remove fault injection
+SET GLOBAL debug="-d,error_unique_log_filename";
+
+-- echo ###################### TEST #9
+
+### ASSERTION: check that if we disable binlogging, then statements
+### succeed.
+SET GLOBAL debug="+d,error_unique_log_filename";
+SET SQL_LOG_BIN=0;
+INSERT INTO t2 VALUES ('aaa'), ('bbb'), ('ccc'), ('ddd');
+INSERT INTO t4 VALUES ('eee'), ('fff'), ('ggg'), ('hhh');
+-- echo # assert: must show four entries
+SELECT count(*) FROM t2;
+SELECT count(*) FROM t4;
+DELETE FROM t2;
+DELETE FROM t4;
+-- echo # assert: must show zero entries
+SELECT count(*) FROM t2;
+SELECT count(*) FROM t4;
+SET SQL_LOG_BIN=1;
+SET GLOBAL debug="-d,error_unique_log_filename";
+
+-- echo ###################### TEST #10
+
+### ASSERTION: check that error is reported if there is a failure
+### while registering the index file and the binary log
+### file or failure to write the rotate event.
+
+call mtr.add_suppression("MSYQL_BIN_LOG::open failed to sync the index file.");
+call mtr.add_suppression("Could not open .*");
+
+RESET MASTER;
+SHOW WARNINGS;
+
+# +d,fault_injection_registering_index => injects fault on MYSQL_BIN_LOG::open
+SET GLOBAL debug="+d,fault_injection_registering_index";
+-- replace_regex /\.[\\\/]master/master/
+-- error ER_CANT_OPEN_FILE
+FLUSH LOGS;
+SET GLOBAL debug="-d,fault_injection_registering_index";
+
+-- error ER_NO_BINARY_LOGGING
+SHOW BINARY LOGS;
+
+# issue some statements and check that they don't fail
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+
+-- echo ###################### TEST #11
+
+### ASSERTION: check that error is reported if there is a failure
+### while opening the index file and the binary log file or
+### failure to write the rotate event.
+
+# restart the server so that we have binlog again
+--let $rpl_server_number= 1
+--source include/rpl_restart_server.inc
+
+# +d,fault_injection_openning_index => injects fault on MYSQL_BIN_LOG::open_index_file
+SET GLOBAL debug="+d,fault_injection_openning_index";
+-- replace_regex /\.[\\\/]master/master/
+-- error ER_CANT_OPEN_FILE
+FLUSH LOGS;
+SET GLOBAL debug="-d,fault_injection_openning_index";
+
+-- error ER_FLUSH_MASTER_BINLOG_CLOSED
+RESET MASTER;
+
+# issue some statements and check that they don't fail
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+
+# restart the server so that we have binlog again
+--let $rpl_server_number= 1
+--source include/rpl_restart_server.inc
+
+-- echo ###################### TEST #12
+
+### ASSERTION: check that error is reported if there is a failure
+### while writing the rotate event when creating a new log
+### file.
+
+# +d,fault_injection_new_file_rotate_event => injects fault on MYSQL_BIN_LOG::MYSQL_BIN_LOG::new_file_impl
+SET GLOBAL debug="+d,fault_injection_new_file_rotate_event";
+-- error ER_ERROR_ON_WRITE
+FLUSH LOGS;
+SET GLOBAL debug="-d,fault_injection_new_file_rotate_event";
+
+-- error ER_FLUSH_MASTER_BINLOG_CLOSED
+RESET MASTER;
+
+# issue some statements and check that they don't fail
+CREATE TABLE t5 (a INT);
+INSERT INTO t4 VALUES ('bbbbb');
+INSERT INTO t2 VALUES ('aaaaa');
+DELETE FROM t4;
+DELETE FROM t2;
+DROP TABLE t5;
+
+# restart the server so that we have binlog again
+--let $rpl_server_number= 1
+--source include/rpl_restart_server.inc
+
+## clean up
+SET GLOBAL debug= @old_debug;
+DROP TABLE t1, t2, t4;
+RESET MASTER;
+
+# restart slave again
+-- connection slave
+-- source include/start_slave.inc
+-- connection master
+
+-- echo #######################################################################
+-- echo ####################### PART 2: SLAVE TESTS ###########################
+-- echo #######################################################################
+
+### setup
+--source include/rpl_reset.inc
+-- connection slave
+
+# slave suppressions
+
+call mtr.add_suppression("Slave I/O: Relay log write failure: could not queue event from master.*");
+call mtr.add_suppression("Error writing file .*");
+call mtr.add_suppression("Could not open .*");
+call mtr.add_suppression("MSYQL_BIN_LOG::open failed to sync the index file.");
+call mtr.add_suppression("Can't generate a unique log-filename .*");
+-- echo ###################### TEST #13
+
+#### ASSERTION: check against unique log filename error
+-- let $io_thd_injection_fault_flag= error_unique_log_filename
+-- let $slave_io_errno= 1595
+-- let $show_slave_io_error= 1
+-- source include/io_thd_fault_injection.inc
+
+-- echo ###################### TEST #14
+
+#### ASSERTION: check against rotate failing
+-- let $io_thd_injection_fault_flag= fault_injection_new_file_rotate_event
+-- let $slave_io_errno= 1595
+-- let $show_slave_io_error= 1
+-- source include/io_thd_fault_injection.inc
+
+-- echo ###################### TEST #15
+
+#### ASSERTION: check against relay log open failure
+-- let $io_thd_injection_fault_flag= fault_injection_registering_index
+-- let $slave_io_errno= 1595
+-- let $show_slave_io_error= 1
+-- source include/io_thd_fault_injection.inc
+
+-- echo ###################### TEST #16
+
+#### ASSERTION: check against relay log index open failure
+-- let $io_thd_injection_fault_flag= fault_injection_openning_index
+-- let $slave_io_errno= 1595
+-- let $show_slave_io_error= 1
+-- source include/io_thd_fault_injection.inc
+
+### clean up
+-- source include/stop_slave_sql.inc
+SET GLOBAL debug=@old_debug;
+RESET SLAVE;
+RESET MASTER;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_binlog_grant.test b/mysql-test/suite/rpl/t/rpl_binlog_grant.test
index 4c6402359fe..839399dea63 100644
--- a/mysql-test/suite/rpl/t/rpl_binlog_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_binlog_grant.test
@@ -10,9 +10,6 @@ let $VERSION=`select version()`;
# Now GRANT/REVOKE do implicitly commit
# transaction
---disable_warnings
-drop database if exists d1;
---enable_warnings
create database d1;
use d1;
create table t (s1 int) engine=innodb;
@@ -40,4 +37,5 @@ select * from t;
show grants for x@y;
drop user x@y;
drop database d1;
---sync_slave_with_master
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bit.test b/mysql-test/suite/rpl/t/rpl_bit.test
index c648159ff3a..67606e5d509 100644
--- a/mysql-test/suite/rpl/t/rpl_bit.test
+++ b/mysql-test/suite/rpl/t/rpl_bit.test
@@ -90,3 +90,4 @@ DROP TABLE IF EXISTS test.t1;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bit_npk.test b/mysql-test/suite/rpl/t/rpl_bit_npk.test
index 1df7341eafc..d65ef66ae41 100644
--- a/mysql-test/suite/rpl/t/rpl_bit_npk.test
+++ b/mysql-test/suite/rpl/t/rpl_bit_npk.test
@@ -110,3 +110,4 @@ DROP TABLE IF EXISTS test.t3;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_blackhole.test b/mysql-test/suite/rpl/t/rpl_blackhole.test
index 647e65d89fd..5f9b955aaa4 100644
--- a/mysql-test/suite/rpl/t/rpl_blackhole.test
+++ b/mysql-test/suite/rpl/t/rpl_blackhole.test
@@ -96,4 +96,5 @@ let $statement = DELETE FROM t1 WHERE a % 2 = 0 AND b = 3;
source extra/rpl_tests/rpl_blackhole.test;
connection master;
-drop table t1,t2;
+DROP TABLE t1,t2;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bug26395.test b/mysql-test/suite/rpl/t/rpl_bug26395.test
index 97c152d52e9..aeb0da9511d 100644
--- a/mysql-test/suite/rpl/t/rpl_bug26395.test
+++ b/mysql-test/suite/rpl/t/rpl_bug26395.test
@@ -95,3 +95,5 @@ connection slave;
DROP TABLE tinnodb;
# Warning: do not add more tests here. The binlog is in a bad state.
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bug31076.test b/mysql-test/suite/rpl/t/rpl_bug31076.test
index 9461a91e933..028ca32636a 100644
--- a/mysql-test/suite/rpl/t/rpl_bug31076.test
+++ b/mysql-test/suite/rpl/t/rpl_bug31076.test
@@ -141,3 +141,4 @@ DROP DATABASE track;
sync_slave_with_master;
--echo End of 5.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bug33931-master.opt b/mysql-test/suite/rpl/t/rpl_bug33931-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_bug33931-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_bug33931.test b/mysql-test/suite/rpl/t/rpl_bug33931.test
index 5dc06e6a605..5cc2da4a001 100644
--- a/mysql-test/suite/rpl/t/rpl_bug33931.test
+++ b/mysql-test/suite/rpl/t/rpl_bug33931.test
@@ -3,19 +3,16 @@
# Bug #33932 assertion at handle_slave_sql if init_slave_thread() fails
source include/have_debug.inc;
-source include/have_log_bin.inc;
-
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-
-connection master;
-reset master;
+source include/master-slave.inc;
connection slave;
-reset slave;
# Add suppression for expected warnings in slaves error log
call mtr.add_suppression("Failed during slave I/O thread initialization");
+call mtr.add_suppression("Slave SQL.*Failed during slave thread initialization.* 1593");
+
+--source include/stop_slave.inc
+reset slave;
# Set debug flags on slave to force errors to occur
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
@@ -29,18 +26,13 @@ eval CHANGE MASTER TO MASTER_USER='root',
start slave;
-connection master;
-save_master_pos;
-connection slave;
-
#
# slave is going to stop because of emulated failures
# but there won't be any crashes nor asserts hit.
#
-source include/wait_for_slave_to_stop.inc;
# 1593 = ER_SLAVE_FATAL_ERROR
---let $slave_sql_errno= 1593
+--let $slave_sql_errno= 1593
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
@@ -49,3 +41,8 @@ source include/wait_for_slave_to_stop.inc;
#
SET GLOBAL debug="";
+# Clear Last_SQL_Error
+RESET SLAVE;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/bugs/t/rpl_bug37426.test b/mysql-test/suite/rpl/t/rpl_bug37426.test
index d2bad0fa0c1..d0a60524fef 100644
--- a/mysql-test/suite/bugs/t/rpl_bug37426.test
+++ b/mysql-test/suite/rpl/t/rpl_bug37426.test
@@ -1,6 +1,4 @@
#############################################################
-# Author: Mats Kindahl <mats@mysql.com>
-# Date: 2008-06-18
# Purpose: Test for BUG#37426
# RBR breaks for CHAR() UTF8 fields > 85 chars
#############################################################
@@ -9,14 +7,16 @@ source include/master-slave.inc;
source include/have_binlog_format_row.inc;
connection master;
-CREATE TABLE char128_utf8 (
- i1 INT NOT NULL,
- c CHAR(128) CHARACTER SET utf8 NOT NULL,
- i2 INT NOT NULL);
-
+CREATE TABLE char128_utf8 (i1 INT NOT NULL, c CHAR(128) CHARACTER SET utf8 NOT NULL, i2 INT NOT NULL);
INSERT INTO char128_utf8 VALUES ( 1, "123", 1 );
SELECT * FROM char128_utf8;
sync_slave_with_master;
SELECT * FROM char128_utf8;
+
+# Clean up
+connection master;
+DROP TABLE char128_utf8;
+sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bug38694.test b/mysql-test/suite/rpl/t/rpl_bug38694.test
index 41b11d271b9..48f950ad6ef 100644
--- a/mysql-test/suite/rpl/t/rpl_bug38694.test
+++ b/mysql-test/suite/rpl/t/rpl_bug38694.test
@@ -8,3 +8,4 @@
source include/master-slave.inc;
# End of tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_bug41902.test b/mysql-test/suite/rpl/t/rpl_bug41902.test
index d16fb986cea..12eeb903003 100644
--- a/mysql-test/suite/rpl/t/rpl_bug41902.test
+++ b/mysql-test/suite/rpl/t/rpl_bug41902.test
@@ -58,4 +58,7 @@ call mtr.add_suppression("Failed to locate old binlog or relay log files");
call mtr.add_suppression("MYSQL_BIN_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
--enable_query_log
---echo End of the tests
+--echo ==== clean up ====
+CHANGE MASTER TO MASTER_HOST = '127.0.0.1';
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_change_master.test b/mysql-test/suite/rpl/t/rpl_change_master.test
index 514d6cf8c0f..c31359a84d8 100644
--- a/mysql-test/suite/rpl/t/rpl_change_master.test
+++ b/mysql-test/suite/rpl/t/rpl_change_master.test
@@ -23,7 +23,7 @@ source include/stop_slave.inc;
let $read_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
let $exec_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-if (`SELECT $read_pos = $exec_pos`)
+if ($read_pos == $exec_pos)
{
source include/show_rpl_debug_info.inc;
echo 'Read_Master_Log_Pos: $read_pos' == 'Exec_Master_Log_Pos: $exec_pos';
@@ -32,7 +32,7 @@ if (`SELECT $read_pos = $exec_pos`)
change master to master_user='root';
let $read_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
let $exec_pos= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1);
-if (`SELECT $read_pos <> $exec_pos`)
+if ($read_pos != $exec_pos)
{
source include/show_rpl_debug_info.inc;
echo 'Read_Master_Log_Pos: $read_pos' <> 'Exec_Master_Log_Pos: $exec_pos';
@@ -52,7 +52,8 @@ sync_slave_with_master;
# BUG#12190 CHANGE MASTER has differ path requiremts on MASTER_LOG_FILE and RELAY_LOG_FILE
#
-source include/master-slave-reset.inc;
+if ($bug_59037_is_fixed == 'true') {
+--source include/rpl_reset.inc
connection master;
create table t1 (a int);
@@ -65,8 +66,7 @@ insert into t1 values (2);
sync_slave_with_master;
# Check if the table t1 and t2 are identical on master and slave;
-let $diff_table_1= master:test.t1
-let $diff_table_2= slave:test.t1
+let $diff_tables= master:t1,slave:t1
source include/diff_tables.inc;
connection slave;
@@ -88,8 +88,7 @@ source include/wait_for_slave_sql_to_start.inc;
sync_with_master;
# Check if the table t1 and t2 are identical on master and slave;
-let $diff_table_1= master:test.t1
-let $diff_table_2= slave:test.t1
+let $diff_tables= master:t1,slave:t1
source include/diff_tables.inc;
# clean up
@@ -99,4 +98,6 @@ source include/wait_for_slave_io_to_start.inc;
eval set global relay_log_purge=$relay_log_purge;
connection master;
drop table t1;
-sync_slave_with_master;
+}
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_charset.test b/mysql-test/suite/rpl/t/rpl_charset.test
index ed0d835f22d..3ed9147508e 100644
--- a/mysql-test/suite/rpl/t/rpl_charset.test
+++ b/mysql-test/suite/rpl/t/rpl_charset.test
@@ -1,3 +1,2 @@
let $engine_type=myisam;
source extra/rpl_tests/rpl_charset.test;
-
diff --git a/mysql-test/suite/rpl/t/rpl_charset_sjis.test b/mysql-test/suite/rpl/t/rpl_charset_sjis.test
index 2469b0db8a2..a3a3de8c1d0 100644
--- a/mysql-test/suite/rpl/t/rpl_charset_sjis.test
+++ b/mysql-test/suite/rpl/t/rpl_charset_sjis.test
@@ -23,3 +23,4 @@ sync_slave_with_master;
connection master;
# End of 5.0 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf
index 536551ec3dc..3ff94e458ce 100644
--- a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf
+++ b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf
@@ -17,11 +17,8 @@ log-slave-updates
loose-innodb
[ENV]
-SLAVE_MYPORT1= @mysqld.3.port
-SLAVE_MYSOCK1= @mysqld.3.socket
-
-SLAVE_MYPORT2= @mysqld.4.port
-SLAVE_MYSOCK2= @mysqld.4.socket
-
-
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYSOCK_4= @mysqld.4.socket
diff --git a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
index 2f1b86c2c31..7d4b538c8a6 100644
--- a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
+++ b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.test
@@ -1,27 +1,36 @@
-#############################################################
-# Author: Serge Kozlov <skozlov@mysql.com>
-# Date: 03/12/2008
-# Purpose: Testing circular replication based on schema
-# A->B->C->D->A with using AUTO_INCREMENT_INCREMENT,
-# AUTO_INCREMENT_OFFSET variables and failover
-#############################################################
+# ==== Purpose ====
+#
+# Setup: circular replication on four hosts, i.e., topology
+# server_1 -> server_2 -> server_3 -> server_4 -> server_1
+#
+# Tested properties:
+# - Correctly configured autoinc works.
+# - Manual failover works.
+#
+# ==== Related bugs and worklogs ====
+#
+# WL#3754
+# BUG#49978
+
--source include/have_innodb.inc
# Use wait_for_slave_to_(start|stop) for current connections
let $keep_connection= 1;
# Set up circular ring and new names for servers
---echo *** Set up circular ring by schema A->B->C->D->A ***
---source include/circular_rpl_for_4_hosts_init.inc
+--echo *** Set up circular replication on four servers ***
+--let $rpl_topology= 1->2->3->4->1
+--source include/rpl_init.inc
--echo
# Preparing data.
--echo *** Preparing data ***
---connection master_a
+--connection server_1
CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=MyISAM;
CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=InnoDB;
---source include/circular_rpl_for_4_hosts_sync.inc
---connection master_d
+--source include/rpl_sync.inc
+--connection server_4
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
--echo
#
@@ -31,121 +40,135 @@ CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL,
--echo *** Testing schema A->B->C->D->A ***
--echo
# insert data via all hosts
---connection master_a
+--connection server_1
INSERT INTO t1(b,c) VALUES('A',1);
---sync_slave_with_master master_b
+--sync_slave_with_master server_2
INSERT INTO t1(b,c) VALUES('B',1);
---sync_slave_with_master master_c
+--sync_slave_with_master server_3
INSERT INTO t1(b,c) VALUES('C',1);
---sync_slave_with_master master_d
+--sync_slave_with_master server_4
INSERT INTO t1(b,c) VALUES('D',1);
---source include/circular_rpl_for_4_hosts_sync.inc
+--source include/rpl_sync.inc
---connection master_a
+--connection server_1
SELECT 'Master A',a,b FROM t1 WHERE c = 1 ORDER BY a,b;
---connection master_b
+--connection server_2
SELECT 'Master B',a,b FROM t1 WHERE c = 1 ORDER BY a,b;
---connection master_c
+--connection server_3
SELECT 'Master C',a,b FROM t1 WHERE c = 1 ORDER BY a,b;
---connection master_d
+--connection server_4
SELECT 'Master D',a,b FROM t1 WHERE c = 1 ORDER BY a,b;
--echo
--echo *** Testing schema A->B->D->A if C has failure ***
--echo
--echo * Do failure for C and then make new connection B->D *
+
+# Note: server_N has auto_increment_offset=N. Below, we insert value 6
+# in the autoinc column on server_3 (and prevent it from replicating
+# further using SQL_SLAVE_SKIP_COUNTER on server_4). Due to the
+# auto_increment_offset setting, the autoinc value 6 is normally
+# generated on server_2. When we later insert a row on server_2, we
+# thus cause a duplicate key error on server_3.
+
# Do not replicate next event from C
---connection master_d
-connect(slave,127.0.0.1,root,,test,$SLAVE_MYPORT2);
+--connection server_4
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
source include/start_slave.inc;
-disconnect slave;
---connection master_c
+--connection server_3
INSERT INTO t1 VALUES(6,'C',2);
---save_master_pos
---connection master_b
+--sync_slave_with_master server_4
+
+--connection server_2
INSERT INTO t1(b,c) VALUES('B',2);
# Wait while C will stop.
---connection master_c
-source include/wait_for_slave_sql_to_stop.inc;
---connection master_a
+--connection server_3
+# 1062 = ER_DUP_ENTRY
+call mtr.add_suppression("Slave SQL.*Duplicate entry .6. for key .PRIMARY.* Error_code: 1062");
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error.inc
+--connection server_1
INSERT INTO t1(b,c) VALUES('A',2);
---connection master_d
+--connection server_4
INSERT INTO t1(b,c) VALUES('D',2);
# Sync all servers except C
---connection master_b
+--connection server_2
let $wait_condition= SELECT COUNT(*)=3 FROM t1 WHERE a > 4;
+--let $server_connection= server_1
--source include/wait_condition.inc
--echo
--echo * Data on servers (C failed) *
# Masters C,D shouldn't have correct data
---connection master_a
+--connection server_1
SELECT 'Master A',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
---connection master_b
+--connection server_2
SELECT 'Master B',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
---connection master_c
+--connection server_3
SELECT 'Master C',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
---connection master_d
+--connection server_4
SELECT 'Master D',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
--echo
--echo * Reconfigure replication to schema A->B->D->A *
# Exclude Master C
---connection master_c
-STOP SLAVE;
+--connection server_3
+--source include/stop_slave_io.inc
--let $pos_c= query_get_value(SHOW SLAVE STATUS, Exec_Master_Log_Pos, 1)
--let $file_c= query_get_value(SHOW SLAVE STATUS, Master_Log_File, 1)
---connection master_d
-STOP SLAVE;
---replace_result $SLAVE_MYPORT MASTER_B_PORT $file_c LOG_FILE $pos_c LOG_POS
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SLAVE_MYPORT,master_user='root',master_log_file='$file_c',master_log_pos=$pos_c
-connect(slave,127.0.0.1,root,,test,$SLAVE_MYPORT2);
+
+--connection server_4
+--source include/stop_slave.inc
+
+--let $rpl_topology= 1->2->4->1,2->3
+--let $rpl_master_log_file= 4:$file_c
+--let $rpl_master_log_pos= 4:$pos_c
+--source include/rpl_change_topology.inc
+
+#--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2 $file_c LOG_FILE $pos_c LOG_POS
+#--eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SERVER_MYPORT_2,master_user='root',master_log_file='$file_c',master_log_pos=$pos_c
source include/start_slave.inc;
-disconnect slave;
---connection master_b
---sync_slave_with_master master_d
---sync_slave_with_master master_a
+--connection server_2
+--sync_slave_with_master server_4
+--sync_slave_with_master server_1
--echo
--echo * Check data inserted before failure *
---connection master_a
+--connection server_1
SELECT 'Master A',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
---connection master_b
+--connection server_2
SELECT 'Master B',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
---connection master_c
+--connection server_3
SELECT 'Master C',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
---connection master_d
+--connection server_4
SELECT 'Master D',a,b FROM t1 WHERE c = 2 ORDER BY a,b;
--echo
--echo * Check data inserted after failure *
---connection master_a
+--connection server_1
INSERT INTO t1(b,c) VALUES('A',3);
---connection master_b
+--connection server_2
INSERT INTO t1(b,c) VALUES('B',3);
---connection master_d
+--connection server_4
INSERT INTO t1(b,c) VALUES('D',3);
-connection master_a;
+connection server_1;
---sync_slave_with_master master_b
---sync_slave_with_master master_d
---sync_slave_with_master master_a
---sync_slave_with_master master_b
+--let $rpl_only_running_threads= 1
+--source include/rpl_sync.inc
---connection master_a
+--connection server_1
SELECT 'Master A',a,b FROM t1 WHERE c = 3 ORDER BY a,b;
---connection master_b
+--connection server_2
SELECT 'Master B',a,b FROM t1 WHERE c = 3 ORDER BY a,b;
---connection master_c
+--connection server_3
SELECT 'Master C',a,b FROM t1 WHERE c = 3 ORDER BY a,b;
---connection master_d
+--connection server_4
SELECT 'Master D',a,b FROM t1 WHERE c = 3 ORDER BY a,b;
---connection master_a
+--connection server_1
--echo
--echo *** Testing restoring scheme A->B->C->D->A after failure ***
@@ -153,158 +176,150 @@ SELECT 'Master D',a,b FROM t1 WHERE c = 3 ORDER BY a,b;
# Master D will ignore a next event from C so that event will not be
# distributed to other servers
--echo * Remove wrong event from C and restore B->C->D *
---connection master_d
+--connection server_4
source include/stop_slave.inc;
---connection master_c
+--connection server_3
DELETE FROM t1 WHERE a = 6;
-START SLAVE;
---connection master_b
---sync_slave_with_master master_c
+--source include/start_slave.inc
+--connection server_2
+--sync_slave_with_master server_3
RESET MASTER;
--let $file_d= query_get_value(SHOW MASTER STATUS, File, 1)
--let $pos_d= query_get_value(SHOW MASTER STATUS, Position, 1)
---connection master_d
+--connection server_4
RESET SLAVE;
---replace_result $SLAVE_MYPORT1 MASTER_C_PORT $file_d LOG_FILE $pos_d LOG_POS
---eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SLAVE_MYPORT1,master_user='root',master_log_file='$file_d',master_log_pos=$pos_d
-START SLAVE;
---connection master_c
---sync_slave_with_master master_d
---source include/circular_rpl_for_4_hosts_sync.inc
+--let $rpl_topology= 1->2->3->4->1
+--let $rpl_master_log_file= 4:$file_d
+--let $rpl_master_log_pos= 4:$pos_d
+--source include/rpl_change_topology.inc
+#--replace_result $SERVER_MYPORT_3 SERVER_MYPORT_3 $file_d LOG_FILE $pos_d LOG_POS
+#--eval CHANGE MASTER TO master_host='127.0.0.1',master_port=$SERVER_MYPORT_3,master_user='root',master_log_file='$file_d',master_log_pos=$pos_d
+--source include/start_slave.inc
+--connection server_3
+--sync_slave_with_master server_4
+--source include/rpl_sync.inc
--echo
--echo * Check data inserted before restoring schema A->B->C->D->A *
---connection master_a
+--connection server_1
SELECT 'Master A',a,b FROM t1 WHERE c IN (2,3) ORDER BY a,b;
---sync_slave_with_master master_b
+--sync_slave_with_master server_2
SELECT 'Master B',a,b FROM t1 WHERE c IN (2,3) ORDER BY a,b;
---sync_slave_with_master master_c
+--sync_slave_with_master server_3
SELECT 'Master C',a,b FROM t1 WHERE c IN (2,3) ORDER BY a,b;
---sync_slave_with_master master_d
+--sync_slave_with_master server_4
SELECT 'Master D',a,b FROM t1 WHERE c IN (2,3) ORDER BY a,b;
---sync_slave_with_master master_a
+--sync_slave_with_master server_1
--echo
--echo * Check data inserted after restoring schema A->B->C->D->A *
---connection master_a
+--connection server_1
INSERT INTO t1(b,c) VALUES('A',4);
---connection master_b
+--connection server_2
INSERT INTO t1(b,c) VALUES('B',4);
---connection master_c
+--connection server_3
INSERT INTO t1(b,c) VALUES('C',4);
---connection master_d
+--connection server_4
INSERT INTO t1(b,c) VALUES('D',4);
---connection master_a
+--connection server_1
---source include/circular_rpl_for_4_hosts_sync.inc
+--source include/rpl_sync.inc
---connection master_a
+--connection server_1
SELECT 'Master A',a,b FROM t1 WHERE c = 4 ORDER BY a,b;
---connection master_b
+--connection server_2
SELECT 'Master B',a,b FROM t1 WHERE c = 4 ORDER BY a,b;
---connection master_c
+--connection server_3
SELECT 'Master C',a,b FROM t1 WHERE c = 4 ORDER BY a,b;
---connection master_d
+--connection server_4
SELECT 'Master D',a,b FROM t1 WHERE c = 4 ORDER BY a,b;
---connection master_a
+--connection server_1
--echo
--echo * Transactions with commits *
# Testing mixing of transactions and regular inserts
---connection master_a
+--connection server_1
BEGIN;
---connection master_c
+--connection server_3
BEGIN;
let $counter= 100;
---connection master_a
+--connection server_1
--disable_query_log
while ($counter) {
- --connection master_a
+ --connection server_1
INSERT INTO t2(b,c) VALUES('A',1);
- --connection master_b
+ --connection server_2
INSERT INTO t2(b,c) VALUES('B',1);
- --connection master_c
+ --connection server_3
INSERT INTO t2(b,c) VALUES('C',1);
- --connection master_d
+ --connection server_4
INSERT INTO t2(b,c) VALUES('D',1);
dec $counter;
}
---connection master_a
+--connection server_1
COMMIT;
---connection master_c
+--connection server_3
COMMIT;
---connection master_a
+--connection server_1
--enable_query_log
---source include/circular_rpl_for_4_hosts_sync.inc
+--source include/rpl_sync.inc
---connection master_a
+--connection server_1
SELECT 'Master A',b,COUNT(*) FROM t2 WHERE c = 1 GROUP BY b ORDER BY b;
---connection master_b
+--connection server_2
SELECT 'Master B',b,COUNT(*) FROM t2 WHERE c = 1 GROUP BY b ORDER BY b;
---connection master_c
+--connection server_3
SELECT 'Master C',b,COUNT(*) FROM t2 WHERE c = 1 GROUP BY b ORDER BY b;
---connection master_d
+--connection server_4
SELECT 'Master D',b,COUNT(*) FROM t2 WHERE c = 1 GROUP BY b ORDER BY b;
---connection master_a
+--connection server_1
--echo
--echo * Transactions with rollbacks *
# Testing mixing of transactions with rollback and regular inserts
---connection master_a
+--connection server_1
BEGIN;
---connection master_c
+--connection server_3
BEGIN;
let $counter= 100;
---connection master_a
+--connection server_1
--disable_query_log
while ($counter) {
- --connection master_a
+ --connection server_1
INSERT INTO t2(b,c) VALUES('A',2);
- --connection master_b
+ --connection server_2
INSERT INTO t2(b,c) VALUES('B',2);
- --connection master_c
+ --connection server_3
INSERT INTO t2(b,c) VALUES('C',2);
- --connection master_d
+ --connection server_4
INSERT INTO t2(b,c) VALUES('D',2);
dec $counter;
}
---connection master_a
+--connection server_1
ROLLBACK;
---connection master_c
+--connection server_3
ROLLBACK;
---connection master_a
+--connection server_1
--enable_query_log
---source include/circular_rpl_for_4_hosts_sync.inc
+--source include/rpl_sync.inc
---connection master_a
+--connection server_1
SELECT 'Master A',b,COUNT(*) FROM t2 WHERE c = 2 GROUP BY b ORDER BY b;
---connection master_b
+--connection server_2
SELECT 'Master B',b,COUNT(*) FROM t2 WHERE c = 2 GROUP BY b ORDER BY b;
---connection master_c
+--connection server_3
SELECT 'Master C',b,COUNT(*) FROM t2 WHERE c = 2 GROUP BY b ORDER BY b;
---connection master_d
+--connection server_4
SELECT 'Master D',b,COUNT(*) FROM t2 WHERE c = 2 GROUP BY b ORDER BY b;
---connection master_a
+--connection server_1
--echo
# Clean up
--echo *** Clean up ***
---connection master_a
+--connection server_1
DROP TABLE t1,t2;
---source include/circular_rpl_for_4_hosts_sync.inc
---connection master_a
-STOP SLAVE;
-RESET SLAVE;
---connection master_b
-STOP SLAVE;
-RESET SLAVE;
---connection master_c
-STOP SLAVE;
-RESET SLAVE;
---connection master_d
-STOP SLAVE;
-RESET SLAVE;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_colSize.test b/mysql-test/suite/rpl/t/rpl_colSize.test
index 4c808ef3dfd..d6f817af189 100644
--- a/mysql-test/suite/rpl/t/rpl_colSize.test
+++ b/mysql-test/suite/rpl/t/rpl_colSize.test
@@ -225,3 +225,4 @@ sync_slave_with_master;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
# END 5.1 Test Case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_commit_after_flush.test b/mysql-test/suite/rpl/t/rpl_commit_after_flush.test
index 47df391d6be..5e070b14301 100644
--- a/mysql-test/suite/rpl/t/rpl_commit_after_flush.test
+++ b/mysql-test/suite/rpl/t/rpl_commit_after_flush.test
@@ -1,12 +1,6 @@
-#####################################
-# Wrapper for rpl_commit_after_flush#
-#####################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
-- source include/master-slave.inc
let $engine_type=innodb;
-- source extra/rpl_tests/rpl_commit_after_flush.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_concurrency_error.test b/mysql-test/suite/rpl/t/rpl_concurrency_error.test
index 2e216d25211..15d5d5502a1 100644
--- a/mysql-test/suite/rpl/t/rpl_concurrency_error.test
+++ b/mysql-test/suite/rpl/t/rpl_concurrency_error.test
@@ -53,24 +53,24 @@ while ($type)
{
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
connection conn1;
- if (`select $type = 2`)
+ if ($type == 2)
{
SET AUTOCOMMIT = 1;
BEGIN;
}
- if (`select $type = 1`)
+ if ($type == 1)
{
SET AUTOCOMMIT = 0;
}
eval UPDATE t SET f = 'yellow $type' WHERE i = 3;
connection conn2;
- if (`select $type = 2`)
+ if ($type == 2)
{
SET AUTOCOMMIT = 1;
BEGIN;
}
- if (`select $type = 1`)
+ if ($type == 1)
{
SET AUTOCOMMIT = 0;
}
@@ -88,24 +88,24 @@ while ($type)
let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
connection conn1;
- if (`select $type = 2`)
+ if ($type == 2)
{
SET AUTOCOMMIT = 1;
BEGIN;
}
- if (`select $type = 1`)
+ if ($type == 1)
{
SET AUTOCOMMIT = 0;
}
eval UPDATE t SET f = 'gray $type' WHERE i = 3;
connection conn2;
- if (`select $type = 2`)
+ if ($type == 2)
{
SET AUTOCOMMIT = 1;
BEGIN;
}
- if (`select $type = 1`)
+ if ($type == 1)
{
SET AUTOCOMMIT = 0;
}
@@ -127,13 +127,11 @@ while ($type)
connection master;
sync_slave_with_master;
-connection master;
-let $diff_statement= SELECT * FROM t order by i;
-source include/diff_master_slave.inc;
+let $rpl_diff_statement= SELECT * FROM t order by i;
+source include/rpl_diff.inc;
-connection master;
-let $diff_statement= SELECT * FROM n order by d, f;
-source include/diff_master_slave.inc;
+let $rpl_diff_statement= SELECT * FROM n order by d, f;
+source include/rpl_diff.inc;
--echo ########################################################################
--echo # Cleanup
@@ -149,3 +147,4 @@ sync_slave_with_master;
connection master;
disconnect conn1;
disconnect conn2;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_conditional_comments.test b/mysql-test/suite/rpl/t/rpl_conditional_comments.test
index 14251d5eb37..88adf3a20f1 100644
--- a/mysql-test/suite/rpl/t/rpl_conditional_comments.test
+++ b/mysql-test/suite/rpl/t/rpl_conditional_comments.test
@@ -26,15 +26,15 @@ let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
source include/show_binlog_events.inc;
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
-source include/diff_tables.inc;
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo
--echo # Case 2:
--echo # -----------------------------------------------------------------
--echo # Verify whether it can be binlogged correctly when executing prepared
--echo # statement.
+--connection master
PREPARE stmt FROM 'INSERT INTO /*!99999 blabla*/ t1 VALUES(60) /*!99999 ,(61)*/';
EXECUTE stmt;
DROP TABLE t1;
@@ -42,10 +42,10 @@ CREATE TABLE t1(c1 INT);
EXECUTE stmt;
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
-source include/diff_tables.inc;
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
+--connection master
--echo
SET @value=62;
PREPARE stmt FROM 'INSERT INTO /*!99999 blabla */ t1 VALUES(?) /*!99999 ,(63)*/';
@@ -58,17 +58,17 @@ source include/show_binlog_events.inc;
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
-source include/diff_tables.inc;
+--let $diff_tables= master:t1,slave:t1
+--source include/diff_tables.inc
--echo
--echo # Case 3:
--echo # -----------------------------------------------------------------
--echo # Verify it can restore the '!', if the it is an uncomplete conditional
--echo # comments
+--connection master
--error 1064
SELECT c1 FROM /*!99999 t1 WHEREN;
DROP TABLE t1;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_database.test b/mysql-test/suite/rpl/t/rpl_create_database.test
index e3e2e637594..5eac3de0d15 100644
--- a/mysql-test/suite/rpl/t/rpl_create_database.test
+++ b/mysql-test/suite/rpl/t/rpl_create_database.test
@@ -70,3 +70,4 @@ DROP DATABASE IF EXISTS mysqltest_bob;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test b/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
index 6b459bb9c76..4e24b9a8133 100644
--- a/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
+++ b/mysql-test/suite/rpl/t/rpl_create_if_not_exists.test
@@ -125,7 +125,7 @@ DROP TABLE t3;
--echo # After the worklog, it will insert nothing and the statement will not be
--echo # binlogged if the table already exists.
--echo # After the worklog, some bugs will disappear automotically.
-source include/master-slave-reset.inc;
+--source include/rpl_reset.inc
--echo
--echo # Case 1: BUG#47132
@@ -173,4 +173,4 @@ DROP VIEW v1;
DROP TABLE t1, t2;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test b/mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test
index a06dfa54cb1..daf6b7e9ad8 100644
--- a/mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test
+++ b/mysql-test/suite/rpl/t/rpl_create_tmp_table_if_not_exists.test
@@ -38,4 +38,4 @@ CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp2 SELECT * FROM tmp;
source include/show_binlog_events.inc;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_critical_errors.test b/mysql-test/suite/rpl/t/rpl_critical_errors.test
index aa1f251b738..bc0d7096f80 100644
--- a/mysql-test/suite/rpl/t/rpl_critical_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_critical_errors.test
@@ -35,7 +35,7 @@ connection master1;
# This sleep is picked so that the query above has started to insert
# some rows into t2. If it hasn't the slave will not stop below.
let $wait_condition= SELECT COUNT(*) > 1000 FROM t1;
-source include/wait_condition.inc
+--source include/wait_condition.inc
# SHOW PROCESSLIST;
@@ -62,4 +62,5 @@ connection slave;
# The following should be 0
SELECT COUNT(*) FROM t2;
+--source include/rpl_end.inc
enable_parsing;
diff --git a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt
index 815a8f81d32..b0a1ce4a0be 100644
--- a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt
+++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt
@@ -1 +1,2 @@
--replicate-same-server-id --relay-log=slave-relay-bin
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_cross_version.test b/mysql-test/suite/rpl/t/rpl_cross_version.test
index 8cd268a5fd9..94c9f0432ce 100644
--- a/mysql-test/suite/rpl/t/rpl_cross_version.test
+++ b/mysql-test/suite/rpl/t/rpl_cross_version.test
@@ -10,18 +10,23 @@
# The master's binlog is treated as a relay log that the SQL thread executes.
#
---source include/have_log_bin.inc
-
-# The test is disabled for windows due to
-# Bug #42879 CHANGE MASTER RELAY_LOG_FILE=path fails on windows
-# Todo: release it from not_windows
---source include/not_windows.inc
+--source include/master-slave.inc
#
# Bug#31240 load data infile replication between (4.0 or 4.1) and 5.1 fails
#
--echo ==== Initialize ====
+--connection slave
+
+--disable_query_log
+# The binlog contains the function RAND which is unsafe.
+CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--enable_query_log
+
+--source include/stop_slave.inc
+RESET SLAVE;
+
# the relay log contains create t1, t3 tables and load data infile
--let $fake_relay_log = $MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001
--source include/setup_fake_relay_log.inc
@@ -36,6 +41,8 @@ start slave sql_thread;
SELECT COUNT(*) - 17920 as zero FROM t3;
--echo ==== Clean up ====
-stop slave sql_thread;
+--source include/stop_slave_sql.inc
--source include/cleanup_fake_relay_log.inc
drop table t1, t3;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_current_user-master.opt b/mysql-test/suite/rpl/t/rpl_current_user-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_current_user-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_current_user.cnf b/mysql-test/suite/rpl/t/rpl_current_user.cnf
index 999ee727a88..58b605ad928 100644
--- a/mysql-test/suite/rpl/t/rpl_current_user.cnf
+++ b/mysql-test/suite/rpl/t/rpl_current_user.cnf
@@ -1,9 +1,8 @@
!include ../my.cnf
[mysqld.3]
-server-id=3
-log-bin=slave-bin
+log-slave-updates
[ENV]
-SLAVE_MYPORT1= @mysqld.3.port
-SLAVE_MYSOCK1= @mysqld.3.socket
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYSOCK_3= @mysqld.3.socket
diff --git a/mysql-test/suite/rpl/t/rpl_current_user.test b/mysql-test/suite/rpl/t/rpl_current_user.test
index 79816ef6c95..ac2af1af14e 100644
--- a/mysql-test/suite/rpl/t/rpl_current_user.test
+++ b/mysql-test/suite/rpl/t/rpl_current_user.test
@@ -10,35 +10,31 @@
# 'ALTER EVENT'.
#
##############################################################################
-source include/master-slave.inc;
+
source include/have_binlog_format_statement.inc;
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
---echo
---echo # On slave2
-connect (slave2,127.0.0.1,root,,test,$SLAVE_MYPORT1,);
-connection slave2;
+--let $rpl_topology= 1->2->3
+--source include/rpl_init.inc
---echo # Connect slave2 to slave
---replace_result $SLAVE_MYPORT SLAVE_MYPORT;
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SLAVE_MYPORT,
- MASTER_LOG_FILE='slave-bin.000001', MASTER_USER='root';
-START SLAVE;
-source include/wait_for_slave_to_start.inc;
+--let $rpl_connection_name= master
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= slave
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
+
+--disable_query_log
+--connection server_1
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
+--connection server_2
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
+--connection server_3
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
+--enable_query_log
+
+--connection master
---echo
---echo # [On master]
-connection master;
---disable_warnings
-DROP VIEW IF EXISTS v_user;
-DROP VIEW IF EXISTS v_tables_priv;
-DROP VIEW IF EXISTS v_procs_priv;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS my_grant;
-DROP PROCEDURE IF EXISTS my_revoke;
-DROP FUNCTION IF EXISTS my_user;
-DROP EVENT IF EXISTS e1;
---enable_warnings
CREATE TABLE t1(c1 char(100));
CREATE VIEW test.v_user AS SELECT * FROM mysql.user WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_tables_priv AS SELECT * FROM mysql.tables_priv WHERE User LIKE 'bug48321%';
@@ -64,75 +60,76 @@ connection conn1;
--echo # [On conn1]
--echo # Verify 'REVOKE ALL' statement
REVOKE ALL PRIVILEGES, GRANT OPTION FROM CURRENT_USER();
-let $diff_table= test.v_user;
-let $diff_server_list= master, slave, slave2;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_user, server_2:v_user, server_3:v_user;
+source include/diff_tables.inc;
--echo
--echo # Verify 'GRANT ... ON TABLE ...' statement
-connection conn1;
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
-let $diff_table= test.v_tables_priv;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'GRANT ... ON PROCEDURE...' statement
-connection conn1;
GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE p1 TO CURRENT_USER();
-let $diff_table= test.v_procs_priv;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_procs_priv, server_2:v_procs_priv, server_3:v_procs_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'GRANT ... ON *.* ...' statement
-connection conn1;
GRANT ALL PRIVILEGES ON *.* TO CURRENT_USER() WITH GRANT OPTION;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_procs_priv, server_2:v_procs_priv, server_3:v_procs_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON TABLE ...' statement
-connection conn1;
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
-let $diff_table= test.v_tables_priv;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON PROCEDURE...' statement
-connection conn1;
REVOKE ALTER ROUTINE, EXECUTE ON PROCEDURE p1 FROM CURRENT_USER();
-let $diff_table= test.v_procs_priv;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_procs_priv, server_2:v_procs_priv, server_3:v_procs_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON *.* ...' statement
-connection conn1;
REVOKE ALL PRIVILEGES ON *.* FROM CURRENT_USER();
-let $diff_table= test.v_user;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_user, server_2:v_user, server_3:v_user;
+source include/diff_tables.inc;
--echo
--echo # Verify 'GRANT ...' statement in the procedure
-connection conn1;
CREATE PROCEDURE my_grant()
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
call my_grant;
-let $diff_table= test.v_tables_priv;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON TABLE ...' statement in the procedure
-connection conn1;
CREATE PROCEDURE my_revoke()
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
call my_revoke;
-let $diff_table= test.v_tables_priv;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_tables_priv, server_2:v_tables_priv, server_3:v_tables_priv;
+source include/diff_tables.inc;
--echo
--echo # Verify 'RENAME USER ...' statement
-connection conn1;
RENAME USER CURRENT_USER TO 'bug48321_2'@'localhost';
-let $diff_table= test.v_user;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_user, server_2:v_user, server_3:v_user;
+source include/diff_tables.inc;
disconnect conn1;
@@ -143,7 +140,9 @@ GRANT CREATE USER ON *.* TO 'bug48321_2'@'localhost';
connect (conn1, 127.0.0.1, 'bug48321_2'@'localhost',,);
connection conn1;
DROP USER CURRENT_USER();
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_user, server_2:v_user, server_3:v_user;
+source include/diff_tables.inc;
--echo
--echo # Verify 'ALTER EVENT...' statement
@@ -152,16 +151,17 @@ CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT * FROM t1;
--echo # Explicitly assign CURRENT_USER() to definer
ALTER DEFINER=CURRENT_USER() EVENT e1 ENABLE;
-let $diff_table= test.v_event;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_event, server_2:v_event, server_3:v_event;
+source include/diff_tables.inc;
-connection master;
--echo
--echo # Session user will be set as definer, if the statement does not assign
--echo # a definer
ALTER EVENT e1 ENABLE;
-sync_slave_with_master;
-source include/rpl_diff_tables.inc;
+--source include/rpl_sync.inc
+let $diff_tables= server_1:v_event, server_2:v_event, server_3:v_event;
+source include/diff_tables.inc;
--echo
--echo # Verify that this patch does not affect the calling of CURRENT_USER()
@@ -173,8 +173,8 @@ SELECT * FROM t1;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
---echo # [On slave2]
-sync_slave_with_master slave2;
+--echo # [On server_3]
+sync_slave_with_master server_3;
SELECT * FROM t1;
connection master;
@@ -184,8 +184,8 @@ SELECT * FROM t1;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
-sync_slave_with_master slave2;
---echo # [On slave2]
+sync_slave_with_master server_3;
+--echo # [On server_3]
SELECT * FROM t1;
connection master;
@@ -195,8 +195,8 @@ SELECT * FROM t1;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
-sync_slave_with_master slave2;
---echo # [On slave2]
+sync_slave_with_master server_3;
+--echo # [On server_3]
SELECT * FROM t1;
connection master;
@@ -219,8 +219,8 @@ sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
SELECT * FROM t2;
-sync_slave_with_master slave2;
---echo # [On slave2]
+sync_slave_with_master server_3;
+--echo # [On server_3]
SELECT * FROM t1;
SELECT * FROM t2;
@@ -234,6 +234,5 @@ DROP PROCEDURE my_grant;
DROP PROCEDURE my_revoke;
DROP FUNCTION my_user;
DROP EVENT e1;
-sync_slave_with_master;
-sync_slave_with_master slave2;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_ddl.test b/mysql-test/suite/rpl/t/rpl_ddl.test
index 80df16a7a00..83a530131a6 100644
--- a/mysql-test/suite/rpl/t/rpl_ddl.test
+++ b/mysql-test/suite/rpl/t/rpl_ddl.test
@@ -30,3 +30,4 @@ let $temp_engine_type= MEMORY;
let $show_binlog = 0;
let $manipulate = 0;
-- source extra/rpl_tests/rpl_ddl.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test b/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test
index ee907f81b22..b2d4e42a973 100644
--- a/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_deadlock_innodb.test
@@ -1,10 +1,3 @@
-################################
-# Wrapper for rpl_deadlock.test#
-################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_delete_no_where.test b/mysql-test/suite/rpl/t/rpl_delete_no_where.test
index 64a293b4058..4bfe6d07b5a 100644
--- a/mysql-test/suite/rpl/t/rpl_delete_no_where.test
+++ b/mysql-test/suite/rpl/t/rpl_delete_no_where.test
@@ -5,3 +5,4 @@
-- source include/master-slave.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_delete_no_where.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_do_grant.test b/mysql-test/suite/rpl/t/rpl_do_grant.test
index f04ac54ac50..94dd1c5d3f4 100644
--- a/mysql-test/suite/rpl/t/rpl_do_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_do_grant.test
@@ -213,17 +213,19 @@ stop slave;
connection master;
# user was already dropped in the slave before
-# so no need to wait for the slave to replicate
-# this statement (if it did and we later synced
-# the slave it would end up in an error anyway)
+# so we should not replicate this statement.
+SET SQL_LOG_BIN= 0;
DROP USER 'create_rout_db'@'localhost';
+SET SQL_LOG_BIN= 1;
--enable_warnings
# finish entire clean up (remove binlogs)
# so that we leave a pristine environment for the
# following tests
--- source include/master-slave-reset.inc
+--let $rpl_only_running_threads= 1
+-- source include/rpl_reset.inc
+USE test;
# BUG#49119: Master crashes when executing 'REVOKE ... ON
# {PROCEDURE|FUNCTION} FROM ...'
@@ -248,7 +250,7 @@ DROP USER 'create_rout_db'@'localhost';
-- echo ######## BUG#49119 #######
-- echo ### i) test case from the 'how to repeat section'
--- source include/master-slave-reset.inc
+
-- connection master
CREATE TABLE t1(c1 INT);
@@ -269,7 +271,7 @@ DROP PROCEDURE p1;
-- echo ### ii) Test case in which REVOKE partially succeeds
-- connection master
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
CREATE TABLE t1(c1 INT);
@@ -329,8 +331,7 @@ DROP USER 'user49119'@'localhost';
# Bug #51987 revoke privileges logs wrong error code
#
--- connection master
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
grant all on *.* to foo@"1.2.3.4";
@@ -344,14 +345,29 @@ revoke all privileges, grant option from "foo";
## assertion: slave replicates revoke and does not fail because master
## logged revoke with correct expected error code
--- let $err= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1)
- if ($err)
-{
- -- die UNEXPECTED ERROR AT SLAVE: $err
-}
+--source include/check_slave_no_error.inc
-- connection master
DROP USER foo@"1.2.3.4";
-- sync_slave_with_master
---echo "End of test"
+--echo
+--echo # Bug#27606 GRANT statement should be replicated with DEFINER information
+--source include/rpl_reset.inc
+--connection master
+GRANT SELECT, INSERT ON mysql.user TO user_bug27606@localhost;
+
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+sync_slave_with_master;
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+
+--connection master
+REVOKE SELECT ON mysql.user FROM user_bug27606@localhost;
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+sync_slave_with_master;
+SELECT Grantor FROM mysql.tables_priv WHERE User='user_bug27606';
+
+--connection master
+DROP USER user_bug27606@localhost;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_drop.test b/mysql-test/suite/rpl/t/rpl_drop.test
index 7af325240ee..7b8873345b9 100644
--- a/mysql-test/suite/rpl/t/rpl_drop.test
+++ b/mysql-test/suite/rpl/t/rpl_drop.test
@@ -1,13 +1,12 @@
# Testcase for BUG#4552 (DROP on two tables, one of which does not
# exist, must be binlogged with a non-zero error code)
source include/master-slave.inc;
---disable_warnings
-drop table if exists t1, t2;
---enable_warnings
+
create table t1 (a int);
--error 1051
drop table t1, t2;
-sync_slave_with_master;
+--sync_slave_with_master
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_drop_db.test b/mysql-test/suite/rpl/t/rpl_drop_db.test
index 11e93e7307a..c3194f08f52 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_db.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_db.test
@@ -58,4 +58,5 @@ drop table t1;
drop database mysqltest1;
sync_slave_with_master;
-source include/stop_slave.inc;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_drop_temp.test b/mysql-test/suite/rpl/t/rpl_drop_temp.test
index 7bc55c53447..641813070ca 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_temp.test
@@ -71,9 +71,8 @@ sync_slave_with_master;
# BUG#54842: DROP TEMPORARY TABLE not binlogged after manual switching binlog format to ROW
#
--- connection master
--- source include/master-slave-reset.inc
--- connection master
+--source include/rpl_reset.inc
+--connection master
CREATE TABLE t1 ( i INT );
--sync_slave_with_master
@@ -95,3 +94,4 @@ SHOW STATUS LIKE 'Slave_open_temp_tables';
DROP TABLE t1;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_drop_view.test b/mysql-test/suite/rpl/t/rpl_drop_view.test
index 05bf112b8b8..55a0ea104d8 100644
--- a/mysql-test/suite/rpl/t/rpl_drop_view.test
+++ b/mysql-test/suite/rpl/t/rpl_drop_view.test
@@ -32,3 +32,4 @@ select * from v3;
connection master;
drop table t1, t2, t3;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test b/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test
index ab1de6a2e9f..618576f5641 100644
--- a/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test
+++ b/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test
@@ -6,33 +6,21 @@
# of their server id).
# It also will test BUG#13861.
-source include/master-slave.inc;
source include/have_innodb.inc;
-
-# set up "dual head"
-
-# Needed for debug info in wait_for_slave_sql_to_stop.
-let $master_connection= slave;
-connection slave;
-reset master;
-
-connection master;
---replace_result $SLAVE_MYPORT SLAVE_PORT
-eval change master to master_host="127.0.0.1",master_port=$SLAVE_MYPORT,master_user="root";
-
-source include/start_slave.inc;
+--let $rpl_topology= 1->2->1
+--source include/rpl_init.inc
# now we test it
-connection slave;
+connection server_2;
create table t1 (n int);
let $master_log_file= query_get_value(SHOW MASTER STATUS, File, 1);
let $master_log_pos_1= query_get_value(SHOW MASTER STATUS, Position, 1);
let $master_log_pos_1= `SELECT $master_log_pos_1 + 3`;
-sync_slave_with_master master;
+--sync_slave_with_master server_1
#
# BUG#13861 - START SLAVE UNTIL may stop 1 evnt too late if
@@ -42,7 +30,7 @@ source include/stop_slave.inc;
create table t2 (n int); # create one ignored event
-sync_slave_with_master;
+--sync_slave_with_master server_2
show tables;
@@ -59,7 +47,8 @@ insert into t3 values(3);
commit;
insert into t3 values(4);
-connection master;
+
+connection server_1;
# bug is that START SLAVE UNTIL may stop too late, we test that by
# asking it to stop before creation of t3.
@@ -89,26 +78,20 @@ source include/start_slave.inc;
# BUG#13023 is that Exec_master_log_pos may stay too low "forever":
-connection master;
+connection server_1;
create table t4 (n int); # create 3 ignored events
create table t5 (n int);
create table t6 (n int);
-sync_slave_with_master;
-sync_slave_with_master master;
+--sync_slave_with_master server_2
# then BUG#13023 caused hang below ("master" looks behind, while it's
# not in terms of updates done).
+--sync_slave_with_master server_1
show tables;
# cleanup
-
-source include/stop_slave.inc;
-reset slave;
-drop table t1,t2,t3,t4,t5,t6;
-
-sync_slave_with_master;
-
-# End of 4.1 tests
+drop table t1, t2, t3, t4, t5, t6;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_empty_master_host.test b/mysql-test/suite/rpl/t/rpl_empty_master_host.test
index 7d245b1d5d5..df0c85ad7ec 100644
--- a/mysql-test/suite/rpl/t/rpl_empty_master_host.test
+++ b/mysql-test/suite/rpl/t/rpl_empty_master_host.test
@@ -49,3 +49,4 @@ let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
# start slave must succeed.
START SLAVE;
--source include/wait_for_slave_to_start.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test b/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
index 05cccdbae1d..9ebed299956 100644
--- a/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
+++ b/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
@@ -64,3 +64,6 @@ DROP TABLE test.t4;
sync_slave_with_master;
# End of 4.1 tests
# Adding comment for force manual merge 5.0 -> wl1012. delete me if needed
+
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_events.test b/mysql-test/suite/rpl/t/rpl_events.test
index 45ef12862fc..1de5006f647 100644
--- a/mysql-test/suite/rpl/t/rpl_events.test
+++ b/mysql-test/suite/rpl/t/rpl_events.test
@@ -101,3 +101,4 @@ DROP EVENT event44331_2;
DROP EVENT event44331_3;
DROP EVENT event44331_4;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_extraCol_innodb.test b/mysql-test/suite/rpl/t/rpl_extraCol_innodb.test
deleted file mode 100644
index e9685baf01b..00000000000
--- a/mysql-test/suite/rpl/t/rpl_extraCol_innodb.test
+++ /dev/null
@@ -1,13 +0,0 @@
-###########################################
-# Author: Jeb
-# Date: 2006-09-08
-# Purpose: Wapper for rpl_extraSlave_Col.test
-# Using innodb
-###########################################
--- source include/have_binlog_format_row.inc
--- source include/have_innodb.inc
--- source include/master-slave.inc
-let $engine_type = 'InnoDB';
--- source extra/rpl_tests/rpl_extraSlave_Col.test
-
-
diff --git a/mysql-test/suite/rpl/t/rpl_extraCol_myisam.test b/mysql-test/suite/rpl/t/rpl_extraCol_myisam.test
deleted file mode 100644
index d56df394ccf..00000000000
--- a/mysql-test/suite/rpl/t/rpl_extraCol_myisam.test
+++ /dev/null
@@ -1,12 +0,0 @@
-###########################################
-# Author: Jeb
-# Date: 2006-09-07
-# Purpose: Wapper for rpl_extraSlave_Col.test
-# Using MyISAM
-###########################################
--- source include/have_binlog_format_row.inc
--- source include/master-slave.inc
-let $engine_type = 'MyISAM';
--- source extra/rpl_tests/rpl_extraSlave_Col.test
-
-
diff --git a/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test b/mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test
index 29758366577..f48880b5dfa 100644
--- a/mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_extra_col_master_innodb.test
@@ -6,4 +6,6 @@
-- source include/have_innodb.inc
let $engine_type = 'InnoDB';
---source extra/rpl_tests/rpl_extraMaster_Col.test
+--source extra/rpl_tests/rpl_extra_col_master.test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test b/mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test
index 31529a19cfc..4f344cfaca9 100644
--- a/mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_extra_col_master_myisam.test
@@ -5,4 +5,6 @@
-- source include/master-slave.inc
let $engine_type = 'MyISAM';
---source extra/rpl_tests/rpl_extraMaster_Col.test
+--source extra/rpl_tests/rpl_extra_col_master.test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test b/mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test
new file mode 100644
index 00000000000..f4b04468273
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_extra_col_slave_innodb.test
@@ -0,0 +1,7 @@
+-- source include/have_binlog_format_row.inc
+-- source include/have_innodb.inc
+-- source include/master-slave.inc
+
+let $engine_type = 'InnoDB';
+-- source extra/rpl_tests/rpl_extra_col_slave.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test b/mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test
new file mode 100644
index 00000000000..d8d64aed566
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_extra_col_slave_myisam.test
@@ -0,0 +1,6 @@
+-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
+
+let $engine_type = 'MyISAM';
+-- source extra/rpl_tests/rpl_extra_col_slave.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt b/mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt
deleted file mode 100644
index 3f82baff598..00000000000
--- a/mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb-lock-wait-timeout=1
diff --git a/mysql-test/suite/rpl/t/rpl_failed_optimize.test b/mysql-test/suite/rpl/t/rpl_failed_optimize.test
index 81e8342b5c0..798b3ef8b41 100644
--- a/mysql-test/suite/rpl/t/rpl_failed_optimize.test
+++ b/mysql-test/suite/rpl/t/rpl_failed_optimize.test
@@ -1,10 +1,3 @@
-#######################################
-# Wrapper for rpl_failed_optimize.test#
-#######################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=InnoDB;
diff --git a/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test b/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
index aa2dee0fe57..13c66f9f64b 100644
--- a/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
+++ b/mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test
@@ -122,6 +122,8 @@ UPDATE t7 LEFT JOIN (t8, t4, t1) ON (t7.id=t8.id and t7.id=t4.id and t7.id=t1.id
# if any of the above statement are not ignored, it would cause error
# and stop slave sql thread.
sync_slave_with_master;
+connection slave;
+call mtr.add_suppression("Slave SQL.*Error .Table .test.t[47]. doesn.t exist. on query.* Error_code: 1146");
connection master;
# Parameters for include/wait_for_slave_sql_error_and_skip.inc:
@@ -204,4 +206,4 @@ SELECT * FROM t3;
connection master;
echo [on master];
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_flush_logs.test b/mysql-test/suite/rpl/t/rpl_flush_logs.test
index 5159acaae14..6e9de634157 100644
--- a/mysql-test/suite/rpl/t/rpl_flush_logs.test
+++ b/mysql-test/suite/rpl/t/rpl_flush_logs.test
@@ -24,23 +24,16 @@ sync_slave_with_master;
--echo # Make sure relay logs was not be flushed
--echo # after execute 'flush error logs' statement.
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
-
-
-# Test 'flush relay logs' statement.
---echo # Make sure the 'slave-relay-bin.000004' file does not
---echo # exist before execute 'flush relay logs' statement.
---error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000003;
connection master;
--echo # Test if support 'flush relay logs' statement.
flush relay logs;
sync_slave_with_master;
---echo # Check the 'slave-relay-bin.000004' file is created
+--echo # Check the 'slave-relay-bin.000003' file is created
--echo # after executed 'flush relay logs' statement.
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000003;
connection master;
--echo # Make sure binary logs was not be flushed
@@ -96,10 +89,10 @@ file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000001;
# Test 'flush error logs, relay logs' statement
sync_slave_with_master;
---echo # Make sure the 'slave-relay-bin.000007' file does not exist
+--echo # Make sure the 'slave-relay-bin.000006' file does not exist
--echo # exist before execute 'flush error logs, relay logs' statement.
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;
connection master;
@@ -114,19 +107,19 @@ file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;
sync_slave_with_master;
---echo # Check the 'slave-relay-bin.000007' file is created after
+--echo # Check the 'slave-relay-bin.000006' file is created after
--echo # execute 'flush error logs, relay logs' statement.
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;
# Test 'flush logs' statement
---echo # Make sure the 'slave-relay-bin.000008' and 'slave-relay-bin.000009'
---echo # files do not exist before execute 'flush error logs, relay logs'
+--echo # Make sure the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
+--echo # files do not exist before execute 'flush error logs, relay logs'
--echo # statement.
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
--error 1
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000009;
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
connection master;
@@ -140,8 +133,9 @@ file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;
sync_slave_with_master;
---echo # Check the 'slave-relay-bin.000008' and 'slave-relay-bin.000009'
+--echo # Check the 'slave-relay-bin.000007' and 'slave-relay-bin.000008'
--echo # files are created after execute 'flush logs' statement.
+file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000007;
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000008;
-file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000009;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt b/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt
index ad7fd508afe..3b5d41d4261 100644
--- a/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt
+++ b/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt
@@ -1 +1 @@
---max_binlog_size=1M --relay-log=$MYSQLTEST_VARDIR/mysqld.1/data/relay-log
+--max_binlog_size=1M
diff --git a/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh b/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh
deleted file mode 100644
index a321dd690cd..00000000000
--- a/mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-rm -f $MYSQLTEST_VARDIR/slave-data/*-bin.*
-rm -f $MYSQLTEST_VARDIR/slave-data/master.info
-rm -f $MYSQLTEST_VARDIR/slave-data/*.index
-
-
diff --git a/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt b/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt
index c8d2f85bcb7..3b5d41d4261 100644
--- a/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt
@@ -1 +1 @@
---max_binlog_size=1M --relay-log=$MYSQLTEST_VARDIR/mysqld.2/data/relay-log
+--max_binlog_size=1M
diff --git a/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh b/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh
deleted file mode 100644
index e46ea6d400b..00000000000
--- a/mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -f $MYSQLTEST_VARDIR/master-data/master.info
-rm -f $MYSQLTEST_VARDIR/master-data/*-bin.*
-rm -f $MYSQLTEST_VARDIR/master-data/*.index
-
diff --git a/mysql-test/suite/rpl/t/rpl_flushlog_loop.test b/mysql-test/suite/rpl/t/rpl_flushlog_loop.test
index 76cd73ba9e0..d5d362bac0f 100644
--- a/mysql-test/suite/rpl/t/rpl_flushlog_loop.test
+++ b/mysql-test/suite/rpl/t/rpl_flushlog_loop.test
@@ -1,37 +1,12 @@
# Testing if "flush logs" command bouncing resulting in logs created in a loop
# in case of bi-directional replication
--- source include/master-slave.inc
-# Use wait_for_slave_to_(start|stop) for current connections
-let $keep_connection= 1;
+--let $rpl_topology= 1->2->1
+--source include/rpl_init.inc
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR/
show variables like 'relay_log%';
-connection slave;
---disable_warnings
-stop slave;
---source include/wait_for_slave_to_stop.inc
---enable_warnings
---replace_result $MASTER_MYPORT MASTER_PORT
-eval change master to master_host='127.0.0.1',master_user='root',
- master_password='',master_port=$MASTER_MYPORT;
-start slave;
---source include/wait_for_slave_to_start.inc
-#
-# Start replication slave -> master
-#
-connection master;
---disable_warnings
-stop slave;
---source include/wait_for_slave_to_stop.inc
---enable_warnings
---replace_result $SLAVE_MYPORT SLAVE_PORT
-eval change master to master_host='127.0.0.1',master_user='root',
- master_password='',master_port=$SLAVE_MYPORT;
-
-source include/start_slave.inc;
-
#
# Flush logs of slave
#
@@ -43,16 +18,16 @@ source include/start_slave.inc;
CREATE TABLE t1 (a INT KEY) ENGINE= MyISAM;
let $wait_binlog_event= CREATE TABLE t1;
--source include/wait_for_binlog_event.inc
-sync_slave_with_master;
+sync_slave_with_master server_2;
-connection master;
+connection server_1;
INSERT INTO t1 VALUE(1);
FLUSH LOGS;
-sync_slave_with_master;
+sync_slave_with_master server_2;
INSERT INTO t1 VALUE(2);
let $slave_param_value= query_get_value(SHOW MASTER STATUS, Position, 1);
-sync_slave_with_master master;
+sync_slave_with_master server_1;
#
# Check that the master server's slave threads are still running and show
@@ -63,7 +38,9 @@ sync_slave_with_master master;
--source include/show_slave_status.inc
--disable_query_log
-connection master;
+connection server_1;
DROP TABLE t1;
-sync_slave_with_master;
+sync_slave_with_master server_2;
--enable_query_log
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test b/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test
index d085bff2012..ce28c0334ec 100644
--- a/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_foreign_key_innodb.test
@@ -1,10 +1,3 @@
-###################################
-# Wrapper for rpl_foreign_key.test#
-###################################
-# Change Author: JBM
-# Change Date: 2006-01-17
-# Change: FK not supported, skip test when NDB is forced
-####################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=INNODB;
diff --git a/mysql-test/suite/rpl/t/rpl_free_items.test b/mysql-test/suite/rpl/t/rpl_free_items.test
index 043e84160b8..581409cfc10 100644
--- a/mysql-test/suite/rpl/t/rpl_free_items.test
+++ b/mysql-test/suite/rpl/t/rpl_free_items.test
@@ -20,3 +20,4 @@ drop table t2;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_geometry.test b/mysql-test/suite/rpl/t/rpl_geometry.test
index eac98924b98..769c49c96b1 100644
--- a/mysql-test/suite/rpl/t/rpl_geometry.test
+++ b/mysql-test/suite/rpl/t/rpl_geometry.test
@@ -23,4 +23,4 @@ sync_slave_with_master;
connection master;
drop table t1, t2;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_get_lock.test b/mysql-test/suite/rpl/t/rpl_get_lock.test
index b4ca57ce541..b5c08858055 100644
--- a/mysql-test/suite/rpl/t/rpl_get_lock.test
+++ b/mysql-test/suite/rpl/t/rpl_get_lock.test
@@ -22,9 +22,7 @@ while ($1)
dec $1;
}
enable_query_log;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
select get_lock("lock",3);
select * from t1;
# There is no point in testing REPLICATIION of the IS_*_LOCK
@@ -41,8 +39,9 @@ select is_free_lock("lock2");
select is_free_lock(NULL);
connection master1;
drop table t1;
-save_master_pos;
-connection slave;
-sync_with_master;
+sync_slave_with_master;
+
+
+--source include/rpl_end.inc
# End of 4.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test b/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
index 60765581faf..01247fefd64 100644
--- a/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
+++ b/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
@@ -7,12 +7,6 @@
# So they can't be verified by test case here.
# Finish the following tests by calling its common test script:
# extra/rpl_tests/rpl_get_master_version_and_clock.test.
-# And meanwhile this test checks that the slave I/O thread refuses to start if slave
-# and master have the same server id (because this is a useless setup,
-# and otherwise SHOW SLAVE STATUS shows progress but all queries are
-# ignored, which has caught our customers), unless
-# --replicate-same-server-id.
-#
source include/master-slave.inc;
source include/have_debug.inc;
@@ -48,20 +42,6 @@ source extra/rpl_tests/rpl_get_master_version_and_clock.test;
eval set global debug= '$debug_saved';
-#Test case 3: This test checks that the slave I/O thread refuses to start
-#if slave and master have the same server id.
-connection slave;
-reset master;
-# replicate ourselves
-source include/stop_slave.inc;
---replace_result $SLAVE_MYPORT SLAVE_PORT
-eval change master to master_port=$SLAVE_MYPORT;
-start slave;
-
---echo *** must be having the replicate-same-server-id IO thread error ***
-let $slave_io_errno= 1593;
-let $show_slave_io_error= 1;
-source include/wait_for_slave_io_error.inc;
# cleanup
@@ -69,3 +49,4 @@ source include/wait_for_slave_io_error.inc;
SET DEBUG_SYNC= 'RESET';
# End of tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_grant.test b/mysql-test/suite/rpl/t/rpl_grant.test
index 6fbdafc0f9c..1091e5aab0d 100644
--- a/mysql-test/suite/rpl/t/rpl_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_grant.test
@@ -36,3 +36,5 @@ sync_slave_with_master;
--echo **** On Slave ****
SELECT user,host FROM mysql.user WHERE user like 'dummy%';
SELECT COUNT(*) FROM mysql.user WHERE user like 'dummy%';
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat-master.opt b/mysql-test/suite/rpl/t/rpl_heartbeat-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat.test b/mysql-test/suite/rpl/t/rpl_heartbeat.test
index 59c3e10915e..92bf10eb741 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat.test
@@ -142,7 +142,7 @@ source include/check_slave_param.inc;
let $slave_wait_param_counter= 300;
let $slave_value= query_get_value("SHOW STATUS like 'Slave_received_heartbeats'", Value, 1);
# Checking the fact that at least one heartbeat is received
-while (`select $slave_value = 0`)
+while (!$slave_value)
{
dec $slave_wait_param_counter;
if (!$slave_wait_param_counter)
@@ -165,5 +165,6 @@ drop table t1;
sync_slave_with_master;
set @@global.slave_net_timeout= @restore_slave_net_timeout;
+--source include/stop_slave.inc
--echo End of tests
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.cnf b/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.cnf
index a3ed77c8bd2..f24de9ab8b8 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.cnf
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.cnf
@@ -1,17 +1,12 @@
!include ../my.cnf
[mysqld.1]
-server_id=1
+log-slave-updates
[mysqld.2]
-server_id=2
+log-slave-updates
[mysqld.3]
-server_id=3
[ENV]
-SLAVE_MYPORT1= @mysqld.3.port
-SLAVE_MYSOCK1= @mysqld.3.socket
-
-
-
+SERVER_MYPORT_3= @mysqld.3.port
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.test b/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.test
index 81737feea9e..6bdd2bbee63 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.test
@@ -4,98 +4,91 @@
# Purpose: Testing heartbeat for schema
# 1 master and 2 slaves
#############################################################
---source include/master-slave.inc
---echo
+--let $rpl_topology= 1->2,1->3
+--source include/rpl_init.inc
---echo *** Preparing ***
---connection master
-let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
---connection slave
---echo [on slave]
+--let $rpl_connection_name= master
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= slave_1
+--let $rpl_server_number= 2
+--source include/rpl_connect.inc
+
+--let $rpl_connection_name= slave_2
+--let $rpl_server_number= 3
+--source include/rpl_connect.inc
+
+#
+# Set different heartbeat periods for slaves
+#
+--connection slave_1
--source include/stop_slave.inc
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_PORT $binlog_file MASTER_BINLOG
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1, MASTER_LOG_FILE='$binlog_file';
+CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD = 0.1;
--source include/start_slave.inc
---disconnect slave1
---connect(slave1,127.0.0.1,root,,test,$SLAVE_MYPORT1,)
---connection slave1
---echo [on slave1]
---disable_warnings
-STOP SLAVE;
---enable_warnings
-RESET SLAVE;
---replace_result $MASTER_MYPORT MASTER_PORT $binlog_file MASTER_BINLOG
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=1, MASTER_LOG_FILE='$binlog_file';
+--connection slave_2
+--source include/stop_slave.inc
+CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD = 1;
--source include/start_slave.inc
---echo
#
-# Testing heartbeat
+# Testing heartbeat for one master and two slaves
#
# Check that heartbeat events sent to both slaves with correct periods
---echo *** 2 slaves ***
---connection slave
+--connection slave_1
let $status_var= slave_received_heartbeats;
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
--echo Slave has received heartbeat event
---connection slave1
+--connection slave_2
let $status_var= slave_received_heartbeats;
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
-let $slave1_rcvd_heartbeats= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
---echo Slave1 has received heartbeat event
---connection slave
-let $slave_rcvd_heartbeats= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
-let $result= query_get_value(SELECT ($slave_rcvd_heartbeats DIV $slave1_rcvd_heartbeats) > 1 AS Result, Result, 1);
---echo Slave has received more heartbeats than Slave1 (1 means 'yes'): $result
+--let $assert_cond= [slave_1:SHOW STATUS LIKE "slave_received_heartbeats", Value, 1] > [slave_2:SHOW STATUS LIKE "slave_received_heartbeats", Value, 1]
+--let $assert_text= slave_1 should have received more heartbeats than slave_2
+--source include/assert.inc
--echo
+# Create topology master->slave_2->slave_1 and check that slave_1
+# receives heartbeat while slave_2 gets data.
+
+# slave_2 was started w/o --log-slave-updates because slave_2 should
+# not send data from master to slave_1
-# Create topology A->B->C and check that C receives heartbeat while B gets data
-# Slave1 (B) started w/o --log-slave-updates because B should not send data from A to C
---echo *** Master->data->Slave1->heartbeat->Slave: ***
---connection slave1
---echo [on slave1]
-RESET MASTER;
-let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
---connection slave
---echo [on slave]
+--source include/rpl_stop_slaves.inc
+--let $rpl_topology= 1->3->2
+--source include/rpl_change_topology.inc
+--source include/rpl_start_slaves.inc
+--connection slave_1
--source include/stop_slave.inc
-RESET SLAVE;
---replace_result $SLAVE_MYPORT1 SLAVE1_PORT $binlog_file SLAVE1_BINLOG
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SLAVE_MYPORT1, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.2, MASTER_LOG_FILE='$binlog_file';
+CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=0.1;
--source include/start_slave.inc
-# Check heartbeat for new replication channel slave1->slave
+
+# Check heartbeat for new replication channel slave_2->slave
let $status_var= slave_received_heartbeats;
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
---echo Slave has received heartbeat event
+--echo slave_1 has received heartbeat event
--connection master
--echo [on master]
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT);
INSERT INTO t1 VALUES (1, 'on master', '');
---save_master_pos
SHOW TABLES;
---connection slave1
---sync_with_master 0
---echo [on slave1]
+--echo [on slave_2]
+--sync_slave_with_master slave_2
SHOW TABLES;
-let $slave_pos_before= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
---save_master_pos
---connection slave
---sync_with_master 0
---echo [on slave]
+let $slave_2_pos_before= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
+--echo [on slave_1]
+--sync_slave_with_master slave_1
SHOW TABLES;
--connection master
--echo [on master]
---echo creating updates on master and send to slave1 during 5 second
-# Generate events on master and send to slave1 during 5 second
+--echo creating updates on master and send to slave_2 during 5 second
+# Generate events on master and send to slave_2 during 5 second
let $i= 1;
let $j= 1;
let $k= 1;
@@ -103,17 +96,15 @@ let $k= 1;
while ($i) {
eval SET @c_text=REPEAT('1234567890', $j);
eval UPDATE t1 SET a=$j, c=@c_text;
- --connection slave1
- let $slave_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
- if (`SELECT ($k*($slave_pos - $slave_pos_before)) > 0`) {
- --connection slave
- let $slave_rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
+ --connection slave_2
+ let $slave_2_pos= query_get_value(SHOW SLAVE STATUS, Read_Master_Log_Pos, 1);
+ if (`SELECT ($k*($slave_2_pos - $slave_2_pos_before)) > 0`) {
+ --connection slave_1
+ let $slave_1_rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $k= 0;
let $time_before = `SELECT NOW()`;
}
if (`SELECT ((1-$k)*TIMESTAMPDIFF(SECOND,'$time_before',NOW())) > 5`) {
- --connection slave
- let $slave_rcvd_heartbeats_after= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $i= 0;
}
--connection master
@@ -121,10 +112,11 @@ while ($i) {
sleep 0.1;
}
--enable_query_log
---connection slave
---echo [on slave]
-let $result= query_get_value(SELECT ($slave_rcvd_heartbeats_after - $slave_rcvd_heartbeats_before) > 0 AS Result, Result, 1);
---echo Slave has received heartbeats (1 means 'yes'): $result
+--connection slave_1
+--echo [on slave_1]
+--let $assert_cond= [SHOW STATUS LIKE "slave_received_heartbeats", Value, 1] > $slave_1_rcvd_heartbeats_before
+--let $assert_text= slave_1 should have received heartbeats
+--source include/assert.inc
--echo
#
@@ -133,10 +125,5 @@ let $result= query_get_value(SELECT ($slave_rcvd_heartbeats_after - $slave_rcvd_
--echo *** Clean up ***
--connection master
DROP TABLE t1;
---save_master_pos
---connection slave1
---sync_with_master 0
---echo
-# End of 6.0 test
---echo End of 6.0 test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
index 1f8ce4c1d78..b9a170c5bc1 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
@@ -18,6 +18,9 @@
--source include/have_binlog_format_mixed.inc
--echo
+# Set number of retries to connect to master
+let $connect_retry= 20;
+
--echo *** Preparing ***
--connection slave
--source include/stop_slave.inc
@@ -57,7 +60,7 @@ RESET SLAVE;
SET @@global.slave_net_timeout=30;
--enable_warnings
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=5;
RESET SLAVE;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
--echo
@@ -68,7 +71,7 @@ SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SET @@global.slave_net_timeout=50;
--enable_warnings
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root';
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
RESET SLAVE;
@@ -88,7 +91,7 @@ RESET SLAVE;
let $slave_net_timeout= query_get_value(SHOW VARIABLES LIKE 'slave_net_timeout', Value, 1);
inc $slave_net_timeout;
--replace_result $MASTER_MYPORT MASTER_PORT $slave_net_timeout SLAVE_NET_TIMEOUT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=$slave_net_timeout;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=$slave_net_timeout;
RESET SLAVE;
--echo
@@ -98,7 +101,7 @@ RESET SLAVE;
SET @@global.slave_net_timeout=20;
--enable_warnings
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=5;
SHOW VARIABLES LIKE 'slave_net_timeout';
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SET @@global.slave_net_timeout=2*@@global.slave_net_timeout;
@@ -118,9 +121,10 @@ SET @@global.slave_net_timeout=500;
SET @@global.slave_net_timeout=200;
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root';
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry;
--source include/start_slave.inc
---sync_with_master
+--connection master
+--sync_slave_with_master
SHOW VARIABLES LIKE 'slave_net_timeout';
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
@@ -137,9 +141,10 @@ SET @@global.slave_net_timeout=@restore_slave_net_timeout;
SET @@global.slave_net_timeout=100;
--enable_warnings
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=20;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=20;
--source include/start_slave.inc
---sync_with_master
+--connection master
+--sync_slave_with_master
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
--source include/stop_slave.inc
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
@@ -152,18 +157,9 @@ SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SET @@global.slave_net_timeout=50;
--enable_warnings
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=30;
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
---echo Reload slave
---shutdown_server 10
---source include/wait_until_disconnected.inc
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-restart
-EOF
---enable_reconnect
---source include/wait_until_connected_again.inc
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=30;
+--let $rpl_server_number= 2
+--source include/rpl_restart_server.inc
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SET @restore_slave_net_timeout=@@global.slave_net_timeout;
--echo
@@ -171,11 +167,12 @@ SET @restore_slave_net_timeout=@@global.slave_net_timeout;
# Disable heartbeat
--echo *** Disable heartbeat ***
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SHOW STATUS LIKE 'slave_received_heartbeats';
--source include/start_slave.inc
---sync_with_master
+--connection master
+--sync_slave_with_master
--sleep 2
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
SHOW STATUS LIKE 'slave_received_heartbeats';
@@ -194,48 +191,48 @@ let $slave_heartbeat_timeout= query_get_value(SHOW GLOBAL STATUS LIKE 'slave_hea
--echo *** Min slave_heartbeat_timeout ***
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.001;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.001;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.0009;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.0009;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
RESET SLAVE;
--echo
--echo *** Max slave_heartbeat_timeout ***
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294967;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=4294967;
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294968;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=4294968;
RESET SLAVE;
# Check double size of max allowed value for master_heartbeat_period
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=8589935;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=8589935;
RESET SLAVE;
# Check 2^32
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294967296;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=4294967296;
RESET SLAVE;
--echo
--echo *** Misc incorrect values ***
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_PARSE_ERROR
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='-1';
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD='-1';
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_PARSE_ERROR
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='123abc';
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD='123abc';
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
--error ER_PARSE_ERROR
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='';
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD='';
RESET SLAVE;
--echo
@@ -246,9 +243,10 @@ RESET SLAVE;
# Check received heartbeat events for running slave
--echo *** Running slave ***
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.1;
--source include/start_slave.inc
---sync_with_master
+--connection master
+--sync_slave_with_master
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var= slave_received_heartbeats;
let $status_var_comparsion= >;
@@ -276,8 +274,7 @@ let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbea
# Check received heartbeat events for stopped IO thread
--echo *** Stopped IO thread ***
-STOP SLAVE IO_THREAD;
---source include/wait_for_slave_io_to_stop.inc
+--source include/stop_slave_io.inc
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
sleep 2;
let $rcvd_heartbeats_after= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -296,8 +293,7 @@ let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbea
# Check received heartbeat events for stopped SQL thread
--echo *** Stopped SQL thread ***
-STOP SLAVE SQL_THREAD;
---source include/wait_for_slave_sql_to_stop.inc
+--source include/stop_slave_sql.inc
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
sleep 2;
let $rcvd_heartbeats_after= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -323,6 +319,8 @@ INSERT INTO t1 VALUES (1, 'on slave', NULL);
--connection master
INSERT INTO t1 VALUES (1, 'on master', NULL);
--connection slave
+call mtr.add_suppression("Slave SQL.*Duplicate entry .1. for key .PRIMARY.. on query.* Error_code: 1062");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
let $slave_errno= ER_DUP_ENTRY
--source include/wait_for_slave_sql_error.inc
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -349,14 +347,13 @@ DELIMITER ;|
--connection slave
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=5;
--source include/start_slave.inc
--connection master
# Enable scheduler
SET @@global.event_scheduler=1;
---connection slave
+--sync_slave_with_master
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
---sync_with_master
# Wait some updates for table t1 from master
let $wait_condition= SELECT COUNT(*)=1 FROM t1 WHERE a > 5;
--source include/wait_condition.inc
@@ -382,7 +379,7 @@ DROP TABLE t1;
RESET MASTER;
--connection slave
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.5;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.5;
let $slave_param_comparison= =;
--source include/start_slave.inc
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -409,7 +406,7 @@ SET @@global.slave_compressed_protocol=1;
RESET SLAVE;
SET @@global.slave_compressed_protocol=1;
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.1;
--source include/start_slave.inc
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var= slave_received_heartbeats;
@@ -428,7 +425,7 @@ SET @@global.slave_compressed_protocol=0;
STOP SLAVE;
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.1;
--source include/start_slave.inc
let $rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
--connection master
@@ -447,7 +444,7 @@ let $result= query_get_value(SELECT ($rcvd_heartbeats_after - $rcvd_heartbeats_b
STOP SLAVE;
RESET SLAVE;
--replace_result $MASTER_MYPORT MASTER_PORT
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
+eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=0.1;
--source include/start_slave.inc
# Wait until slave_received_heartbeats will be incremented
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -455,21 +452,11 @@ let $status_var= slave_received_heartbeats;
let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
--echo Heartbeat event received
---connection master
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
---echo Reload master
---shutdown_server 10
---source include/wait_until_disconnected.inc
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
---enable_reconnect
---source include/wait_until_connected_again.inc
---connection slave
+--let $rpl_server_number= 1
+--source include/rpl_restart_server.inc
# make sure IO thread has re-connected
# due to slow valgrind env the following wait_for_status may time out
+--let $rpl_allow_error= 1
--source include/wait_for_slave_io_to_start.inc
# Wait until slave_received_heartbeats will be incremented
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
@@ -482,13 +469,17 @@ let $status_var_comparsion= >;
# Circular replication: demonstrating bidirectional hearbeat flow
--echo *** Circular replication ***
# Configure circular replication
---source include/master-slave-reset.inc
---connection slave
+--source include/rpl_reset.inc
--source include/stop_slave.inc
-let $slave_binlog= query_get_value(SHOW MASTER STATUS, File, 1);
+--let $rpl_topology= 1->2->1
+--source include/rpl_change_topology.inc
+
+#--connection slave
+#--source include/stop_slave.inc
+#let $slave_binlog= query_get_value(SHOW MASTER STATUS, File, 1);
--connection master
---replace_result $SLAVE_MYPORT SLAVE_PORT $slave_binlog SLAVE_BINLOG
-eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SLAVE_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=1, MASTER_LOG_FILE='$slave_binlog';
+#--replace_result $SLAVE_MYPORT SLAVE_PORT $slave_binlog SLAVE_BINLOG
+#eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SLAVE_MYPORT, MASTER_USER='root', MASTER_CONNECT_RETRY=$connect_retry, MASTER_HEARTBEAT_PERIOD=1, MASTER_LOG_FILE='$slave_binlog';
--source include/start_slave.inc
# Insert data on master and on slave and make sure that it replicated for both directions
@@ -501,9 +492,7 @@ CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=0.1;
--source include/start_slave.inc
--sync_with_master
INSERT INTO t1 VALUES(2, 'on slave');
---save_master_pos
---connection master
---sync_with_master
+--sync_slave_with_master master
SELECT * FROM t1 ORDER BY a;
let $master_rcvd_heartbeats_before= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
--connection slave
@@ -531,12 +520,10 @@ let $slave_rcvd_heartbeats= query_get_value(SHOW STATUS LIKE 'slave_received_hea
#
--echo *** Clean up ***
--connection master
---source include/stop_slave.inc
+#--source include/stop_slave.inc
DROP TABLE t1;
--sync_slave_with_master
---source include/stop_slave.inc
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
---echo
-# End of tests
---echo End of tests
+#--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_heartbeat_ssl.test b/mysql-test/suite/rpl/t/rpl_heartbeat_ssl.test
index 6460b157b52..810db4cc6f7 100644
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_ssl.test
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_ssl.test
@@ -46,9 +46,11 @@ let $status_var_comparsion= >;
# Clean up
#
--echo *** Clean up ***
---connection master
---sync_slave_with_master
---echo
-
-# End of 6.0 test
---echo End of 6.0 test
+--source include/stop_slave.inc
+CHANGE MASTER TO
+ MASTER_SSL=0,
+ MASTER_SSL_CA='',
+ MASTER_SSL_CERT='',
+ MASTER_SSL_KEY='';
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_idempotency.test b/mysql-test/suite/rpl/t/rpl_idempotency.test
index a1931ce9b60..c229711e005 100644
--- a/mysql-test/suite/rpl/t/rpl_idempotency.test
+++ b/mysql-test/suite/rpl/t/rpl_idempotency.test
@@ -4,9 +4,10 @@
source include/master-slave.inc;
# Add suppression for expected warning(s) in slaves error log
-call mtr.add_suppression("Slave: Can't find record in 't.' Error_code: 1032");
-call mtr.add_suppression("Slave: Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Slave: Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+call mtr.add_suppression("Slave SQL.*Can.t find record in .t[12].* Error_code: 1032");
+call mtr.add_suppression("Slave SQL.*Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
+call mtr.add_suppression("Slave SQL.*Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
connection master;
CREATE TABLE t1 (a INT PRIMARY KEY);
@@ -34,10 +35,7 @@ SELECT * FROM t2 ORDER BY a;
sync_slave_with_master;
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
-let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
-disable_query_log;
-eval SELECT "$last_error" AS Last_SQL_Error;
-enable_query_log;
+--source include/check_slave_no_error.inc
# An insert of a row that already exists. Since we are replacing the
# row if it already exists, the most apropriate representation is
@@ -50,10 +48,7 @@ INSERT IGNORE INTO t1 VALUES (-2);
SELECT * FROM t1 ORDER BY a;
sync_slave_with_master;
SELECT * FROM t1 ORDER BY a;
-let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
-disable_query_log;
-eval SELECT "$last_error" AS Last_SQL_Error;
-enable_query_log;
+--source include/check_slave_no_error.inc
# BUG#19958: RBR idempotency issue for UPDATE and DELETE
@@ -78,13 +73,12 @@ SELECT * FROM t2 ORDER BY a;
sync_slave_with_master;
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
-let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
-disable_query_log;
-eval SELECT "$last_error" AS Last_SQL_Error;
-enable_query_log;
+--source include/check_slave_no_error.inc
connection master;
DROP TABLE t1, t2;
sync_slave_with_master;
SET @@global.slave_exec_mode= @old_slave_exec_mode;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_grant.test b/mysql-test/suite/rpl/t/rpl_ignore_grant.test
index 2e6e2ce9a31..34074ba8ca9 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_grant.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_grant.test
@@ -57,3 +57,4 @@ delete from mysql.db where user=_binary'rpl_ignore_grant';
flush privileges;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_revoke.test b/mysql-test/suite/rpl/t/rpl_ignore_revoke.test
index 00171605a92..db20e807afc 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_revoke.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_revoke.test
@@ -49,3 +49,4 @@ sync_slave_with_master;
# Since changes to mysql.* are ignored, the revoke need to
# be done on slave as well
delete from mysql.user where user="user_foo";
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_table.test b/mysql-test/suite/rpl/t/rpl_ignore_table.test
index 15c4b193669..233206c4135 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_table.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_table.test
@@ -127,6 +127,7 @@ show grants for mysqltest4@localhost;
# where mysqltest1 does not exist on slave,
# to succeed on slave the mode is temporarily changed
set global slave_exec_mode='IDEMPOTENT';
+call mtr.add_suppression("Slave SQL.*Could not execute Delete_rows event on table mysql.* Error_code: 1032");
connection master;
drop table t1, mysqltest2.t2;
@@ -176,3 +177,6 @@ SELECT * FROM tmptbl504451f4258$1;
connection master;
DROP TABLE t5;
sync_slave_with_master;
+
+--source include/rpl_end.inc
+--source include/force_restart.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ignore_table_update.test b/mysql-test/suite/rpl/t/rpl_ignore_table_update.test
index fe030f90411..840052e2f25 100644
--- a/mysql-test/suite/rpl/t/rpl_ignore_table_update.test
+++ b/mysql-test/suite/rpl/t/rpl_ignore_table_update.test
@@ -36,3 +36,4 @@ sync_with_master;
drop table mysqltest_foo,mysqltest_bar,t1;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_incident.test b/mysql-test/suite/rpl/t/rpl_incident.test
index 08096d03c11..d6034009f4f 100644
--- a/mysql-test/suite/rpl/t/rpl_incident.test
+++ b/mysql-test/suite/rpl/t/rpl_incident.test
@@ -15,6 +15,7 @@ SELECT * FROM t1;
connection slave;
# Wait until SQL thread stops with error LOST_EVENT on master
+call mtr.add_suppression("Slave SQL.*The incident LOST_EVENTS occured on the master.* 1590");
let $slave_sql_errno= 1590;
let $show_slave_sql_error= 1;
source include/wait_for_slave_sql_error.inc;
@@ -37,3 +38,4 @@ source include/check_slave_is_running.inc;
connection master;
DROP TABLE t1;
--sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_init_slave.test b/mysql-test/suite/rpl/t/rpl_init_slave.test
index 58d1f6bdc01..1803b146819 100644
--- a/mysql-test/suite/rpl/t/rpl_init_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_init_slave.test
@@ -25,10 +25,10 @@ set global init_connect="set @c=1";
show variables like 'init_connect';
connection master;
sync_slave_with_master;
-source include/stop_slave.inc;
# Restore changed global variable
set global init_connect= @my_global_init_connect;
set global max_connections= default;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_init_slave_errors.test b/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
index 180821730ec..4dab13856d4 100644
--- a/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
@@ -53,11 +53,12 @@ start slave;
# slave is going to stop because of emulated failures
# but there won't be any crashes nor asserts hit.
#
-source include/wait_for_slave_to_stop.inc;
+# 1593 = ER_SLAVE_FATAL_ERROR
+--let $slave_sql_errno= 1593
+--let $show_slave_sql_error= 1
+--source include/wait_for_slave_sql_error.inc
-let $error= query_get_value(SHOW SLAVE STATUS, Last_Error, 1);
-echo Reporting the following error: $error;
-call mtr.add_suppression("Failed during slave I/O thread initialization");
+call mtr.add_suppression("Failed during slave.* thread initialization");
SET GLOBAL debug= "";
@@ -66,22 +67,23 @@ SET GLOBAL debug= "";
######################################################################
connection slave;
---disable_warnings
-stop slave;
---enable_warnings
-source include/wait_for_slave_to_stop.inc;
-
reset slave;
SET GLOBAL init_slave= "garbage";
start slave;
-source include/wait_for_slave_sql_to_stop.inc;
-
-let $error= query_get_value(SHOW SLAVE STATUS, Last_Error, 1);
-echo Reporting the following error: $error;
+# 1064 = ER_PARSE_ERROR
+--let $slave_sql_errno= 1064
+--let $show_slave_sql_error= 1
+--source include/wait_for_slave_sql_error.inc
######################################################################
# Clean up
######################################################################
SET GLOBAL init_slave= "";
+
+# Clean up Last_SQL_Error
+--source include/stop_slave_io.inc
+RESET SLAVE;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
index a9cd6b15b6e..782c01ec04f 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
@@ -151,4 +151,4 @@ DROP TABLE test.regular_tbl;
DROP TABLE test.bykey_tbl;
DROP TABLE test.byrange_tbl;
---source include/master-slave-end.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test b/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
index 4311328b064..9bfce61804b 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
@@ -62,5 +62,5 @@ connection master;
DROP PROCEDURE test.proc_norm;
DROP TABLE test.regular_tbl;
---source include/master-slave-end.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test b/mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test
index 6eb9c7075e4..5147e67c160 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test
@@ -1,6 +1,4 @@
#########################################
-# Author: Serge Kozlov skozlov@mysql.com
-# Date: 07/10/2006
# Purpose: testing the replication in mixed mode
# Requirements: define binlog format for mysqld as in example below:
# ./mysql-test-run.pl --mysqld=--binlog-format=mixed
@@ -8,7 +6,4 @@
--source include/have_binlog_format_mixed.inc
--source include/have_innodb.inc
let $engine_type= innodb;
-
--source suite/rpl/include/rpl_mixed_ddl.inc
-
-# End 5.1 Test Case
diff --git a/mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test b/mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test
index d48e847a6c8..d04ced0f476 100644
--- a/mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test
+++ b/mysql-test/suite/rpl/t/rpl_innodb_mixed_dml.test
@@ -1,6 +1,4 @@
#########################################
-# Author: Serge Kozlov skozlov@mysql.com
-# Date: 07/10/2006
# Purpose: testing the replication in mixed mode
# Requirements: define binlog format for mysqld as in example below:
# ./mysql-test-run.pl --mysqld=--binlog-format=mixed
@@ -8,7 +6,4 @@
--source include/have_binlog_format_mixed.inc
--source include/have_innodb.inc
let $engine_type= innodb;
-
--source suite/rpl/include/rpl_mixed_dml.inc
-
-# End 5.1 Test Case
diff --git a/mysql-test/suite/rpl/t/rpl_insert.test b/mysql-test/suite/rpl/t/rpl_insert.test
index 6f916fb1f90..2a29139ac48 100644
--- a/mysql-test/suite/rpl/t/rpl_insert.test
+++ b/mysql-test/suite/rpl/t/rpl_insert.test
@@ -42,3 +42,4 @@ connection master;
USE test;
DROP SCHEMA mysqlslap;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_insert_duplicate.test b/mysql-test/suite/rpl/t/rpl_insert_duplicate.test
new file mode 100644
index 00000000000..7dd38a696ae
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_insert_duplicate.test
@@ -0,0 +1,14 @@
+#########################################
+# Wrapper for rpl_insert_duplicate.test #
+#########################################
+-- source include/master-slave.inc
+-- source include/have_innodb.inc
+#-- source include/have_binlog_format_mixed_or_statement.inc
+
+let $engine_type=innodb;
+-- source extra/rpl_tests/rpl_insert_duplicate.test
+
+let $engine_type=myisam;
+-- source extra/rpl_tests/rpl_insert_duplicate.test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_insert_id.test b/mysql-test/suite/rpl/t/rpl_insert_id.test
index 6daecce5843..f2f62a207a0 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_id.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_id.test
@@ -1,12 +1,7 @@
#################################
# Wrapper for rpl_insert_id.test#
#################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_insert_id.test
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
diff --git a/mysql-test/suite/rpl/t/rpl_insert_id_pk.test b/mysql-test/suite/rpl/t/rpl_insert_id_pk.test
index 01f30b78ac5..c0d68855f85 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_id_pk.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_id_pk.test
@@ -1,10 +1,6 @@
#################################
# Wrapper for rpl_insert_id.test#
#################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=innodb;
diff --git a/mysql-test/suite/rpl/t/rpl_insert_ignore.test b/mysql-test/suite/rpl/t/rpl_insert_ignore.test
index 69be49634d0..0346975fcee 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_ignore.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_ignore.test
@@ -7,6 +7,10 @@
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-let $engine_type=innodb;
-let $engine_type2=myisam;
+-- let $engine_type=innodb
-- source extra/rpl_tests/rpl_insert_ignore.test
+
+-- let $engine_type=myisam
+-- source extra/rpl_tests/rpl_insert_ignore.test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_insert_select.test b/mysql-test/suite/rpl/t/rpl_insert_select.test
index 677be526982..23bc7ecd167 100644
--- a/mysql-test/suite/rpl/t/rpl_insert_select.test
+++ b/mysql-test/suite/rpl/t/rpl_insert_select.test
@@ -17,3 +17,4 @@ select * from t1;
connection master;
drop table t1,t2;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_invoked_features.test b/mysql-test/suite/rpl/t/rpl_invoked_features.test
index 74ea8e12a98..7770c36c397 100644
--- a/mysql-test/suite/rpl/t/rpl_invoked_features.test
+++ b/mysql-test/suite/rpl/t/rpl_invoked_features.test
@@ -308,3 +308,4 @@ DROP EVENT IF EXISTS e11;
--sync_slave_with_master slave
# End 5.1 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ip_mix-master.opt b/mysql-test/suite/rpl/t/rpl_ip_mix-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_ip_mix-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_ip_mix.test b/mysql-test/suite/rpl/t/rpl_ip_mix.test
index 0852b3f4ff7..c86e1ba54b7 100644
--- a/mysql-test/suite/rpl/t/rpl_ip_mix.test
+++ b/mysql-test/suite/rpl/t/rpl_ip_mix.test
@@ -35,7 +35,6 @@ connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT);
connection master;
reset master;
source include/show_master_status.inc;
-save_master_pos;
--echo connection slave;
connection slave;
reset slave;
@@ -50,10 +49,6 @@ let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
eval change master to master_host='0:0:0:0:0:0:0:1';
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master-Host: $master_host
---echo disconnect slave;
-disconnect slave;
---echo disconnect master;
-disconnect master;
---echo connection default;
-connection default;
+# clean up
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/t/rpl_ip_mix2-master.opt b/mysql-test/suite/rpl/t/rpl_ip_mix2-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_ip_mix2-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_ip_mix2.test b/mysql-test/suite/rpl/t/rpl_ip_mix2.test
index 5d687006b76..3c928cffbc6 100644
--- a/mysql-test/suite/rpl/t/rpl_ip_mix2.test
+++ b/mysql-test/suite/rpl/t/rpl_ip_mix2.test
@@ -50,10 +50,6 @@ let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
eval change master to master_host='0:0:0:0:0:0:0:1';
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master-Host: $master_host
---echo disconnect slave;
-disconnect slave;
---echo disconnect master;
-disconnect master;
---echo connection default;
-connection default;
+# clean up
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.test b/mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.test
index ecd5a754fdc..cacf5e187ef 100644
--- a/mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.test
+++ b/mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.test
@@ -66,10 +66,6 @@ let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
eval change master to master_host='0:0000:0000:0:0000:FFFF:127.0.0.1';
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master-Host: $master_host
---echo disconnect slave;
-disconnect slave;
---echo disconnect master;
-disconnect master;
---echo connection default;
-connection default;
+# clean up
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/t/rpl_ipv6.test b/mysql-test/suite/rpl/t/rpl_ipv6.test
index 3eceedfd7a4..c42221445fb 100644
--- a/mysql-test/suite/rpl/t/rpl_ipv6.test
+++ b/mysql-test/suite/rpl/t/rpl_ipv6.test
@@ -52,10 +52,6 @@ let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
eval change master to master_host='0:0:0:0:0:0:0:1';
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master-Host: $master_host
---echo disconnect slave;
-disconnect slave;
---echo disconnect master;
-disconnect master;
---echo connection default;
-connection default;
+# clean up
+CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root';
diff --git a/mysql-test/suite/rpl/t/rpl_killed_ddl.test b/mysql-test/suite/rpl/t/rpl_killed_ddl.test
index 6957289b2d5..eff0392d5de 100644
--- a/mysql-test/suite/rpl/t/rpl_killed_ddl.test
+++ b/mysql-test/suite/rpl/t/rpl_killed_ddl.test
@@ -122,7 +122,7 @@ echo [on master];
# This will block the execution of a statement at the DBUG_SYNC_POINT
# with given lock name
-if (`SELECT '$debug_lock' != ''`)
+if ($debug_lock)
{
disable_query_log;
disable_result_log;
@@ -142,8 +142,8 @@ disable_warnings;
######## DATABASE ########
-let $diff_statement= SELECT schema_name FROM information_schema.schemata
- WHERE schema_name LIKE 'd%' ORDER BY schema_name;
+let $rpl_diff_statement= SELECT schema_name FROM information_schema.schemata
+ WHERE schema_name LIKE \'d%\' ORDER BY schema_name;
send CREATE DATABASE d2;
source include/kill_query_and_diff_master_slave.inc;
@@ -162,9 +162,9 @@ source include/kill_query_and_diff_master_slave.inc;
######## EVENT ########
-let $diff_statement= SELECT event_name, event_body, execute_at
- FROM information_schema.events where event_name like 'e%'
- ORDER BY event_name;
+let $rpl_diff_statement= SELECT event_name, event_body, execute_at
+ FROM information_schema.events where event_name like \'e%\'
+ ORDER BY event_name;
send CREATE EVENT e2
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
@@ -185,7 +185,7 @@ source include/kill_query_and_diff_master_slave.inc;
######## FUNCTION ########
-let $diff_statement= SHOW FUNCTION STATUS LIKE 'f%';
+--let $rpl_diff_statement= SHOW FUNCTION STATUS LIKE \'f%\'
send CREATE FUNCTION f2 () RETURNS INT DETERMINISTIC
RETURN 1;
@@ -214,7 +214,7 @@ source include/kill_query_and_diff_master_slave.inc;
######## PROCEDURE ########
-let $diff_statement= SHOW PROCEDURE STATUS LIKE 'p%';
+--let $rpl_diff_statement= SHOW PROCEDURE STATUS LIKE \'p%\'
DELIMITER //;
send CREATE PROCEDURE p2 (OUT rows INT)
@@ -237,7 +237,7 @@ source include/kill_query_and_diff_master_slave.inc;
######## TABLE ########
-let $diff_statement= SHOW TABLES LIKE 't%';
+--let $rpl_diff_statement= SHOW TABLES LIKE \'t%\'
send CREATE TABLE t2 (b int);
source include/kill_query_and_diff_master_slave.inc;
@@ -250,7 +250,7 @@ source include/kill_query_and_diff_master_slave.inc;
######## INDEX ########
-let $diff_statement= SHOW INDEX FROM t1;
+--let $rpl_diff_statement= SHOW INDEX FROM t1
send CREATE INDEX i2 on t1 (a);
source include/kill_query_and_diff_master_slave.inc;
@@ -263,7 +263,7 @@ source include/kill_query_and_diff_master_slave.inc;
# Tempoarily disabled, see bug#25705
-# let $diff_statement= SELECT * FROM mysql.server WHERE name like 's%';
+# --let $rpl_diff_statement= SELECT * FROM mysql.server WHERE name like \'s%\'
# send CREATE SERVER s2
# FOREIGN DATA WRAPPER mysql
@@ -287,7 +287,7 @@ connection master;
CREATE TABLE IF NOT EXISTS t4 (a int);
connection master1;
-let $diff_statement= SHOW TRIGGERS LIKE 'v%';
+--let $rpl_diff_statement= SHOW TRIGGERS LIKE \'v%\'
DELIMITER //;
send CREATE TRIGGER tr2 BEFORE INSERT ON t4
@@ -306,7 +306,7 @@ source include/kill_query_and_diff_master_slave.inc;
######## VIEW ########
-let $diff_statement= SHOW TABLES LIKE 'v%';
+--let $rpl_diff_statement= SHOW TABLES LIKE \'v%\'
send CREATE VIEW v2 AS SELECT a FROM t1 WHERE a > 100;
source include/kill_query_and_diff_master_slave.inc;
@@ -319,7 +319,7 @@ source include/kill_query_and_diff_master_slave.inc;
######## DROP TABLE ########
-let $diff_statement= SHOW TABLES LIKE 't%';
+--let $rpl_diff_statement= SHOW TABLES LIKE \'t%\'
send DROP TABLE t1;
source include/kill_query_and_diff_master_slave.inc;
@@ -360,3 +360,4 @@ DROP PROCEDURE IF EXISTS p2;
DROP PROCEDURE IF EXISTS p3;
DROP PROCEDURE IF EXISTS p4;
enable_warnings;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test b/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test
index b48698baa47..f4b854eff87 100644
--- a/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test
+++ b/mysql-test/suite/rpl/t/rpl_known_bugs_detection.test
@@ -25,11 +25,12 @@ connection master;
INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10;
SELECT * FROM t1;
connection slave;
---source include/wait_for_slave_sql_to_stop.inc
+
# show the error message
#1105 = ER_UNKNOWN_ERROR
--let $slave_sql_errno= 1105
--let $show_slave_sql_error= 1
+call mtr.add_suppression("Slave SQL.*suffer.*http:..bugs.mysql.com.bug.php.id=24432");
--source include/wait_for_slave_sql_error.inc
# show that it was not replicated
SELECT * FROM t1;
@@ -83,17 +84,25 @@ ON DUPLICATE KEY UPDATE
t1.field_3 = t2.field_c;
SELECT * FROM t1;
connection slave;
---source include/wait_for_slave_sql_to_stop.inc
+
# show the error message
#1105 = ER_UNKNOWN_ERROR
--let $slave_sql_errno= 1105
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc
+
# show that it was not replicated
SELECT * FROM t1;
connection master;
+
+# clean up
drop table t1, t2;
connection slave;
drop table t1, t2;
+# clear error message in sql thread
+--source include/stop_slave_io.inc
+RESET SLAVE;
# End of 5.0 tests
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_load_from_master-slave.opt b/mysql-test/suite/rpl/t/rpl_load_from_master-slave.opt
deleted file mode 100644
index c015c02ba78..00000000000
--- a/mysql-test/suite/rpl/t/rpl_load_from_master-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-wild-do-table=mysqltest.%
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata.test b/mysql-test/suite/rpl/t/rpl_loaddata.test
index d5e0388be46..9f4ca1aaf18 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata.test
@@ -1,7 +1,3 @@
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_binlog_format_statement.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_charset.test b/mysql-test/suite/rpl/t/rpl_loaddata_charset.test
index 3e1bc917a41..bb87ee95913 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_charset.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_charset.test
@@ -46,3 +46,4 @@ source include/rpl_loaddata_charset.inc;
# LOAD DATA LOCAL INFILE
let $LOAD_LOCAL=0;
source include/rpl_loaddata_charset.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test b/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
index b8975308a86..be099c1b6c4 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_fatal.test
@@ -15,6 +15,7 @@ connection master;
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
connection slave;
+call mtr.add_suppression("Slave SQL.*Fatal error: Not enough memory, Error_code: 1593");
let $slave_sql_errno= 1593;
let $show_slave_sql_error= 1;
source include/wait_for_slave_sql_error_and_skip.inc;
@@ -23,3 +24,4 @@ connection master;
DROP TABLE t1;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_m.test b/mysql-test/suite/rpl/t/rpl_loaddata_m.test
index 48451c4aee1..1fe9283ef44 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_m.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_m.test
@@ -48,3 +48,4 @@ DROP TABLE test.t1;
sync_slave_with_master;
# End of test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt b/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
index 831680eb5ef..5fdeb855110 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
@@ -1 +1 @@
---read_buffer_size=12K --max_allowed_packet=8K
+--read_buffer_size=12K --max_allowed_packet=8K --net-buffer-length=8K
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt b/mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
index 95f55bcf7d8..7d404fae240 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
@@ -1 +1 @@
---max_allowed_packet=8K
+--max_allowed_packet=8K --net-buffer-length=8K
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_map.test b/mysql-test/suite/rpl/t/rpl_loaddata_map.test
index 1db7c4a893b..24c8221c20f 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_map.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_map.test
@@ -71,3 +71,4 @@ connection master;
drop table t2;
sync_slave_with_master;
remove_file $MYSQLTEST_VARDIR/tmp/bug30435_5k.txt;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_s.test b/mysql-test/suite/rpl/t/rpl_loaddata_s.test
index 91ebcf058a6..2116796871a 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_s.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_s.test
@@ -24,3 +24,4 @@ source include/show_binlog_events.inc;
connection master;
drop table test.t1;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_simple.test b/mysql-test/suite/rpl/t/rpl_loaddata_simple.test
index 439c2b48ca5..a09d3feec42 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_simple.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_simple.test
@@ -12,3 +12,4 @@ SELECT * FROM t1 ORDER BY word;
connection master;
drop table t1;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_symlink-master.sh b/mysql-test/suite/rpl/t/rpl_loaddata_symlink-master.sh
index 066f72926af..e5bb3e61d11 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_symlink-master.sh
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_symlink-master.sh
@@ -1 +1,2 @@
+rm -f $MYSQLTEST_VARDIR/std_data_master_link
ln -s $MYSQLTEST_VARDIR/std_data $MYSQLTEST_VARDIR/std_data_master_link
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_symlink-slave.sh b/mysql-test/suite/rpl/t/rpl_loaddata_symlink-slave.sh
index 218209a2542..7a0c0bb382a 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_symlink-slave.sh
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_symlink-slave.sh
@@ -1 +1,2 @@
+rm -f $MYSQLTEST_VARDIR/std_data_slave_link
ln -s $MYSQLTEST_VARDIR/std_data $MYSQLTEST_VARDIR/std_data_slave_link
diff --git a/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test b/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test
index 69b481bddd1..c73fa2897f3 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddata_symlink.test
@@ -19,3 +19,4 @@ connection master;
drop table t1;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_loaddatalocal.test b/mysql-test/suite/rpl/t/rpl_loaddatalocal.test
index ed556f3aedf..4ebe572741f 100644
--- a/mysql-test/suite/rpl/t/rpl_loaddatalocal.test
+++ b/mysql-test/suite/rpl/t/rpl_loaddatalocal.test
@@ -151,12 +151,34 @@ eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
--echo [slave]
sync_slave_with_master;
-# cleanup
+--echo
+--echo Bug #59267:
+--echo "LOAD DATA LOCAL INFILE not executed on slave with SBR"
+--echo
---remove_file $MYSQLD_DATADIR/bug43746.sql
+--echo [master]
+connection master;
+--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+eval SELECT * INTO OUTFILE '$MYSQLD_DATADIR/bug59267.sql' FROM t1;
+TRUNCATE TABLE t1;
+
+--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug59267.sql' INTO TABLE t1;
+
+SELECT 'Master', COUNT(*) FROM t1;
+
+--echo [slave]
+--sync_slave_with_master
+SELECT 'Slave', COUNT(*) FROM t1;
+
+# cleanup
--echo [master]
connection master;
+
+--remove_file $MYSQLD_DATADIR/bug43746.sql
+--remove_file $MYSQLD_DATADIR/bug59267.sql
+
DROP TABLE t1;
SET SESSION sql_mode=@old_mode;
@@ -164,3 +186,55 @@ SET SESSION sql_mode=@old_mode;
sync_slave_with_master;
connection master;
+
+--echo
+--echo Bug #60580/#11902767:
+--echo "statement improperly replicated crashes slave sql thread"
+--echo
+
+--echo [master]
+connection master;
+let $MYSQLD_DATADIR= `select @@datadir`;
+
+CREATE TABLE t1(f1 INT, f2 INT);
+CREATE TABLE t2(f1 INT, f2 TIMESTAMP);
+
+INSERT INTO t2 VALUES(1, '2011-03-22 21:01:28');
+INSERT INTO t2 VALUES(2, '2011-03-21 21:01:28');
+INSERT INTO t2 VALUES(3, '2011-03-20 21:01:28');
+
+CREATE TABLE t3 AS SELECT * FROM t2;
+
+CREATE VIEW v1 AS SELECT * FROM t2
+ WHERE f1 IN (SELECT f1 FROM t3 WHERE (t3.f2 IS NULL));
+
+--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+eval SELECT 1 INTO OUTFILE '$MYSQLD_DATADIR/bug60580.csv' FROM DUAL;
+
+--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
+eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug60580.csv' INTO TABLE t1 (@f1) SET f2 = (SELECT f1 FROM v1 WHERE f1=@f1);
+
+SELECT * FROM t1;
+
+sleep 1;
+
+--echo [slave]
+sync_slave_with_master;
+
+SELECT * FROM t1;
+
+--remove_file $MYSQLD_DATADIR/bug60580.csv
+
+--echo [master]
+connection master;
+
+DROP VIEW v1;
+DROP TABLE t1, t2, t3;
+
+--echo [slave]
+sync_slave_with_master;
+
+connection master;
+--source include/rpl_end.inc
+
+--echo # End of 5.1 tests
diff --git a/mysql-test/suite/rpl/t/rpl_loadfile.test b/mysql-test/suite/rpl/t/rpl_loadfile.test
index adb23d2c2bc..ced0054c52c 100644
--- a/mysql-test/suite/rpl/t/rpl_loadfile.test
+++ b/mysql-test/suite/rpl/t/rpl_loadfile.test
@@ -58,8 +58,7 @@
# vii) assert that the contents of master and slave
# table are the same
-connection master;
-source include/reset_master_and_slave.inc;
+--source include/rpl_reset.inc
connection master;
let $file= $MYSQLTEST_VARDIR/tmp/bug_39701.data;
@@ -105,11 +104,12 @@ sync_slave_with_master;
# if the file was removed before the slave started,
# meaning that contents were indeed transfered
# through binlog (in row format)
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
# CLEAN UP
+--connection master
DROP TABLE t1;
DROP PROCEDURE p;
-sync_slave_with_master;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_locale.test b/mysql-test/suite/rpl/t/rpl_locale.test
index 2f2d637e1b4..0d6692dd89c 100644
--- a/mysql-test/suite/rpl/t/rpl_locale.test
+++ b/mysql-test/suite/rpl/t/rpl_locale.test
@@ -22,3 +22,4 @@ sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_log_pos.test b/mysql-test/suite/rpl/t/rpl_log_pos.test
index daf4b9093fe..44837e45715 100644
--- a/mysql-test/suite/rpl/t/rpl_log_pos.test
+++ b/mysql-test/suite/rpl/t/rpl_log_pos.test
@@ -32,9 +32,7 @@ start slave;
let $slave_io_errno= 1236;
let $show_slave_io_error= 1;
source include/wait_for_slave_io_error.inc;
---disable_warnings
-source include/stop_slave.inc;
---enable_warnings
+source include/stop_slave_sql.inc;
connection master;
source include/show_master_status.inc;
@@ -54,3 +52,4 @@ drop table t1;
sync_slave_with_master;
--echo End of 5.0 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_manual_change_index_file.test b/mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
index ecdf10ac2c2..b0d3b23b4e1 100644
--- a/mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
+++ b/mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
@@ -58,10 +58,10 @@ FLUSH LOGS;
# error to slave.
call mtr.add_suppression('Got fatal error 1236 from master when reading data from binary log: .*could not find next log');
connection slave;
-source include/wait_for_slave_io_to_stop.inc;
-let $last_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
-echo Last_IO_Error;
-echo $last_error;
+# 1236 = ER_MASTER_FATAL_ERROR_READING_BINLOG
+--let $slave_io_errno= 1236
+--let $show_slave_io_error= 1
+--source include/wait_for_slave_io_error.inc
connection master;
@@ -103,4 +103,4 @@ SHOW TABLES;
connection master;
DROP TABLE t1, t2, t3, t4;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_many_optimize.test b/mysql-test/suite/rpl/t/rpl_many_optimize.test
index 91fab0b27a8..d5e9f69b4bc 100644
--- a/mysql-test/suite/rpl/t/rpl_many_optimize.test
+++ b/mysql-test/suite/rpl/t/rpl_many_optimize.test
@@ -20,3 +20,4 @@ drop table t1;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
index ea107a28954..25e27f62d0a 100644
--- a/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
+++ b/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
@@ -25,3 +25,5 @@ echo "*** must be NULL ***";
select master_pos_wait('foo', 98);
# End of 4.1 tests
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_misc_functions.test b/mysql-test/suite/rpl/t/rpl_misc_functions.test
index d7ecde5f53c..7189e5c44ba 100644
--- a/mysql-test/suite/rpl/t/rpl_misc_functions.test
+++ b/mysql-test/suite/rpl/t/rpl_misc_functions.test
@@ -124,3 +124,4 @@ DROP FUNCTION test_replication_sf;
--sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mix_found_rows.test b/mysql-test/suite/rpl/t/rpl_mix_found_rows.test
index 9b8346ef21b..ed932eb5cea 100644
--- a/mysql-test/suite/rpl/t/rpl_mix_found_rows.test
+++ b/mysql-test/suite/rpl/t/rpl_mix_found_rows.test
@@ -156,3 +156,4 @@ DROP PROCEDURE log_me_inner;
DROP FUNCTION log_rows;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test b/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test
index 2c44829a649..a310fa254f7 100644
--- a/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test
+++ b/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test
@@ -3,3 +3,4 @@
--source include/not_embedded.inc
--source include/not_windows.inc
--source extra/rpl_tests/rpl_insert_delayed.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size-master.opt b/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size-master.opt
deleted file mode 100644
index 45631525481..00000000000
--- a/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---binlog_cache_size=4096 --max_binlog_cache_size=7680
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test b/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
index 1d407f87dfa..3850a84cbf1 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
@@ -5,3 +5,4 @@
--source include/have_binlog_format_mixed.inc
--source extra/rpl_tests/rpl_binlog_max_cache_size.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test b/mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test
index c9b65d170ad..226a82dee97 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test
@@ -80,3 +80,4 @@ sync_slave_with_master;
connection master;
DROP TABLE t1, t2, t3, t4, t5, t6, t7, t8;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test b/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test
index 333697e27e9..c5b821ca906 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test
@@ -47,3 +47,4 @@ drop table t2,t3,t5;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test b/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test
index 8c635202ad5..f37ce90e524 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_drop_create_temp_table.test
@@ -8,3 +8,4 @@
--source include/have_innodb.inc
--source extra/rpl_tests/rpl_drop_create_temp_table.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test b/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test
index 1a32c388921..161ab2f9dca 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_implicit_commit_binlog.test
@@ -8,3 +8,4 @@
--let $engine=Innodb
set session storage_engine=innodb;
--source extra/rpl_tests/rpl_implicit_commit_binlog.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test
index 8bb5b61210b..0893f7d0158 100644
--- a/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_mixed_mixing_engines.test
@@ -8,3 +8,4 @@
let $engine_type=Innodb;
--source extra/rpl_tests/rpl_mixing_engines.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_delete.test b/mysql-test/suite/rpl/t/rpl_multi_delete.test
index 568a8a578a9..80acf9c80e4 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_delete.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_delete.test
@@ -22,3 +22,4 @@ drop table t1,t2;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_delete2.test b/mysql-test/suite/rpl/t/rpl_multi_delete2.test
index c3f939276e0..7dc7ca41405 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_delete2.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_delete2.test
@@ -64,3 +64,4 @@ drop database mysqltest_to;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_engine.test b/mysql-test/suite/rpl/t/rpl_multi_engine.test
index 31c4a2050d7..b1dbf99f114 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_engine.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_engine.test
@@ -102,3 +102,4 @@ DROP TABLE t1;
sync_slave_with_master;
# End of 5.1 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update.test b/mysql-test/suite/rpl/t/rpl_multi_update.test
index a6111455d16..710337816da 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update.test
@@ -1,7 +1,3 @@
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_multi_update.test
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update2.test b/mysql-test/suite/rpl/t/rpl_multi_update2.test
index 812a486ad69..497568f2738 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update2.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update2.test
@@ -8,3 +8,4 @@
--source include/master-slave.inc
let $engine_type=MyISAM;
--source extra/rpl_tests/rpl_multi_update2.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update3.test b/mysql-test/suite/rpl/t/rpl_multi_update3.test
index 5da91c26b04..f6e70f14b30 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update3.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update3.test
@@ -8,3 +8,4 @@
--source include/master-slave.inc
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_multi_update3.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_multi_update4.test b/mysql-test/suite/rpl/t/rpl_multi_update4.test
index 4991a385f6f..8f069b9c18f 100644
--- a/mysql-test/suite/rpl/t/rpl_multi_update4.test
+++ b/mysql-test/suite/rpl/t/rpl_multi_update4.test
@@ -43,3 +43,4 @@ drop database d2;
sync_slave_with_master;
# End of test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test b/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test
index 8797da4eccc..fedad86ea91 100644
--- a/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test
+++ b/mysql-test/suite/rpl/t/rpl_mysql_upgrade.test
@@ -30,7 +30,7 @@ sync_slave_with_master;
connection master;
let $after_position= query_get_value(SHOW MASTER STATUS, Position, 1);
-if (`SELECT '$before_position'='$after_position'`)
+if ($before_position == $after_position)
{
echo Master position is not changed;
}
@@ -48,7 +48,7 @@ connection master;
let $after_file= query_get_value(SHOW MASTER STATUS, File, 1);
let $after_position= query_get_value(SHOW MASTER STATUS, Position, 1);
-if (!`SELECT '$before_position'='$after_position'`)
+if ($before_position != $after_position)
{
echo Master position has been changed;
}
@@ -56,3 +56,5 @@ if (!`SELECT '$before_position'='$after_position'`)
DROP DATABASE `mysqltest-1`;
connection slave;
DROP DATABASE `#mysql50#mysqltest-1`;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_name_const.test b/mysql-test/suite/rpl/t/rpl_name_const.test
index d3ef557ddc0..4cacafa0523 100644
--- a/mysql-test/suite/rpl/t/rpl_name_const.test
+++ b/mysql-test/suite/rpl/t/rpl_name_const.test
@@ -45,4 +45,4 @@ select * from t1 order by id;
connection master;
drop table t1;
drop procedure test_procedure;
---sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test
index 2f2db01f422..94dbc56d73b 100644
--- a/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_non_direct_mixed_mixing_engines.test
@@ -11,3 +11,4 @@ SET SESSION binlog_direct_non_transactional_updates = OFF;
--enable_query_log
let $engine_type=Innodb;
--source extra/rpl_tests/rpl_mixing_engines.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test
index 614519331e0..53d8fec9434 100644
--- a/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_non_direct_row_mixing_engines.test
@@ -13,3 +13,4 @@ let $engine_type=Innodb;
--source extra/rpl_tests/rpl_mixing_engines.test
--diff_files suite/rpl/r/rpl_non_direct_row_mixing_engines.result suite/rpl/r/rpl_row_mixing_engines.result
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test
index 448719eb4f8..13d4c998fb4 100644
--- a/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_non_direct_stm_mixing_engines.test
@@ -11,3 +11,4 @@ SET SESSION binlog_direct_non_transactional_updates = OFF;
--enable_query_log
let $engine_type=Innodb;
--source extra/rpl_tests/rpl_mixing_engines.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test b/mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test
index f8e697d58ce..a174445f667 100644
--- a/mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test
+++ b/mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test
@@ -50,8 +50,9 @@ INSERT INTO t1 VALUES (RAND());
INSERT INTO t1 VALUES (LAST_INSERT_ID());
--sync_slave_with_master
---let $diff_table_1= master:test.t1
---let $diff_table_2= slave:test.t1
+--let $diff_tables= master:t1, slave:t1
--source include/diff_tables.inc
+--connection master
DROP TABLE t1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_not_null_innodb.test b/mysql-test/suite/rpl/t/rpl_not_null_innodb.test
index dca0ea6589c..1e67ba4eda1 100644
--- a/mysql-test/suite/rpl/t/rpl_not_null_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_not_null_innodb.test
@@ -17,3 +17,4 @@
let $engine=Innodb;
--source extra/rpl_tests/rpl_not_null.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_not_null_myisam.test b/mysql-test/suite/rpl/t/rpl_not_null_myisam.test
index 0c036f5bfd7..dcfaf006dad 100644
--- a/mysql-test/suite/rpl/t/rpl_not_null_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_not_null_myisam.test
@@ -16,3 +16,4 @@
let $engine=MyISAM;
--source extra/rpl_tests/rpl_not_null.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_optimize.test b/mysql-test/suite/rpl/t/rpl_optimize.test
index 77d045e70fe..b48ef579b6b 100644
--- a/mysql-test/suite/rpl/t/rpl_optimize.test
+++ b/mysql-test/suite/rpl/t/rpl_optimize.test
@@ -63,3 +63,4 @@ sync_slave_with_master;
# starts, this test will demonstrate nothing but will pass.
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_packet.test b/mysql-test/suite/rpl/t/rpl_packet.test
index 38b868cb59d..7e9a35883a3 100644
--- a/mysql-test/suite/rpl/t/rpl_packet.test
+++ b/mysql-test/suite/rpl/t/rpl_packet.test
@@ -26,8 +26,8 @@ let $old_net_buffer_length= `SELECT @@global.net_buffer_length`;
SET @@global.max_allowed_packet=1024;
SET @@global.net_buffer_length=1024;
+sync_slave_with_master;
# Restart slave for setting to take effect
-connection slave;
source include/stop_slave.inc;
source include/start_slave.inc;
@@ -84,17 +84,21 @@ connection master;
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2048');
-# The slave I/O thread must stop after trying to read the above event
-connection slave;
---source include/wait_for_slave_io_to_stop.inc
-let $slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1);
---echo Slave_IO_Running = $slave_io_running (expect No)
+
#
# Bug#42914: The slave I/O thread must stop after trying to read the above
# event, However there is no Last_IO_Error report.
#
-let $last_io_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
-eval SELECT "$last_io_error" AS Last_IO_Error;
+
+# The slave I/O thread must stop after trying to read the above event
+connection slave;
+# 1153 = ER_NET_PACKET_TOO_LARGE
+--let $slave_io_errno= 1153
+--let $show_slave_io_error= 1
+--source include/wait_for_slave_io_error.inc
+
+# TODO: this is needed because of BUG#55790. Remove once that is fixed.
+--source include/stop_slave_sql.inc
#
# Bug#42914: On the master, if a binary log event is larger than
@@ -102,7 +106,14 @@ eval SELECT "$last_io_error" AS Last_IO_Error;
# is sent to a slave when it requests a dump from the master, thus leading the
# I/O thread to stop. However, there is no Last_IO_Error reported.
#
-source include/master-slave-reset.inc;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_reset.inc
+--connection master
+DROP TABLE t1;
+--sync_slave_with_master
+
+
connection master;
CREATE TABLE t1 (f1 int PRIMARY KEY, f2 LONGTEXT, f3 LONGTEXT) ENGINE=MyISAM;
sync_slave_with_master;
@@ -112,12 +123,10 @@ INSERT INTO t1(f1, f2, f3) VALUES(1, REPEAT('a', @@global.max_allowed_packet), R
connection slave;
# The slave I/O thread must stop after receiving
-# ER_MASTER_FATAL_ERROR_READING_BINLOG error message from master.
---source include/wait_for_slave_io_to_stop.inc
-let $slave_io_running= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1);
---echo Slave_IO_Running = $slave_io_running (expect No)
-let $last_io_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
-eval SELECT "$last_io_error" AS Last_IO_Error;
+# 1236=ER_MASTER_FATAL_ERROR_READING_BINLOG error message from master.
+--let $slave_io_errno= 1236
+--let $show_slave_io_error= 1
+--source include/wait_for_slave_io_error.inc
# Remove the bad binlog and clear error status on slave.
STOP SLAVE;
@@ -160,4 +169,8 @@ eval SET @@global.net_buffer_length= $old_net_buffer_length;
connection slave;
DROP TABLE t1;
+# Clear Last_IO_Error
+RESET SLAVE;
+
+--source include/rpl_end.inc
# End of tests
diff --git a/mysql-test/suite/rpl/t/rpl_plugin_load.test b/mysql-test/suite/rpl/t/rpl_plugin_load.test
index 100683922ad..5f9725a8e66 100644
--- a/mysql-test/suite/rpl/t/rpl_plugin_load.test
+++ b/mysql-test/suite/rpl/t/rpl_plugin_load.test
@@ -56,5 +56,5 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE='EXAMPLE';
sync_slave_with_master;
#
# Cleanup
---source include/master-slave-end.inc
+--source include/rpl_end.inc
--echo End of test
diff --git a/mysql-test/suite/rpl/t/rpl_ps.test b/mysql-test/suite/rpl/t/rpl_ps.test
index 143f75e5477..b3d07dd1400 100644
--- a/mysql-test/suite/rpl/t/rpl_ps.test
+++ b/mysql-test/suite/rpl/t/rpl_ps.test
@@ -66,73 +66,36 @@ source include/wait_for_slave_to_stop.inc;
###############################################################################
---echo
--echo # Connection: slave
---echo
--connection slave
---echo
START SLAVE;
---echo
--echo # Connection: master
---echo
--connection master
---echo
CREATE DATABASE mysqltest1;
CREATE TABLE t1(db_name CHAR(32), db_col_name CHAR(32));
---echo
PREPARE stmt_d_1 FROM 'INSERT INTO t1 VALUES(DATABASE(), @@collation_database)';
---echo
EXECUTE stmt_d_1;
---echo
use mysqltest1;
---echo
EXECUTE stmt_d_1;
---echo
---sync_slave_with_master
-
-
---echo
--echo # Connection: slave
---echo
+--sync_slave_with_master
---echo
SELECT * FROM t1;
---echo
--echo # Connection: master
---echo
--connection master
---echo
DROP DATABASE mysqltest1;
---echo
use test;
DROP TABLE t1;
---echo
---sync_slave_with_master
-
-
---echo
---echo # Connection: slave
---echo
-
---echo
-STOP SLAVE;
-
---echo
---echo ########################################################################
-
-###############################################################################
-reset master;
-reset slave;
-disconnect master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test b/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
index 4dca3e0880c..30cc564917a 100644
--- a/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
+++ b/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
@@ -31,3 +31,4 @@ diff_files $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql $MYSQLTEST_VARDIR/tmp
--remove_file $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql
--remove_file $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_slave.sql
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_read_only.test b/mysql-test/suite/rpl/t/rpl_read_only.test
index 040ae71586b..fb92803847a 100644
--- a/mysql-test/suite/rpl/t/rpl_read_only.test
+++ b/mysql-test/suite/rpl/t/rpl_read_only.test
@@ -41,30 +41,39 @@ set global read_only=0;
connection master1;
BEGIN;
+
+connection master2;
+BEGIN;
+
+connection master;
+select @@read_only;
+set global read_only=1;
+
+connection master1;
+-- echo *** On SUPER USER connection ***
insert into t1 values(1002);
--disable_warnings
insert into t2 values(2002);
--enable_warnings
connection master2;
-BEGIN;
+-- echo *** On regular USER connection ***
+--error ER_OPTION_PREVENTS_STATEMENT
insert into t1 values(1003);
---disable_warnings
+--error ER_OPTION_PREVENTS_STATEMENT
insert into t2 values(2003);
---enable_warnings
-
-connection master;
-set global read_only=1;
connection master1;
## works even with read_only=1, because master1 is root
+-- echo *** SUPER USER COMMIT (must succeed) ***
COMMIT;
connection master2;
---error ER_OPTION_PREVENTS_STATEMENT
+-- echo *** regular USER COMMIT (must succeed - nothing to commit) ***
COMMIT;
connection master;
+select @@read_only;
set global read_only=0;
connection master1;
@@ -117,3 +126,4 @@ sync_slave_with_master;
set global read_only=0;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test b/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
index 156d53ef856..ca16a583fe5 100644
--- a/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
@@ -1,22 +1,4 @@
-###################################
-# Wrapper rpl_sv_relay_space.test #
-# This test has to be wrapped as #
-# It tests ndb, innodb and MyISAM.#
-# By Wrapping we are saving some #
-# space and making the test more #
-# Maintainable by only having one #
-# test file and reusing the code #
-# In Addition, INNODB has to have #
-# Option files during this test #
-# to force innodb on the slave #
-# else the test will fail #
-###################################
-#Change Author: JBM #
-#Change Date: 2006-02-03 #
-#Change: Added Comments #
-###################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_sv_relay_space.test
-
diff --git a/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test b/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
index 1d8563e7fd9..13719cbdc33 100644
--- a/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
@@ -1,21 +1,3 @@
-###################################
-# Wrapper rpl_sv_relay_space.test #
-# This test has to be wrapped as #
-# It tests ndb, innodb and MyISAM.#
-# By Wrapping we are saving some #
-# space and making the test more #
-# Maintainable by only having one #
-# test file and reusing the code #
-# In Addition, INNODB has to have #
-# Option files during this test #
-# to force innodb on the slave #
-# else the test will fail #
-###################################
-#Change Author: JBM #
-#Change Date: 2006-02-03 #
-#Change: Added Comments #
-###################################
-- source include/not_ndb_default.inc
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_sv_relay_space.test
-
diff --git a/mysql-test/suite/rpl/t/rpl_relayrotate.test b/mysql-test/suite/rpl/t/rpl_relayrotate.test
index 248389d793d..f187fbc033f 100644
--- a/mysql-test/suite/rpl/t/rpl_relayrotate.test
+++ b/mysql-test/suite/rpl/t/rpl_relayrotate.test
@@ -12,3 +12,4 @@
let $engine_type=innodb;
-- source extra/rpl_tests/rpl_relayrotate.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_relayspace.test b/mysql-test/suite/rpl/t/rpl_relayspace.test
index cd04c2ccc0b..fc33d6bc0ba 100644
--- a/mysql-test/suite/rpl/t/rpl_relayspace.test
+++ b/mysql-test/suite/rpl/t/rpl_relayspace.test
@@ -2,10 +2,9 @@
# to force the deadlock after one event.
source include/master-slave.inc;
-let $master_log_file= query_get_value(SHOW MASTER STATUS, File, 1);
+--let $master_log_file= query_get_value(SHOW MASTER STATUS, File, 1)
connection slave;
-stop slave;
-source include/wait_for_slave_to_stop.inc;
+--source include/stop_slave.inc
connection master;
# This will generate a master's binlog > 10 bytes
create table t1 (a int);
@@ -21,22 +20,33 @@ let $slave_param_value= Waiting for the slave SQL thread to free enough relay lo
source include/wait_for_slave_param.inc;
# A bug caused the I/O thread to refuse stopping.
-stop slave io_thread;
-source include/wait_for_slave_io_to_stop.inc;
+--source include/stop_slave_io.inc
reset slave;
-start slave;
-# The I/O thread stops filling the relay log when
-# it's >10b. And the SQL thread cannot purge this relay log
-# as purge is done only when the SQL thread switches to another
-# relay log, which does not exist here.
-# So we should have a deadlock.
-# if it is not resolved automatically we'll detect
-# it with master_pos_wait that waits for farther than 1Ob;
-# it will timeout;
-# also the slave will probably not cooperate to shutdown
-# (as 2 threads are locked)
---replace_result $master_log_file MASTER_LOG_FILE
-eval select master_pos_wait('$master_log_file',200,30)=-1;
+--source include/start_slave.inc
+# The I/O thread stops filling the relay log when it's >10b. And the
+# SQL thread cannot purge this relay log as purge is done only when
+# the SQL thread switches to another relay log, which does not exist
+# here. So we should have a deadlock. If it is not resolved
+# automatically we'll detect it with master_pos_wait that waits for
+# farther than 1Ob; it will timeout after 300 seconds (which is inline
+# with the default used for sync_slave_with_master and will protect us
+# against slow test envs); also the slave will probably not cooperate
+# to shutdown (as 2 threads are locked)
+--let $outcome= `SELECT MASTER_POS_WAIT('$master_log_file',200,300) AS mpw;`
+
+# master_pos_wait returns:
+#
+# * >= 0, the number of events the slave had to wait to advance to the
+# position
+#
+# * -1, if there was a timeout
+#
+# * NULL, if an error occurred, or the SQL thread was not started,
+# slave master info is not initialized, the arguments are incorrect
+--let $assert_text= Assert that master_pos_wait does not timeout nor it returns NULL
+--let $assert_cond= $outcome IS NOT NULL AND $outcome <> -1
+--source include/assert.inc
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_replicate_do.test b/mysql-test/suite/rpl/t/rpl_replicate_do.test
index dd3ecc075cc..e9a7eef9676 100644
--- a/mysql-test/suite/rpl/t/rpl_replicate_do.test
+++ b/mysql-test/suite/rpl/t/rpl_replicate_do.test
@@ -84,3 +84,4 @@ connection master;
drop table t1;
drop table t2;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test b/mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test
index bcfef919fad..f1907456ed5 100644
--- a/mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test
+++ b/mysql-test/suite/rpl/t/rpl_replicate_ignore_db.test
@@ -28,3 +28,4 @@ connection master;
drop database mysqltest1;
drop database mysqltest2;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_report.test b/mysql-test/suite/rpl/t/rpl_report.test
index 8798905d372..a73442917fa 100644
--- a/mysql-test/suite/rpl/t/rpl_report.test
+++ b/mysql-test/suite/rpl/t/rpl_report.test
@@ -19,3 +19,4 @@ set @@global.report_host='my.new.address.net';
--echo end of tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_rewrt_db.test b/mysql-test/suite/rpl/t/rpl_rewrt_db.test
index 585b08be0b3..996ad0a10c7 100644
--- a/mysql-test/suite/rpl/t/rpl_rewrt_db.test
+++ b/mysql-test/suite/rpl/t/rpl_rewrt_db.test
@@ -237,3 +237,4 @@ connection master;
sync_slave_with_master;
# end of 5.0 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt b/mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt
deleted file mode 100644
index 80190bf6d29..00000000000
--- a/mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---server-id=2
diff --git a/mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh b/mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh
deleted file mode 100644
index 81490a54b4b..00000000000
--- a/mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-rm -f $MYSQLTEST_VARDIR/slave-data/master.info
-rm -f $MYSQLTEST_VARDIR/slave-data/*relay*
diff --git a/mysql-test/suite/rpl/t/rpl_rotate_logs.test b/mysql-test/suite/rpl/t/rpl_rotate_logs.test
index ca83020bff0..6e2a7e22352 100644
--- a/mysql-test/suite/rpl/t/rpl_rotate_logs.test
+++ b/mysql-test/suite/rpl/t/rpl_rotate_logs.test
@@ -18,19 +18,14 @@
-- source include/have_binlog_format_mixed_or_statement.inc
connect (master,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
---disable_warnings
-drop table if exists t1, t2, t3, t4;
---enable_warnings
connect (slave,localhost,root,,test,$SLAVE_MYPORT,$SLAVE_MYSOCK);
+
# Create empty file
let $MYSQLD_SLAVE_DATADIR= `select @@datadir`;
write_file $MYSQLD_SLAVE_DATADIR/master.info;
EOF
chmod 0000 $MYSQLD_SLAVE_DATADIR/master.info;
connection slave;
---disable_warnings
-drop table if exists t1, t2, t3, t4;
---enable_warnings
# START SLAVE will fail because it can't read the file (mode 000)
# (system error 13)
@@ -98,12 +93,10 @@ connection master;
set insert_id=1234;
insert into t2 values(NULL);
connection slave;
---source include/wait_for_slave_sql_to_stop.inc
-
-#restart slave skipping one event
-set global sql_slave_skip_counter=1;
-start slave;
---source include/wait_for_slave_to_start.inc
+# 1062 = ER_DUP_ENTRY
+call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .1234. for key .PRIMARY.. on query.* Error_code: 1062");
+--let $slave_sql_errno= 1062
+--source include/wait_for_slave_sql_error_and_skip.inc
connection master;
@@ -194,3 +187,4 @@ show binlog events in '';
purge master logs before now();
--echo End of 5.0 tests
+--source include/stop_slave.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_001.test b/mysql-test/suite/rpl/t/rpl_row_001.test
index f949e0b2d5f..96521280afd 100644
--- a/mysql-test/suite/rpl/t/rpl_row_001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_001.test
@@ -10,3 +10,4 @@
let $engine_type=MYISAM;
-- source extra/rpl_tests/rpl_row_001.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_4_bytes.test b/mysql-test/suite/rpl/t/rpl_row_4_bytes.test
index 73ef6dd2345..6130f74983e 100644
--- a/mysql-test/suite/rpl/t/rpl_row_4_bytes.test
+++ b/mysql-test/suite/rpl/t/rpl_row_4_bytes.test
@@ -31,3 +31,4 @@ select * from t2 order by a;
connection master;
DROP DATABASE mysqltest1;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_NOW.test b/mysql-test/suite/rpl/t/rpl_row_NOW.test
index c28b714277e..d732c6e6733 100644
--- a/mysql-test/suite/rpl/t/rpl_row_NOW.test
+++ b/mysql-test/suite/rpl/t/rpl_row_NOW.test
@@ -72,3 +72,4 @@ diff_files $MYSQLTEST_VARDIR/tmp/NOW_master.sql $MYSQLTEST_VARDIR/tmp/NOW_slave.
sync_slave_with_master;
# End of 5.1 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_USER.test b/mysql-test/suite/rpl/t/rpl_row_USER.test
index 7b13ebc50ee..010e0e6ea05 100644
--- a/mysql-test/suite/rpl/t/rpl_row_USER.test
+++ b/mysql-test/suite/rpl/t/rpl_row_USER.test
@@ -58,3 +58,4 @@ DROP USER ''@'localhost%';
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_UUID.test b/mysql-test/suite/rpl/t/rpl_row_UUID.test
index b0ef96463d0..ce3a4ed40a9 100644
--- a/mysql-test/suite/rpl/t/rpl_row_UUID.test
+++ b/mysql-test/suite/rpl/t/rpl_row_UUID.test
@@ -7,3 +7,4 @@
-- source include/master-slave.inc
let $engine_type=myisam;
--source extra/rpl_tests/rpl_row_UUID.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test b/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
index f6c690aa590..8cd021e88fc 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test
@@ -35,13 +35,15 @@ USE test_ignore;
connection master;
DROP DATABASE test_ignore;
+USE test;
+DROP TABLE t1;
sync_slave_with_master;
+USE test;
+
# Bug#19995: Extreneous table maps generated for statements that does
# not generate rows
---disable_query_log
---source include/master-slave-reset.inc
---enable_query_log
+--source include/rpl_reset.inc
connection master;
CREATE TABLE t1 (a INT);
@@ -57,13 +59,12 @@ DROP TABLE t1;
# BUG#17620: Replicate (Row Based) Fails when Query Cache enabled on
# slave
--echo ================ Test for BUG#17620 ================
---disable_query_log
---source include/master-slave-reset.inc
---enable_query_log
+--source include/rpl_reset.inc
--echo **** On Slave ****
connection slave;
SET GLOBAL QUERY_CACHE_SIZE=0;
+call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1.* Error_code: 1032");
--echo **** On Master ****
connection master;
@@ -91,12 +92,13 @@ sync_slave_with_master;
SELECT * FROM t1;
SET GLOBAL QUERY_CACHE_SIZE=0;
+--connection master
+DROP TABLE t1;
+
# Bug#22550: Replication of BIT columns failing
--echo ================ Test for BUG#22550 ================
---disable_query_log
---source include/master-slave-reset.inc
---enable_query_log
+--source include/rpl_reset.inc
connection master;
CREATE TABLE t1 (a BIT(1), b INT) ENGINE=MYISAM;
@@ -122,9 +124,7 @@ sync_slave_with_master;
# field does not work
--echo ================ Test for BUG#22583 ================
---disable_query_log
---source include/master-slave-reset.inc
---enable_query_log
+--source include/rpl_reset.inc
# disabling warnings temporarily for ENGINE=INNODB to work without InnoDB
--disable_warnings
@@ -229,13 +229,10 @@ sync_slave_with_master;
# row-based replication
#
-disable_query_log;
-source include/master-slave-reset.inc;
-enable_query_log;
+--source include/rpl_reset.inc
--echo **** On Master ****
connection master;
-SET SESSION BINLOG_FORMAT=ROW;
CREATE TABLE t1 (a INT PRIMARY KEY, b SET('master','slave'));
INSERT INTO t1 VALUES (1,'master,slave'), (2,'master,slave');
--echo **** On Slave ****
@@ -243,7 +240,7 @@ sync_slave_with_master;
UPDATE t1 SET a = 5, b = 'slave' WHERE a = 1;
SELECT * FROM t1 ORDER BY a;
# since bug#31552/31609 idempotency is not default any longer. In
-# order the preceeding test UPDATE t1 to pass the mode is switched
+# order for the preceeding test UPDATE t1 to pass, the mode is switched
# temprorarily
set @@global.slave_exec_mode= 'IDEMPOTENT';
--echo **** On Master ****
@@ -257,9 +254,10 @@ let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1);
disable_query_log;
eval SELECT "$last_error" AS Last_SQL_Error;
enable_query_log;
+
SELECT * FROM t1 ORDER BY a;
-DROP TABLE t1;
--echo **** On Master ****
connection master;
DROP TABLE t1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test b/mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test
index c5648fa1d77..f1f5c584543 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test
@@ -4,3 +4,4 @@
let $type= 'MYISAM' ;
let $extra_index= ;
-- source extra/rpl_tests/rpl_row_basic.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test b/mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test
index 41cf1cc622a..55ea2f3c3c8 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test
@@ -8,3 +8,4 @@ let $type= 'INNODB' ;
let $extra_index= ;
-- source extra/rpl_tests/rpl_row_basic.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test b/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test
index 687b3bc785d..3ec79ec8cd5 100644
--- a/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test
+++ b/mysql-test/suite/rpl/t/rpl_row_basic_8partition.test
@@ -208,3 +208,4 @@ SHOW CREATE TABLE t1;
DROP TABLE IF EXISTS t1;
# End of 5.1 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size-master.opt b/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size-master.opt
deleted file mode 100644
index eb56e5c0a09..00000000000
--- a/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---binlog_cache_size=4096 --max_binlog_cache_size=7680 --default-storage-engine=MyISAM
diff --git a/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test b/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test
index 5133c8b1b5e..9c8489658f8 100644
--- a/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test
+++ b/mysql-test/suite/rpl/t/rpl_row_binlog_max_cache_size.test
@@ -5,3 +5,4 @@
--source include/have_binlog_format_row.inc
--source extra/rpl_tests/rpl_binlog_max_cache_size.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test b/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test
index 6aa6c2a31b9..eaf86688a29 100644
--- a/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_blob_innodb.test
@@ -12,3 +12,4 @@
let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_row_blob.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test b/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test
index 11f5336502a..482ccb7ecc0 100644
--- a/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_row_blob_myisam.test
@@ -11,3 +11,4 @@
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_blob.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_colSize.test b/mysql-test/suite/rpl/t/rpl_row_colSize.test
index 078e6886ec7..0701c44edd3 100644
--- a/mysql-test/suite/rpl/t/rpl_row_colSize.test
+++ b/mysql-test/suite/rpl/t/rpl_row_colSize.test
@@ -160,9 +160,14 @@ let $test_table_slave = CREATE TABLE t1 (a TINYBLOB);
let $test_insert = INSERT INTO t1 VALUES ('This is a test.');
source include/test_fieldsize.inc;
+connection slave;
+call mtr.add_suppression("Slave SQL.*Table definition on master and slave does not match: Column 0 ...e mismatch.* Error_code: 1535");
+call mtr.add_suppression("Slave SQL.*Column 0 of table .test.t1. cannot be converted from type.* Error_code: 1677");
+
--echo *** Cleanup ***
connection master;
DROP TABLE IF EXISTS t1;
sync_slave_with_master;
# END 5.1 Test Case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_conflicts.test b/mysql-test/suite/rpl/t/rpl_row_conflicts.test
index 59757e2e802..ce5332966ef 100644
--- a/mysql-test/suite/rpl/t/rpl_row_conflicts.test
+++ b/mysql-test/suite/rpl/t/rpl_row_conflicts.test
@@ -20,6 +20,8 @@ SET @old_slave_exec_mode= @@global.slave_exec_mode;
SET @@global.slave_exec_mode = 'STRICT';
source extra/rpl_tests/rpl_conflicts.test;
+--source include/rpl_reset.inc
+
--echo ######## Run with slave_exec_mode=IDEMPOTENT ########
@@ -28,4 +30,4 @@ source extra/rpl_tests/rpl_conflicts.test;
SET @@global.slave_exec_mode= @old_slave_exec_mode;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_create_table.test b/mysql-test/suite/rpl/t/rpl_row_create_table.test
index 6b051fb46e5..ef3c0758643 100644
--- a/mysql-test/suite/rpl/t/rpl_row_create_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_create_table.test
@@ -12,12 +12,6 @@ connection master;
# we disable the ps-protocol for this statement.
--disable_ps_protocol
---disable_query_log
---disable_warnings
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
---enable_query_log
-
# Set the default storage engine to different values on master and
# slave. We need to stop the slave for the server variable to take
# effect, since the variable is only read on start-up.
@@ -31,7 +25,7 @@ START SLAVE;
--source include/wait_for_slave_to_start.inc
--enable_query_log
---source include/reset_master_and_slave.inc
+--source include/rpl_reset.inc
connection master;
CREATE TABLE t1 (a INT, b INT);
@@ -67,7 +61,7 @@ SELECT * FROM t5 ORDER BY a,b,c;
--query_vertical SHOW CREATE TABLE t6
SELECT * FROM t6 ORDER BY a,b,c;
---source include/reset_master_and_slave.inc
+--source include/rpl_reset.inc
connection master;
# Test for erroneous constructions
@@ -86,7 +80,7 @@ SELECT * FROM t7 ORDER BY a,b;
sync_slave_with_master;
SELECT * FROM t7 ORDER BY a,b;
---source include/reset_master_and_slave.inc
+--source include/rpl_reset.inc
connection master;
CREATE TEMPORARY TABLE tt4 (a INT, b INT);
@@ -99,7 +93,7 @@ SELECT * FROM t7 ORDER BY a,b;
sync_slave_with_master;
SELECT * FROM t7 ORDER BY a,b;
---source include/reset_master_and_slave.inc
+--source include/rpl_reset.inc
connection master;
CREATE TABLE t8 LIKE t4;
@@ -131,7 +125,7 @@ START SLAVE;
# table' from log):
--echo ================ BUG#22864 ================
---source include/master-slave-reset.inc
+--source include/rpl_reset.inc
connection master;
SET AUTOCOMMIT=0;
@@ -168,17 +162,7 @@ SET AUTOCOMMIT=1;
sync_slave_with_master;
# Some tests with temporary tables
-connection slave;
-STOP SLAVE;
---source include/wait_for_slave_to_stop.inc
-RESET SLAVE;
-
-connection master;
-RESET MASTER;
-
-connection slave;
-START SLAVE;
---source include/wait_for_slave_to_start.inc
+--source include/rpl_reset.inc
connection master;
CREATE TABLE t1 (a INT);
@@ -204,7 +188,7 @@ connection master;
TRUNCATE TABLE t2;
sync_slave_with_master;
---source include/reset_master_and_slave.inc
+--source include/rpl_reset.inc
connection master;
BEGIN;
@@ -253,7 +237,7 @@ sync_slave_with_master;
# BUG#34707: Row based replication: slave creates table within wrong database
#
-source include/master-slave-reset.inc;
+--source include/rpl_reset.inc
connection master;
--disable_warnings
@@ -275,7 +259,7 @@ sync_slave_with_master;
# <tmp_tbl> with RBL
#
-source include/master-slave-reset.inc;
+--source include/rpl_reset.inc
connection master;
CREATE TEMPORARY TABLE t7(c1 INT);
@@ -305,5 +289,7 @@ DROP VIEW IF EXISTS bug48506_t1, bug48506_t2, bug48506_t3;
DROP TEMPORARY TABLES t7;
DROP TABLES t4, t5;
DROP TABLES IF EXISTS bug48506_t4;
-source include/master-slave-end.inc;
+
+--source include/rpl_end.inc
+
--echo end of the tests
diff --git a/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test b/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test
index a0e74567349..db41ff09117 100644
--- a/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test
+++ b/mysql-test/suite/rpl/t/rpl_row_delayed_ins.test
@@ -1,7 +1,3 @@
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_delayed_ins.test
diff --git a/mysql-test/suite/rpl/t/rpl_row_drop.test b/mysql-test/suite/rpl/t/rpl_row_drop.test
index d18ebc2846b..eca2ae0f643 100644
--- a/mysql-test/suite/rpl/t/rpl_row_drop.test
+++ b/mysql-test/suite/rpl/t/rpl_row_drop.test
@@ -43,3 +43,4 @@ DROP TABLE IF EXISTS t2;
sync_slave_with_master;
--enable_warnings
--enable_query_log
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test b/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test
index fc46665ddb1..5896f6a48b0 100644
--- a/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_drop_create_temp_table.test
@@ -8,3 +8,4 @@
--source include/have_innodb.inc
--source extra/rpl_tests/rpl_drop_create_temp_table.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_find_row.test b/mysql-test/suite/rpl/t/rpl_row_find_row.test
index 9163ab54406..7f633c5aa97 100644
--- a/mysql-test/suite/rpl/t/rpl_row_find_row.test
+++ b/mysql-test/suite/rpl/t/rpl_row_find_row.test
@@ -50,7 +50,7 @@ DROP TABLE t;
# but it gets disabled sometime.
# Replication does not break anymore.
#
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
CREATE TABLE t (a int, b int, c int, key(b));
@@ -84,8 +84,7 @@ DROP TABLE t;
# As a consquence, the wrong row would be updated.
#
--- connection master
--- source include/master-slave-reset.inc
+-- source include/rpl_reset.inc
-- connection master
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT, UNIQUE KEY(c1,c3), KEY(c2));
@@ -94,11 +93,11 @@ INSERT INTO t1(c1,c2) VALUES(1,2);
UPDATE t1 SET c1=1000 WHERE c2=2;
-- sync_slave_with_master
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
DROP TABLE t1;
-- sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test b/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
index eebe8059d5c..1d33962ad48 100644
--- a/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
+++ b/mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test
@@ -14,4 +14,3 @@ let $rename_event_pos= 926;
--disable_ps_protocol
-- source extra/rpl_tests/rpl_flsh_tbls.test
--enable_ps_protocol
-
diff --git a/mysql-test/suite/rpl/t/rpl_row_func001.test b/mysql-test/suite/rpl/t/rpl_row_func001.test
index 53fb55118e6..6ff97388b31 100644
--- a/mysql-test/suite/rpl/t/rpl_row_func001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_func001.test
@@ -55,3 +55,4 @@ DROP TABLE test.t1;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_func002.test b/mysql-test/suite/rpl/t/rpl_row_func002.test
index 44a704bfbc5..2f4e3fdd910 100644
--- a/mysql-test/suite/rpl/t/rpl_row_func002.test
+++ b/mysql-test/suite/rpl/t/rpl_row_func002.test
@@ -102,3 +102,4 @@ diff_files $MYSQLTEST_VARDIR/tmp/func002_master.sql $MYSQLTEST_VARDIR/tmp/func00
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_func003.test b/mysql-test/suite/rpl/t/rpl_row_func003.test
index 30b24cf4174..a17d70e4b04 100644
--- a/mysql-test/suite/rpl/t/rpl_row_func003.test
+++ b/mysql-test/suite/rpl/t/rpl_row_func003.test
@@ -11,3 +11,4 @@
-- source include/master-slave.inc
let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_func003.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_idempotency.test b/mysql-test/suite/rpl/t/rpl_row_idempotency.test
index cd62280f1d4..7f48d6503c1 100644
--- a/mysql-test/suite/rpl/t/rpl_row_idempotency.test
+++ b/mysql-test/suite/rpl/t/rpl_row_idempotency.test
@@ -9,10 +9,10 @@ connection slave;
source include/have_innodb.inc;
# Add suppression for expected warning(s) in slaves error log
-call mtr.add_suppression("Slave: Can't find record in 't.' Error_code: 1032");
-call mtr.add_suppression("Slave: Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
-call mtr.add_suppression("Slave: Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
-
+call mtr.add_suppression("Can.t find record in .t[12].* Error_code: 1032");
+call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
+call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
+call mtr.add_suppression("Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
# bug#31609 Not all RBR slave errors reported as errors
# bug#31552 Replication breaks when deleting rows from out-of-sync table
@@ -326,6 +326,5 @@ drop table t1,t2,ti2,ti1;
sync_slave_with_master;
set @@global.slave_exec_mode= @old_slave_exec_mode;
---source include/master-slave-end.inc
-
--echo *** end of tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test b/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test
index 8b54878a203..cfad4fca433 100644
--- a/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test
+++ b/mysql-test/suite/rpl/t/rpl_row_implicit_commit_binlog.test
@@ -8,3 +8,4 @@
--let $engine=Innodb
set session storage_engine=innodb;
--source extra/rpl_tests/rpl_implicit_commit_binlog.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test b/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test
index 0c038c41ebf..22fd65ecaf3 100644
--- a/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test
+++ b/mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test
@@ -29,14 +29,17 @@ INSERT INTO t1 VALUES (1);
--echo [on slave]
connection slave;
# slave should have stopped because can't find table t1
---source include/wait_for_slave_sql_to_stop.inc
-# see if we have a good error message:
-let $err= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
---echo Last_SQL_Error = $err
+# 1146 = ER_NO_SUCH_TABLE
+call mtr.add_suppression("Slave SQL.*Error executing row event: .Table .test.t1. doesn.t exist., Error_code: 1146");
+--let $slave_sql_errno= 1146
+--source include/wait_for_slave_sql_error.inc
--echo ==== Clean up ====
-source include/stop_slave.inc;
+source include/stop_slave_io.inc;
+RESET SLAVE;
--echo [on master]
connection master;
DROP TABLE t1;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_insert_delayed.test b/mysql-test/suite/rpl/t/rpl_row_insert_delayed.test
index 436c0a9f517..a6c38117767 100644
--- a/mysql-test/suite/rpl/t/rpl_row_insert_delayed.test
+++ b/mysql-test/suite/rpl/t/rpl_row_insert_delayed.test
@@ -3,3 +3,4 @@
--source include/not_embedded.inc
--source include/not_windows.inc
--source extra/rpl_tests/rpl_insert_delayed.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_log.test b/mysql-test/suite/rpl/t/rpl_row_log.test
index 197f83c85af..b156a4c8dd4 100644
--- a/mysql-test/suite/rpl/t/rpl_row_log.test
+++ b/mysql-test/suite/rpl/t/rpl_row_log.test
@@ -15,3 +15,4 @@
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_log_innodb.test b/mysql-test/suite/rpl/t/rpl_row_log_innodb.test
index 16e775287b3..631fb29c7bc 100644
--- a/mysql-test/suite/rpl/t/rpl_row_log_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_log_innodb.test
@@ -12,3 +12,4 @@
let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_log.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test
index 8af1ae51bb9..f2e26f36fdc 100644
--- a/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_row_mixing_engines.test
@@ -9,3 +9,4 @@
let $engine_type=Innodb;
--source extra/rpl_tests/rpl_mixing_engines.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
index 3b829e7db7b..169d100fef4 100644
--- a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
+++ b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
@@ -352,3 +352,4 @@ DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test b/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
index 67e4c4fb14d..57d67c5c71b 100644
--- a/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
@@ -8,3 +8,4 @@
-- let $engine= InnoDB
-- source extra/rpl_tests/rpl_record_compare.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test b/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
index 43fa99a51da..f96603f69ed 100644
--- a/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
@@ -1,18 +1,17 @@
-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
+-- let $engine= MyISAM
#
# BUG#52868 Wrong handling of NULL value during update, replication out of sync
#
--- let $engine= MyISAM
--- source extra/rpl_tests/rpl_record_compare.test
-- echo ## coverage purposes - Field_bits
-- echo ## 1 X bit + 2 Null bits + 5 bits => last_null_bit_pos==0
## Added here because AFAIK it's only MyISAM and NDB that use Field_bits
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
-- eval CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bit(5)) ENGINE=$engine DEFAULT CHARSET=latin1
@@ -22,10 +21,13 @@ INSERT INTO t1(c1,c2) VALUES (NULL, b'1');
UPDATE t1 SET c1= 0;
-- sync_slave_with_master
--- let $diff_table_1= master:test.t1
--- let $diff_table_2= slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
DROP TABLE t1;
-- sync_slave_with_master
+
+-- source extra/rpl_tests/rpl_record_compare.test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test b/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
index 6a426efc7ea..a78f7ad4271 100644
--- a/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
+++ b/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
@@ -16,3 +16,4 @@
-- source include/have_binlog_format_row.inc
-- source extra/rpl_tests/rpl_show_relaylog_events.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp001.test b/mysql-test/suite/rpl/t/rpl_row_sp001.test
index 34d42d985f9..99db5e7febe 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp001.test
@@ -142,3 +142,4 @@ diff_files $MYSQLTEST_VARDIR/tmp/sp001_master.sql $MYSQLTEST_VARDIR/tmp/sp001_sl
--remove_file $MYSQLTEST_VARDIR/tmp/sp001_slave.sql
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test b/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
index e272e34e715..aec421407c9 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
@@ -1,10 +1,3 @@
-#################################
-# Wrapper for rpl_row_sp002.test#
-#################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=INNODB;
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp003.test b/mysql-test/suite/rpl/t/rpl_row_sp003.test
index ab49174ddfa..bd085610725 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp003.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp003.test
@@ -14,3 +14,4 @@
let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp003.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp005.test b/mysql-test/suite/rpl/t/rpl_row_sp005.test
index abc7fb4f490..bbe4ce47f9e 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp005.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp005.test
@@ -109,3 +109,4 @@ DROP TABLE IF EXISTS test.t3;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test b/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test
index e5be4e6dc28..df3952bead1 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test
@@ -11,3 +11,4 @@
-- source include/master-slave.inc
let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_row_sp006.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test b/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test
index 41af5a5f997..fcac31df780 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp007_innodb.test
@@ -1,10 +1,3 @@
-#################################
-# Wrapper for rpl_row_sp007.test#
-#################################
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-# Added to skip if ndb is default #
-########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc
let $engine_type=INNODB;
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp008.test b/mysql-test/suite/rpl/t/rpl_row_sp008.test
index 80603c28d27..8af3c88ae11 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp008.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp008.test
@@ -53,3 +53,4 @@ DROP TABLE IF EXISTS test.t2;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp009.test b/mysql-test/suite/rpl/t/rpl_row_sp009.test
index 77860621961..6e7226593a1 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp009.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp009.test
@@ -97,3 +97,4 @@ DROP TABLE test.t2;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp010.test b/mysql-test/suite/rpl/t/rpl_row_sp010.test
index 7fa0077f117..aad7edcd3ea 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp010.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp010.test
@@ -74,3 +74,4 @@ DROP TABLE IF EXISTS test.t2;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp011.test b/mysql-test/suite/rpl/t/rpl_row_sp011.test
index 25c2fc9ad26..d2a323faad2 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp011.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp011.test
@@ -109,3 +109,4 @@ diff_files $MYSQLTEST_VARDIR/tmp/sp011_master.sql $MYSQLTEST_VARDIR/tmp/sp011_sl
--remove_file $MYSQLTEST_VARDIR/tmp/sp011_slave.sql
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_sp012.test b/mysql-test/suite/rpl/t/rpl_row_sp012.test
index 3a8d295121c..23bc92b51cf 100644
--- a/mysql-test/suite/rpl/t/rpl_row_sp012.test
+++ b/mysql-test/suite/rpl/t/rpl_row_sp012.test
@@ -73,3 +73,4 @@ sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test b/mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test
index ab4914e15fa..030ec7d6541 100644
--- a/mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_row_tabledefs_2myisam.test
@@ -6,3 +6,4 @@ let $engine_type = 'MyISAM';
-- source extra/rpl_tests/rpl_row_tabledefs.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test b/mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test
index 7824fbfb663..35eddfc3ed4 100644
--- a/mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_row_tabledefs_3innodb.test
@@ -7,3 +7,4 @@ let $engine_type = 'InnoDB';
-- source extra/rpl_tests/rpl_row_tabledefs.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test b/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
index d854aa64dc5..e8ac74f0125 100644
--- a/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
+++ b/mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
@@ -193,8 +193,7 @@ FLUSH LOGS;
-- connection master
-- echo ### assertion: the slave replicated event successfully and tables match
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
DROP TABLE `t1`;
@@ -229,7 +228,7 @@ DROP TABLE `t1`;
# in both cases: when slave is replaying events and when
# mysqlbinlog is used to read the binary log
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
# Create several tables with field_metadata_size ranging
@@ -313,8 +312,7 @@ FLUSH LOGS;
while($ntables)
{
-- echo ### assertion: the slave replicated event successfully and tables match for t$ntables
- -- let $diff_table_1=master:test.t$ntables
- -- let $diff_table_2=slave:test.t$ntables
+ -- let $diff_tables= master:t$ntables, slave:t$ntables
-- source include/diff_tables.inc
-- connection master
@@ -337,4 +335,4 @@ while($ntables)
## For debugging purposes you might want not to remove these
-- remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug50018.binlog
-- remove_file $generated_sql
--- source include/master-slave-end.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig001.test b/mysql-test/suite/rpl/t/rpl_row_trig001.test
index 8669034713a..39f2662b569 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig001.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig001.test
@@ -113,3 +113,4 @@ sync_slave_with_master;
diff_files $MYSQLTEST_VARDIR/tmp/trig001_master.sql $MYSQLTEST_VARDIR/tmp/trig001_slave.sql;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig002.test b/mysql-test/suite/rpl/t/rpl_row_trig002.test
index 1ea245498d5..46f9ad91a3d 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig002.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig002.test
@@ -72,3 +72,4 @@ DROP TABLE test.t3;
sync_slave_with_master;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig003.test b/mysql-test/suite/rpl/t/rpl_row_trig003.test
index 1ec568bf243..e332fc9174e 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig003.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig003.test
@@ -152,3 +152,4 @@ sync_slave_with_master;
diff_files $MYSQLTEST_VARDIR/tmp/trg003_master.sql $MYSQLTEST_VARDIR/tmp/trg003_slave.sql;
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trig004.test b/mysql-test/suite/rpl/t/rpl_row_trig004.test
index a918c602d56..fa5f973c355 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trig004.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trig004.test
@@ -16,3 +16,4 @@
let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_trig004.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test b/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test
index 60e1cd73200..394bf949f72 100644
--- a/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_row_trunc_temp.test
@@ -32,4 +32,4 @@ SELECT * FROM t2;
DROP TABLE t1;
connection master;
DROP TABLE t2;
---source include/master-slave-end.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test b/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
index 069700546ce..9e6485d6630 100644
--- a/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
+++ b/mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test
@@ -33,3 +33,4 @@ connection master;
DROP TABLE t1, t2;
sync_slave_with_master;
connection master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_until.test b/mysql-test/suite/rpl/t/rpl_row_until.test
index bcd8ba8612b..b861bb8c8ec 100644
--- a/mysql-test/suite/rpl/t/rpl_row_until.test
+++ b/mysql-test/suite/rpl/t/rpl_row_until.test
@@ -4,39 +4,36 @@
# Note: The test is dependent on binlog positions
-# prepare version for substitutions
-let $VERSION=`select version()`;
-
# Create some events on master
connection master;
CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
INSERT INTO t1 VALUES (1),(2),(3),(4);
-# Save master log postion for query DROP TABLE t1
+# Save master log position for query DROP TABLE t1
let $master_pos_drop_t1= query_get_value(SHOW MASTER STATUS, Position, 1);
DROP TABLE t1;
-# Save master log postion for query DROP TABLE t1
+# Save master log position for query DROP TABLE t1
save_master_pos;
let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7);
let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7);
-# Save master log postion for query CREATE TABLE t2
+# Save master log position for query CREATE TABLE t2
let $master_pos_create_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
#show binlog events;
INSERT INTO t2 VALUES (1),(2);
-# Save master log postion for query INSERT INTO t2 VALUES (1),(2);
+# Save master log position for query INSERT INTO t2 VALUES (1),(2);
let $master_pos_insert1_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
sync_slave_with_master;
#show binlog events;
-# Save relay log postion for query INSERT INTO t2 VALUES (1),(2);
+# Save relay log position for query INSERT INTO t2 VALUES (1),(2);
let $relay_pos_insert1_t2= query_get_value(SHOW SLAVE STATUS, Relay_Log_Pos, 1);
connection master;
INSERT INTO t2 VALUES (3),(4);
DROP TABLE t2;
-# Save master log postion for query DROP TABLE t2;
+# Save master log position for query DROP TABLE t2;
let $master_pos_drop_t2= query_get_value(SHOW MASTER STATUS, Position, 1);
sync_slave_with_master;
#show binlog events;
@@ -125,3 +122,10 @@ START SLAVE UNTIL RELAY_LOG_FILE='slave-relay-bin.000002', MASTER_LOG_POS=561;
START SLAVE;
--replace_result 740 MASTER_LOG_POS
START SLAVE UNTIL MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=740;
+
+--source include/stop_slave.inc
+# Clear slave IO error.
+RESET SLAVE;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_utf16.test b/mysql-test/suite/rpl/t/rpl_row_utf16.test
index b8f7b724ea1..e3e7a51c002 100644
--- a/mysql-test/suite/rpl/t/rpl_row_utf16.test
+++ b/mysql-test/suite/rpl/t/rpl_row_utf16.test
@@ -19,8 +19,10 @@ INSERT INTO t1 VALUES (); # default value is inserted and encoded correctl
--query_vertical SELECT c1, hex(c1) FROM t1
# assertion: tables don't differ
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables=master:t1,slave:t1
-- source include/diff_tables.inc
+--connection master
DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_utf32.test b/mysql-test/suite/rpl/t/rpl_row_utf32.test
index 44ca4b345c0..936d62b09bd 100644
--- a/mysql-test/suite/rpl/t/rpl_row_utf32.test
+++ b/mysql-test/suite/rpl/t/rpl_row_utf32.test
@@ -42,3 +42,4 @@ SET GLOBAL SLAVE_TYPE_CONVERSIONS= @saved_slave_type_conversions;
-- source include/stop_slave.inc
-- source include/start_slave.inc
-- connection master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_view01.test b/mysql-test/suite/rpl/t/rpl_row_view01.test
index 77e4b98f780..cc60ab9912c 100644
--- a/mysql-test/suite/rpl/t/rpl_row_view01.test
+++ b/mysql-test/suite/rpl/t/rpl_row_view01.test
@@ -95,3 +95,4 @@ sync_slave_with_master;
# End of 5.1 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_row_wide_table.test b/mysql-test/suite/rpl/t/rpl_row_wide_table.test
index 7b17d7c4866..b1d16133096 100644
--- a/mysql-test/suite/rpl/t/rpl_row_wide_table.test
+++ b/mysql-test/suite/rpl/t/rpl_row_wide_table.test
@@ -337,3 +337,4 @@ sync_slave_with_master;
# END of Test Case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_savepoint.test b/mysql-test/suite/rpl/t/rpl_savepoint.test
index 7fe8a0da651..2aacd1fa81e 100644
--- a/mysql-test/suite/rpl/t/rpl_savepoint.test
+++ b/mysql-test/suite/rpl/t/rpl_savepoint.test
@@ -44,4 +44,5 @@ FLUSH LOGS;
--echo # Connection master
connection master;
DROP TABLE nt;
---source include/master-slave-end.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync.test b/mysql-test/suite/rpl/t/rpl_semi_sync.test
index 17fa67e97e3..f697fedfad4 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync.test
@@ -15,6 +15,7 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
connection slave;
call mtr.add_suppression("Master server does not support semi-sync");
call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
enable_query_log;
connection master;
@@ -58,7 +59,7 @@ echo [ on master ];
disable_query_log;
let $value = query_get_value(show variables like 'rpl_semi_sync_master_enabled', Value, 1);
-if (`select '$value' = 'No such row'`)
+if ($value == No such row)
{
set sql_log_bin=0;
eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
@@ -123,7 +124,7 @@ echo [ on slave ];
disable_query_log;
let $value= query_get_value(show variables like 'rpl_semi_sync_slave_enabled', Value, 1);
-if (`select '$value' = 'No such row'`)
+if ($value == No such row)
{
set sql_log_bin=0;
eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
@@ -609,6 +610,7 @@ UNINSTALL PLUGIN rpl_semi_sync_master;
enable_warnings;
connection slave;
+change master to master_user='root',master_password='';
source include/start_slave.inc;
connection master;
@@ -618,3 +620,4 @@ sync_slave_with_master;
connection master;
drop user rpl@127.0.0.1;
flush privileges;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_event-master.opt b/mysql-test/suite/rpl/t/rpl_semi_sync_event-master.opt
index 78be60a4852..4cfb5d53923 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_event-master.opt
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_event-master.opt
@@ -1 +1 @@
---max-connections=23
+--max-connections=40
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync_event.test b/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
index 3b68441141a..c84f597c1ee 100644
--- a/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
+++ b/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
@@ -15,12 +15,13 @@ call mtr.add_suppression("Unsafe statement written to the binary log using state
connection slave;
call mtr.add_suppression("Master server does not support semi-sync");
call mtr.add_suppression("Semi-sync slave .* reply");
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
enable_query_log;
connection master;
disable_query_log;
let $value = query_get_value(show variables like 'rpl_semi_sync_master_enabled', Value, 1);
-if (`select '$value' = 'No such row'`)
+if ($value == No such row)
{
set sql_log_bin=0;
eval INSTALL PLUGIN rpl_semi_sync_master SONAME '$SEMISYNC_MASTER_SO';
@@ -34,7 +35,7 @@ source include/stop_slave.inc;
disable_query_log;
let $value= query_get_value(show variables like 'rpl_semi_sync_slave_enabled', Value, 1);
-if (`select '$value' = 'No such row'`)
+if ($value == No such row)
{
set sql_log_bin=0;
eval INSTALL PLUGIN rpl_semi_sync_slave SONAME '$SEMISYNC_SLAVE_SO';
@@ -107,3 +108,4 @@ DROP EVENT ev1;
DROP EVENT ev2;
DROP TABLE t1;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_server_id1.test b/mysql-test/suite/rpl/t/rpl_server_id1.test
index c97f7975278..90198a4ac5e 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id1.test
+++ b/mysql-test/suite/rpl/t/rpl_server_id1.test
@@ -4,21 +4,19 @@
# ignored, which has caught our customers), unless
# --replicate-same-server-id.
-source include/master-slave.inc;
-connection slave;
-reset master;
+--let $rpl_topology= 2->2
+--let $rpl_skip_start_slave= 1
+--source include/rpl_init.inc
-# replicate ourselves
-source include/stop_slave.inc;
---replace_result $SLAVE_MYPORT SLAVE_PORT
-eval change master to master_port=$SLAVE_MYPORT;
-start slave;
+--connection server_2
+START SLAVE;
+# 1593 = ER_SLAVE_FATAL_ERROR
+--let $slave_io_errno= 1593
+--let $show_slave_io_error= 1
+--source include/wait_for_slave_io_error.inc
-let $slave_param= Last_IO_Errno;
-let $slave_param_value= 1593;
-source include/wait_for_slave_param.inc;
---echo *** must be having the replicate-same-server-id IO thread error ***
-let $last_io_errno= query_get_value("show slave status", Last_IO_Errno, 1);
-let $last_io_error= query_get_value("show slave status", Last_IO_Error, 1);
-echo Slave_IO_Errno= $last_io_errno;
-echo Slave_IO_Error= $last_io_error;
+--source include/stop_slave_sql.inc
+RESET SLAVE;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_server_id2.test b/mysql-test/suite/rpl/t/rpl_server_id2.test
index 5c51a7fc08e..21e197866cf 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id2.test
+++ b/mysql-test/suite/rpl/t/rpl_server_id2.test
@@ -50,7 +50,7 @@ eval start slave until master_log_file='master-bin.000001', master_log_pos=$unti
--source include/wait_for_slave_io_to_start.inc
--source include/wait_for_slave_sql_to_stop.inc
---echo *** checking until postion execution: must be only t1 in the list ***
+--echo *** checking until position execution: must be only t1 in the list ***
show tables;
# cleanup
@@ -64,3 +64,4 @@ drop table t2;
sync_slave_with_master;
# End of tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_server_id_ignore.test b/mysql-test/suite/rpl/t/rpl_server_id_ignore.test
index 1b38bd34d3d..004f4daa19d 100644
--- a/mysql-test/suite/rpl/t/rpl_server_id_ignore.test
+++ b/mysql-test/suite/rpl/t/rpl_server_id_ignore.test
@@ -112,3 +112,4 @@ sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_session_var.test b/mysql-test/suite/rpl/t/rpl_session_var.test
index 55e58674c61..cf3faa6578c 100644
--- a/mysql-test/suite/rpl/t/rpl_session_var.test
+++ b/mysql-test/suite/rpl/t/rpl_session_var.test
@@ -57,5 +57,5 @@ sync_slave_with_master;
SELECT length(data) < 100 FROM t1;
connection master;
drop table t1;
-sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_set_charset.test b/mysql-test/suite/rpl/t/rpl_set_charset.test
index 241c1c5738b..296e5dfb079 100644
--- a/mysql-test/suite/rpl/t/rpl_set_charset.test
+++ b/mysql-test/suite/rpl/t/rpl_set_charset.test
@@ -29,3 +29,4 @@ drop database mysqltest1;
sync_slave_with_master;
# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_set_null_innodb.test b/mysql-test/suite/rpl/t/rpl_set_null_innodb.test
index dba79b78fa1..2d0c34e1d0a 100644
--- a/mysql-test/suite/rpl/t/rpl_set_null_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_set_null_innodb.test
@@ -4,3 +4,4 @@
-- let $engine= InnoDB
-- source extra/rpl_tests/rpl_set_null.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_set_null_myisam.test b/mysql-test/suite/rpl/t/rpl_set_null_myisam.test
index 7b433071553..13cd7c3e4a8 100644
--- a/mysql-test/suite/rpl/t/rpl_set_null_myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_set_null_myisam.test
@@ -3,3 +3,4 @@
-- let $engine= MyISAM
-- source extra/rpl_tests/rpl_set_null.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_show_slave_hosts.test b/mysql-test/suite/rpl/t/rpl_show_slave_hosts.test
index 9f202487968..105f1873659 100644
--- a/mysql-test/suite/rpl/t/rpl_show_slave_hosts.test
+++ b/mysql-test/suite/rpl/t/rpl_show_slave_hosts.test
@@ -23,14 +23,13 @@ connection master;
let $show_statement= SHOW SLAVE HOSTS;
let $field= Server_id;
# 3 is server_id of slave2.
-let $connection= ='3';
+let $condition= ='3';
source include/wait_show_condition.inc;
--replace_result $SLAVE_MYPORT SLAVE_PORT $DEFAULT_MASTER_PORT DEFAULT_PORT
SHOW SLAVE HOSTS;
connection slave2;
-STOP SLAVE IO_THREAD;
-source include/wait_for_slave_io_to_stop.inc;
+--source include/stop_slave_io.inc
connection master;
let $show_statement= SHOW SLAVE HOSTS;
@@ -44,4 +43,4 @@ source include/wait_show_condition.inc;
--replace_result $SLAVE_MYPORT SLAVE_PORT
SHOW SLAVE HOSTS;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_show_slave_running.test b/mysql-test/suite/rpl/t/rpl_show_slave_running.test
index 8578f1e5275..d8c86a2aeb1 100644
--- a/mysql-test/suite/rpl/t/rpl_show_slave_running.test
+++ b/mysql-test/suite/rpl/t/rpl_show_slave_running.test
@@ -80,3 +80,4 @@ connection slave;
eval set global debug= '$debug_saved';
SET DEBUG_SYNC= 'RESET';
--echo End of tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_skip_error.test b/mysql-test/suite/rpl/t/rpl_skip_error.test
index 8d176ac0c3b..82d6e61a2cd 100644
--- a/mysql-test/suite/rpl/t/rpl_skip_error.test
+++ b/mysql-test/suite/rpl/t/rpl_skip_error.test
@@ -102,6 +102,8 @@ SET SQL_LOG_BIN=1;
connection slave;
+call mtr.add_suppression("Slave SQL.*Could not execute .*te_rows event on table test.t.; Duplicate entry.* Error_code: 1062");
+
CREATE TABLE t1(id INT NOT NULL PRIMARY KEY, data INT) Engine=InnoDB;
SHOW CREATE TABLE t1;
@@ -167,3 +169,4 @@ DROP TABLE t1;
DROP TABLE t2;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test b/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test
index 1a0ff8d52f0..4fdc1268b80 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_grp_exec.test
@@ -62,7 +62,10 @@ SELECT * FROM t2 ORDER BY a;
SELECT * FROM t3 ORDER BY a;
--connection slave
---source include/wait_for_slave_sql_to_stop.inc
+# 1146 = ER_NO_SUCH_TABLE
+call mtr.add_suppression("Slave SQL.*Table .test.t3. doesn.t exist.* Error_code: 1146");
+--let $slave_sql_errno= 1146
+--source include/wait_for_slave_sql_error.inc
SHOW TABLES LIKE 't%';
if (`SELECT @@BINLOG_FORMAT = 'ROW'`) {
--replace_regex /AA/AA_for_row_or_XX_for_stmt_mixed/
@@ -77,7 +80,7 @@ if (!`SELECT @@BINLOG_FORMAT = 'ROW'`) {
SELECT * FROM t2 ORDER BY a;
}
---source include/stop_slave.inc
+--source include/stop_slave_io.inc
RENAME TABLE t3_bak TO t3;
--source include/start_slave.inc
@@ -107,7 +110,9 @@ INSERT INTO t1 VALUES(2, 'B');
UPDATE t1 SET b = 'X' WHERE a = 2;
--connection slave
---source include/wait_for_slave_sql_to_stop.inc
+# 1146 = ER_NO_SUCH_TABLE
+--let $slave_sql_errno= 1146
+--source include/wait_for_slave_sql_error.inc
--connection master
SELECT * FROM t1 ORDER BY a;
@@ -119,7 +124,7 @@ SHOW TABLES LIKE 't%';
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
---source include/stop_slave.inc
+--source include/stop_slave_io.inc
RENAME TABLE t3_bak TO t3;
--source include/start_slave.inc
@@ -151,7 +156,9 @@ INSERT INTO t3 VALUES (3, 'C'), (4, 'D');
COMMIT;
--connection slave
---source include/wait_for_slave_sql_to_stop.inc
+# 1146 = ER_NO_SUCH_TABLE
+--let $slave_sql_errno= 1146
+--source include/wait_for_slave_sql_error.inc
--connection master
SELECT * FROM t1 ORDER BY a;
@@ -163,7 +170,7 @@ SHOW TABLES LIKE 't%';
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
-source include/stop_slave.inc;
+source include/stop_slave_io.inc;
RENAME TABLE t3_bak TO t3;
source include/start_slave.inc;
@@ -174,3 +181,4 @@ DROP TABLE t1,t2,t3;
--sync_slave_with_master
# End of 5.1 test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_in.test b/mysql-test/suite/rpl/t/rpl_slave_load_in.test
index 54ebdffce69..80a27479ae2 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_load_in.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_load_in.test
@@ -31,12 +31,10 @@ commit;
##########################################################################
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
-let $diff_table_1=master:test.t2;
-let $diff_table_2=slave:test.t2;
+let $diff_tables= master:t2, slave:t2;
source include/diff_tables.inc;
##########################################################################
@@ -48,3 +46,4 @@ drop table t1;
drop table t2;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile-slave.opt b/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile-slave.opt
deleted file mode 100644
index 51e410f911f..00000000000
--- a/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-debug=d,remove_slave_load_file_before_write
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test b/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
index 1cf88deb56f..36327e2354a 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_load_remove_tmpfile.test
@@ -1,22 +1,37 @@
-##########################################################################
+# ==== Purpose ====
+#
# This test verifies if the slave fails gracefully when the temporary
-# file used to load data is removed while it is about to be used it.
+# file used to load data is removed while it is about to be used.
# Similar errors are caught if the temporary directory is removed.
#
+# ==== Implementation ====
+#
# Steps:
+# 0 - Set debug variable remove_slave_load_file_before_write. This
+# causes the slave to remove the file.
# 1 - Creates a table and populates it through "LOAD DATA INFILE".
# 2 - Catches error.
-##########################################################################
+#
+# ==== References ====
+#
+# BUG#42861: Assigning invalid directories to --slave-load-tmpdir crashes the slave
+# BUG#11872422: rpl_slave_load_remove_tmpfile fails sporadically in pb2
--source include/have_binlog_format_statement.inc
--source include/have_innodb.inc
--source include/have_debug.inc
--source include/master-slave.inc
--source include/not_embedded.inc
+--source include/not_var_link.inc
##########################################################################
# Loading data
##########################################################################
+
+connection slave;
+--let $old_debug= `SELECT @@GLOBAL.DEBUG`
+SET @@GLOBAL.DEBUG = '+d,remove_slave_load_file_before_write';
+
connection master;
create table t1(a int not null auto_increment, b int, primary key(a)) engine=innodb;
@@ -31,19 +46,14 @@ commit;
# Catch Error
##########################################################################
connection slave;
-source include/wait_for_slave_sql_to_stop.inc;
---let $error= query_get_value(SHOW SLAVE STATUS, Last_Errno, 1)
# windows and linux different error numbers here:
# Windows:
# - Last_Errno 29 (File not found)
# Unix like OS:
# - Last_Errno 13 (Can't stat file)
---let $assertion= `SELECT $error=29 OR $error=13`
-if (!$assertion)
-{
- --echo UNEXPECTED ERROR NUMBER: $error
-}
+--let $slave_sql_errno= 29, 13
+--source include/wait_for_slave_sql_error.inc
##########################################################################
# Clean up
@@ -52,9 +62,19 @@ connection master;
drop table t1;
-connection slave;
+--source include/sync_slave_io_with_master.inc
+--source include/stop_slave_io.inc
+RESET SLAVE;
drop table t1;
call mtr.add_suppression("Slave: Can't get stat of .*");
+call mtr.add_suppression("Slave SQL: Error .Can.t get stat of.* Error_code: 13");
call mtr.add_suppression("Slave: File.* not found.*");
+call mtr.add_suppression("Slave SQL: Error .File.* not found.* Error_code: 29");
+--let $rpl_only_running_threads= 1
+
+eval SET @@GLOBAL.DEBUG = '$old_debug';
+
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist-master.opt b/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist-master.opt
new file mode 100644
index 00000000000..cef79bc8585
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist-master.opt
@@ -0,0 +1 @@
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test b/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test
index 68c41abf537..b99c71b1ca0 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_load_tmpdir_not_exist.test
@@ -5,20 +5,18 @@
--source include/have_log_bin.inc
--source include/not_embedded.inc
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
-connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
+--let $rpl_skip_start_slave= 1
+--source include/master-slave.inc
-connection slave;
-
---replace_result $MASTER_MYPORT MASTER_MYPORT
-eval CHANGE MASTER TO MASTER_USER='root',
- MASTER_CONNECT_RETRY=1,
- MASTER_HOST='127.0.0.1',
- MASTER_PORT=$MASTER_MYPORT;
+--connection slave
START SLAVE;
+# Why 12???
+call mtr.add_suppression("Slave SQL.*Unable to use slave.s temporary directory.* Error_code: 12");
+--let $slave_sql_errno= 12
+source include/wait_for_slave_sql_error.inc;
+
+--source include/stop_slave_io.inc
+RESET SLAVE;
-source include/wait_for_slave_sql_to_stop.inc;
-let $errno=query_get_value("show slave status", Last_SQL_Errno, 1);
-echo $errno;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slave_skip.test b/mysql-test/suite/rpl/t/rpl_slave_skip.test
index 66762d4dad0..f2129bd7f18 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_skip.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_skip.test
@@ -309,3 +309,4 @@ connection master;
DROP TABLE t10;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slave_status.test b/mysql-test/suite/rpl/t/rpl_slave_status.test
index 02fd555d13c..0645b4267d6 100644
--- a/mysql-test/suite/rpl/t/rpl_slave_status.test
+++ b/mysql-test/suite/rpl/t/rpl_slave_status.test
@@ -56,15 +56,23 @@ START SLAVE;
source include/wait_for_slave_sql_to_start.inc;
source include/wait_for_slave_io_to_stop.inc;
---echo ==== Verify that Slave_IO_Running = No ====
-let $result= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
---echo Slave_IO_Running = $result (should be No)
+--echo ==== Verify that Slave IO thread stopped with error ====
+# 1045 = ER_ACCESS_DENIED_ERROR
+--let $slave_io_errno= 1045
+--source include/wait_for_slave_io_error.inc
--echo ==== Cleanup (Note that slave IO thread is not running) ====
-DROP TABLE t1;
-# cleanup: slave io thread has been stopped "irrecoverably"
-# so we clean up mess manually
+
+# cleanup: slave io thread has is stopped so we reset replication
+--source include/stop_slave_sql.inc
+CHANGE MASTER TO MASTER_USER = 'root', MASTER_PASSWORD = '';
+# clear Slave_IO_Errno
+--let $rpl_only_running_threads= 1
+--source include/rpl_reset.inc
--echo [on master]
connection master;
DROP TABLE t1;
+
+--source include/rpl_end.inc
+--source include/force_restart.inc
diff --git a/mysql-test/suite/rpl/t/rpl_slow_query_log.test b/mysql-test/suite/rpl/t/rpl_slow_query_log.test
index 334c4393b83..faf037a9dff 100644
--- a/mysql-test/suite/rpl/t/rpl_slow_query_log.test
+++ b/mysql-test/suite/rpl/t/rpl_slow_query_log.test
@@ -29,7 +29,7 @@ source include/master-slave.inc;
source include/have_binlog_format_statement.inc;
CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
# Prepare slave for different long_query_time we need to stop the slave
# and restart it as long_query_time variable is dynamic and, after
@@ -196,7 +196,7 @@ disconnect extra2;
# BUG#50620: Adding an index to a table prevents slave from logging into slow log
#
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
SET @old_log_output= @@log_output;
@@ -233,7 +233,7 @@ let $master_slow_query= `SELECT count(*) = 1 FROM mysql.slow_log WHERE sql_text
-- sync_slave_with_master
let $slave_slow_query= `SELECT count(*) = 1 FROM mysql.slow_log WHERE sql_text like '$slow_query'`;
-if (`SELECT $master_slow_query != $slave_slow_query`)
+if ($master_slow_query != $slave_slow_query)
{
-- connection master
-- echo ***********************************************
@@ -250,7 +250,7 @@ if (`SELECT $master_slow_query != $slave_slow_query`)
-- die "Assertion failed! Master and slave slow log contents differ. Bailing out!"
}
-if (`SELECT $master_slow_query = $slave_slow_query`)
+if ($master_slow_query == $slave_slow_query)
{
-- echo ### Assertion is good. Both Master and Slave exhibit the
-- echo ### same number of queries in slow log: $master_slow_query
@@ -276,7 +276,7 @@ let $master_slow_query= `SELECT count(*) = 1 FROM mysql.slow_log WHERE sql_text
-- sync_slave_with_master
let $slave_slow_query= `SELECT count(*) = 1 FROM mysql.slow_log WHERE sql_text like '$slow_query'`;
-if (`SELECT $master_slow_query != $slave_slow_query`)
+if ($master_slow_query != $slave_slow_query)
{
-- connection master
-- echo ***********************************************
@@ -293,7 +293,7 @@ if (`SELECT $master_slow_query != $slave_slow_query`)
-- die "Assertion failed! Master and slave slow log contents differ. Bailing out!"
}
-if (`SELECT $master_slow_query = $slave_slow_query`)
+if ($master_slow_query == $slave_slow_query)
{
-- echo ### Assertion is good. Both Master and Slave exhibit the
-- echo ### same number of queries in slow log: $master_slow_query
@@ -307,3 +307,4 @@ DROP TABLE t1;
-- sync_slave_with_master
SET @@global.log_output= @old_log_output;
SET @@global.long_query_time= @old_long_query_time;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sp.test b/mysql-test/suite/rpl/t/rpl_sp.test
index b2e7418ce14..00815ab9d7e 100644
--- a/mysql-test/suite/rpl/t/rpl_sp.test
+++ b/mysql-test/suite/rpl/t/rpl_sp.test
@@ -692,13 +692,8 @@ drop function f1;
--echo #
--echo # Bug #11918 Can't use a declared variable in LIMIT clause
--echo #
---disable_warnings
-drop table if exists t1;
-drop procedure if exists p1;
---enable_warnings
-connection master;
--- source include/master-slave-reset.inc
-connection default;
+--source include/rpl_reset.inc
+
create table t1 (c1 int);
insert into t1 (c1) values
(1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
@@ -723,7 +718,7 @@ select * from t1;
sync_slave_with_master;
connection slave;
select * from t1;
-connection default;
+connection master;
--disable_warnings
call p1(-1);
--enable_warnings
@@ -731,7 +726,7 @@ select * from t1;
sync_slave_with_master;
connection slave;
select * from t1;
-connection default;
+connection master;
--echo # Cleanup
set @@session.binlog_format=@save_binlog_format;
@@ -743,3 +738,4 @@ drop procedure p1;
# Cleanup
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sp004.test b/mysql-test/suite/rpl/t/rpl_sp004.test
index 2f9b329eb66..31e4ce37df7 100644
--- a/mysql-test/suite/rpl/t/rpl_sp004.test
+++ b/mysql-test/suite/rpl/t/rpl_sp004.test
@@ -89,3 +89,4 @@ diff_files $MYSQLTEST_VARDIR/tmp/sp004_master.sql $MYSQLTEST_VARDIR/tmp/sp004_sl
# End of 5.0 test case
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sp_effects.test b/mysql-test/suite/rpl/t/rpl_sp_effects.test
index 63ac3a8ad9c..df13ff253b1 100644
--- a/mysql-test/suite/rpl/t/rpl_sp_effects.test
+++ b/mysql-test/suite/rpl/t/rpl_sp_effects.test
@@ -261,3 +261,4 @@ SET @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creato
sync_slave_with_master;
--echo end of the tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_spec_variables.test b/mysql-test/suite/rpl/t/rpl_spec_variables.test
index a60738316c8..2cb580fce83 100644
--- a/mysql-test/suite/rpl/t/rpl_spec_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_spec_variables.test
@@ -304,3 +304,4 @@ SET @@global.storage_engine=@restore_slave_storage_engine;
call mtr.add_suppression("The table 't[12]' is full");
# End of 5.1 test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sporadic_master.test b/mysql-test/suite/rpl/t/rpl_sporadic_master.test
index 6640544b0ed..592d13e67b0 100644
--- a/mysql-test/suite/rpl/t/rpl_sporadic_master.test
+++ b/mysql-test/suite/rpl/t/rpl_sporadic_master.test
@@ -1,6 +1,3 @@
-#############################################################
-# 2006-02-07 By JBM added order by
-#############################################################
# test to see if replication can continue when master sporadically fails on
# COM_BINLOG_DUMP and additionally limits the number of events per dump
@@ -13,10 +10,8 @@ truncate table t1;
# We have to use 4 in the following to make this test work with all table types
insert into t1 values (4),(NULL);
sync_slave_with_master;
-stop slave;
---source include/wait_for_slave_to_stop.inc
-start slave;
---source include/wait_for_slave_to_start.inc
+--source include/stop_slave.inc
+--source include/start_slave.inc
connection master;
insert into t1 values (NULL),(NULL);
flush logs;
@@ -28,4 +23,4 @@ connection master;
drop table t1,t2;
sync_slave_with_master;
-# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ssl.test b/mysql-test/suite/rpl/t/rpl_ssl.test
index 0f216983a32..43289428d45 100644
--- a/mysql-test/suite/rpl/t/rpl_ssl.test
+++ b/mysql-test/suite/rpl/t/rpl_ssl.test
@@ -75,7 +75,7 @@ source include/check_slave_is_running.inc;
let $slave_count= `select count(*) from t1`;
-if (`select $slave_count != $master_count`)
+if ($slave_count != $master_count)
{
echo master and slave differed in number of rows;
echo master: $master_count;
@@ -97,4 +97,14 @@ drop user replssl@localhost;
drop table t1;
sync_slave_with_master;
+--source include/stop_slave.inc
+CHANGE MASTER TO
+ master_user = 'root',
+ master_ssl = 0,
+ master_ssl_ca = '',
+ master_ssl_cert = '',
+ master_ssl_key = '';
+
--echo End of 5.0 tests
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_ssl1.test b/mysql-test/suite/rpl/t/rpl_ssl1.test
index 152f307fd31..f5f63a00033 100644
--- a/mysql-test/suite/rpl/t/rpl_ssl1.test
+++ b/mysql-test/suite/rpl/t/rpl_ssl1.test
@@ -10,7 +10,6 @@ connection master;
grant replication slave on *.* to replssl@localhost require ssl;
create table t1 (t int);
-#syncing with master
sync_slave_with_master;
#trying to use this user without ssl
@@ -57,6 +56,7 @@ start slave;
connection master;
drop user replssl@localhost;
drop table t1;
+
sync_slave_with_master;
source include/show_slave_status.inc;
source include/check_slave_is_running.inc;
@@ -91,6 +91,19 @@ select * from t1;
source include/show_slave_status.inc;
--source include/check_slave_is_running.inc
+# ==== Clean up ====
+
connection master;
drop table t1;
sync_slave_with_master;
+--source include/stop_slave.inc
+CHANGE MASTER TO
+ master_host="127.0.0.1",
+ master_ssl_ca ='',
+ master_ssl_cert='',
+ master_ssl_key='',
+ master_ssl_verify_server_cert=0,
+ master_ssl=0;
+
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_000001.test b/mysql-test/suite/rpl/t/rpl_stm_000001.test
index aee067b2d4a..268a10ad1fa 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_000001.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_000001.test
@@ -1,2 +1,128 @@
-let $engine_type=myisam;
--- source extra/rpl_tests/rpl_stm_000001.test
+# Requires binlog_format=statement format since query involving
+# get_lock() is logged in row format if binlog_format=mixed or row.
+-- source include/have_binlog_format_statement.inc
+-- source include/master-slave.inc
+
+CALL mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+--let $engine_type= myisam
+
+# Load some data into t1
+create table t1 (word char(20) not null);
+load data infile '../../std_data/words.dat' into table t1;
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
+select * from t1 limit 10;
+
+#
+# Test slave with wrong password
+#
+sync_slave_with_master;
+stop slave;
+connection master;
+set password for root@"localhost" = password('foo');
+connection slave;
+start slave;
+connection master;
+#
+# Give slave time to do at last one failed connect retry
+# This one must be short so that the slave will not stop retrying
+real_sleep 2;
+set password for root@"localhost" = password('');
+# Give slave time to connect (will retry every second)
+sleep 2;
+
+create table t3(n int);
+insert into t3 values(1),(2);
+sync_slave_with_master;
+select * from t3;
+select sum(length(word)) from t1;
+connection master;
+drop table t1,t3;
+sync_slave_with_master;
+
+# Test if the slave SQL thread can be more than 16K behind the slave
+# I/O thread (> IO_SIZE)
+
+connection master;
+# we'll use table-level locking to delay slave SQL thread
+eval create table t1 (n int) engine=$engine_type;
+sync_slave_with_master;
+connection master;
+reset master;
+connection slave;
+stop slave;
+reset slave;
+
+connection master;
+let $1=5000;
+# Generate 16K of relay log
+disable_query_log;
+while ($1)
+{
+ eval insert into t1 values($1);
+ dec $1;
+}
+enable_query_log;
+
+# Try to cause a large relay log lag on the slave by locking t1
+connection slave;
+lock tables t1 read;
+start slave;
+connection master;
+--source include/sync_slave_io_with_master.inc
+unlock tables;
+
+#test handling of aborted connection in the middle of update
+
+connection master;
+create table t2(id int);
+insert into t2 values(connection_id());
+
+connection master1;
+# Avoid generating result
+create temporary table t3(n int);
+--disable_warnings
+insert into t3 select get_lock('crash_lock%20C', 1) from t2;
+--enable_warnings
+
+connection master;
+send update t1 set n = n + get_lock('crash_lock%20C', 2);
+connection master1;
+sleep 3;
+select (@id := id) - id from t2;
+kill @id;
+# We don't drop t3 as this is a temporary table
+drop table t2;
+connection master;
+# The get_lock function causes warning for unsafe statement.
+--disable_warnings
+--error 1317,2013
+reap;
+--enable_warnings
+connection slave;
+# The SQL slave thread should now have stopped because the query was killed on
+# the master (so it has a non-zero error code in the binlog).
+# 1053 = ER_SERVER_SHUTDOWN
+--let $slave_sql_errno= 1053
+--source include/wait_for_slave_sql_error_and_skip.inc
+
+select count(*) from t1;
+connection master1;
+drop table t1;
+create table t1 (n int);
+insert into t1 values(3456);
+insert into mysql.user (Host, User, Password)
+ VALUES ("10.10.10.%", "blafasel2", password("blafasel2"));
+select select_priv,user from mysql.user where user = _binary'blafasel2';
+update mysql.user set Select_priv = "Y" where User= _binary"blafasel2";
+select select_priv,user from mysql.user where user = _binary'blafasel2';
+sync_slave_with_master;
+select n from t1;
+select select_priv,user from mysql.user where user = _binary'blafasel2';
+connection master1;
+drop table t1;
+delete from mysql.user where user="blafasel2";
+sync_slave_with_master;
+
+# End of 4.1 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test b/mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test
index a996c6fac66..e8e20438d1d 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test
@@ -105,3 +105,4 @@ DROP FUNCTION IF EXISTS f1;
DROP TRIGGER IF EXISTS tr1;
enable_warnings;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size-master.opt b/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size-master.opt
deleted file mode 100644
index 45631525481..00000000000
--- a/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---binlog_cache_size=4096 --max_binlog_cache_size=7680
diff --git a/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test b/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test
index 7e43b7a9e7d..352213304b6 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_binlog_max_cache_size.test
@@ -5,3 +5,4 @@
--source include/have_binlog_format_statement.inc
--source extra/rpl_tests/rpl_binlog_max_cache_size.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_conflicts.test b/mysql-test/suite/rpl/t/rpl_stm_conflicts.test
index 07b7a0bf8f7..cd9e71cbff9 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_conflicts.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_conflicts.test
@@ -1,11 +1,6 @@
-# See the top of mysql-test/extra/rpl_tests/rpl_conflicts.test for an
-# explanation of what this test does.
-#
-# This test file is for statement-logging mode.
-
source include/have_binlog_format_mixed_or_statement.inc;
source include/master-slave.inc;
source extra/rpl_tests/rpl_conflicts.test;
-source include/master-slave-end.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test b/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
index b46da8a0150..6e3dabf6e32 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
@@ -8,3 +8,4 @@
--source include/have_innodb.inc
--source extra/rpl_tests/rpl_drop_create_temp_table.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test b/mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test
index e24eb718c47..d8a3ad23b66 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test
@@ -3,6 +3,3 @@
let $rename_event_pos= 959;
-- source extra/rpl_tests/rpl_flsh_tbls.test
-
-# End of 4.1 tests
-# Adding comment for force manual merge 5.0 -> wl1012. Delete me if needed.
diff --git a/mysql-test/suite/rpl/t/rpl_stm_found_rows.test b/mysql-test/suite/rpl/t/rpl_stm_found_rows.test
index 2d8d480b910..1ec8f8a0424 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_found_rows.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_found_rows.test
@@ -119,7 +119,5 @@ DROP TABLE t1, logtbl;
DROP PROCEDURE just_log;
DROP PROCEDURE calc_and_log;
DROP FUNCTION log_rows;
-sync_slave_with_master;
-
-source include/reset_master_and_slave.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test b/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
index f3a4b174ab3..ae59008c3ee 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
@@ -8,3 +8,4 @@
--let $engine=Innodb
set session storage_engine=innodb;
--source extra/rpl_tests/rpl_implicit_commit_binlog.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_innodb.test b/mysql-test/suite/rpl/t/rpl_stm_innodb.test
index 5b3fef9c66b..cecf9ec7bcd 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_innodb.test
@@ -6,3 +6,4 @@ source include/have_innodb.inc;
source include/have_binlog_format_mixed_or_statement.inc;
source extra/rpl_tests/rpl_innodb.test;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test b/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test
index 3db3f7d9fcd..92d57625283 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test
@@ -2,7 +2,9 @@
--source include/master-slave.inc
--source include/not_embedded.inc
--source include/not_windows.inc
+
disable_query_log;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
enable_query_log;
--source extra/rpl_tests/rpl_insert_delayed.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_loadfile.test b/mysql-test/suite/rpl/t/rpl_stm_loadfile.test
index c27348ce987..5d2c85b2cb6 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_loadfile.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_loadfile.test
@@ -22,3 +22,4 @@ enable_query_log;
-- source extra/rpl_tests/rpl_loadfile.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_log.test b/mysql-test/suite/rpl/t/rpl_stm_log.test
index 7bc17fbaada..7e7e1d4033f 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_log.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_log.test
@@ -7,3 +7,4 @@ let $engine_type=MyISAM;
# End of 4.1 tests
# Adding comment for force manual merge 5.0 -> wl1012: Delete me
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test b/mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test
index 950aa8b322a..1a7139c889a 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test
@@ -6,6 +6,3 @@
# Requires statement logging
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/rpl_tests/rpl_max_relay_size.test
-
-# End of 4.1 tests
-#
diff --git a/mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test b/mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test
index 523e883d9fa..537d304687c 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test
@@ -16,3 +16,4 @@
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/rpl_tests/rpl_show_relaylog_events.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test b/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
index f32ab1f01f0..f13057a7d83 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_mixing_engines.test
@@ -13,7 +13,7 @@ let $engine_type=Innodb;
# BUG#49522: Replication problem with mixed MyISAM/InnoDB
#
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
CREATE TABLE `t1` (
@@ -37,12 +37,11 @@ SET AUTOCOMMIT=1;
-- sync_slave_with_master
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables= master:t1, slave:t1
-- source include/diff_tables.inc
-- connection master
DROP TABLE `t1`;
-- sync_slave_with_master
--- source include/master-slave-end.inc
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_multi_query.test b/mysql-test/suite/rpl/t/rpl_stm_multi_query.test
index c39d1fad015..e234f4b9622 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_multi_query.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_multi_query.test
@@ -3,10 +3,5 @@
# CLIENT_MULTI_STATEMENTS) will be binlogged ONE-query-per-event (not
# one binlog event containing all queries)
-# Requires statement logging
-- source include/have_binlog_format_mixed_or_statement.inc
-- source extra/rpl_tests/rpl_multi_query.test
-
-
-# End of 4.1 tests
-#
diff --git a/mysql-test/suite/rpl/t/rpl_stm_no_op.test b/mysql-test/suite/rpl/t/rpl_stm_no_op.test
index 66dc89bd712..1605b177ac4 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_no_op.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_no_op.test
@@ -91,3 +91,4 @@ select * from t2;
connection master;
drop table t1, t2;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_sql_mode.test b/mysql-test/suite/rpl/t/rpl_stm_sql_mode.test
index d5aac4a43e2..0eb41d1c6bd 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_sql_mode.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_sql_mode.test
@@ -22,3 +22,4 @@ DROP TABLE t1;
-- echo # duplicate key error (because it has received event
-- echo # with expected error code).
-- sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test b/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
index 7701cd7aa06..ada080e9071 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
@@ -5,5 +5,22 @@
--source include/have_binlog_format_statement.inc
--source include/have_innodb.inc
+# make innodb updates run fast
+--connection slave
+SET @old_innodb_flush_log_at_trx_commit= @@global.innodb_flush_log_at_trx_commit;
+SET @@global.innodb_flush_log_at_trx_commit= 0;
+--connection master
+SET @old_innodb_flush_log_at_trx_commit= @@global.innodb_flush_log_at_trx_commit;
+SET @@global.innodb_flush_log_at_trx_commit= 0;
+
SET @@session.binlog_direct_non_transactional_updates= FALSE;
--source ./extra/rpl_tests/rpl_start_stop_slave.test
+
+# clean up
+--connection slave
+SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+--connection master
+SET @@global.innodb_flush_log_at_trx_commit= @old_innodb_flush_log_at_trx_commit;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test b/mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test
index dd3bf1a7f56..84d663298c4 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test
@@ -8,3 +8,4 @@
SET @@session.binlog_direct_non_transactional_updates= FALSE;
-- source extra/rpl_tests/rpl_stop_middle_group.test
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_until.test b/mysql-test/suite/rpl/t/rpl_stm_until.test
index 12782589b0d..4e9ccc2b0cf 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_until.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_until.test
@@ -72,7 +72,7 @@ select * from t1;
--let $slave_param_value= $master_log_pos_1
--source include/check_slave_param.inc
-let $relay_log_file= slave-relay-bin.000004;
+let $relay_log_file= slave-relay-bin.000003;
let $master_log_pos= $master_log_pos_2;
source include/get_relay_log_pos.inc;
# try replicate all up to and not including the second insert to t2;
@@ -195,24 +195,18 @@ sync_with_master;
# to substitute the genuine one with a prepared on 4.1 server.
#
---source include/master-slave-reset.inc
+--source include/rpl_reset.inc
connection master;
-drop table if exists t1; # there is create table t1 in bug47142_master-bin.000001
-sync_slave_with_master;
-connection slave;
-stop slave;
-connection master;
-
flush logs;
let $MYSQLD_DATADIR= `select @@datadir`;
--remove_file $MYSQLD_DATADIR/master-bin.000001
--copy_file $MYSQL_TEST_DIR/std_data/bug47142_master-bin.000001 $MYSQLD_DATADIR/master-bin.000001
# this a constant bound to the bug47142_master-bin.000001 binlog file
--let $binlog_before_drop=294;
-flush logs;
connection slave;
+stop slave;
reset slave;
--replace_regex /master_log_pos=[0-9]+/master_log_pos=MASTER_LOG_POS/
eval start slave until master_log_file='master-bin.000001', master_log_pos=$binlog_before_drop /* to stop right before DROP */;
@@ -224,9 +218,7 @@ show tables /* t1 must exist */;
drop table t1; # drop on slave only, master does not have t1.
stop slave;
-reset slave;
-
-connection master;
-reset master;
# End of tests
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stm_user_variables.test b/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
index 05adc597776..2045dd6ae57 100644
--- a/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
@@ -43,8 +43,7 @@ CREATE TABLE t1 (`tinyint` TINYINT,
-- echo #########################################
-- connection master
-- echo ## assertion: master and slave tables are in sync
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables=master:t1,slave:t1
-- source include/diff_tables.inc
-- connection master
TRUNCATE t1;
@@ -74,8 +73,7 @@ INSERT INTO t1 VALUES (@positive,
-- echo #########################################
-- connection master
-- echo ## assertion: master and slave tables are in sync
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables=master:t1,slave:t1
-- source include/diff_tables.inc
-- connection master
TRUNCATE t1;
@@ -94,8 +92,7 @@ TRUNCATE t1;
-- echo #########################################
-- connection master
-- echo ## assertion: master and slave tables are in sync
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables=master:t1,slave:t1
-- source include/diff_tables.inc
-- connection master
TRUNCATE t1;
@@ -126,8 +123,7 @@ INSERT INTO t1 VALUES (@negative,
-- connection master
-- echo ## assertion: master and slave tables are in sync
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables=master:t1,slave:t1
-- source include/diff_tables.inc
-- connection master
TRUNCATE t1;
@@ -145,7 +141,7 @@ DROP TABLE t1;
# BUG#51426
#
#####################################################################
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
CREATE TABLE t1 ( c INT, PRIMARY KEY (c)) Engine=MyISAM;
@@ -162,8 +158,7 @@ INSERT INTO t1 VALUES (@aux) , (@aux1);
-- sync_slave_with_master
-- echo ## assertion: master and slave tables are in sync
--- let $diff_table_1=master:test.t1
--- let $diff_table_2=slave:test.t1
+-- let $diff_tables=master:t1,slave:t1
-- source include/diff_tables.inc
--connection master
@@ -172,3 +167,4 @@ DROP TABLE t1;
-- sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_stop_slave.test b/mysql-test/suite/rpl/t/rpl_stop_slave.test
new file mode 100644
index 00000000000..296b002dbb7
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_stop_slave.test
@@ -0,0 +1,119 @@
+source include/master-slave.inc;
+source include/have_innodb.inc;
+source include/have_debug.inc;
+source include/have_debug_sync.inc;
+source include/have_binlog_format_mixed_or_statement.inc;
+
+--echo
+--echo # BUG#56118 STOP SLAVE does not wait till trx with CREATE TMP TABLE ends
+--echo #
+--echo # If a temporary table is created or dropped, the transaction should be
+--echo # regarded similarly that a non-transactional table is modified. So
+--echo # STOP SLAVE should wait until the transaction has finished.
+
+CREATE TABLE t1(c1 INT) ENGINE=InnoDB;
+CREATE TABLE t2(c1 INT) ENGINE=InnoDB;
+
+sync_slave_with_master;
+SET DEBUG_SYNC= 'RESET';
+source include/stop_slave.inc;
+
+--echo
+--echo # Suspend the INSERT statement in current transaction on SQL thread.
+--echo # It guarantees that SQL thread is applying the transaction when
+--echo # STOP SLAVE command launchs.
+let $debug_save= `SELECT @@GLOBAL.debug`;
+SET GLOBAL debug= 'd,after_mysql_insert';
+source include/start_slave.inc;
+
+--echo
+--echo # CREATE TEMPORARY TABLE with InnoDB engine
+--echo # -----------------------------------------
+let $tmp_table_stm= CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = InnoDB;
+source extra/rpl_tests/rpl_stop_slave.test;
+
+--echo
+--echo # CREATE TEMPORARY TABLE ... SELECT with InnoDB engine
+--echo # ----------------------------------------------------
+let $tmp_table_stm= CREATE TEMPORARY TABLE tt1(c1 INT) ENGINE = InnoDB
+ SELECT c1 FROM t2;
+source extra/rpl_tests/rpl_stop_slave.test;
+
+# Don't need to verify 'CREATE TEMPORARY TABLE' with MyIASM engine, as it
+# never is binlogged into a transaction since 5.5.
+
+--echo
+--echo # Test end
+SET GLOBAL debug= '$debug_save';
+source include/restart_slave_sql.inc;
+
+connection slave;
+call mtr.add_suppression("Slave SQL.*Request to stop slave SQL Thread received while applying a group that has non-transactional changes; waiting for completion of the group");
+connection master;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t1, t2;
+
+--echo
+--echo # Bug#58546 test rpl_packet timeout failure sporadically on PB
+--echo # ----------------------------------------------------------------------
+--echo # STOP SLAVE stopped IO thread first and then stopped SQL thread. It was
+--echo # possible that IO thread stopped after replicating part of a transaction
+--echo # which SQL thread was executing. SQL thread would be hung if the
+--echo # transaction could not be rolled back safely.
+--echo # It caused some sporadic failures on PB2.
+--echo #
+--echo # This test verifies that when 'STOP SLAVE' is issued by a user, IO
+--echo # thread will continue to fetch the rest events of the transaction which
+--echo # is being executed by SQL thread and is not able to be rolled back safely.
+
+CREATE TABLE t1 (c1 INT KEY, c2 INT) ENGINE=InnoDB;
+CREATE TABLE t2 (c1 INT) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(1, 1);
+
+sync_slave_with_master;
+
+--source include/rpl_connection_master.inc
+
+let $debug_save= `SELECT @@GLOBAL.debug`;
+SET GLOBAL debug= 'd,dump_thread_wait_before_send_xid';
+
+--source include/rpl_connection_slave.inc
+source include/restart_slave_sql.inc;
+
+BEGIN;
+UPDATE t1 SET c2 = 2 WHERE c1 = 1;
+
+--source include/rpl_connection_master.inc
+BEGIN;
+INSERT INTO t1 VALUES(2, 2);
+INSERT INTO t2 VALUES(1);
+UPDATE t1 SET c2 = 3 WHERE c1 = 1;
+COMMIT;
+
+--source include/rpl_connection_slave1.inc
+let $show_statement= SHOW PROCESSLIST;
+let $field= Info;
+let $condition= = 'UPDATE t1 SET c2 = 3 WHERE c1 = 1';
+source include/wait_show_condition.inc;
+
+send STOP SLAVE;
+
+--source include/rpl_connection_slave.inc
+ROLLBACK;
+
+--source include/rpl_connection_master.inc
+SET DEBUG_SYNC= 'now SIGNAL signal.continue';
+SET DEBUG_SYNC= 'RESET';
+
+--source include/rpl_connection_slave.inc
+source include/wait_for_slave_to_stop.inc;
+
+--source include/rpl_connection_slave1.inc
+reap;
+source include/start_slave.inc;
+
+--source include/rpl_connection_master.inc
+DROP TABLE t1, t2;
+SET GLOBAL debug= $debug_save;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test b/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
index 63efcbeec04..6dab08ac503 100644
--- a/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
+++ b/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
@@ -621,3 +621,4 @@ sync_slave_with_master;
connection master;
# Restore binlog format setting
set global binlog_format =@my_binlog_format;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_sync-slave.opt b/mysql-test/suite/rpl/t/rpl_sync-slave.opt
index fba451a5b3e..3816e61bb1e 100644
--- a/mysql-test/suite/rpl/t/rpl_sync-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_sync-slave.opt
@@ -1 +1,2 @@
--sync-relay-log-info=1 --relay-log-recovery=1 --innodb_file_format_check=1 --default-storage-engine=MyISAM --innodb-file-per-table=0
+--skip-core-file
diff --git a/mysql-test/suite/rpl/t/rpl_sync.test b/mysql-test/suite/rpl/t/rpl_sync.test
index 48c8dc02efb..e1750be0ff6 100644
--- a/mysql-test/suite/rpl/t/rpl_sync.test
+++ b/mysql-test/suite/rpl/t/rpl_sync.test
@@ -31,6 +31,7 @@
--source include/not_valgrind.inc
--source include/have_debug.inc
--source include/have_innodb.inc
+--source include/not_crashrep.inc
call mtr.add_suppression('Attempting backtrace');
call mtr.add_suppression("Recovery from master pos .* and file master-bin.000001");
@@ -50,8 +51,7 @@ connection slave;
let $MYSQLD_SLAVE_DATADIR= `select @@datadir`;
--replace_result $MYSQLD_SLAVE_DATADIR MYSQLD_SLAVE_DATADIR
--copy_file $MYSQLD_SLAVE_DATADIR/master.info $MYSQLD_SLAVE_DATADIR/master.backup
-stop slave SQL_THREAD;
-source include/wait_for_slave_sql_to_stop.inc;
+--source include/stop_slave_sql.inc
connection master;
insert into t1(a) values(4);
@@ -60,8 +60,7 @@ insert into t1(a) values(6);
--echo =====Removing relay log files and crashing/recoverying the slave=======;
connection slave;
-stop slave IO_THREAD;
-source include/wait_for_slave_io_to_stop.inc;
+--source include/stop_slave_io.inc
let $file= query_get_value("SHOW SLAVE STATUS", Relay_Log_File, 1);
@@ -79,18 +78,16 @@ SET SESSION debug="d,crash_before_rotate_relaylog";
--error 2013
FLUSH LOGS;
---enable_reconnect
---source include/wait_until_connected_again.inc
+--let $rpl_server_number= 2
+--source include/rpl_reconnect.inc
--echo =====Dumping and comparing tables=======;
-start slave;
-source include/wait_for_slave_to_start.inc;
+--source include/start_slave.inc
connection master;
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables=master:t1,slave:t1;
source include/diff_tables.inc;
########################################################################################
@@ -98,8 +95,7 @@ source include/diff_tables.inc;
########################################################################################
--echo =====Corrupting the master.info=======;
connection slave;
-stop slave;
-source include/wait_for_slave_to_stop.inc;
+--source include/stop_slave.inc
connection master;
FLUSH LOGS;
@@ -130,18 +126,16 @@ SET SESSION debug="d,crash_before_rotate_relaylog";
--error 2013
FLUSH LOGS;
---enable_reconnect
---source include/wait_until_connected_again.inc
+--let $rpl_server_number= 2
+--source include/rpl_reconnect.inc
--echo =====Dumping and comparing tables=======;
-start slave;
-source include/wait_for_slave_to_start.inc;
+--source include/start_slave.inc
connection master;
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables=master:t1,slave:t1;
source include/diff_tables.inc;
########################################################################################
@@ -150,3 +144,7 @@ source include/diff_tables.inc;
--echo =====Clean up=======;
connection master;
drop table t1;
+
+--remove_file $MYSQLD_SLAVE_DATADIR/master.backup
+--source include/rpl_end.inc
+
diff --git a/mysql-test/suite/rpl/t/rpl_temp_table.test b/mysql-test/suite/rpl/t/rpl_temp_table.test
index 62c3633b7b2..92f8cef9c10 100644
--- a/mysql-test/suite/rpl/t/rpl_temp_table.test
+++ b/mysql-test/suite/rpl/t/rpl_temp_table.test
@@ -64,3 +64,6 @@ connect (master2,localhost,root,,);
connection master2;
drop table if exists t1,t2;
sync_slave_with_master;
+
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test b/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
index e19c3019aa1..63f0b6c2234 100644
--- a/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
+++ b/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
@@ -11,6 +11,7 @@
source include/master-slave.inc;
source include/have_binlog_format_mixed.inc;
+source include/have_innodb.inc;
--echo ==== Initialize ====
@@ -31,6 +32,7 @@ SHOW STATUS LIKE "Slave_open_temp_tables";
--connection master
disconnect master;
+--echo [on master1]
--connection master1
# waiting DROP TEMPORARY TABLE event to be written into binlog
@@ -46,7 +48,10 @@ SHOW STATUS LIKE "Slave_open_temp_tables";
--echo ==== Clean up ====
--echo [on master]
---connection master1
+--let $rpl_connection_name= master
+--let $rpl_server_number= 1
+--source include/rpl_connect.inc
+--connection master
DROP TABLE t1;
--echo [on slave]
@@ -88,8 +93,7 @@ sync_slave_with_master;
# 10. in the end the slave should not have open temp tables.
#
-connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
--- source include/master-slave-reset.inc
+--source include/rpl_reset.inc
-- connection master
# action: setup environment
@@ -146,3 +150,61 @@ DROP TABLE t3, t1;
-- sync_slave_with_master
-- source include/show_binlog_events.inc
+
+--echo
+--echo # Bug#55478 Row events wrongly apply on the temporary table of the same name
+--echo # ==========================================================================
+connection master;
+
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo # The statement should be binlogged
+CREATE TEMPORARY TABLE t1(c1 INT) ENGINE=InnoDB;
+
+--echo
+--echo # Case 1: CREATE TABLE t1 ... SELECT
+--echo # ----------------------------------
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # The statement generates row events on t1. And the rows events should
+--echo # be inserted into the base table on slave.
+CREATE TABLE t1 ENGINE=MyISAM SELECT rand();
+
+source include/show_binlog_events.inc;
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
+
+--echo
+--echo # Case 2: DROP TEMPORARY TABLE in a transacation
+--echo # ----------------------------------------------
+--echo
+
+BEGIN;
+DROP TEMPORARY TABLE t1;
+
+# The patch for BUG#55478 fixed the problem only on RBR. The problem on SBR
+# will be fixed by the patch for bug#55709. So This statement cannot be
+# executed until Bug#55709 is fixed
+#
+# INSERT INTO t1 VALUES(1);
+
+--echo # The rows event will binlogged before 'DROP TEMPORARY TABLE t1',
+--echo # as t1 is non-transactional table
+INSERT INTO t1 VALUES(Rand());
+COMMIT;
+
+source include/show_binlog_events.inc;
+
+--sync_slave_with_master
+
+--echo # Compare the base table.
+--let $diff_tables= master:t1, slave:t1
+--source include/diff_tables.inc
+
+--echo
+connection master;
+DROP TABLE t1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temporary.test b/mysql-test/suite/rpl/t/rpl_temporary.test
index 7a66a55d510..878589ef006 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary.test
+++ b/mysql-test/suite/rpl/t/rpl_temporary.test
@@ -313,12 +313,15 @@ select * from t1;
connection master;
drop table t1;
--remove_file $MYSQLTEST_VARDIR/tmp/bug14157.sql
+--sync_slave_with_master
-# Delete the anonymous users
-SET sql_log_bin = 0;
+# Delete the anonymous users.
+--source include/stop_slave.inc
source include/delete_anonymous_users.inc;
-SET sql_log_bin = 1;
-
+--connection master
+source include/delete_anonymous_users.inc;
+--let $rpl_only_running_threads= 1
+--source include/rpl_reset.inc
#
@@ -350,9 +353,7 @@ connection slave;
DROP USER user43748@127.0.0.1;
---echo -- done. back to master.
-connection master;
-
-
--echo End of 5.1 tests
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt b/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt
index 80c171170f6..b37427aa2cd 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt
+++ b/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt
@@ -1,3 +1,2 @@
--loose-debug="+d,all_errors_are_temporary_errors" --slave-transaction-retries=2
-
-
+--force-restart
diff --git a/mysql-test/suite/rpl/t/rpl_temporary_errors.test b/mysql-test/suite/rpl/t/rpl_temporary_errors.test
index f05cf73c6ed..07b23e10847 100644
--- a/mysql-test/suite/rpl/t/rpl_temporary_errors.test
+++ b/mysql-test/suite/rpl/t/rpl_temporary_errors.test
@@ -26,8 +26,12 @@ set @@global.slave_exec_mode= default;
SHOW STATUS LIKE 'Slave_retried_transactions';
SELECT * FROM t1;
source include/check_slave_is_running.inc;
-DROP TABLE t1;
+
+connection slave;
+call mtr.add_suppression("Slave SQL.*Could not execute Update_rows event on table test.t1");
--echo **** On Master ****
connection master;
DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_test_framework.cnf b/mysql-test/suite/rpl/t/rpl_test_framework.cnf
new file mode 100644
index 00000000000..8934d1c9ae1
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_test_framework.cnf
@@ -0,0 +1,46 @@
+!include ../my.cnf
+[mysqld.1]
+log-slave-updates
+[mysqld.2]
+log-slave-updates
+[mysqld.3]
+log-slave-updates
+[mysqld.4]
+log-slave-updates
+[mysqld.5]
+log-slave-updates
+[mysqld.6]
+log-slave-updates
+[mysqld.7]
+log-slave-updates
+[mysqld.8]
+log-slave-updates
+[mysqld.9]
+log-slave-updates
+#[mysqld.10]
+#log-slave-updates
+#[mysqld.11]
+#log-slave-updates
+#[mysqld.12]
+#log-slave-updates
+#[mysqld.13]
+#log-slave-updates
+#[mysqld.14]
+#log-slave-updates
+#[mysqld.15]
+#log-slave-updates
+
+[ENV]
+SERVER_MYPORT_3= @mysqld.3.port
+SERVER_MYPORT_4= @mysqld.4.port
+SERVER_MYPORT_5= @mysqld.5.port
+SERVER_MYPORT_6= @mysqld.6.port
+SERVER_MYPORT_7= @mysqld.7.port
+SERVER_MYPORT_8= @mysqld.8.port
+SERVER_MYPORT_9= @mysqld.9.port
+#SERVER_MYPORT_10= @mysqld.10.port
+#SERVER_MYPORT_11= @mysqld.11.port
+#SERVER_MYPORT_12= @mysqld.12.port
+#SERVER_MYPORT_13= @mysqld.13.port
+#SERVER_MYPORT_14= @mysqld.14.port
+#SERVER_MYPORT_15= @mysqld.15.port
diff --git a/mysql-test/suite/rpl/t/rpl_test_framework.test b/mysql-test/suite/rpl/t/rpl_test_framework.test
new file mode 100644
index 00000000000..e0f961caff1
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_test_framework.test
@@ -0,0 +1,143 @@
+# ==== Purpose ====
+#
+# Test that the sync chain generated by
+# include/rpl_change_topology.inc (sourced from include/rpl_init.inc)
+# is correct.
+#
+# We test a number of different topologies. Each topology is tested
+# in extra/rpl_tests/rpl_test_framework.inc. See
+# extra/rpl_tests/rpl_test_framework.inc for details on how the sync
+# chain is tested.
+#
+# ==== Related bugs ====
+#
+# BUG#49978: Replication tests don't clean up replication state at the end
+
+
+# We only need to execute this test once. Also, we rely on 'DELETE
+# FROM t1' to remove rows in slave tables that don't exist in master
+# tables (see include/rpl_test_framework.inc for details).
+--source include/have_binlog_format_statement.inc
+
+
+--echo ==== Create t1 on all servers. ====
+if ($mtr_supports_more_than_10_servers)
+{
+ --let $rpl_server_count= 15
+ --let $rpl_topology= 1->2->3->4->5->6->7->8->9->10->11->12->13->14->15
+}
+if (!$mtr_supports_more_than_10_servers)
+{
+ --let $rpl_server_count= 9
+ --let $rpl_topology= 1->2->3->4->5->6->7->8->9
+}
+--source include/rpl_init.inc
+CREATE TABLE t1 (a INT);
+--source include/rpl_end.inc
+
+# Initialize $next_number before first call to
+# extra/rpl_tests/rpl_test_framework.text
+--let $next_number= 0
+
+
+--echo ==== Test 3-server topologies ====
+
+--let $rpl_server_count= 3
+
+--let $rpl_topology= 1 -> 2
+--let $masters= 1,3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 2 -> 3
+--let $masters= 1,2
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= none
+--let $masters= 1,2,3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 1->2, 2->1
+--let $masters= 1,3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 1->2->1
+--let $masters= 2,3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 2->1->2
+--let $masters= 1,3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 1->2->3
+--let $masters= 1
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 2->3->2->1
+--let $masters= 3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 1->2,2->3,3->1
+--let $masters= 3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 1->3->2->1
+--let $masters= 3
+--source extra/rpl_tests/rpl_test_framework.inc
+
+
+--echo ==== Test 6-server topologies ====
+
+--let $rpl_server_count= 6
+
+--let $rpl_topology= 1->2->3->4->1->5->6
+--let $masters= 1
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 3->4->5->6->3->1->2
+--let $masters= 4
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 6->5->4->3->2->1
+--let $masters= 6
+--source extra/rpl_tests/rpl_test_framework.inc
+
+--let $rpl_topology= 1->2->3->1,4->5->6
+--let $masters= 3,4
+--source extra/rpl_tests/rpl_test_framework.inc
+
+
+--echo ==== Test 9-server topology ====
+
+--let $rpl_server_count= 9
+
+--let $rpl_topology= 1->2, 2->3, 3->4, 4->5, 5->1, 1->6, 6->7, 6->8, 8->9
+--let $masters= 2
+--source extra/rpl_tests/rpl_test_framework.inc
+
+if ($mtr_supports_more_than_10_servers) {
+--echo ==== Test 15-server topologies ====
+
+--let $rpl_server_count= 15
+
+--let $rpl_topology= 1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->1
+--let $masters= 2
+--source extra/rpl_tests/rpl_test_framework.inc
+
+# This is a binary tree
+--let $rpl_topology= 1->2->4->8,1->3->6->12,2->5->10,3->7->14,4->9,5->11,6->13,7->15
+--let $masters= 1
+--source extra/rpl_tests/rpl_test_framework.inc
+}
+
+--echo ==== Clean up ====
+
+if ($mtr_supports_more_than_10_servers) {
+ --let $rpl_topology= 1->2->3->4->5->6->7->8->9->10->11->12->13->14->15
+}
+if (!$mtr_supports_more_than_10_servers) {
+ --let $rpl_topology= 1->2->3->4->5->6->7->8->9
+}
+--source include/rpl_init.inc
+--connection server_1
+DROP TABLE t1;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_timezone.test b/mysql-test/suite/rpl/t/rpl_timezone.test
index 1b380062dd7..7355106b6b4 100644
--- a/mysql-test/suite/rpl/t/rpl_timezone.test
+++ b/mysql-test/suite/rpl/t/rpl_timezone.test
@@ -168,6 +168,8 @@ SET @@session.time_zone = default;
connection master;
DROP TABLE t1;
SET @@session.time_zone = default;
+--sync_slave_with_master
+--source include/stop_slave.inc
# Bug#41719 delayed INSERT into timestamp col needs set time_zone for concurrent binlogging
# To test that time_zone is correctly binloging for 'insert delayed' statement
@@ -200,4 +202,7 @@ select * from t1 order by a;
DROP TABLE t1;
SET @@session.time_zone = default;
+--let $rpl_only_running_threads= 1
+--source include/rpl_end.inc
+
--echo End of 5.0 tests
diff --git a/mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test b/mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test
index b30548d0e45..aa22b23925c 100644
--- a/mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test
+++ b/mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test
@@ -20,6 +20,7 @@ sync_slave_with_master;
# to stop.
#
+--connection master
--disable_abort_on_error
CREATE TABLE t1 (a CHAR(30));
@@ -155,5 +156,4 @@ DROP PROCEDURE p2;
DROP EVENT e2;
DROP TABLE t1, t2;
---source include/master-slave-end.inc
-
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_trigger.test b/mysql-test/suite/rpl/t/rpl_trigger.test
index 5642b865e6e..e2974a21bf7 100644
--- a/mysql-test/suite/rpl/t/rpl_trigger.test
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test
@@ -319,24 +319,19 @@ let $MYSQLD_DATADIR= `select @@datadir`;
FLUSH LOGS;
# Stop master server
---echo --> Stop master server
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
---shutdown_server 10
---source include/wait_until_disconnected.inc
+--let $rpl_server_number= 1
+--source include/rpl_stop_server.inc
+
# Replace binlog
remove_file $MYSQLD_DATADIR/master-bin.000001;
copy_file $MYSQL_TEST_DIR/std_data/bug16266.000001 $MYSQLD_DATADIR/master-bin.000001;
-
---echo --> Start master server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
---enable_reconnect
---source include/wait_until_connected_again.inc
+
+--let $rpl_server_number= 1
+--source include/rpl_start_server.inc
+
let $binlog_version= query_get_value(SHOW BINLOG EVENTS, Info, 1);
+
# Make the slave to replay the new binlog.
--echo --> Master binlog: $binlog_version
@@ -512,7 +507,8 @@ sync_slave_with_master;
#
connection master;
-source include/master-slave-reset.inc;
+--source include/rpl_reset.inc
+
connection slave;
connection master;
@@ -529,12 +525,10 @@ insert into t1 values ( 1 );
rollback;
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
--source include/diff_tables.inc
-let $diff_table_1=master:test.log;
-let $diff_table_2=slave:test.log;
+let $diff_tables= master:log, slave:log;
--source include/diff_tables.inc
connection master;
@@ -544,3 +538,4 @@ sync_slave_with_master;
#
# End of tests
#
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_trunc_temp.test b/mysql-test/suite/rpl/t/rpl_trunc_temp.test
index 88ecb7c18b0..0e7d5483f62 100644
--- a/mysql-test/suite/rpl/t/rpl_trunc_temp.test
+++ b/mysql-test/suite/rpl/t/rpl_trunc_temp.test
@@ -52,3 +52,6 @@ let $wait_binlog_event= DROP;
source include/wait_for_binlog_event.inc;
show status like 'Slave_open_temp_tables';
+
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test b/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test
index a0f0ea04f44..bea6332963e 100644
--- a/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test
+++ b/mysql-test/suite/rpl/t/rpl_truncate_2myisam.test
@@ -1,4 +1,3 @@
--source include/not_ndb_default.inc
let $engine=MyISAM;
--source extra/rpl_tests/rpl_truncate.test
-
diff --git a/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test b/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test
index a31fd62a29a..093cf56a316 100644
--- a/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_truncate_3innodb.test
@@ -1,6 +1,4 @@
-
--source include/have_innodb.inc
--source include/not_ndb_default.inc
-
let $engine=InnoDB;
--source extra/rpl_tests/rpl_truncate.test
diff --git a/mysql-test/suite/rpl/t/rpl_typeconv-master.opt b/mysql-test/suite/rpl/t/rpl_typeconv-master.opt
new file mode 100644
index 00000000000..de048691031
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_typeconv-master.opt
@@ -0,0 +1 @@
+--testcase-timeout=40
diff --git a/mysql-test/suite/rpl/t/rpl_typeconv.test b/mysql-test/suite/rpl/t/rpl_typeconv.test
index 2a6a3f3b33d..efcbe97049f 100644
--- a/mysql-test/suite/rpl/t/rpl_typeconv.test
+++ b/mysql-test/suite/rpl/t/rpl_typeconv.test
@@ -61,9 +61,12 @@ SELECT RPAD(Source, 15, ' ') AS Source_Type,
enable_query_log;
DROP TABLE type_conversions;
+call mtr.add_suppression("Slave SQL.*Column 1 of table .test.t1. cannot be converted from type.* Error_code: 1677");
+
connection master;
DROP TABLE t1;
sync_slave_with_master;
set global slave_type_conversions = @saved_slave_type_conversions;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_typeconv_innodb.test b/mysql-test/suite/rpl/t/rpl_typeconv_innodb.test
index 729a622348f..ba2172106b6 100644
--- a/mysql-test/suite/rpl/t/rpl_typeconv_innodb.test
+++ b/mysql-test/suite/rpl/t/rpl_typeconv_innodb.test
@@ -6,8 +6,6 @@
# BUG#49618: Field length stored incorrectly in binary log for InnoDB
#
-source include/reset_master_and_slave.inc;
-
connection slave;
SET @saved_slave_type_conversions = @@GLOBAL.SLAVE_TYPE_CONVERSIONS;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = '';
@@ -17,13 +15,12 @@ CREATE TABLE t1(b1 BIT(1), b2 BIT(2), b3 BIT(3)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (b'0', b'01', b'101');
sync_slave_with_master;
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
+let $diff_tables= master:t1, slave:t1;
source include/diff_tables.inc;
connection master;
DROP TABLE t1;
sync_slave_with_master;
-connection slave;
SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_udf.test b/mysql-test/suite/rpl/t/rpl_udf.test
index b52fea144ba..8643654f2a1 100644
--- a/mysql-test/suite/rpl/t/rpl_udf.test
+++ b/mysql-test/suite/rpl/t/rpl_udf.test
@@ -13,3 +13,5 @@ enable_query_log;
let $engine_type= MyISAM;
--source include/rpl_udf.inc
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_user.test b/mysql-test/suite/rpl/t/rpl_user.test
index b8fe41d03c4..caa17b47733 100644
--- a/mysql-test/suite/rpl/t/rpl_user.test
+++ b/mysql-test/suite/rpl/t/rpl_user.test
@@ -59,3 +59,4 @@ select Host,User from mysql.user where Host='fakehost';
#
connection master;
source include/show_binlog_events.inc;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_user_variables.test b/mysql-test/suite/rpl/t/rpl_user_variables.test
index 915bcb9ae65..dd6ddf39580 100644
--- a/mysql-test/suite/rpl/t/rpl_user_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_user_variables.test
@@ -381,4 +381,5 @@ DROP FUNCTION f2;
DROP TABLE t1;
sync_slave_with_master;
-stop slave;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_variables.test b/mysql-test/suite/rpl/t/rpl_variables.test
index 6c3b3ab6d8a..c3a6f6e273e 100644
--- a/mysql-test/suite/rpl/t/rpl_variables.test
+++ b/mysql-test/suite/rpl/t/rpl_variables.test
@@ -109,14 +109,11 @@ SET @user_text = 'Alunda';
# Stop slave so that we get a fresh sql thread, reading the slave's
# global values of variables into its local copies.
---echo [on master]
-connection master;
-source include/reset_master_and_slave.inc;
+--source include/stop_slave.inc
+--source include/start_slave.inc
# We would have wanted to set this together with the other variables
# above, but can't because it affects how the slave works.
---echo [on slave]
-connection slave;
SET @@global.init_slave = 'SELECT 1';
@@ -674,35 +671,19 @@ EXECUTE p49; EXECUTE p50; EXECUTE p51; EXECUTE p52; EXECUTE p53; EXECUTE p54;
EXECUTE p55; EXECUTE p56; EXECUTE p57; EXECUTE p58; EXECUTE p59; EXECUTE p60;
EXECUTE p61; EXECUTE p62; EXECUTE p63; EXECUTE p64;
+--sync_slave_with_master
+--connection master
+
--echo ==== Results ====
# Show the result in table test.tstmt on master...
SELECT * FROM tstmt ORDER BY id;
-let $diff_table_1=master:test.tstmt;
-# ... then compare test.tstmt on master to the other tables on master...
-let $diff_table_2=master:test.tproc;
-source include/diff_tables.inc;
-let $diff_table_2=master:test.tfunc;
-source include/diff_tables.inc;
-let $diff_table_2=master:test.ttrig;
-source include/diff_tables.inc;
-let $diff_table_2=master:test.tprep;
-source include/diff_tables.inc;
+--sync_slave_with_master
-# ... and to all tables on slave.
-connection master;
-sync_slave_with_master;
-let $diff_table_2=slave:test.tstmt;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.tproc;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.tfunc;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.ttrig;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.tprep;
+# ... then compare test.tstmt on master to the other tables on master and slave.
+let $diff_tables= master:tstmt, master:tproc, master:tfunc, master:ttrig, master:tprep, slave:tstmt, slave:tproc, slave:tfunc, slave:ttrig, slave:tprep;
source include/diff_tables.inc;
@@ -737,3 +718,4 @@ SET @@global.sync_binlog= @s_sync_binlog;
connection master;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_variables_stm.test b/mysql-test/suite/rpl/t/rpl_variables_stm.test
index 9e9bff03830..8943585bc1d 100644
--- a/mysql-test/suite/rpl/t/rpl_variables_stm.test
+++ b/mysql-test/suite/rpl/t/rpl_variables_stm.test
@@ -571,34 +571,19 @@ EXECUTE p49; EXECUTE p50; EXECUTE p51; EXECUTE p52; EXECUTE p53; EXECUTE p54;
EXECUTE p55; EXECUTE p56; EXECUTE p57; EXECUTE p58; EXECUTE p59; EXECUTE p60;
EXECUTE p61; EXECUTE p62; EXECUTE p63; EXECUTE p64;
+--sync_slave_with_master
+--connection master
+
--echo ==== Results ====
# Show the result in table test.tstmt on master...
SELECT * FROM tstmt ORDER BY id;
-let $diff_table_1=master:test.tstmt;
-# ... then compare test.tstmt on master to the other tables on master...
-let $diff_table_2=master:test.tproc;
-source include/diff_tables.inc;
-let $diff_table_2=master:test.tfunc;
-source include/diff_tables.inc;
-let $diff_table_2=master:test.ttrig;
-source include/diff_tables.inc;
-let $diff_table_2=master:test.tprep;
-source include/diff_tables.inc;
+--sync_slave_with_master
-# ... and to all tables on slave.
-sync_slave_with_master;
-let $diff_table_2=slave:test.tstmt;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.tproc;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.tfunc;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.ttrig;
-source include/diff_tables.inc;
-let $diff_table_2=slave:test.tprep;
+# ... then compare test.tstmt on master to the other tables on master and slave.
+let $diff_tables= master:tstmt, master:tproc, master:tfunc, master:ttrig, master:tprep, slave:tstmt, slave:tproc, slave:tfunc, slave:ttrig, slave:tprep;
source include/diff_tables.inc;
@@ -633,3 +618,4 @@ SET @@global.collation_database= @s_collation_database;
connection master;
sync_slave_with_master;
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_view.test b/mysql-test/suite/rpl/t/rpl_view.test
index 01b4dc5ef55..3f0052cd544 100644
--- a/mysql-test/suite/rpl/t/rpl_view.test
+++ b/mysql-test/suite/rpl/t/rpl_view.test
@@ -177,3 +177,4 @@ DROP TABLE t1;
sync_slave_with_master;
--echo End of 5.0 tests
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_view_multi.test b/mysql-test/suite/rpl/t/rpl_view_multi.test
index 5b3e7cf76f8..22509f8e4fc 100644
--- a/mysql-test/suite/rpl/t/rpl_view_multi.test
+++ b/mysql-test/suite/rpl/t/rpl_view_multi.test
@@ -143,3 +143,4 @@ drop table t1, t2;
drop view v1;
--echo # Syncing slave with master and switching to connection 'slave'
--sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl_ndb/combinations b/mysql-test/suite/rpl_ndb/combinations
deleted file mode 100644
index 75712d234e1..00000000000
--- a/mysql-test/suite/rpl_ndb/combinations
+++ /dev/null
@@ -1,5 +0,0 @@
-[row]
-binlog-format=row
-
-[mix]
-binlog-format=mixed
diff --git a/mysql-test/suite/rpl_ndb/my.cnf b/mysql-test/suite/rpl_ndb/my.cnf
deleted file mode 100644
index 0c62988b220..00000000000
--- a/mysql-test/suite/rpl_ndb/my.cnf
+++ /dev/null
@@ -1,70 +0,0 @@
-!include include/default_mysqld.cnf
-!include include/default_ndbd.cnf
-!include include/default_client.cnf
-
-[cluster_config.1]
-NoOfReplicas= 2
-ndbd=,
-ndb_mgmd=
-mysqld=,
-
-[cluster_config.slave]
-NoOfReplicas= 1
-ndbd=
-ndb_mgmd=
-mysqld=
-
-[mysqld]
-# Make all mysqlds use cluster
-ndbcluster
-# Turn on bin logging
-log-bin= master-bin
-# Cluster only supports row format
-binlog-format= row
-
-[mysqld.1.1]
-
-[mysqld.1.1]
-
-[mysqld.1.slave]
-
-# Append <testname>-slave.opt file to the list of argument used when
-# starting the mysqld
-#!use-slave-opt
-
-log-bin= slave-bin
-relay-log= slave-relay-bin
-# Cluster only supports row format
-binlog-format= row
-
-init-rpl-role= slave
-log-slave-updates
-master-retry-count= 10
-
-# Values reported by slave when it connect to master
-# and shows up in SHOW SLAVE STATUS;
-report-host= 127.0.0.1
-report-port= @mysqld.1.slave.port
-report-user= root
-
-loose-skip-innodb
-skip-slave-start
-
-# Directory where slaves find the dumps generated by "load data"
-# on the server. The path need to have constant length otherwise
-# test results will vary, thus a relative path is used.
-slave-load-tmpdir= ../../../tmp
-
-rpl-recovery-rank= @mysqld.1.slave.server-id
-
-
-[ENV]
-NDB_CONNECTSTRING= @mysql_cluster.1.ndb_connectstring
-MASTER_MYPORT= @mysqld.1.1.port
-MASTER_MYPORT1= @mysqld.2.1.port
-
-NDB_CONNECTSTRING_SLAVE= @mysql_cluster.slave.ndb_connectstring
-SLAVE_MYPORT= @mysqld.1.slave.port
-SLAVE_MYSOCK= @mysqld.1.slave.socket
-
-NDB_BACKUP_DIR= @cluster_config.ndbd.1.1.BackupDataDir
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result
deleted file mode 100644
index b4e6c7c77b5..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result
+++ /dev/null
@@ -1,928 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-CREATE TABLE mysql.ndb_apply_status
-( server_id INT UNSIGNED NOT NULL,
-epoch BIGINT UNSIGNED NOT NULL,
-log_name VARCHAR(255) BINARY NOT NULL,
-start_pos BIGINT UNSIGNED NOT NULL,
-end_pos BIGINT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (server_id)) ENGINE=INNODB;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 1 Basic testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 1 Basic testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 2 partition RANGE testing --
---- Do setup --
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901),
-PARTITION p1 VALUES LESS THAN (1946),
-PARTITION p2 VALUES LESS THAN (1966),
-PARTITION p3 VALUES LESS THAN (1986),
-PARTITION p4 VALUES LESS THAN (2005),
-PARTITION p5 VALUES LESS THAN MAXVALUE);
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Show table on slave --
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 2 partition RANGE testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 3 partition LIST testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
---- Test 3 Alter to add partition ---
-ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 3 partition LIST testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 4 partition HASH testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY HASH( YEAR(t) )
-PARTITIONS 4;
---- show that tables have been created correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 4 partition HASH testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 5 partition by key testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id))
-PARTITION BY KEY()
-PARTITIONS 4;
---- Show that tables on master are ndbcluster tables ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Show that tables on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still right type ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 5 key partition testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
-set @@global.slave_exec_mode= DEFAULT;
-drop table mysql.ndb_apply_status;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result
deleted file mode 100644
index 935a7d61dfa..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result
+++ /dev/null
@@ -1,928 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-CREATE TABLE mysql.ndb_apply_status
-( server_id INT UNSIGNED NOT NULL,
-epoch BIGINT UNSIGNED NOT NULL,
-log_name VARCHAR(255) BINARY NOT NULL,
-start_pos BIGINT UNSIGNED NOT NULL,
-end_pos BIGINT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (server_id)) ENGINE=MYISAM;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 1 Basic testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 1 Basic testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 2 partition RANGE testing --
---- Do setup --
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901),
-PARTITION p1 VALUES LESS THAN (1946),
-PARTITION p2 VALUES LESS THAN (1966),
-PARTITION p3 VALUES LESS THAN (1986),
-PARTITION p4 VALUES LESS THAN (2005),
-PARTITION p5 VALUES LESS THAN MAXVALUE);
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Show table on slave --
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 2 partition RANGE testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 3 partition LIST testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
---- Test 3 Alter to add partition ---
-ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 3 partition LIST testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 4 partition HASH testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY HASH( YEAR(t) )
-PARTITIONS 4;
---- show that tables have been created correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 4 partition HASH testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 5 partition by key testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id))
-PARTITION BY KEY()
-PARTITIONS 4;
---- Show that tables on master are ndbcluster tables ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Show that tables on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still right type ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 5 key partition testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
-set @@global.slave_exec_mode= DEFAULT;
-drop table mysql.ndb_apply_status;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2ndb.result
deleted file mode 100644
index 12882b28254..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2ndb.result
+++ /dev/null
@@ -1,400 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SET storage_engine=ndb;
-
-=== NDB -> NDB ===
-
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL,
-b1 INT,
-vc VARCHAR(255),
-bc CHAR(255),
-d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0,
-total BIGINT UNSIGNED,
-y YEAR,
-t DATE,
-PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY;
-ALTER TABLE t1 MODIFY vc char(32);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` char(32) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` char(32) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
---- Check that replication works when slave has more columns than master
-ALTER TABLE t1 ADD PRIMARY KEY(id,total);
-ALTER TABLE t1 MODIFY vc TEXT;
-INSERT INTO t1 VALUES(3,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1905-11-14");
-INSERT INTO t1 VALUES(20,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1965-11-14");
-INSERT INTO t1 VALUES(50,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1985-11-14");
---- Add columns on slave ---
-ALTER TABLE t1 ADD (u int, v char(16) default 'default');
-UPDATE t1 SET u=7 WHERE id < 50;
-UPDATE t1 SET v='explicit' WHERE id >10;
---- Show changed table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- `u` int(11) DEFAULT NULL,
- `v` char(16) DEFAULT 'default',
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SELECT *
-FROM t1
-ORDER BY id;
-id b1 vc bc d f total y t u v
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 7 default
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 7 explicit
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL explicit
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t u v
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 NULL NULL
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 7 default
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL NULL
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 7 explicit
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 NULL NULL
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL explicit
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14 NULL NULL
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14 NULL NULL
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-3 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-20 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-50 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t u v
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL NULL
-3 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 7 default
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL NULL
-20 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 7 explicit
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL NULL
-50 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL explicit
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-7
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-7
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
---- Check that replication works when master has more columns than slave
---- Remove columns on slave ---
-ALTER TABLE t1 DROP COLUMN v;
-ALTER TABLE t1 DROP COLUMN u;
-ALTER TABLE t1 DROP COLUMN t;
-ALTER TABLE t1 DROP COLUMN y;
---- Show changed table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result
deleted file mode 100644
index 28ca1ac43b9..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result
+++ /dev/null
@@ -1,807 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SET storage_engine=ndb;
-
-=== NDB -> MYISAM ===
-
-set @old_slave_exec_mode= @@global.slave_exec_mode;
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-CREATE TABLE mysql.ndb_apply_status
-( server_id INT UNSIGNED NOT NULL,
-epoch BIGINT UNSIGNED NOT NULL,
-log_name VARCHAR(255) BINARY NOT NULL,
-start_pos BIGINT UNSIGNED NOT NULL,
-end_pos BIGINT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (server_id)) ENGINE=MYISAM;
-SET storage_engine=myisam;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL,
-b1 INT,
-vc VARCHAR(255),
-bc CHAR(255),
-d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0,
-total BIGINT UNSIGNED,
-y YEAR,
-t DATE,
-PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY;
-ALTER TABLE t1 MODIFY vc char(32);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` char(32) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` char(32) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
---- Check that replication works when slave has more columns than master
-ALTER TABLE t1 ADD PRIMARY KEY(id,total);
-ALTER TABLE t1 MODIFY vc TEXT;
-INSERT INTO t1 VALUES(3,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1905-11-14");
-INSERT INTO t1 VALUES(20,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1965-11-14");
-INSERT INTO t1 VALUES(50,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1985-11-14");
---- Add columns on slave ---
-ALTER TABLE t1 ADD (u int, v char(16) default 'default');
-UPDATE t1 SET u=7 WHERE id < 50;
-UPDATE t1 SET v='explicit' WHERE id >10;
---- Show changed table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- `u` int(11) DEFAULT NULL,
- `v` char(16) DEFAULT 'default',
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT *
-FROM t1
-ORDER BY id;
-id b1 vc bc d f total y t u v
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 7 default
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 7 explicit
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL explicit
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t u v
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 NULL default
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 7 default
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL default
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 7 explicit
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 NULL default
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL explicit
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14 NULL default
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14 NULL default
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-3 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-20 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-50 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t u v
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL default
-3 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 7 default
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL default
-20 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 7 explicit
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL default
-50 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL explicit
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-7
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-7
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
---- Check that replication works when master has more columns than slave
---- Remove columns on slave ---
-ALTER TABLE t1 DROP COLUMN v;
-ALTER TABLE t1 DROP COLUMN u;
-ALTER TABLE t1 DROP COLUMN t;
-ALTER TABLE t1 DROP COLUMN y;
---- Show changed table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
-
-=== NDB -> INNODB ===
-
-alter table mysql.ndb_apply_status engine=innodb;
-SET storage_engine=innodb;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL,
-b1 INT,
-vc VARCHAR(255),
-bc CHAR(255),
-d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0,
-total BIGINT UNSIGNED,
-y YEAR,
-t DATE,
-PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY;
-ALTER TABLE t1 MODIFY vc char(32);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` char(32) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` char(32) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a coo Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a coo updated 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
---- Check that replication works when slave has more columns than master
-ALTER TABLE t1 ADD PRIMARY KEY(id,total);
-ALTER TABLE t1 MODIFY vc TEXT;
-INSERT INTO t1 VALUES(3,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1905-11-14");
-INSERT INTO t1 VALUES(20,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1965-11-14");
-INSERT INTO t1 VALUES(50,1,'Testing MySQL databases is a cool ',
-'Must make it bug free for the customer',
-654321.4321,15.21,0,1965,"1985-11-14");
---- Add columns on slave ---
-ALTER TABLE t1 ADD (u int, v char(16) default 'default');
-UPDATE t1 SET u=7 WHERE id < 50;
-UPDATE t1 SET v='explicit' WHERE id >10;
---- Show changed table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- `u` int(11) DEFAULT NULL,
- `v` char(16) DEFAULT 'default',
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT *
-FROM t1
-ORDER BY id;
-id b1 vc bc d f total y t u v
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 7 default
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 7 explicit
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL explicit
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t u v
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 NULL default
-3 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 7 default
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL default
-20 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14 7 explicit
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14 NULL default
-50 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14 NULL explicit
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14 NULL default
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14 NULL default
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-3 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-20 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-50 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t u v
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL default
-3 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 7 default
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL default
-20 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 7 explicit
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL default
-50 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22 NULL explicit
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-7
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-7
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
---- Check that replication works when master has more columns than slave
---- Remove columns on slave ---
-ALTER TABLE t1 DROP COLUMN v;
-ALTER TABLE t1 DROP COLUMN u;
-ALTER TABLE t1 DROP COLUMN t;
-ALTER TABLE t1 DROP COLUMN y;
---- Show changed table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` int(11) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-STOP SLAVE;
-RESET SLAVE;
-RESET MASTER;
-START SLAVE;
---- Populate t1 with data ---
---- Select from t1 on master ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select *
-from t1
-order by id;
-id b1 vc bc d f total
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, bc='updated', t="2006-02-22"
-WHERE id < 100
-ORDER BY id;
---- Check the update on master ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total y t
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT *
-FROM t1
-WHERE id < 100
-ORDER BY id;
-id b1 vc bc d f total
-2 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
-4 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
-42 0 Testing MySQL databases is a cool updated 654321.4321 15.21 0
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 412;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-TRUNCATE TABLE t1;
-TRUNCATE TABLE t1;
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
-drop table mysql.ndb_apply_status;
-set @@global.slave_exec_mode= @old_slave_exec_mode;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result
deleted file mode 100644
index 6babf49dcaa..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result
+++ /dev/null
@@ -1,40 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP TABLE IF EXISTS test.t1;
-CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, vchar_column VARCHAR(100), PRIMARY KEY(a)) engine=NDB;
-INSERT INTO test.t1 VALUES(1,UUID(),UUID());
-create procedure test.p1()
-begin
-INSERT INTO test.t1 VALUES(2,UUID(),UUID());
-INSERT INTO test.t1 VALUES(3,UUID(),UUID());
-end|
-CALL test.p1();
-create function test.fn1(x int)
-returns int
-begin
-insert into t1 values (4+x,UUID(),UUID());
-insert into t1 values (5+x,UUID(),UUID());
-return 0;
-end|
-select fn1(0);
-fn1(0)
-0
-create table t2 (a int) engine=NDB;
-insert into t2 values(fn1(2));
-SHOW CREATE TABLE test.t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` int(11) NOT NULL DEFAULT '0',
- `blob_column` longblob,
- `vchar_column` varchar(100) DEFAULT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-DROP PROCEDURE test.p1;
-DROP FUNCTION test.fn1;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result
deleted file mode 100644
index 0fcd361da21..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_apply_status.result
+++ /dev/null
@@ -1,20 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-*** on slave there should be zero rows ***
-select count(*) from mysql.ndb_apply_status;
-count(*)
-0
-create table t1 (a int key, b int) engine ndb;
-insert into t1 values (1,1);
-*** on master it should be empty ***
-select * from mysql.ndb_apply_status;
-server_id epoch log_name start_pos end_pos
-*** on slave there should be one row ***
-select count(*) from mysql.ndb_apply_status;
-count(*)
-1
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result
deleted file mode 100644
index dd4cc90a75f..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_auto_inc.result
+++ /dev/null
@@ -1,170 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-***************** Test 1 ************************
-
-CREATE TABLE t1 (a INT NOT NULL auto_increment,b INT, PRIMARY KEY (a)) ENGINE=NDB auto_increment=3;
-insert into t1 values (NULL,1),(NULL,2),(NULL,3);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a b
-3 1
-4 2
-5 3
-******* Select from Slave *************
-
-select * from t1 ORDER BY a;
-a b
-3 1
-4 2
-5 3
-drop table t1;
-create table t1 (a int not null auto_increment,b int, primary key (a)) engine=NDB;
-insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
-delete from t1 where b=4;
-insert into t1 values (NULL,5),(NULL,6);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-5 5
-6 6
-******* Select from Slave *************
-
-select * from t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-5 5
-6 6
-drop table t1;
-create table t1 (a int not null auto_increment, primary key (a)) engine=NDB;
-insert into t1 values (NULL),(5),(NULL);
-insert into t1 values (250),(NULL);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a
-1
-5
-6
-250
-251
-insert into t1 values (1000);
-set @@insert_id=400;
-insert into t1 values(NULL),(NULL);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a
-1
-5
-6
-250
-251
-400
-401
-1000
-******* Select from Slave *************
-
-select * from t1 ORDER BY a;
-a
-1
-5
-6
-250
-251
-400
-401
-1000
-drop table t1;
-create table t1 (a int not null auto_increment, primary key (a)) engine=NDB;
-insert into t1 values (NULL),(5),(NULL),(NULL);
-insert into t1 values (500),(NULL),(502),(NULL),(600);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a
-1
-5
-6
-7
-500
-501
-502
-503
-600
-set @@insert_id=600;
-insert into t1 values(600),(NULL),(NULL);
-ERROR 23000: Can't write; duplicate key in table 't1'
-set @@insert_id=600;
-insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a
-1
-5
-6
-7
-500
-501
-502
-503
-600
-610
-611
-******* Select from Slave *************
-
-select * from t1 ORDER BY a;
-a
-1
-5
-6
-7
-500
-501
-502
-503
-600
-610
-611
-drop table t1;
-create table t1 (a int not null auto_increment, primary key (a)) engine=NDB;
-insert into t1 values(2),(12),(22),(32),(42);
-insert into t1 values (NULL),(NULL);
-insert into t1 values (3),(NULL),(NULL);
-******* Select from Master *************
-
-select * from t1 ORDER BY a;
-a
-1
-2
-3
-4
-5
-******* Select from Slave *************
-
-** Slave should have 2, 12, 22, 32, 42 **
-** Master will have 2 but not 12, 22, 32, 42 **
-
-select * from t1 ORDER BY a;
-a
-1
-2
-3
-4
-5
-12
-22
-32
-42
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_bank.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_bank.result
deleted file mode 100644
index 06c005427d1..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_bank.result
+++ /dev/null
@@ -1,120 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE DATABASE IF NOT EXISTS BANK;
-DROP DATABASE BANK;
-CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin;
-USE BANK;
-CREATE TABLE GL ( TIME BIGINT UNSIGNED NOT NULL,
-ACCOUNT_TYPE INT UNSIGNED NOT NULL,
-BALANCE INT UNSIGNED NOT NULL,
-DEPOSIT_COUNT INT UNSIGNED NOT NULL,
-DEPOSIT_SUM INT UNSIGNED NOT NULL,
-WITHDRAWAL_COUNT INT UNSIGNED NOT NULL,
-WITHDRAWAL_SUM INT UNSIGNED NOT NULL,
-PURGED INT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (TIME,ACCOUNT_TYPE))
-ENGINE = NDB;
-CREATE TABLE ACCOUNT ( ACCOUNT_ID INT UNSIGNED NOT NULL,
-OWNER INT UNSIGNED NOT NULL,
-BALANCE INT UNSIGNED NOT NULL,
-ACCOUNT_TYPE INT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (ACCOUNT_ID))
-ENGINE = NDB;
-CREATE TABLE TRANSACTION ( TRANSACTION_ID BIGINT UNSIGNED NOT NULL,
-ACCOUNT INT UNSIGNED NOT NULL,
-ACCOUNT_TYPE INT UNSIGNED NOT NULL,
-OTHER_ACCOUNT INT UNSIGNED NOT NULL,
-TRANSACTION_TYPE INT UNSIGNED NOT NULL,
-TIME BIGINT UNSIGNED NOT NULL,
-AMOUNT INT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (TRANSACTION_ID,ACCOUNT))
-ENGINE = NDB;
-CREATE TABLE SYSTEM_VALUES ( SYSTEM_VALUES_ID INT UNSIGNED NOT NULL,
-VALUE BIGINT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (SYSTEM_VALUES_ID))
-ENGINE = NDB;
-CREATE TABLE ACCOUNT_TYPE ( ACCOUNT_TYPE_ID INT UNSIGNED NOT NULL,
-DESCRIPTION CHAR(64) NOT NULL,
-PRIMARY KEY USING HASH (ACCOUNT_TYPE_ID))
-ENGINE = NDB;
-STOP SLAVE;
-RESET SLAVE;
-CREATE DATABASE IF NOT EXISTS BANK;
-DROP DATABASE BANK;
-CREATE DATABASE BANK;
-RESET MASTER;
-CREATE TABLE IF NOT EXISTS mysql.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-DELETE FROM mysql.backup_info;
-LOAD DATA INFILE '../tmp.dat' INTO TABLE mysql.backup_info FIELDS TERMINATED BY ',';
-SELECT @the_backup_id:=backup_id FROM mysql.backup_info;
-@the_backup_id:=backup_id
-<the_backup_id>
-SELECT @the_epoch:=MAX(epoch) FROM mysql.apply_status;
-@the_epoch:=MAX(epoch)
-<the_epoch>
-SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-FROM mysql.binlog_index WHERE epoch > <the_epoch> ORDER BY epoch ASC LIMIT 1;
-@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-<the_pos> master-bin.000001
-CHANGE MASTER TO
-master_log_file = 'master-bin.000001',
-master_log_pos = <the_pos>;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-SHOW SLAVE STATUS;
-Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
-<Slave_IO_State> 127.0.0.1 root MASTER_PORT 1 master-bin.000001 <Read_Master_Log_Pos> <Relay_Log_File> <Relay_Log_Pos> master-bin.000001 Yes Yes <Replicate_Ignore_Table> 0 0 <Exec_Master_Log_Pos> <Relay_Log_Space> None 0 No <Seconds_Behind_Master>
-STOP SLAVE;
-START SLAVE;
-use test;
-create table t1 (a int primary key) engine=ndb;
-insert into t1 values (1);
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result
deleted file mode 100644
index d4abf899ca6..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result
+++ /dev/null
@@ -1,192 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
-`nom` char(4) default NULL,
-`prenom` char(4) default NULL,
-PRIMARY KEY (`nid`))
-ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-delete from t1;
-INSERT INTO t1 VALUES(1,"XYZ2","ABC2");
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ2 ABC2
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ2 ABC2
-delete from t1;
-insert into t1 values(1,"AA", "AA");
-insert into t1 values(2,"BB", "BB");
-insert into t1 values(3,"CC", "CC");
-insert into t1 values(4,"DD", "DD");
-begin;
-delete from t1 where nid = 1;
-insert into t1 values (1,"A2", "A2");
-update t1 set nom="B2" where nid = 2;
-delete from t1 where nid = 2;
-update t1 set nom = "D2" where nid = 4;
-delete from t1 where nid = 4;
-insert into t1 values (4, "D3", "D3");
-update t1 set nom = "D4" where nid = 4;
-insert into t1 values (5, "EE", "EE");
-delete from t1 where nid = 5;
-commit;
-select * from t1 order by 1;
-nid nom prenom
-1 A2 A2
-3 CC CC
-4 D4 D3
-select * from t1 order by 1;
-nid nom prenom
-1 A2 A2
-3 CC CC
-4 D4 D3
-DROP table t1;
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
-`nom` char(4) default NULL,
-`prenom` char(4) default NULL)
-ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1"),(2,"AAA","BBB"),(3,"CCC","DDD");
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-2 AAA BBB
-3 CCC DDD
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-2 AAA BBB
-3 CCC DDD
-delete from t1 where nid = 2;
-INSERT INTO t1 VALUES(4,"EEE","FFF");
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-3 CCC DDD
-4 EEE FFF
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-3 CCC DDD
-4 EEE FFF
-UPDATE t1 set nid=nid+1;
-UPDATE t1 set nom="CCP" where nid = 4;
-select * from t1 order by nid;
-nid nom prenom
-2 XYZ1 ABC1
-4 CCP DDD
-5 EEE FFF
-select * from t1 order by nid;
-nid nom prenom
-2 XYZ1 ABC1
-4 CCP DDD
-5 EEE FFF
-DROP table t1;
-CREATE TABLE `t1` (
-`prid` int(10) unsigned NOT NULL,
-`id_type` enum('IMSI','SIP') NOT NULL,
-`fkimssub` varchar(50) NOT NULL,
-`user_id` varchar(20) DEFAULT NULL,
-`password` varchar(20) DEFAULT NULL,
-`ptg_nbr` varchar(20) DEFAULT NULL,
-`old_tmsi` int(10) unsigned DEFAULT NULL,
-`new_tmsi` int(10) unsigned DEFAULT NULL,
-`dev_capability` int(10) unsigned DEFAULT NULL,
-`dev_oid` bigint(20) unsigned DEFAULT NULL,
-`lac_cell_id` bigint(20) unsigned DEFAULT NULL,
-`ms_classmark1` int(10) unsigned DEFAULT NULL,
-`cipher_key` int(10) unsigned DEFAULT NULL,
-`priid_master` int(10) unsigned DEFAULT NULL,
-PRIMARY KEY (`prid`),
-UNIQUE KEY `fkimssub` (`fkimssub`,`ptg_nbr`) USING HASH
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-Warnings:
-Warning 1121 Ndb does not support unique index on NULL valued attributes, index access with NULL value will become full table scan
-INSERT INTO `t1` VALUES (183342,'IMSI','config3_sub_2Privates_3Publics_imssub_36668','user_id_73336','user_id_73336','73336',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(47617,'IMSI','config3_sub_2Privates_3Publics_imssub_9523','user_id_19046','user_id_19046','19046',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(200332,'IMSI','config3_sub_2Privates_3Publics_imssub_40066','user_id_80132','user_id_80132','80132',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(478882,'IMSI','config3_sub_2Privates_3Publics_imssub_95776','user_id_191552','user_id_191552','191552',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(490146,'IMSI','config3_sub_2Privates_3Publics_imssub_98029','user_id_196057','user_id_196057','196057',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(499301,'IMSI','config3_sub_2Privates_3Publics_imssub_99860','user_id_199719','user_id_199719','199719',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(506101,'IMSI','config3_sub_2Privates_3Publics_imssub_101220','user_id_202439','user_id_202439','202439',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(510142,'IMSI','config3_sub_2Privates_3Publics_imssub_102028','user_id_204056','user_id_204056','204056',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(515871,'IMSI','config3_sub_2Privates_3Publics_imssub_103174','user_id_206347','user_id_206347','206347',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(209842,'IMSI','config3_sub_2Privates_3Publics_imssub_41968','user_id_83936','user_id_83936','83936',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(365902,'IMSI','config3_sub_2Privates_3Publics_imssub_73180','user_id_146360','user_id_146360','146360',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(11892,'IMSI','config3_sub_2Privates_3Publics_imssub_2378','user_id_4756','user_id_4756','4756',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL);
-select count(*) from t1;
-count(*)
-12
-select count(*) from t1;
-count(*)
-12
-update t1 set dev_oid=dev_oid+1;
-select count(*) from t1;
-count(*)
-12
-select count(*) from t1;
-count(*)
-12
-DROP table t1;
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
-`nom` char(4) default NULL,
-`prenom` char(4) default NULL,
-PRIMARY KEY USING HASH (`nid`))
-ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
-**** On Slave ****
-BEGIN;
-UPDATE t1 SET `nom`="LOCK" WHERE `nid`=1;
-set GLOBAL slave_transaction_retries=1;
-**** On Master ****
-UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
-**** On Slave ****
-set GLOBAL slave_transaction_retries=10;
-include/start_slave.inc
-select * from t1 order by nid;
-nid nom prenom
-1 LOCK ABC1
-COMMIT;
-select * from t1 order by nid;
-nid nom prenom
-1 DEAD ABC1
-DROP TABLE t1;
-CREATE TABLE t1 (c1 INT KEY) ENGINE=NDB;
-INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-ALTER TABLE t1 ADD c2 INT;
-SELECT * FROM t1 ORDER BY c1;
-c1 c2
-1 NULL
-2 NULL
-3 NULL
-4 NULL
-5 NULL
-6 NULL
-7 NULL
-8 NULL
-9 NULL
-10 NULL
-ALTER TABLE t1 CHANGE c2 c2 TEXT CHARACTER SET utf8;
-ALTER TABLE t1 CHANGE c2 c2 BLOB;
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-c1 c2
-1 NULL
-2 NULL
-3 NULL
-4 NULL
-5 NULL
-TRUNCATE t1;
-SELECT count(*) FROM t1;
-count(*)
-0
-INSERT INTO t1 VALUES (101,NULL),(102,NULL),(103,NULL),(104,NULL),(105,NULL),(106,NULL),(107,NULL),(108,NULL),(109,NULL),(1010,NULL);
-SELECT count(*) FROM t1;
-count(*)
-10
-SELECT c1 FROM t1 ORDER BY c1 LIMIT 5;
-c1
-101
-102
-103
-104
-105
-DROP TABLE t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result
deleted file mode 100644
index 64ab9a6d637..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result
+++ /dev/null
@@ -1,174 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-==== Initialize ====
-[on slave]
-SET @old_binlog_format= @@global.binlog_format;
-INSTALL PLUGIN example SONAME 'ha_example.so';
-[on master]
-SET @old_binlog_format= @@global.binlog_format;
-INSTALL PLUGIN example SONAME 'ha_example.so';
-CREATE TABLE t (a VARCHAR(100)) ENGINE = MYISAM;
-CREATE TABLE t_self_logging (a VARCHAR(100)) ENGINE = NDB;
-CREATE TABLE t_row (a VARCHAR(100)) ENGINE = INNODB;
-CREATE TABLE t_stmt (a VARCHAR(100)) ENGINE = EXAMPLE;
-CREATE TABLE t_slave_stmt (a VARCHAR(100)) ENGINE = MYISAM;
-CREATE TABLE t_autoinc (a INT KEY AUTO_INCREMENT) ENGINE = MYISAM;
-CREATE TABLE t_double_autoinc (a INT KEY AUTO_INCREMENT) ENGINE = MYISAM;
-CREATE TRIGGER trig_autoinc BEFORE INSERT ON t_autoinc FOR EACH ROW BEGIN INSERT INTO t_stmt VALUES ('x'); END;
-CREATE TRIGGER trig_double_autoinc BEFORE INSERT ON t_double_autoinc FOR EACH ROW BEGIN INSERT INTO t_autoinc VALUES (NULL); END;
-CREATE DATABASE other;
-SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
-[on slave]
-DROP TABLE t_slave_stmt;
-CREATE TABLE t_slave_stmt (a INT) ENGINE = EXAMPLE;
-[on master]
-BINLOG '
-1gRVSg8BAAAAZgAAAGoAAAABAAQANS4xLjM2LWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAADWBFVKEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
-';
-==== Test ====
----- binlog_format=row ----
-* Modify tables of more than one engine, one of which is self-logging
-CREATE TRIGGER trig_1 AFTER INSERT ON t_self_logging FOR EACH ROW BEGIN INSERT INTO t VALUES (1); END;
-INSERT INTO t_self_logging VALUES (1);
-ERROR HY000: Cannot execute statement: impossible to write to binary log since more than one engine is involved and at least one engine is self-logging.
-DROP trigger trig_1;
-SELECT * FROM t_self_logging /* Should be empty */;
-a
-SELECT * FROM t /* Should be empty */;
-a
-* Modify both row-only and stmt-only table
-CREATE TRIGGER trig_2 AFTER INSERT ON t_stmt FOR EACH ROW BEGIN INSERT INTO t_row VALUES(1); END;
-INSERT INTO t_stmt VALUES (1);
-ERROR HY000: Cannot execute statement: impossible to write to binary log since both row-incapable engines and statement-incapable engines are involved.
-SELECT * FROM t_stmt /* should be empty */;
-a
-DROP TRIGGER trig_2;
-* Stmt-only table and binlog_format=row
-INSERT INTO t_stmt VALUES (1);
-ERROR HY000: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = ROW and at least one table uses a storage engine limited to statement-based logging.
-SELECT * FROM t_stmt /* should be empty */;
-a
-* Row injection and stmt-only table: in slave sql thread
-INSERT INTO t_slave_stmt VALUES (1);
-[on slave]
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error executing row event: 'Cannot execute statement: impossible to write to binary log since statement is in row format and at least one table uses a storage engine limited to statement-based logging.'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
-SELECT * FROM t_slave_stmt /* should be empty */;
-a
-[on master]
-* Row injection and stmt-only table: use BINLOG statement
-BINLOG '
-1gRVShMBAAAALwAAAEABAAAAABcAAAAAAAAABHRlc3QABnRfc3RtdAABDwJkAAE=
-1gRVShcBAAAAIAAAAGABAAAQABcAAAAAAAEAAf/+ATE=
-';
-ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is in row format and at least one table uses a storage engine limited to statement-based logging.
-SELECT * FROM t_stmt /* should be empty */;
-a
----- binlog_format=mixed ----
-[on slave]
-include/stop_slave.inc
-SET @@global.binlog_format = MIXED;
-include/start_slave.inc
-[on master]
-SET @@global.binlog_format = MIXED;
-SET @@session.binlog_format = MIXED;
-* Unsafe statement and stmt-only engine
-INSERT INTO t_stmt VALUES (UUID());
-ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. Statement is unsafe because it uses a system function that may return a different value on the slave.
-* Multi-unsafe statement and stmt-only engine
-INSERT DELAYED INTO t_double_autoinc SELECT CONCAT(UUID(), @@hostname, NULL) FROM mysql.general_log LIMIT 1;
-ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is unsafe, storage engine is limited to statement-based logging, and BINLOG_FORMAT = MIXED. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.
----- binlog_format=statement ----
-[on slave]
-include/stop_slave.inc
-SET @@global.binlog_format = STATEMENT;
-include/start_slave.inc
-[on master]
-SET @@global.binlog_format = STATEMENT;
-SET @@session.binlog_format = STATEMENT;
-* Row-only engine and binlog_format=statement: innodb-specific message
-INSERT INTO t_row VALUES (1);
-ERROR HY000: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
-SELECT * FROM t_row /* should be empty */;
-a
-* Row-only engine and binlog_format=statement: generic message
-SET @@session.debug= '+d,no_innodb_binlog_errors';
-INSERT INTO t_row VALUES (1);
-ERROR HY000: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging.
-SELECT * FROM t_row /* should be empty */;
-a
-* Same statement, but db filtered out - no error
-USE other;
-INSERT INTO test.t_row VALUES (1);
-USE test;
-SET @@session.debug= '';
-SELECT * FROM t_row /* should contain the value 1 */;
-a
-1
-* Row injection and binlog_format=statement: BINLOG statement
-BINLOG '
-cNpVShMBAAAAKgAAADYBAAAAABcAAAAAAAAABHRlc3QAAXQAAQ8CZAAB
-cNpVShcBAAAAIAAAAFYBAAAQABcAAAAAAAEAAf/+ATE=
-';
-ERROR HY000: Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.
-SELECT * FROM t /* should be empty */;
-a
-* Same statement, but db filtered out - no error
-USE other;
-BINLOG '
-cNpVShMBAAAAKgAAADYBAAAAABcAAAAAAAAABHRlc3QAAXQAAQ8CZAAB
-cNpVShcBAAAAIAAAAFYBAAAQABcAAAAAAAEAAf/+ATE=
-';
-USE test;
-SELECT * FROM t /* should contain the value 1 */;
-a
-1
-DELETE FROM t;
-* Unsafe statement and binlog_format=statement
-INSERT INTO t VALUES (COALESCE(1, UUID()));
-Warnings:
-Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
-SELECT * FROM t /* should contain the value 1 */;
-a
-1
-DELETE FROM t;
-* Same statement, but db filtered out - no message
-USE other;
-INSERT INTO test.t VALUES (COALESCE(1, UUID()));
-USE test;
-SELECT * FROM t /* should contain the value 1 */;
-a
-1
-DELETE FROM t;
----- master: binlog_format=mixed, slave: binlog_format=statement ----
-SET @@global.binlog_format = MIXED;
-SET @@session.binlog_format = MIXED;
-* Row injection and binlog_format=statement: in slave sql thread
-INSERT INTO t VALUES (COALESCE(1, UUID()));
-[on slave]
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error executing row event: 'Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
-include/start_slave.inc
-SELECT * FROM t /* should be empty */;
-a
-[on master]
-==== Clean up ====
-DROP TRIGGER trig_autoinc;
-DROP TRIGGER trig_double_autoinc;
-DROP TABLE t, t_self_logging, t_row, t_stmt, t_slave_stmt, t_autoinc, t_double_autoinc;
-DROP DATABASE other;
-SET @@global.binlog_format = @old_binlog_format;
-SET @@session.binlog_format = @old_binlog_format;
-UNINSTALL PLUGIN example;
-[on slave]
-SET @@global.binlog_format = @old_binlog_format;
-SET @@session.binlog_format = @old_binlog_format;
-UNINSTALL PLUGIN example;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result
deleted file mode 100644
index c11de8c27e3..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob.result
+++ /dev/null
@@ -1,135 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (
-a int not null primary key,
-b text not null
-) engine=ndb;
-insert into t1 values(1, repeat('abc',10));
-insert into t1 values(2, repeat('def',200));
-insert into t1 values(3, repeat('ghi',3000));
-select 'M', a, sha1(b) from t1
-order by a;
-M a sha1(b)
-M 1 8a6c4cf7cf97e66c487c3e3b717e9ae13623d07d
-M 2 0ccd08c0fa6ad6a4382b27b1d36586d6ceb4fffa
-M 3 75e7b3299e0b776aeac2a4d1542d5b3c0ba2e05e
-select 'S', a, sha1(b) from t1
-order by a;
-S a sha1(b)
-S 1 8a6c4cf7cf97e66c487c3e3b717e9ae13623d07d
-S 2 0ccd08c0fa6ad6a4382b27b1d36586d6ceb4fffa
-S 3 75e7b3299e0b776aeac2a4d1542d5b3c0ba2e05e
-drop table t1;
-create table t1 (
-a int not null primary key,
-b text not null,
-c int,
-d longblob,
-e tinyblob
-) engine=ndbcluster;
-insert into t1 values (
-0, repeat(@s2,454), 100, repeat(@s2,345), NULL);
-insert into t1 values (
-1, repeat(@s0,504), NULL, repeat(@s1,732), repeat(@s1,1));
-insert into t1 values (
-2, '', 102, '', repeat(@s2,1));
-insert into t1 values (
-3, repeat(@s0,545), 103, repeat(@s2,788), repeat(@s0,1));
-insert into t1 values (
-4, repeat(@s1,38), 104, repeat(@s0,260), repeat(@s0,1));
-insert into t1 values (
-5, repeat(@s2,12), 105, repeat(@s2,40), repeat(@s1,1));
-insert into t1 values (
-6, repeat(@s1,242), 106, NULL, repeat(@s1,1));
-insert into t1 values (
-7, repeat(@s1,30), 107, repeat(@s0,161), '');
-insert into t1 values (
-8, repeat(@s1,719), 108, repeat(@s2,104), NULL);
-insert into t1 values (
-9, repeat(@s2,427), NULL, NULL, NULL);
-select 'M', a, sha1(b), c, sha1(d), sha1(e)
-from t1 order by a;
-M a sha1(b) c sha1(d) sha1(e)
-M 0 9538f61e649383c0d1054de2a2f0171188129f33 100 2b6515f29c20b8e9e17cc597527e516c0de8d612 NULL
-M 1 dcb9a12ca86e718ff2564be041b7c1b3ff5ea559 NULL f23e7439d9a73c3954979b85a7ef6ef35faf4e9d abfe8ae5212b22d023aa6de84beeb1344ac5668a
-M 2 da39a3ee5e6b4b0d3255bfef95601890afd80709 102 da39a3ee5e6b4b0d3255bfef95601890afd80709 33deebe47470a40e960834bffa4cdc66790845a6
-M 3 ec8e06d9ac4695d6a898b519ba840590263a9bff 103 278629ad080c3c4377978c006c2e54d0992e43cc 700915801f853603510aeb67b331866d996fdbda
-M 4 0392fa8c425d293c79291f0f34779d1101d13fcb 104 5084b602c7203e0e9590a163415ac605da17ac32 700915801f853603510aeb67b331866d996fdbda
-M 5 0f9653f0c7a69cd1c617792d546582e974a7a24d 105 566588a04ff26d05160d61c83435292bfda2978e abfe8ae5212b22d023aa6de84beeb1344ac5668a
-M 6 a37e8b0ff4fc13a42be02cdecb36186436959bae 106 NULL abfe8ae5212b22d023aa6de84beeb1344ac5668a
-M 7 a6bae0cfe6b45ff8c3c12d2ce577a1cd3931190f 107 39ee712b4b9e47f2cf3ba7c9790b2bf0d8f378e8 da39a3ee5e6b4b0d3255bfef95601890afd80709
-M 8 e139adcb7b2974ee7ff227fd405709e5cb7c896c 108 ba8073b0e1a281d4111bd2d82c7722b01574c00b NULL
-M 9 1fc5168fe4be566b17b658d94e7813f0b5032cdb NULL NULL NULL
-select 'S', a, sha1(b), c, sha1(d), sha1(e)
-from t1 order by a;
-S a sha1(b) c sha1(d) sha1(e)
-S 0 9538f61e649383c0d1054de2a2f0171188129f33 100 2b6515f29c20b8e9e17cc597527e516c0de8d612 NULL
-S 1 dcb9a12ca86e718ff2564be041b7c1b3ff5ea559 NULL f23e7439d9a73c3954979b85a7ef6ef35faf4e9d abfe8ae5212b22d023aa6de84beeb1344ac5668a
-S 2 da39a3ee5e6b4b0d3255bfef95601890afd80709 102 da39a3ee5e6b4b0d3255bfef95601890afd80709 33deebe47470a40e960834bffa4cdc66790845a6
-S 3 ec8e06d9ac4695d6a898b519ba840590263a9bff 103 278629ad080c3c4377978c006c2e54d0992e43cc 700915801f853603510aeb67b331866d996fdbda
-S 4 0392fa8c425d293c79291f0f34779d1101d13fcb 104 5084b602c7203e0e9590a163415ac605da17ac32 700915801f853603510aeb67b331866d996fdbda
-S 5 0f9653f0c7a69cd1c617792d546582e974a7a24d 105 566588a04ff26d05160d61c83435292bfda2978e abfe8ae5212b22d023aa6de84beeb1344ac5668a
-S 6 a37e8b0ff4fc13a42be02cdecb36186436959bae 106 NULL abfe8ae5212b22d023aa6de84beeb1344ac5668a
-S 7 a6bae0cfe6b45ff8c3c12d2ce577a1cd3931190f 107 39ee712b4b9e47f2cf3ba7c9790b2bf0d8f378e8 da39a3ee5e6b4b0d3255bfef95601890afd80709
-S 8 e139adcb7b2974ee7ff227fd405709e5cb7c896c 108 ba8073b0e1a281d4111bd2d82c7722b01574c00b NULL
-S 9 1fc5168fe4be566b17b658d94e7813f0b5032cdb NULL NULL NULL
-drop table t1;
-CREATE TABLE IF NOT EXISTS t1 (
-db VARBINARY(63) NOT NULL,
-name VARBINARY(63) NOT NULL,
-slock BINARY(32) NOT NULL,
-query BLOB NOT NULL,
-node_id INT UNSIGNED NOT NULL,
-epoch BIGINT UNSIGNED NOT NULL,
-id INT UNSIGNED NOT NULL,
-version INT UNSIGNED NOT NULL,
-type INT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (db,name))
-ENGINE=NDB;
-insert into t1 values ('test','t1',
-'abc',repeat(@s0,10), 11,12,13,14,15);
-insert into t1 values ('test','t2',
-'def',repeat(@s1,100), 21,22,23,24,25);
-insert into t1 values ('test','t3',
-'ghi',repeat(@s2,1000),31,32,33,34,35);
-insert into t1 values ('testtttttttttt','t1',
-'abc',repeat(@s0,10), 11,12,13,14,15);
-insert into t1 values ('testttttttttttt','t1',
-'def',repeat(@s1,100), 21,22,23,24,25);
-insert into t1 values ('testtttttttttttt','t1',
-'ghi',repeat(@s2,1000),31,32,33,34,35);
-insert into t1 values ('t','t11111111111',
-'abc',repeat(@s0,10), 11,12,13,14,15);
-insert into t1 values ('t','t111111111111',
-'def',repeat(@s1,100), 21,22,23,24,25);
-insert into t1 values ('t','t1111111111111',
-'ghi',repeat(@s2,1000),31,32,33,34,35);
-select 'M', db, name, sha1(query), node_id, epoch, id, version, type
-from t1 order by db, name;
-M db name sha1(query) node_id epoch id version type
-M t t11111111111 8fc937d303ee7e4795c0b964d4066cedd6d74cfd 11 12 13 14 15
-M t t111111111111 a5229e9f8977bc99afc3b3627c56f083e97e01bd 21 22 23 24 25
-M t t1111111111111 0820e6ad3eeb06ea60e5e04d0bfe36f286b91098 31 32 33 34 35
-M test t1 8fc937d303ee7e4795c0b964d4066cedd6d74cfd 11 12 13 14 15
-M test t2 a5229e9f8977bc99afc3b3627c56f083e97e01bd 21 22 23 24 25
-M test t3 0820e6ad3eeb06ea60e5e04d0bfe36f286b91098 31 32 33 34 35
-M testtttttttttt t1 8fc937d303ee7e4795c0b964d4066cedd6d74cfd 11 12 13 14 15
-M testttttttttttt t1 a5229e9f8977bc99afc3b3627c56f083e97e01bd 21 22 23 24 25
-M testtttttttttttt t1 0820e6ad3eeb06ea60e5e04d0bfe36f286b91098 31 32 33 34 35
-select 'S', db, name, sha1(query), node_id, epoch, id, version, type
-from t1 order by db, name;
-S db name sha1(query) node_id epoch id version type
-S t t11111111111 8fc937d303ee7e4795c0b964d4066cedd6d74cfd 11 12 13 14 15
-S t t111111111111 a5229e9f8977bc99afc3b3627c56f083e97e01bd 21 22 23 24 25
-S t t1111111111111 0820e6ad3eeb06ea60e5e04d0bfe36f286b91098 31 32 33 34 35
-S test t1 8fc937d303ee7e4795c0b964d4066cedd6d74cfd 11 12 13 14 15
-S test t2 a5229e9f8977bc99afc3b3627c56f083e97e01bd 21 22 23 24 25
-S test t3 0820e6ad3eeb06ea60e5e04d0bfe36f286b91098 31 32 33 34 35
-S testtttttttttt t1 8fc937d303ee7e4795c0b964d4066cedd6d74cfd 11 12 13 14 15
-S testttttttttttt t1 a5229e9f8977bc99afc3b3627c56f083e97e01bd 21 22 23 24 25
-S testtttttttttttt t1 0820e6ad3eeb06ea60e5e04d0bfe36f286b91098 31 32 33 34 35
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result
deleted file mode 100644
index 055efffbd6a..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result
+++ /dev/null
@@ -1,156 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-***** Table Create Section ****
-
-CREATE TABLE test.t1 (c1 int not null auto_increment,
-data LONGBLOB, PRIMARY KEY(c1))ENGINE=#;
-
-**** Data Insert Section test.t1 *****
-
-INSERT INTO test.t1 VALUES (NULL, NULL);
-INSERT INTO test.t1 VALUES (NULL, repeat('a',1*1024));
-INSERT INTO test.t1 VALUES (NULL, repeat('b',16*1024));
-
-**** Data Insert Validation Master Section test.t1 ****
-
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
-LENGTH(data)
-NULL
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
-LENGTH(data)
-16384
-
-**** Data Insert Validation Slave Section test.t1 ****
-
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
-LENGTH(data)
-NULL
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
-LENGTH(data)
-1024
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
-LENGTH(data)
-16384
-
-**** Data Update Section test.t1 ****
-
-UPDATE test.t1 set data=repeat('a',18*1024) where c1 = 1;
-UPDATE t1 set data=repeat('c',17*1024) where c1 = 2;
-
-**** Data Update Validation Master Section test.t1 ****
-
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
-LENGTH(data)
-18432
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
-LENGTH(data)
-17408
-
-**** Data Update Validation Slave Section test.t1 ****
-
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
-LENGTH(data)
-18432
-SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
-LENGTH(data)
-17408
-
-**** End Test Section test.t1 ****
-
-**** Create Table test.t2 ****
-
-CREATE TABLE test.t2 (
-c1 INT NOT NULL PRIMARY KEY,
-c2 TEXT,
-c3 INT,
-c4 LONGBLOB,
-KEY(c3))ENGINE=#;
-
-*** Setup Values For test.t2 ***
-set @x0 = '01234567012345670123456701234567';
-set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
-set @b1 = concat(@b1,@x0);
-set @d1 = 'dd1';
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
-set @b2 = 'b2';
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
-set @d2 = 'dd2';
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
-
-**** Data Insert Section test.t2 *****
-
-INSERT INTO test.t2 VALUES(1,@b1,111,@d1);
-INSERT INTO test.t2 VALUES(2,@b2,222,@d2);
-
-**** Data Insert Validation Master Section test.t2 ****
-
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=1;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-1 2256 b1 3000 dd1
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=2;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-2 20000 b2 30000 dd2
-
-**** Data Insert Validation Slave Section test.t2 ****
-
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=1;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-1 2256 b1 3000 dd1
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=2;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-2 20000 b2 30000 dd2
-
-**** Data Update Section test.t2 ****
-
-UPDATE test.t2 SET c2=@b2, c4=@d2 WHERE c1=1;
-UPDATE test.t2 SET c2=@b1, c4=@d1 WHERE c1=2;
-
-**** Data Update Validation Master Section test.t2 ****
-
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=1;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-1 20000 b2 30000 dd2
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=2;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-2 2256 b1 3000 dd1
-
-**** Data Update Validation Slave Section test.t2 ****
-
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=1;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-1 20000 b2 30000 dd2
-SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
-FROM test.t2 WHERE c1=2;
-c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3)
-2 2256 b1 3000 dd1
-
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result
deleted file mode 100644
index dfbd7a37d8e..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result
+++ /dev/null
@@ -1,27 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-RESET MASTER;
-CHANGE MASTER TO master_host="127.0.0.1",master_port=SLAVE_PORT,master_user="root";
-START SLAVE;
-CREATE TABLE t1 (a int key, b int) ENGINE=ndb;
-SHOW TABLES;
-Tables_in_test
-t1
-INSERT INTO t1 VALUES (1,2);
-INSERT INTO t1 VALUES (2,3);
-SELECT * FROM t1 ORDER BY a;
-a b
-1 2
-2 3
-Checking that both slave threads are running.
-SELECT * FROM t1 ORDER BY a;
-a b
-1 2
-2 3
-Checking that both slave threads are running.
-STOP SLAVE;
-DROP TABLE t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result
deleted file mode 100644
index b7d4a3d76db..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result
+++ /dev/null
@@ -1,64 +0,0 @@
-STOP SLAVE;
-STOP SLAVE;
-STOP SLAVE;
-STOP SLAVE;
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
-RESET MASTER;
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
-RESET MASTER;
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
-RESET MASTER;
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
-RESET MASTER;
-RESET SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_MYPORT,master_user='root';
-START SLAVE;
-RESET SLAVE;
-CHANGE MASTER TO master_host='127.0.0.1',master_port=SLAVE_MYPORT1,master_user='root';
-START SLAVE;
-
-*** Check server_id of mysqld servers ***
-SHOW VARIABLES LIKE "server_id";
-Variable_name Value
-server_id 1
-SET auto_increment_offset = 1;
-SET auto_increment_increment = 2;
-SHOW VARIABLES LIKE "server_id";
-Variable_name Value
-server_id 1
-SET auto_increment_offset = 1;
-SET auto_increment_increment = 2;
-SHOW VARIABLES LIKE "server_id";
-Variable_name Value
-server_id 2
-SET auto_increment_offset = 2;
-SET auto_increment_increment = 2;
-SHOW VARIABLES LIKE "server_id";
-Variable_name Value
-server_id 2
-SET auto_increment_offset = 2;
-SET auto_increment_increment = 2;
-
-*** Preparing data ***
-CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=ndb;
-
-*** Basic testing ***
-Insert rows via all hosts
-Check data on both clusters
-Comparing tables master:test.t1 and slave:test.t1
-*** Transaction testing ***
-BEGIN;
-BEGIN;
-COMMIT;
-COMMIT;
-Check data on both clusters
-Comparing tables master:test.t1 and slave:test.t1
-BEGIN;
-BEGIN;
-ROLLBACK;
-ROLLBACK;
-Check data on both clusters
-Comparing tables master:test.t1 and slave:test.t1
-DROP TABLE t1;
-DROP TABLE IF EXISTS t1;
-
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result
deleted file mode 100644
index 99438d663bb..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_simplex.result
+++ /dev/null
@@ -1,29 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (a int key, b int) ENGINE=NDB;
-SHOW TABLES;
-Tables_in_test
-t1
-RESET MASTER;
-INSERT INTO t1 VALUES (1,2);
-INSERT INTO t1 VALUES (2,3);
-STOP SLAVE;
-CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=SLAVE_PORT,MASTER_USER="root";
-START SLAVE;
-Checking that both slave threads are running.
-SELECT * FROM t1 ORDER BY a;
-a b
-1 2
-2 3
-STOP SLAVE;
-START SLAVE;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 2
-2 3
-Checking that both slave threads are running.
-DROP TABLE t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result
deleted file mode 100644
index 3fc4ca26967..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_commit_afterflush.result
+++ /dev/null
@@ -1,13 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (a INT) ENGINE=NDB;
-begin;
-insert into t1 values(1);
-flush tables with read lock;
-commit;
-unlock tables;
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result
deleted file mode 100644
index a6e2144f532..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ctype_ucs2_def.result
+++ /dev/null
@@ -1,27 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-show variables like 'collation_server';
-Variable_name Value
-collation_server ucs2_unicode_ci
-show variables like "%character_set_ser%";
-Variable_name Value
-character_set_server ucs2
-DROP TABLE IF EXISTS t1;
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
-`nom` char(4) default NULL,
-`prenom` char(4) default NULL,
-PRIMARY KEY (`nid`))
-ENGINE=ndbcluster;
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-select * from t1 order by nid;
-nid nom prenom
-1 XYZ1 ABC1
-==== clean up ====
-DROP TABLE t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result
deleted file mode 100644
index 6fdfaa30369..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result
+++ /dev/null
@@ -1,72 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TABLE IF EXISTS t1;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-alter logfile group lg1
-add undofile 'undofile02.dat'
-initial_size 4M engine=ndb;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-alter tablespace ts1
-add datafile 'datafile02.dat'
-initial_size 4M engine=ndb;
-CREATE TABLE t1
-(pk1 int not null primary key, b int not null, c int not null)
-tablespace ts1 storage disk
-engine ndb;
-insert into t1 values (1,2,3);
-select * from t1 order by pk1;
-pk1 b c
-1 2 3
-select * from t1 order by pk1;
-pk1 b c
-1 2 3
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
-master-bin.000001 # Query 1 # use `test`; CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB
-master-bin.000001 # Query 1 # use `test`; alter logfile group lg1
-add undofile 'undofile02.dat'
-initial_size 4M engine=ndb
-master-bin.000001 # Query 1 # use `test`; CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB
-master-bin.000001 # Query 1 # use `test`; alter tablespace ts1
-add datafile 'datafile02.dat'
-initial_size 4M engine=ndb
-master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1
-(pk1 int not null primary key, b int not null, c int not null)
-tablespace ts1 storage disk
-engine ndb
-master-bin.000001 # Query 1 # BEGIN
-master-bin.000001 # Table_map 1 # table_id: # (test.t1)
-master-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows 1 # table_id: #
-master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
-master-bin.000001 # Query 1 # COMMIT
-drop table t1;
-alter tablespace ts1
-drop datafile 'datafile.dat'
-engine=ndb;
-alter tablespace ts1
-drop datafile 'datafile02.dat'
-engine=ndb;
-DROP TABLESPACE ts1 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result
deleted file mode 100644
index c906f00bd40..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result
+++ /dev/null
@@ -1,790 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
---- Start test 2 partition RANGE testing --
---- Do setup --
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
-bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB
-PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901),
-PARTITION p1 VALUES LESS THAN (1946),
-PARTITION p2 VALUES LESS THAN (1966),
-PARTITION p3 VALUES LESS THAN (1986),
-PARTITION p4 VALUES LESS THAN (2005),
-PARTITION p5 VALUES LESS THAN MAXVALUE);
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Show table on slave --
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 2 partition RANGE testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 3 partition LIST testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
-bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
---- Test 3 Alter to add partition ---
-ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 3 partition LIST testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 4 partition HASH testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
-bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB
-PARTITION BY HASH( YEAR(t) )
-PARTITIONS 4;
---- show that tables have been created correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 4 partition HASH testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 5 partition by key testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
-bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id))
-TABLESPACE ts1 STORAGE DISK
-ENGINE=NDB
-PARTITION BY KEY()
-PARTITIONS 4;
---- Show that tables on master are ndbcluster tables ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Show that tables on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still right type ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(63) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(63) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 5 key partition testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
-alter tablespace ts1
-drop datafile 'datafile.dat'
-engine=ndb;
-alter tablespace ts1
-drop datafile 'datafile02.dat'
-engine=ndb;
-DROP TABLESPACE ts1 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result
deleted file mode 100644
index 3f3be8a05a8..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_ddl.result
+++ /dev/null
@@ -1,1628 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
--------- switch to master -------
-SET AUTOCOMMIT = 1;
-DROP DATABASE IF EXISTS mysqltest1;
-DROP DATABASE IF EXISTS mysqltest2;
-DROP DATABASE IF EXISTS mysqltest3;
-CREATE DATABASE mysqltest1;
-CREATE DATABASE mysqltest2;
-CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=NDB;
-INSERT INTO mysqltest1.t1 SET f1= 0;
-CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t4 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t5 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t6 (f1 BIGINT) ENGINE=NDB;
-CREATE INDEX my_idx6 ON mysqltest1.t6(f1);
-CREATE TABLE mysqltest1.t7 (f1 BIGINT) ENGINE=NDB;
-INSERT INTO mysqltest1.t7 SET f1= 0;
-CREATE TABLE mysqltest1.t8 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t9 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t10 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t11 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t12 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t13 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t14 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t15 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t16 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t17 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t18 (f1 BIGINT) ENGINE=NDB;
-CREATE TABLE mysqltest1.t19 (f1 BIGINT) ENGINE=NDB;
-CREATE TEMPORARY TABLE mysqltest1.t23 (f1 BIGINT) ENGINE=MEMORY;
-SET AUTOCOMMIT = 0;
-use mysqltest1;
-
--------- switch to slave --------
-SET AUTOCOMMIT = 1;
-use mysqltest1;
-
--------- switch to master -------
-
-######## SELECT 1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 0 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
--------- switch to master -------
-SELECT 1;
-1
-1
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-
-######## SELECT COUNT(*) FROM t1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 0 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
--------- switch to master -------
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-2
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-
-######## COMMIT ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 0 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-0
-
--------- switch to master -------
-COMMIT;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-
-######## ROLLBACK ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 1 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-
-######## SET AUTOCOMMIT=1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 1 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-1
-
--------- switch to master -------
-SET AUTOCOMMIT=1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SET AUTOCOMMIT=0;
-
-######## START TRANSACTION ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 2 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-2
-
--------- switch to master -------
-START TRANSACTION;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-
-######## BEGIN ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 3 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-3
-
--------- switch to master -------
-BEGIN;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-
-######## DROP TABLE mysqltest1.t2 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 4 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-4
-
--------- switch to master -------
-DROP TABLE mysqltest1.t2;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW TABLES LIKE 't2';
-Tables_in_mysqltest1 (t2)
-
--------- switch to slave --------
-SHOW TABLES LIKE 't2';
-Tables_in_mysqltest1 (t2)
-
--------- switch to master -------
-
-######## DROP TEMPORARY TABLE mysqltest1.t23 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 5 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-DROP TEMPORARY TABLE mysqltest1.t23;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-SHOW TABLES LIKE 't23';
-Tables_in_mysqltest1 (t23)
-
--------- switch to slave --------
-SHOW TABLES LIKE 't23';
-Tables_in_mysqltest1 (t23)
-
--------- switch to master -------
-
-######## RENAME TABLE mysqltest1.t3 to mysqltest1.t20 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 5 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-5
-
--------- switch to master -------
-RENAME TABLE mysqltest1.t3 to mysqltest1.t20;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW TABLES LIKE 't20';
-Tables_in_mysqltest1 (t20)
-t20
-
--------- switch to slave --------
-SHOW TABLES LIKE 't20';
-Tables_in_mysqltest1 (t20)
-t20
-
--------- switch to master -------
-
-######## ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 6 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-6
-
--------- switch to master -------
-ALTER TABLE mysqltest1.t4 ADD column f2 BIGINT;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-describe mysqltest1.t4;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 bigint(20) YES NULL
-
--------- switch to slave --------
-describe mysqltest1.t4;
-Field Type Null Key Default Extra
-f1 bigint(20) YES NULL
-f2 bigint(20) YES NULL
-
--------- switch to master -------
-
-######## CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= NDB ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 7 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-7
-
--------- switch to master -------
-CREATE TABLE mysqltest1.t21 (f1 BIGINT) ENGINE= NDB;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-
-######## CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=MEMORY ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 8 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-CREATE TEMPORARY TABLE mysqltest1.t22 (f1 BIGINT) ENGINE=MEMORY;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-
-######## TRUNCATE TABLE mysqltest1.t7 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 8 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-8
-
--------- switch to master -------
-TRUNCATE TABLE mysqltest1.t7;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SELECT * FROM mysqltest1.t7;
-f1
-
--------- switch to slave --------
-SELECT * FROM mysqltest1.t7;
-f1
-
--------- switch to master -------
-
-######## LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 9 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-9
-
--------- switch to master -------
-LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-UNLOCK TABLES;
-
-######## UNLOCK TABLES ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 10 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-UNLOCK TABLES;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-LOCK TABLES mysqltest1.t1 READ;
-
-######## UNLOCK TABLES ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 10 + 1;
-ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-UNLOCK TABLES;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: MASTER: The INSERT is not committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
-TEST-INFO: SLAVE: The INSERT is not committed (Succeeded)
-
--------- switch to master -------
-LOCK TABLES mysqltest1.t1 WRITE, mysqltest1.t8 READ;
-
-######## UNLOCK TABLES ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 10 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-10
-
--------- switch to master -------
-UNLOCK TABLES;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-
-######## DROP INDEX my_idx6 ON mysqltest1.t6 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 11 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-11
-
--------- switch to master -------
-DROP INDEX my_idx6 ON mysqltest1.t6;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-
--------- switch to slave --------
-SHOW INDEX FROM mysqltest1.t6;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-
--------- switch to master -------
-
-######## CREATE INDEX my_idx5 ON mysqltest1.t5(f1) ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 12 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-12
-
--------- switch to master -------
-CREATE INDEX my_idx5 ON mysqltest1.t5(f1);
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
-
--------- switch to slave --------
-SHOW INDEX FROM mysqltest1.t5;
-Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
-t5 1 my_idx5 1 f1 A 0 NULL NULL YES BTREE
-
--------- switch to master -------
-
-######## DROP DATABASE mysqltest2 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 13 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-13
-
--------- switch to master -------
-DROP DATABASE mysqltest2;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW DATABASES LIKE "mysqltest2";
-Database (mysqltest2)
-
--------- switch to slave --------
-SHOW DATABASES LIKE "mysqltest2";
-Database (mysqltest2)
-
--------- switch to master -------
-
-######## CREATE DATABASE mysqltest3 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 14 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-14
-
--------- switch to master -------
-CREATE DATABASE mysqltest3;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW DATABASES LIKE "mysqltest3";
-Database (mysqltest3)
-mysqltest3
-
--------- switch to slave --------
-SHOW DATABASES LIKE "mysqltest3";
-Database (mysqltest3)
-mysqltest3
-
--------- switch to master -------
-
-######## CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1" ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 15 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-15
-
--------- switch to master -------
-CREATE PROCEDURE p1() READS SQL DATA SELECT "this is p1";
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
--------- switch to slave --------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
--------- switch to master -------
-
-######## ALTER PROCEDURE p1 COMMENT "I have been altered" ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 16 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-16
-
--------- switch to master -------
-ALTER PROCEDURE p1 COMMENT "I have been altered";
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment I have been altered
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
--------- switch to slave --------
-SHOW PROCEDURE STATUS LIKE 'p1';
-Db mysqltest1
-Name p1
-Type PROCEDURE
-Definer root@localhost
-Modified #
-Created #
-Security_type DEFINER
-Comment I have been altered
-character_set_client latin1
-collation_connection latin1_swedish_ci
-Database Collation latin1_swedish_ci
-
--------- switch to master -------
-
-######## DROP PROCEDURE p1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 17 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-17
-
--------- switch to master -------
-DROP PROCEDURE p1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW PROCEDURE STATUS LIKE 'p1';
-
--------- switch to slave --------
-SHOW PROCEDURE STATUS LIKE 'p1';
-
--------- switch to master -------
-
-######## CREATE OR REPLACE VIEW v1 as select * from t1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 18 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-18
-
--------- switch to master -------
-CREATE OR REPLACE VIEW v1 as select * from t1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
-
--------- switch to slave --------
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
-
--------- switch to master -------
-
-######## ALTER VIEW v1 AS select f1 from t1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 19 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-19
-
--------- switch to master -------
-ALTER VIEW v1 AS select f1 from t1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
-
--------- switch to slave --------
-SHOW CREATE VIEW v1;
-View Create View character_set_client collation_connection
-v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
-
--------- switch to master -------
-
-######## DROP VIEW IF EXISTS v1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 20 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-20
-
--------- switch to master -------
-DROP VIEW IF EXISTS v1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW CREATE VIEW v1;
-ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
-
--------- switch to slave --------
-SHOW CREATE VIEW v1;
-ERROR 42S02: Table 'mysqltest1.v1' doesn't exist
-
--------- switch to master -------
-
-######## CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 21 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-21
-
--------- switch to master -------
-CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-
--------- switch to slave --------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-trg1 INSERT t1 SET @a:=1 BEFORE NULL root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
-
--------- switch to master -------
-
-######## DROP TRIGGER trg1 ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 22 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-22
-
--------- switch to master -------
-DROP TRIGGER trg1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-
--------- switch to slave --------
-SHOW TRIGGERS;
-Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
-
--------- switch to master -------
-
-######## CREATE USER user1@localhost ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 23 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-23
-
--------- switch to master -------
-CREATE USER user1@localhost;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SELECT user FROM mysql.user WHERE user = 'user1';
-user
-user1
-
--------- switch to slave --------
-SELECT user FROM mysql.user WHERE user = 'user1';
-user
-user1
-
--------- switch to master -------
-
-######## RENAME USER user1@localhost TO rename1@localhost ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 24 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-24
-
--------- switch to master -------
-RENAME USER user1@localhost TO rename1@localhost;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-rename1
-
--------- switch to slave --------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-rename1
-
--------- switch to master -------
-
-######## DROP USER rename1@localhost ########
-
--------- switch to master -------
-INSERT INTO t1 SET f1= 25 + 1;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-25
-
--------- switch to master -------
-DROP USER rename1@localhost;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
--------- switch to master -------
-ROLLBACK;
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
-TEST-INFO: MASTER: The INSERT is committed (Succeeded)
-
--------- switch to slave --------
-SELECT MAX(f1) FROM t1;
-MAX(f1)
-26
-
-TEST-INFO: SLAVE: The INSERT is committed (Succeeded)
-
--------- switch to master -------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-
--------- switch to slave --------
-SELECT user FROM mysql.user WHERE user = 'rename1';
-user
-use test;
-
--------- switch to master -------
-DROP DATABASE mysqltest1;
-DROP DATABASE mysqltest3;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result
deleted file mode 100644
index 1cecb030181..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_delete_nowhere.result
+++ /dev/null
@@ -1,15 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int, b int) engine=NDB;
-insert into t1 values(1,1);
-select * from t1;
-a b
-1 1
-delete from t1;
-select * from t1;
-a b
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result
deleted file mode 100644
index 316f5fc7e31..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_do_db.result
+++ /dev/null
@@ -1,58 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP DATABASE IF EXISTS replica;
-CREATE DATABASE replica;
-CREATE TABLE t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-USE replica;
-CREATE TABLE replica.t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE replica.t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-USE test;
-INSERT INTO t1 VALUES(1, repeat('abc',10));
-INSERT INTO t2 VALUES(1, repeat('abc',10));
-SHOW TABLES;
-Tables_in_test
-t1
-t2
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-1
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-1
-USE replica;
-INSERT INTO replica.t1 VALUES(2, repeat('def',200));
-INSERT INTO replica.t2 VALUES(2, repeat('def',200));
-SHOW TABLES;
-Tables_in_replica
-t1
-t2
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-1
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-1
-SHOW TABLES;
-Tables_in_test
-USE replica;
-SHOW TABLES;
-Tables_in_replica
-t1
-t2
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-1
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-1
-USE test;
-SHOW TABLES;
-Tables_in_test
-USE test;
-DROP TABLE t1, t2;
-DROP DATABASE IF EXISTS replica;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result
deleted file mode 100644
index dda2844f6d0..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_do_table.result
+++ /dev/null
@@ -1,26 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-INSERT INTO t1 VALUES(1, repeat('abc',10));
-INSERT INTO t1 VALUES(2, repeat('def',200));
-INSERT INTO t1 VALUES(3, repeat('ghi',3000));
-INSERT INTO t2 VALUES(1, repeat('abc',10));
-INSERT INTO t2 VALUES(2, repeat('def',200));
-INSERT INTO t2 VALUES(3, repeat('ghi',3000));
-SHOW TABLES;
-Tables_in_test
-t1
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-3
-INSERT INTO t1 VALUES (3, repeat('bad',1));
-ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
-INSERT INTO t1 VALUES (3, repeat('bad too',1));
-ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
-DROP TABLE IF EXISTS t1, t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
deleted file mode 100644
index e1fdf993c7c..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
+++ /dev/null
@@ -1,582 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
-**** Diff Table Def Start ****
-*** On Slave ***
-STOP SLAVE;
-RESET SLAVE;
-SET @saved_slave_type_conversions = @@slave_type_conversions;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY';
-CREATE TABLE t1 (a INT, b INT PRIMARY KEY, c CHAR(20),
-d FLOAT DEFAULT '2.00',
-e CHAR(4) DEFAULT 'TEST')
-ENGINE='NDB';
-*** Create t1 on Master ***
-CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c CHAR(10)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-INSERT INTO t1 () VALUES(1,2,'TEXAS'),(2,1,'AUSTIN'),(3,4,'QA');
-SELECT * FROM t1 ORDER BY a;
-a b c
-1 2 TEXAS
-2 1 AUSTIN
-3 4 QA
-*** Select from slave ***
-SELECT * FROM t1 ORDER BY a;
-a b c d e
-1 2 TEXAS NULL NULL
-2 1 AUSTIN NULL NULL
-3 4 QA NULL NULL
-SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-*** Drop t1 ***
-DROP TABLE t1;
-*** Create t2 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
-d FLOAT DEFAULT '2.00',
-e CHAR(5) DEFAULT 'TEST2')
-ENGINE='NDB';
-*** Create t2 on Master ***
-CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
-) ENGINE='NDB';
-RESET MASTER;
-*** Master Data Insert ***
-INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
-SELECT * FROM t2 ORDER BY a;
-a b c
-1 2 Kyle, TEX
-2 1 JOE AUSTIN
-3 4 QA TESTING
-*** Start Slave ***
-START SLAVE;
-Last_SQL_Error = Column 2 of table 'test.t2' cannot be converted from type 'char(10)' to type 'char(5)'
-STOP SLAVE;
-RESET SLAVE;
-SELECT * FROM t2 ORDER BY a;
-a b c d e
-RESET MASTER;
-START SLAVE;
-*** Drop t2 ***
-DROP TABLE t2;
-*** Create t3 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t3 (a INT, b INT PRIMARY KEY, c CHAR(20),
-d FLOAT DEFAULT '2.00',
-e CHAR(5) DEFAULT 'TEST2')
-ENGINE='NDB';
-*** Create t3 on Master ***
-CREATE TABLE t3 (a BLOB, b INT PRIMARY KEY, c CHAR(20)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TESTING');
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t3' cannot be converted from type 'tinyblob' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-*** Drop t3 ***
-DROP TABLE t3;
-*** Create t4 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t4 (a INT, b INT PRIMARY KEY, c CHAR(20),
-d FLOAT DEFAULT '2.00',
-e CHAR(5) DEFAULT 'TEST2')
-ENGINE='NDB';
-*** Create t4 on Master ***
-CREATE TABLE t4 (a DECIMAL(8,2), b INT PRIMARY KEY, c CHAR(20)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
-(30000.22,4,'QA TESTING');
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t4' cannot be converted from type 'decimal(8,2)' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-*** Drop t4 ***
-DROP TABLE t4;
-*** Create t5 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t5 (a INT PRIMARY KEY, b CHAR(5),
-c FLOAT, d INT, e DOUBLE,
-f DECIMAL(8,2))ENGINE='NDB';
-*** Create t5 on Master ***
-CREATE TABLE t5 (a INT PRIMARY KEY, b VARCHAR(6),
-c DECIMAL(8,2), d BIT, e BLOB,
-f FLOAT) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
-(2,'JOE',300.01,0,'b2b2',1.0000009);
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'varchar(6)' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-*** Drop t5 ***
-DROP TABLE t5;
-*** Create t6 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t6 (a INT PRIMARY KEY, b CHAR(5),
-c FLOAT, d INT)ENGINE='NDB';
-*** Create t6 on Master ***
-CREATE TABLE t6 (a INT PRIMARY KEY, b VARCHAR(6),
-c DECIMAL(8,2), d BIT
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
-(2,'JOE',300.01,0);
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
-Last_SQL_Error = Column 1 of table 'test.t6' cannot be converted from type 'varchar(6)' to type 'char(5)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
-*** Drop t6 ***
-DROP TABLE t6;
-DROP TABLE t6;
-START SLAVE;
-**** Diff Table Def End ****
-**** Extra Colums Start ****
-*** Create t7 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t7 (a INT KEY, b BLOB, c CHAR(5),
-d TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
-e CHAR(20) DEFAULT 'Extra Column Testing')
-ENGINE='NDB';
-*** Create t7 on Master ***
-CREATE TABLE t7 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t7 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-SELECT * FROM t7 ORDER BY a;
-a b c
-1 b1b1 Kyle
-2 b1b1 JOE
-3 b1b1 QA
-*** Select from slave ***
-SELECT * FROM t7 ORDER BY a;
-a b c d e
-1 b1b1 Kyle NULL NULL
-2 b1b1 JOE NULL NULL
-3 b1b1 QA NULL NULL
-*** Drop t7 ***
-DROP TABLE t7;
-*** Create t8 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t8 (a INT KEY, b BLOB, c CHAR(5),
-d TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
-e INT)ENGINE='NDB';
-*** Create t8 on Master ***
-CREATE TABLE t8 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-*** Drop t8 ***
-DROP TABLE t8;
-*** Create t10 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
-c CHAR(5), e INT DEFAULT '1')ENGINE='NDB';
-*** Create t10 on Master ***
-CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t10' cannot be converted from type 'char(5)' to type 'double'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-*** Drop t10 ***
-DROP TABLE t10;
-*** Create t11 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t11 (a INT KEY, b BLOB, f INT,
-c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
-*** Create t11 on Master ***
-CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 2 of table 'test.t11' cannot be converted from type 'varchar(254)' to type 'int(11)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-*** Drop t11 ***
-DROP TABLE t11;
-*** Create t12 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
-c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='NDB';
-*** Create t12 on Master ***
-CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t12 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-SELECT * FROM t12 ORDER BY a;
-a b c
-1 b1b1b1b1b1b1b1b1 Kyle
-2 b1b1b1b1b1b1b1b1 JOE
-3 b1b1b1b1b1b1b1b1 QA
-*** Select on Slave ***
-SELECT * FROM t12 ORDER BY a;
-a b f c e
-1 b1b1b1b1b1b1b1b1 Kyle NULL NULL
-2 b1b1b1b1b1b1b1b1 JOE NULL NULL
-3 b1b1b1b1b1b1b1b1 QA NULL NULL
-*** Drop t12 ***
-DROP TABLE t12;
-**** Extra Colums End ****
-*** BUG 22177 Start ***
-*** Create t13 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t13 (a INT KEY, b BLOB, c CHAR(5),
-d INT DEFAULT '1',
-e TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-*** Create t13 on Master ***
-CREATE TABLE t13 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t13 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
-SELECT * FROM t13 ORDER BY a;
-a b c
-1 b1b1b1b1b1b1b1b1 Kyle
-2 b1b1b1b1b1b1b1b1 JOE
-3 b1b1b1b1b1b1b1b1 QA
-*** Select on Slave ****
-SELECT * FROM t13 ORDER BY a;
-a b c d e
-1 b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-*** Drop t13 ***
-DROP TABLE t13;
-*** 22117 END ***
-*** Alter Master Table Testing Start ***
-*** Create t14 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-*** Create t14 on Master ***
-CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
-ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
-(2,2.00,'This Test Should work',@b1,'JOE'),
-(3,3.00,'If is does not, I will open a bug',@b1,'QA');
-SELECT * FROM t14 ORDER BY c1;
-c1 c2 c3 c4 c5
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA
-*** Select on Slave ****
-SELECT * FROM t14 ORDER BY c1;
-c1 c2 c3 c4 c5 c6 c7
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-*** Create t14a on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t14a (c1 INT KEY, c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-*** Create t14a on Master ***
-CREATE TABLE t14a (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t14a () VALUES(1,@b1,'Kyle'),
-(2,@b1,'JOE'),
-(3,@b1,'QA');
-SELECT * FROM t14a ORDER BY c1;
-c1 c4 c5
-1 b1b1b1b1b1b1b1b1 Kyle
-2 b1b1b1b1b1b1b1b1 JOE
-3 b1b1b1b1b1b1b1b1 QA
-*** Select on Slave ****
-SELECT * FROM t14a ORDER BY c1;
-c1 c4 c5 c6 c7
-1 b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-STOP SLAVE;
-RESET SLAVE;
-*** Master Drop c5 ***
-ALTER TABLE t14a DROP COLUMN c5;
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t14a () VALUES(4,@b1),
-(5,@b1),
-(6,@b1);
-SELECT * FROM t14a ORDER BY c1;
-c1 c4
-1 b1b1b1b1b1b1b1b1
-2 b1b1b1b1b1b1b1b1
-3 b1b1b1b1b1b1b1b1
-4 b1b1b1b1b1b1b1b1
-5 b1b1b1b1b1b1b1b1
-6 b1b1b1b1b1b1b1b1
-*** Select on Slave ****
-SELECT * FROM t14a ORDER BY c1;
-c1 c4 c5 c6 c7
-1 b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-4 b1b1b1b1b1b1b1b1 NULL NULL CURRENT_TIMESTAMP
-5 b1b1b1b1b1b1b1b1 NULL NULL CURRENT_TIMESTAMP
-6 b1b1b1b1b1b1b1b1 NULL NULL CURRENT_TIMESTAMP
-*** connect to master and drop columns ***
-ALTER TABLE t14 DROP COLUMN c2;
-ALTER TABLE t14 DROP COLUMN c4;
-*** Select from Master ***
-SELECT * FROM t14 ORDER BY c1;
-c1 c3 c5
-1 Replication Testing Extra Col Kyle
-2 This Test Should work JOE
-3 If is does not, I will open a bug QA
-*** Select from Slave ***
-SELECT * FROM t14 ORDER BY c1;
-c1 c3 c5 c6 c7
-1 Replication Testing Extra Col Kyle NULL CURRENT_TIMESTAMP
-2 This Test Should work JOE NULL CURRENT_TIMESTAMP
-3 If is does not, I will open a bug QA NULL CURRENT_TIMESTAMP
-*** Drop t14 ***
-DROP TABLE t14;
-*** Create t15 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t15 (c1 INT KEY, c2 DECIMAL(8,2), c3 TEXT,
-c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-*** Create t15 on Master ***
-CREATE TABLE t15 (c1 INT PRIMARY KEY, c2 DECIMAL(8,2), c3 TEXT,
-c4 BLOB, c5 CHAR(5)) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t15 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
-(2,2.00,'This Test Should work',@b1,'JOE'),
-(3,3.00,'If is does not, I will open a bug',@b1,'QA');
-SELECT * FROM t15 ORDER BY c1;
-c1 c2 c3 c4 c5
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA
-*** Select on Slave ****
-SELECT * FROM t15 ORDER BY c1;
-c1 c2 c3 c4 c5 c6 c7
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-*** Add column on master that is a Extra on Slave ***
-ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
-********************************************
-*** Expect slave to fail with Error 1060 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 1;
-include/start_slave.inc
-*** Try to insert in master ****
-INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
-SELECT * FROM t15 ORDER BY c1;
-c1 c2 c3 c4 c5 c6
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle NULL
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE NULL
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA NULL
-5 2.00 Replication Testing b1b1b1b1b1b1b1b1 Buda 2
-*** Try to select from slave ****
-SELECT * FROM t15 ORDER BY c1;
-c1 c2 c3 c4 c5 c6 c7
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-5 2.00 Replication Testing b1b1b1b1b1b1b1b1 Buda 2 CURRENT_TIMESTAMP
-*** DROP TABLE t15 ***
-DROP TABLE t15;
-*** Create t16 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t16 (c1 INT KEY, c2 DECIMAL(8,2), c3 TEXT,
-c4 BLOB, c5 CHAR(5),
-c6 INT DEFAULT '1',
-c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
-)ENGINE='NDB';
-*** Create t16 on Master ***
-CREATE TABLE t16 (c1 INT PRIMARY KEY, c2 DECIMAL(8,2), c3 TEXT,
-c4 BLOB, c5 CHAR(5))ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-set @b1 = 'b1b1b1b1';
-set @b1 = concat(@b1,@b1);
-INSERT INTO t16 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
-(2,2.00,'This Test Should work',@b1,'JOE'),
-(3,3.00,'If is does not, I will open a bug',@b1,'QA');
-SELECT * FROM t16 ORDER BY c1;
-c1 c2 c3 c4 c5
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA
-*** Select on Slave ****
-SELECT * FROM t16 ORDER BY c1;
-c1 c2 c3 c4 c5 c6 c7
-1 1.00 Replication Testing Extra Col b1b1b1b1b1b1b1b1 Kyle NULL CURRENT_TIMESTAMP
-2 2.00 This Test Should work b1b1b1b1b1b1b1b1 JOE NULL CURRENT_TIMESTAMP
-3 3.00 If is does not, I will open a bug b1b1b1b1b1b1b1b1 QA NULL CURRENT_TIMESTAMP
-*** Add Partition on master ***
-ALTER TABLE t16 PARTITION BY KEY(c1) PARTITIONS 4;
-INSERT INTO t16 () VALUES(4,1.00,'Replication Rocks',@b1,'Omer');
-SHOW CREATE TABLE t16;
-Table Create Table
-t16 CREATE TABLE `t16` (
- `c1` int(11) NOT NULL,
- `c2` decimal(8,2) DEFAULT NULL,
- `c3` text,
- `c4` blob,
- `c5` char(5) DEFAULT NULL,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (c1)
-PARTITIONS 4 */
-*** Show table on Slave ****
-SHOW CREATE TABLE t16;
-Table Create Table
-t16 CREATE TABLE `t16` (
- `c1` int(11) NOT NULL,
- `c2` decimal(8,2) DEFAULT NULL,
- `c3` text,
- `c4` blob,
- `c5` char(5) DEFAULT NULL,
- `c6` int(11) DEFAULT '1',
- `c7` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (`c1`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY (c1)
-PARTITIONS 4 */
-*** DROP TABLE t16 ***
-DROP TABLE t16;
-*** Alter Master End ***
-*** Create t17 on slave ***
-STOP SLAVE;
-RESET SLAVE;
-CREATE TABLE t17 (a SMALLINT, b INT PRIMARY KEY, c CHAR(5),
-d FLOAT DEFAULT '2.00',
-e CHAR(5) DEFAULT 'TEST2')
-ENGINE='NDB';
-*** Create t17 on Master ***
-CREATE TABLE t17 (a BIGINT PRIMARY KEY, b INT, c CHAR(10)
-) ENGINE='NDB';
-RESET MASTER;
-*** Start Slave ***
-START SLAVE;
-*** Master Data Insert ***
-INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
-********************************************
-*** Expect slave to fail with Error 1677 ***
-********************************************
---source include/wait_for_slave_sql_error_and_skip.inc
-Last_SQL_Error = Column 0 of table 'test.t17' cannot be converted from type 'bigint' to type 'smallint(6)'
-SET GLOBAL SQL_SLAVE_SKIP_COUNTER= 2;
-include/start_slave.inc
-** DROP table t17 ***
-DROP TABLE t17;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result
deleted file mode 100644
index 7e750f2ce2a..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_func003.result
+++ /dev/null
@@ -1,30 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CALL mtr.add_suppression('Statement may not be safe to log in statement format.');
-DROP FUNCTION IF EXISTS test.f1;
-DROP TABLE IF EXISTS test.t1;
-CREATE TABLE test.t1 (a INT NOT NULL AUTO_INCREMENT, c CHAR(16),PRIMARY KEY(a))ENGINE=NDB;
-create function test.f1() RETURNS CHAR(16)
-BEGIN
-DECLARE tmp CHAR(16);
-DECLARE var_name FLOAT;
-SET var_name = RAND();
-IF var_name > .6
-THEN SET tmp = 'Texas';
-ELSE SET tmp = 'MySQL';
-END IF;
-RETURN tmp;
-END|
-INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
-INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
-SET AUTOCOMMIT=0;
-START TRANSACTION;
-INSERT INTO test.t1 VALUES (null,test.f1());
-ROLLBACK;
-SET AUTOCOMMIT=1;
-DROP FUNCTION test.f1;
-DROP TABLE test.t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result
deleted file mode 100644
index e2755c04f28..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result
+++ /dev/null
@@ -1,66 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (c1 CHAR(15), c2 CHAR(15), c3 INT, PRIMARY KEY (c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES ("row1","will go away",1);
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row1 will go away 1
-SELECT @the_epoch:=MAX(epoch) FROM mysql.ndb_apply_status;
-@the_epoch:=MAX(epoch)
-<the_epoch>
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row1 will go away 1
-SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-FROM mysql.ndb_binlog_index WHERE epoch = <the_epoch> ;
-@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-<the_pos> master-bin.000001
-INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
-DELETE FROM t1 WHERE c3 = 1;
-UPDATE t1 SET c2="should go away" WHERE c3 = 2;
-UPDATE t1 SET c2="C" WHERE c3 = 3;
-DELETE FROM t1 WHERE c3 = 2;
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-Checking that both slave threads are running.
-STOP SLAVE;
-CHANGE MASTER TO
-master_log_file = 'master-bin.000001',
-master_log_pos = <the_pos> ;
-START SLAVE;
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-STOP SLAVE;
-DROP TABLE t1;
-RESET master;
-DROP TABLE t1;
-RESET slave;
-START SLAVE;
-CREATE TABLE t1 (c1 CHAR(15) NOT NULL, c2 CHAR(15) NOT NULL, c3 INT NOT NULL, PRIMARY KEY (c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES ("row1","remove on slave",1);
-DELETE FROM t1;
-BEGIN;
-UPDATE t1 SET c2="does not exist" WHERE c3=1;
-INSERT INTO t1 VALUES ("row2","new on slave",2);
-COMMIT;
-SELECT * FROM t1;
-c1 c2 c3
-row2 new on slave 2
-Checking that both slave threads are running.
-DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
deleted file mode 100644
index 4c96ccf85ee..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
+++ /dev/null
@@ -1,919 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SET storage_engine=innodb;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 1 Basic testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 1 Basic testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 2 partition RANGE testing --
---- Do setup --
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901),
-PARTITION p1 VALUES LESS THAN (1946),
-PARTITION p2 VALUES LESS THAN (1966),
-PARTITION p3 VALUES LESS THAN (1986),
-PARTITION p4 VALUES LESS THAN (2005),
-PARTITION p5 VALUES LESS THAN MAXVALUE);
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
---- Show table on slave --
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = InnoDB,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = InnoDB,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = InnoDB,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 2 partition RANGE testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 3 partition LIST testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
---- Test 3 Alter to add partition ---
-ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = InnoDB,
- PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB,
- PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 3 partition LIST testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 4 partition HASH testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY HASH( YEAR(t) )
-PARTITIONS 4;
---- show that tables have been created correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 4 partition HASH testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 5 partition by key testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id))
-PARTITION BY KEY()
-PARTITIONS 4;
---- Show that tables on master are ndbcluster tables ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Show that tables on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still right type ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 5 key partition testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result
deleted file mode 100644
index 7c3f331958f..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result
+++ /dev/null
@@ -1,103 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1 (a int, unique(a)) engine=ndbcluster;
-create table t2 (a int, unique(a)) engine=innodb;
-begin;
-insert into t1 values(1);
-insert into t2 values(1);
-rollback;
-select count(*) from t1;
-count(*)
-0
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-0
-select count(*) from t2;
-count(*)
-0
-begin;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t2;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-load data infile '../../../std_data/rpl_loaddata.dat' into table t1;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-delete from t1;
-delete from t2;
-begin;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t2;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-load data infile '../../../std_data/rpl_loaddata.dat' into table t1;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-2
-select count(*) from t2;
-count(*)
-0
-delete from t1;
-delete from t2;
-begin;
-insert into t2 values(3),(4);
-insert into t1 values(3),(4);
-load data infile '../../../std_data/rpl_loaddata.dat' into table t2;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-load data infile '../../../std_data/rpl_loaddata.dat' into table t1;
-Warnings:
-Warning 1262 Row 1 was truncated; it contained more data than there were input columns
-Warning 1262 Row 2 was truncated; it contained more data than there were input columns
-rollback;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-select count(*) from t1;
-count(*)
-4
-select count(*) from t2;
-count(*)
-0
-select count(*) from t1;
-count(*)
-4
-select count(*) from t2;
-count(*)
-0
-drop table t1,t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result
deleted file mode 100644
index 030845e89e2..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_insert_ignore.result
+++ /dev/null
@@ -1,70 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned,
-unique (b)
-) ENGINE=NDB;
-CREATE TABLE t2 (
-a int unsigned, # to force INSERT SELECT to have a certain order
-b int unsigned
-) ENGINE=NDB;
-INSERT INTO t1 VALUES (NULL, 1);
-INSERT INTO t1 VALUES (NULL, 2);
-INSERT INTO t1 VALUES (NULL, 3);
-INSERT INTO t1 VALUES (NULL, 4);
-INSERT INTO t2 VALUES (1, 1);
-INSERT INTO t2 VALUES (2, 2);
-INSERT INTO t2 VALUES (3, 5);
-INSERT INTO t2 VALUES (4, 3);
-INSERT INTO t2 VALUES (5, 4);
-INSERT INTO t2 VALUES (6, 6);
-INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-drop table t1;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned,
-unique (b)
-) ENGINE=myisam;
-INSERT INTO t1 VALUES (1, 1);
-INSERT INTO t1 VALUES (2, 2);
-INSERT INTO t1 VALUES (3, 3);
-INSERT INTO t1 VALUES (4, 4);
-INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-drop table t1, t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_load.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_load.result
deleted file mode 100644
index e51f0096557..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_load.result
+++ /dev/null
@@ -1,42 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP DATABASE IF EXISTS TEST_DB;
-CREATE DATABASE TEST_DB;
-USE TEST_DB;
-CREATE TABLE SUBSCRIBER
-( NUMBER CHAR(12) BINARY NOT NULL,
-NAME CHAR(32) BINARY NOT NULL,
-GROUP_ID INT UNSIGNED NOT NULL,
-LOCATION INT UNSIGNED NOT NULL,
-SESSIONS INT UNSIGNED NOT NULL,
-CHANGED_BY CHAR(32) BINARY NOT NULL,
-CHANGED_TIME CHAR(32) BINARY NOT NULL,
-PRIMARY KEY USING HASH (NUMBER))
-ENGINE = NDB;
-CREATE TABLE GROUP2
-( GROUP_ID INT UNSIGNED NOT NULL,
-GROUP_NAME CHAR(32) BINARY NOT NULL,
-ALLOW_READ CHAR(1) BINARY NOT NULL,
-ALLOW_INSERT INT UNSIGNED NOT NULL,
-ALLOW_DELETE INT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (GROUP_ID))
-ENGINE = NDB;
-CREATE TABLE SESSION
-( NUMBER CHAR(12) BINARY NOT NULL,
-SERVER_ID INT UNSIGNED NOT NULL,
-DATA BINARY(2000) NOT NULL,
-PRIMARY KEY USING HASH (NUMBER,SERVER_ID))
-ENGINE = NDB;
-CREATE TABLE SERVER
-( SUFFIX CHAR(2) BINARY NOT NULL,
-SERVER_ID INT UNSIGNED NOT NULL,
-NAME CHAR(32) BINARY NOT NULL,
-NO_OF_READ INT UNSIGNED NOT NULL,
-NO_OF_INSERT INT UNSIGNED NOT NULL,
-NO_OF_DELETE INT UNSIGNED NOT NULL,
-PRIMARY KEY USING HASH (SUFFIX, SERVER_ID))
-ENGINE = NDB;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result
deleted file mode 100644
index ef563d71342..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result
+++ /dev/null
@@ -1,294 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-include/stop_slave.inc
-reset master;
-reset slave;
-start slave;
-create table t1(n int not null auto_increment primary key)ENGINE=NDB;
-insert into t1 values (NULL);
-drop table t1;
-create table t1 (word char(20) not null)ENGINE=NDB;
-load data infile 'LOAD_FILE' into table t1 ignore 1 lines;
-select count(*) from t1;
-count(*)
-69
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-show binlog events from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
-show binlog events from <binlog_start> limit 2;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-show binlog events from <binlog_start> limit 1,4;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-flush logs;
-create table t3 (a int)ENGINE=NDB;
-select * from t1 order by 1 asc;
-word
-Aarhus
-Aaron
-Aaron
-Ababa
-Ababa
-aback
-aback
-abaft
-abaft
-abandon
-abandon
-abandoned
-abandoned
-abandoning
-abandoning
-abandonment
-abandonment
-abandons
-abandons
-abase
-abased
-abasement
-abasements
-abases
-abash
-abashed
-abashes
-abashing
-abasing
-abate
-abated
-abatement
-abatements
-abater
-abates
-abating
-Abba
-abbe
-abbey
-abbeys
-abbot
-abbots
-Abbott
-abbreviate
-abbreviated
-abbreviates
-abbreviating
-abbreviation
-abbreviations
-Abby
-abdomen
-abdomens
-abdominal
-abduct
-abducted
-abduction
-abductions
-abductor
-abductors
-abducts
-Abe
-abed
-Abel
-Abelian
-Abelson
-Aberdeen
-Abernathy
-aberrant
-aberration
-select * from t1 order by 1 asc;
-word
-Aarhus
-Aaron
-Aaron
-Ababa
-Ababa
-aback
-aback
-abaft
-abaft
-abandon
-abandon
-abandoned
-abandoned
-abandoning
-abandoning
-abandonment
-abandonment
-abandons
-abandons
-abase
-abased
-abasement
-abasements
-abases
-abash
-abashed
-abashes
-abashing
-abasing
-abate
-abated
-abatement
-abatements
-abater
-abates
-abating
-Abba
-abbe
-abbey
-abbeys
-abbot
-abbots
-Abbott
-abbreviate
-abbreviated
-abbreviates
-abbreviating
-abbreviation
-abbreviations
-Abby
-abdomen
-abdomens
-abdominal
-abduct
-abducted
-abduction
-abductions
-abductor
-abductors
-abducts
-Abe
-abed
-Abel
-Abelian
-Abelson
-Aberdeen
-Abernathy
-aberrant
-aberration
-flush logs;
-include/stop_slave.inc
-include/start_slave.inc
-create table t2 (n int)ENGINE=NDB;
-insert into t2 values (1);
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Rotate # # master-bin.000002;pos=4
-show binlog events in 'master-bin.000002' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Query # # use `test`; create table t3 (a int)ENGINE=NDB
-master-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=NDB
-master-bin.000002 # Query # # BEGIN
-master-bin.000002 # Table_map # # table_id: # (test.t2)
-master-bin.000002 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000002 # Write_rows # # table_id: #
-master-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000002 # Query # # COMMIT
-show binary logs;
-Log_name File_size
-master-bin.000001 #
-master-bin.000002 #
-show binary logs;
-Log_name File_size
-slave-bin.000001 #
-slave-bin.000002 #
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-slave-bin.000001 # Write_rows # # table_id: #
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-slave-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
-slave-bin.000001 # Query # # BEGIN
-slave-bin.000001 # Table_map # # table_id: # (test.t1)
-slave-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-slave-bin.000001 # Write_rows # # table_id: #
-slave-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000001 # Query # # COMMIT
-slave-bin.000001 # Query # # use `test`; create table t3 (a int)ENGINE=NDB
-slave-bin.000001 # Rotate # # slave-bin.000002;pos=4
-show binlog events in 'slave-bin.000002' from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-slave-bin.000002 # Query # # use `test`; create table t2 (n int)ENGINE=NDB
-slave-bin.000002 # Query # # BEGIN
-slave-bin.000002 # Table_map # # table_id: # (test.t2)
-slave-bin.000002 # Table_map # # table_id: # (mysql.ndb_apply_status)
-slave-bin.000002 # Write_rows # # table_id: #
-slave-bin.000002 # Write_rows # # table_id: # flags: STMT_END_F
-slave-bin.000002 # Query # # COMMIT
-Checking that both slave threads are running.
-show binlog events in 'slave-bin.000005' from 4;
-ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
-DROP TABLE t1;
-DROP TABLE t2;
-DROP TABLE t3;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-create table t1(a int auto_increment primary key, b int);
-insert into t1 values (NULL, 1);
-set insert_id=5;
-insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; create table t1(a int auto_increment primary key, b int)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-select * from t1;
-a b
-1 1
-5 1
-6 1
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result
deleted file mode 100644
index 7caa88a16a1..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result
+++ /dev/null
@@ -1,486 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE tmyisam (a int) ENGINE = MYISAM;
-CREATE TABLE tinnodb (a int) ENGINE = INNODB;
-CREATE TABLE tndb (a int) ENGINE = NDB;
-SHOW CREATE TABLE tmyisam;
-Table Create Table
-tmyisam CREATE TABLE `tmyisam` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW CREATE TABLE tinnodb;
-Table Create Table
-tinnodb CREATE TABLE `tinnodb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SHOW CREATE TABLE tndb;
-Table Create Table
-tndb CREATE TABLE `tndb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-[on master]
-==== Single-engine transactions ====
----- autocommitted ----
-SET AUTOCOMMIT = 1;
-INSERT INTO tmyisam VALUES (0);
-INSERT INTO tinnodb VALUES (1);
-INSERT INTO tndb VALUES (2);
----- committed with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (3);
-INSERT INTO tmyisam VALUES (4);
-COMMIT;
-BEGIN;
-INSERT INTO tinnodb VALUES (5);
-INSERT INTO tinnodb VALUES (6);
-COMMIT;
-BEGIN;
-INSERT INTO tndb VALUES (7);
-INSERT INTO tndb VALUES (8);
-COMMIT;
----- rolled back with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (9);
-INSERT INTO tmyisam VALUES (10);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tinnodb VALUES (11);
-INSERT INTO tinnodb VALUES (12);
-ROLLBACK;
-BEGIN;
-INSERT INTO tndb VALUES (13);
-INSERT INTO tndb VALUES (14);
-ROLLBACK;
----- committed with AUTOCOMMIT = 0 ----
-SET AUTOCOMMIT = 0;
-INSERT INTO tmyisam VALUES (15);
-INSERT INTO tmyisam VALUES (16);
-COMMIT;
-INSERT INTO tinnodb VALUES (17);
-INSERT INTO tinnodb VALUES (18);
-COMMIT;
-INSERT INTO tndb VALUES (19);
-INSERT INTO tndb VALUES (20);
-COMMIT;
----- rolled back with AUTOCOMMIT = 0 ----
-INSERT INTO tmyisam VALUES (21);
-INSERT INTO tmyisam VALUES (22);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tinnodb VALUES (23);
-INSERT INTO tinnodb VALUES (24);
-ROLLBACK;
-INSERT INTO tndb VALUES (25);
-INSERT INTO tndb VALUES (26);
-ROLLBACK;
-SET AUTOCOMMIT = 1;
-==== MyISAM + InnoDB ====
----- committed with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (27);
-INSERT INTO tinnodb VALUES (28);
-COMMIT;
-BEGIN;
-INSERT INTO tinnodb VALUES (29);
-INSERT INTO tmyisam VALUES (30);
-COMMIT;
----- rolled back with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (31);
-INSERT INTO tinnodb VALUES (32);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tinnodb VALUES (33);
-INSERT INTO tmyisam VALUES (34);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
----- committed with AUTOCOMMIT = 0 ----
-SET AUTOCOMMIT = 0;
-INSERT INTO tmyisam VALUES (35);
-INSERT INTO tinnodb VALUES (36);
-COMMIT;
-INSERT INTO tinnodb VALUES (37);
-INSERT INTO tmyisam VALUES (38);
-COMMIT;
----- rolled back with AUTOCOMMIT = 0 ----
-INSERT INTO tmyisam VALUES (39);
-INSERT INTO tinnodb VALUES (40);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tinnodb VALUES (41);
-INSERT INTO tmyisam VALUES (42);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-SET AUTOCOMMIT = 1;
-==== MyISAM + NDB ====
----- committed with BEGIN----
-BEGIN;
-INSERT INTO tmyisam VALUES (43);
-INSERT INTO tndb VALUES (44);
-COMMIT;
-BEGIN;
-INSERT INTO tndb VALUES (45);
-INSERT INTO tmyisam VALUES (46);
-COMMIT;
----- rolled back with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (47);
-INSERT INTO tndb VALUES (48);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tndb VALUES (49);
-INSERT INTO tmyisam VALUES (50);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
----- committed with AUTOCOMMIT = 0 ----
-SET AUTOCOMMIT = 0;
-INSERT INTO tmyisam VALUES (51);
-INSERT INTO tndb VALUES (52);
-COMMIT;
-INSERT INTO tndb VALUES (53);
-INSERT INTO tmyisam VALUES (54);
-COMMIT;
----- rolled back with AUTOCOMMIT = 0 ----
-INSERT INTO tmyisam VALUES (55);
-INSERT INTO tndb VALUES (56);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tndb VALUES (57);
-INSERT INTO tmyisam VALUES (58);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-SET AUTOCOMMIT = 1;
-==== InnoDB + NDB ====
----- committed with BEGIN ----
-BEGIN;
-INSERT INTO tinnodb VALUES (59);
-INSERT INTO tndb VALUES (60);
-COMMIT;
-BEGIN;
-INSERT INTO tndb VALUES (61);
-INSERT INTO tinnodb VALUES (62);
-COMMIT;
----- rolled back with BEGIN ----
-BEGIN;
-INSERT INTO tinnodb VALUES (63);
-INSERT INTO tndb VALUES (64);
-ROLLBACK;
-BEGIN;
-INSERT INTO tndb VALUES (65);
-INSERT INTO tinnodb VALUES (66);
-ROLLBACK;
----- committed with AUTOCOMMIT = 0 ----
-SET AUTOCOMMIT = 0;
-INSERT INTO tinnodb VALUES (67);
-INSERT INTO tndb VALUES (68);
-COMMIT;
-INSERT INTO tndb VALUES (69);
-INSERT INTO tinnodb VALUES (70);
-COMMIT;
----- rolled back with AUTOCOMMIT = 0 ----
-INSERT INTO tinnodb VALUES (71);
-INSERT INTO tndb VALUES (72);
-ROLLBACK;
-INSERT INTO tndb VALUES (73);
-INSERT INTO tinnodb VALUES (74);
-ROLLBACK;
-SET AUTOCOMMIT = 1;
-==== MyISAM + InnoDB + NDB ====
----- committed with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (75);
-INSERT INTO tinnodb VALUES (76);
-INSERT INTO tndb VALUES (77);
-COMMIT;
-BEGIN;
-INSERT INTO tmyisam VALUES (78);
-INSERT INTO tndb VALUES (79);
-INSERT INTO tinnodb VALUES (80);
-COMMIT;
-BEGIN;
-INSERT INTO tinnodb VALUES (81);
-INSERT INTO tmyisam VALUES (82);
-INSERT INTO tndb VALUES (83);
-COMMIT;
-BEGIN;
-INSERT INTO tinnodb VALUES (84);
-INSERT INTO tndb VALUES (85);
-INSERT INTO tmyisam VALUES (86);
-COMMIT;
-BEGIN;
-INSERT INTO tndb VALUES (87);
-INSERT INTO tmyisam VALUES (88);
-INSERT INTO tinnodb VALUES (89);
-COMMIT;
-BEGIN;
-INSERT INTO tndb VALUES (90);
-INSERT INTO tinnodb VALUES (91);
-INSERT INTO tmyisam VALUES (92);
-COMMIT;
----- rolled back with BEGIN ----
-BEGIN;
-INSERT INTO tmyisam VALUES (93);
-INSERT INTO tinnodb VALUES (94);
-INSERT INTO tndb VALUES (95);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tmyisam VALUES (96);
-INSERT INTO tndb VALUES (97);
-INSERT INTO tinnodb VALUES (98);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tinnodb VALUES (99);
-INSERT INTO tmyisam VALUES (100);
-INSERT INTO tndb VALUES (101);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tinnodb VALUES (102);
-INSERT INTO tndb VALUES (103);
-INSERT INTO tmyisam VALUES (104);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tndb VALUES (105);
-INSERT INTO tmyisam VALUES (106);
-INSERT INTO tinnodb VALUES (107);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-BEGIN;
-INSERT INTO tndb VALUES (108);
-INSERT INTO tinnodb VALUES (109);
-INSERT INTO tmyisam VALUES (110);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
----- committed with AUTOCOMMIT = 0 ----
-SET AUTOCOMMIT = 0;
-INSERT INTO tmyisam VALUES (111);
-INSERT INTO tinnodb VALUES (112);
-INSERT INTO tndb VALUES (113);
-COMMIT;
-INSERT INTO tmyisam VALUES (114);
-INSERT INTO tndb VALUES (115);
-INSERT INTO tinnodb VALUES (116);
-COMMIT;
-INSERT INTO tinnodb VALUES (117);
-INSERT INTO tmyisam VALUES (118);
-INSERT INTO tndb VALUES (119);
-COMMIT;
-INSERT INTO tinnodb VALUES (120);
-INSERT INTO tndb VALUES (121);
-INSERT INTO tmyisam VALUES (122);
-COMMIT;
-INSERT INTO tndb VALUES (123);
-INSERT INTO tmyisam VALUES (124);
-INSERT INTO tinnodb VALUES (125);
-COMMIT;
-INSERT INTO tndb VALUES (126);
-INSERT INTO tinnodb VALUES (127);
-INSERT INTO tmyisam VALUES (128);
-COMMIT;
----- rolled back with AUTOCOMMIT = 0 ----
-INSERT INTO tmyisam VALUES (129);
-INSERT INTO tinnodb VALUES (130);
-INSERT INTO tndb VALUES (131);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tmyisam VALUES (132);
-INSERT INTO tndb VALUES (133);
-INSERT INTO tinnodb VALUES (134);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tinnodb VALUES (135);
-INSERT INTO tmyisam VALUES (136);
-INSERT INTO tndb VALUES (137);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tinnodb VALUES (138);
-INSERT INTO tndb VALUES (139);
-INSERT INTO tmyisam VALUES (140);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tndb VALUES (141);
-INSERT INTO tmyisam VALUES (142);
-INSERT INTO tinnodb VALUES (143);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-INSERT INTO tndb VALUES (144);
-INSERT INTO tinnodb VALUES (145);
-INSERT INTO tmyisam VALUES (146);
-ROLLBACK;
-Warnings:
-Warning 1196 Some non-transactional changed tables couldn't be rolled back
-SET AUTOCOMMIT = 1;
----- Mixed statements Innodb ----
-BEGIN;
-INSERT INTO tndb VALUES (147);
-INSERT INTO tinnodb SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-COMMIT;
-INSERT INTO tndb VALUES (148);
-BEGIN;
-INSERT INTO tinnodb SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-INSERT INTO tndb VALUES (149);
-COMMIT;
-BEGIN;
-INSERT INTO tndb VALUES (150);
-INSERT INTO tmyisam SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-COMMIT;
-INSERT INTO tndb VALUES (151);
-BEGIN;
-INSERT INTO tmyisam SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-INSERT INTO tndb VALUES (152);
-COMMIT;
-==== Verify the result ====
-SELECT * FROM tmyisam ORDER BY a;
-a
-0
-3
-4
-9
-10
-15
-16
-21
-22
-27
-30
-31
-34
-35
-38
-39
-42
-43
-46
-47
-50
-51
-54
-55
-58
-75
-78
-82
-86
-88
-92
-93
-96
-100
-104
-106
-110
-111
-114
-118
-122
-124
-128
-129
-132
-136
-140
-142
-146
-150
-151
-SELECT * FROM tinnodb ORDER BY a;
-a
-1
-5
-6
-17
-18
-28
-29
-36
-37
-59
-62
-67
-70
-76
-80
-81
-84
-89
-91
-112
-116
-117
-120
-125
-127
-147
-148
-SELECT * FROM tndb ORDER BY a;
-a
-2
-7
-8
-19
-20
-44
-45
-52
-53
-60
-61
-68
-69
-77
-79
-83
-85
-87
-90
-113
-115
-119
-121
-123
-126
-147
-148
-149
-150
-151
-152
-[on slave]
-Comparing tables master:test.tmyisam and slave:test.tmyisam
-Comparing tables master:test.tinnodb and slave:test.tinnodb
-Comparing tables master:test.tndb and slave:test.tndb
-==== Clean up ====
-[on master]
-DROP TABLE tmyisam, tinnodb, tndb;
-[on slave]
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_implicit_commit_binlog.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_implicit_commit_binlog.result
deleted file mode 100644
index 65e5469c9eb..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_implicit_commit_binlog.result
+++ /dev/null
@@ -1,660 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-#########################################################################
-# CONFIGURATION
-#########################################################################
-CREATE TABLE tt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = NDB;
-CREATE TABLE tt_2 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = NDB;
-CREATE TABLE nt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = MyIsam;
-INSERT INTO tt_1(ddl_case) VALUES(0);
-INSERT INTO tt_2(ddl_case) VALUES(0);
-#########################################################################
-# CHECK IMPLICT COMMIT
-#########################################################################
-SET AUTOCOMMIT= 0;
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (41);
-LOAD INDEX INTO CACHE nt_1 IGNORE LEAVES;
-Table Op Msg_type Msg_text
-test.nt_1 preload_keys status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (test.tt_2)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (40);
-LOAD INDEX INTO CACHE tt_1, tt_2 IGNORE LEAVES;
-Table Op Msg_type Msg_text
-test.tt_1 preload_keys note The storage engine for the table doesn't support preload_keys
-test.tt_2 preload_keys note The storage engine for the table doesn't support preload_keys
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (39);
-ANALYZE TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 analyze status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (38);
-CHECK TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 check status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (37);
-OPTIMIZE TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 optimize status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (36);
-REPAIR TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 repair status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; REPAIR TABLE nt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (35);
-LOCK TABLES tt_1 WRITE;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (34);
-UNLOCK TABLES;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (33);
-CREATE USER 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE USER 'user'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (32);
-GRANT ALL ON *.* TO 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; GRANT ALL ON *.* TO 'user'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (31);
-SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; SET PASSWORD FOR 'user'@'localhost'='*D8DECEC305209EEFEC43008E1D420E1AA06B19E0'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (30);
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (29);
-RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; RENAME USER 'user'@'localhost' TO 'user_new'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (28);
-DROP USER 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP USER 'user_new'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (27);
-CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (26);
-ALTER EVENT evt COMMENT 'evt';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER EVENT evt COMMENT 'evt'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (25);
-DROP EVENT evt;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP EVENT evt
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (24);
-CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (23);
-DROP TRIGGER tr;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP TRIGGER tr
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (22);
-CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `fc`() RETURNS varchar(64) CHARSET latin1
-RETURN "fc"
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (21);
-ALTER FUNCTION fc COMMENT 'fc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER FUNCTION fc COMMENT 'fc'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (20);
-DROP FUNCTION fc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP FUNCTION fc
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (19);
-CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `pc`()
-UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (18);
-ALTER PROCEDURE pc COMMENT 'pc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER PROCEDURE pc COMMENT 'pc'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (17);
-DROP PROCEDURE pc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP PROCEDURE pc
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (16);
-CREATE VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (15);
-ALTER VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (14);
-DROP VIEW v;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP VIEW v
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (13);
-CREATE INDEX ix ON tt_1(ddl_case);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; CREATE INDEX ix ON tt_1(ddl_case)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (12);
-DROP INDEX ix ON tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; DROP INDEX ix ON tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (11);
-CREATE TEMPORARY TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE tt_xx (a int)
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (10);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (9);
-ALTER TABLE tt_xx RENAME new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (8);
-DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `new_tt_xx` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (7);
-CREATE TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx (a int)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (6);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (5);
-RENAME TABLE tt_xx TO new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; RENAME TABLE tt_xx TO new_tt_xx
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (4);
-TRUNCATE TABLE new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; TRUNCATE TABLE new_tt_xx
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (3);
-DROP TABLE IF EXISTS tt_xx, new_tt_xx;
-Warnings:
-Note 1051 Unknown table 'tt_xx'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx`,`new_tt_xx` /* generated by server */
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (2);
-CREATE DATABASE db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # CREATE DATABASE db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (1);
-DROP DATABASE IF EXISTS db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
-###################################################################################
-# CHECK CONSISTENCY
-###################################################################################
-Comparing tables master:test.tt_1 and slave:test.tt_1
-###################################################################################
-# CLEAN
-###################################################################################
-DROP TABLE tt_1;
-DROP TABLE tt_2;
-DROP TABLE nt_1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result
deleted file mode 100644
index 43efc10c2e1..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_tables.result
+++ /dev/null
@@ -1,246 +0,0 @@
-==== Initialization ====
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
----- setup master ----
-CREATE TABLE myisam_innodb (a INT) ENGINE=MYISAM;
-CREATE TABLE innodb_myisam (a INT) ENGINE=INNODB;
-CREATE TABLE myisam_ndb (a INT) ENGINE=MYISAM;
-CREATE TABLE ndb_myisam (a INT) ENGINE=NDB;
-CREATE TABLE innodb_ndb (a INT) ENGINE=INNODB;
-CREATE TABLE ndb_innodb (a INT) ENGINE=NDB;
-SHOW CREATE TABLE myisam_innodb;
-Table Create Table
-myisam_innodb CREATE TABLE `myisam_innodb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW CREATE TABLE innodb_myisam;
-Table Create Table
-innodb_myisam CREATE TABLE `innodb_myisam` (
- `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SHOW CREATE TABLE myisam_ndb;
-Table Create Table
-myisam_ndb CREATE TABLE `myisam_ndb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW CREATE TABLE ndb_myisam;
-Table Create Table
-ndb_myisam CREATE TABLE `ndb_myisam` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE innodb_ndb;
-Table Create Table
-innodb_ndb CREATE TABLE `innodb_ndb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SHOW CREATE TABLE ndb_innodb;
-Table Create Table
-ndb_innodb CREATE TABLE `ndb_innodb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
----- setup slave with different engines ----
-DROP TABLE myisam_innodb, innodb_myisam;
-DROP TABLE myisam_ndb, ndb_myisam;
-DROP TABLE innodb_ndb, ndb_innodb;
-CREATE TABLE myisam_innodb (a INT) ENGINE=INNODB;
-CREATE TABLE innodb_myisam (a INT) ENGINE=MYISAM;
-CREATE TABLE myisam_ndb (a INT) ENGINE=NDB;
-CREATE TABLE ndb_myisam (a INT) ENGINE=MYISAM;
-CREATE TABLE innodb_ndb (a INT) ENGINE=NDB;
-CREATE TABLE ndb_innodb (a INT) ENGINE=INNODB;
-SHOW CREATE TABLE myisam_innodb;
-Table Create Table
-myisam_innodb CREATE TABLE `myisam_innodb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SHOW CREATE TABLE innodb_myisam;
-Table Create Table
-innodb_myisam CREATE TABLE `innodb_myisam` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW CREATE TABLE myisam_ndb;
-Table Create Table
-myisam_ndb CREATE TABLE `myisam_ndb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE ndb_myisam;
-Table Create Table
-ndb_myisam CREATE TABLE `ndb_myisam` (
- `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SHOW CREATE TABLE innodb_ndb;
-Table Create Table
-innodb_ndb CREATE TABLE `innodb_ndb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-SHOW CREATE TABLE ndb_innodb;
-Table Create Table
-ndb_innodb CREATE TABLE `ndb_innodb` (
- `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-==== AUTOCOMMIT=0, transactions ====
----- COMMIT ----
-SET AUTOCOMMIT = 0;
-BEGIN;
-INSERT INTO myisam_innodb VALUES (1);
-INSERT INTO myisam_innodb VALUES (2);
-COMMIT;
-BEGIN;
-INSERT INTO innodb_myisam VALUES (3);
-INSERT INTO innodb_myisam VALUES (4);
-COMMIT;
-BEGIN;
-INSERT INTO myisam_ndb VALUES (5);
-INSERT INTO myisam_ndb VALUES (6);
-COMMIT;
-BEGIN;
-INSERT INTO ndb_myisam VALUES (7);
-INSERT INTO ndb_myisam VALUES (8);
-COMMIT;
-BEGIN;
-INSERT INTO ndb_innodb VALUES (9);
-INSERT INTO ndb_innodb VALUES (10);
-COMMIT;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (11);
-INSERT INTO innodb_ndb VALUES (12);
-COMMIT;
----- ROLLBACK ----
-BEGIN;
-INSERT INTO innodb_myisam VALUES (15);
-INSERT INTO innodb_myisam VALUES (16);
-ROLLBACK;
-BEGIN;
-INSERT INTO ndb_myisam VALUES (19);
-INSERT INTO ndb_myisam VALUES (20);
-ROLLBACK;
-BEGIN;
-INSERT INTO ndb_innodb VALUES (21);
-INSERT INTO ndb_innodb VALUES (22);
-ROLLBACK;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (23);
-INSERT INTO innodb_ndb VALUES (24);
-ROLLBACK;
-==== AUTOCOMMIT=1, transactions ====
----- COMMIT ----
-SET AUTOCOMMIT = 1;
-BEGIN;
-INSERT INTO myisam_innodb VALUES (25);
-INSERT INTO myisam_innodb VALUES (26);
-COMMIT;
-BEGIN;
-INSERT INTO innodb_myisam VALUES (27);
-INSERT INTO innodb_myisam VALUES (28);
-COMMIT;
-BEGIN;
-INSERT INTO myisam_ndb VALUES (29);
-INSERT INTO myisam_ndb VALUES (30);
-COMMIT;
-BEGIN;
-INSERT INTO ndb_myisam VALUES (31);
-INSERT INTO ndb_myisam VALUES (32);
-COMMIT;
-BEGIN;
-INSERT INTO ndb_innodb VALUES (33);
-INSERT INTO ndb_innodb VALUES (34);
-COMMIT;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (35);
-INSERT INTO innodb_ndb VALUES (36);
-COMMIT;
----- ROLLBACK ----
-BEGIN;
-INSERT INTO innodb_myisam VALUES (39);
-INSERT INTO innodb_myisam VALUES (40);
-ROLLBACK;
-BEGIN;
-INSERT INTO ndb_myisam VALUES (43);
-INSERT INTO ndb_myisam VALUES (44);
-ROLLBACK;
-BEGIN;
-INSERT INTO ndb_innodb VALUES (45);
-INSERT INTO ndb_innodb VALUES (46);
-ROLLBACK;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (47);
-INSERT INTO innodb_ndb VALUES (48);
-ROLLBACK;
-==== AUTOCOMMIT=1, single statements ====
-INSERT INTO myisam_innodb VALUES (49);
-INSERT INTO myisam_innodb VALUES (50);
-INSERT INTO innodb_myisam VALUES (51);
-INSERT INTO innodb_myisam VALUES (52);
-INSERT INTO myisam_ndb VALUES (53);
-INSERT INTO myisam_ndb VALUES (54);
-INSERT INTO ndb_myisam VALUES (55);
-INSERT INTO ndb_myisam VALUES (56);
-INSERT INTO ndb_innodb VALUES (57);
-INSERT INTO ndb_innodb VALUES (58);
-INSERT INTO innodb_ndb VALUES (59);
-INSERT INTO innodb_ndb VALUES (60);
-==== AUTOCOMMIT=0, single statements, myisam on master ====
-SET AUTOCOMMIT = 0;
-==== Show results ====
-SELECT * FROM myisam_innodb ORDER BY a;
-a
-1
-2
-25
-26
-49
-50
-SELECT * FROM innodb_myisam ORDER BY a;
-a
-3
-4
-27
-28
-51
-52
-SELECT * FROM myisam_ndb ORDER BY a;
-a
-5
-6
-29
-30
-53
-54
-SELECT * FROM ndb_myisam ORDER BY a;
-a
-7
-8
-31
-32
-55
-56
-SELECT * FROM innodb_ndb ORDER BY a;
-a
-11
-12
-35
-36
-59
-60
-SELECT * FROM ndb_innodb ORDER BY a;
-a
-9
-10
-33
-34
-57
-58
-Comparing tables master:test.myisam_innodb and slave:test.myisam_innodb
-Comparing tables master:test.innodb_myisam and slave:test.innodb_myisam
-Comparing tables master:test.myisam_ndb and slave:test.myisam_ndb
-Comparing tables master:test.ndb_myisam and slave:test.ndb_myisam
-Comparing tables master:test.innodb_ndb and slave:test.innodb_ndb
-Comparing tables master:test.ndb_innodb and slave:test.ndb_innodb
-==== Clean up ====
-drop table myisam_innodb, innodb_myisam;
-drop table myisam_ndb, ndb_myisam;
-drop table innodb_ndb, ndb_innodb;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result
deleted file mode 100644
index b17d30fa8e4..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result
+++ /dev/null
@@ -1,57 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (c1 CHAR(15), c2 CHAR(15), c3 INT, PRIMARY KEY (c3)) ENGINE = NDB ;
-reset master;
-SHOW TABLES;
-Tables_in_test
-t1
-INSERT INTO t1 VALUES ("row1","will go away",1);
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row1 will go away 1
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row1 will go away 1
-SELECT @the_epoch:=MAX(epoch) FROM mysql.ndb_apply_status;
-@the_epoch:=MAX(epoch)
-<the_epoch>
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row1 will go away 1
-stop slave;
-SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-FROM mysql.ndb_binlog_index WHERE epoch = <the_epoch> ;
-@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-107 master-bin.000001
-CHANGE MASTER TO
-master_port=<MASTER_PORT1>,
-master_log_file = 'master-bin.000001',
-master_log_pos = BINLOG_START ;
-start slave;
-INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
-DELETE FROM t1 WHERE c3 = 1;
-UPDATE t1 SET c2="should go away" WHERE c3 = 2;
-UPDATE t1 SET c2="C" WHERE c3 = 3;
-DELETE FROM t1 WHERE c3 = 2;
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-INSERT INTO t1 VALUES ("row5","E",5);
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-row5 E 5
-SELECT * FROM t1 ORDER BY c3;
-c1 c2 c3
-row3 C 3
-row4 D 4
-row5 E 5
-==== clean up ====
-DROP TABLE t1;
-STOP SLAVE;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result
deleted file mode 100644
index 5d00ae6598c..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update2.result
+++ /dev/null
@@ -1,55 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-drop table if exists t1,t2;
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=NDB;
-CREATE TABLE t2 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=NDB;
-INSERT INTO t1 VALUES (NULL, 0);
-INSERT INTO t1 SELECT NULL, 0 FROM t1;
-INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-UPDATE t1, t2 SET t1.b = (t2.b+4) WHERE t1.a = t2.a;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 4
-2 5
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-SELECT * FROM t1 ORDER BY a;
-a b
-1 4
-2 5
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-drop table t1,t2;
-reset master;
-CREATE TABLE t1 ( a INT );
-INSERT INTO t1 VALUES (0);
-UPDATE t1, (SELECT 3 as b) AS x SET t1.a = x.b;
-select * from t1;
-a
-3
-select * from t1;
-a
-3
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result
deleted file mode 100644
index dc4e11c9c9e..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_multi_update3.result
+++ /dev/null
@@ -1,197 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
--------- Test for BUG#9361 --------
-CREATE TABLE t1 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=NDB;
-CREATE TABLE t2 (
-a int unsigned not null auto_increment primary key,
-b int unsigned
-) ENGINE=NDB;
-INSERT INTO t1 VALUES (NULL, 0);
-INSERT INTO t1 SELECT NULL, 0 FROM t1;
-INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 0
-2 1
-UPDATE t2, (SELECT a FROM t1 ORDER BY a) AS t SET t2.b = t.a+5 ;
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 6
-2 6
-SELECT * FROM t1 ORDER BY a;
-a b
-1 0
-2 0
-SELECT * FROM t2 ORDER BY a;
-a b
-1 6
-2 6
-drop table t1,t2;
-
--------- Test 1 for BUG#9361 --------
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t1 (
-a1 char(30),
-a2 int,
-a3 int,
-a4 char(30),
-a5 char(30)
-);
-CREATE TABLE t2 (
-b1 int,
-b2 char(30)
-);
-INSERT INTO t1 VALUES ('Yes', 1, NULL, 'foo', 'bar');
-INSERT INTO t2 VALUES (1, 'baz');
-UPDATE t1 a, t2
-SET a.a1 = 'No'
-WHERE a.a2 =
-(SELECT b1
-FROM t2
-WHERE b2 = 'baz')
-AND a.a3 IS NULL
-AND a.a4 = 'foo'
-AND a.a5 = 'bar';
-SELECT * FROM t1;
-a1 a2 a3 a4 a5
-No 1 NULL foo bar
-SELECT * FROM t2;
-b1 b2
-1 baz
-DROP TABLE t1, t2;
-
--------- Test 2 for BUG#9361 --------
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP TABLE IF EXISTS t3;
-CREATE TABLE t1 (
-i INT,
-j INT,
-x INT,
-y INT,
-z INT
-);
-CREATE TABLE t2 (
-i INT,
-k INT,
-x INT,
-y INT,
-z INT
-);
-CREATE TABLE t3 (
-j INT,
-k INT,
-x INT,
-y INT,
-z INT
-);
-INSERT INTO t1 VALUES ( 1, 2,13,14,15);
-INSERT INTO t2 VALUES ( 1, 3,23,24,25);
-INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);
-UPDATE t1 AS a
-INNER JOIN t2 AS b
-ON a.i = b.i
-INNER JOIN t3 AS c
-ON a.j = c.j AND b.k = c.k
-SET a.x = b.x,
-a.y = b.y,
-a.z = (
-SELECT sum(z)
-FROM t3
-WHERE y = 34
-)
-WHERE b.x = 23;
-SELECT * FROM t1;
-i j x y z
-1 2 23 24 71
-DROP TABLE t1, t2, t3;
-DROP TABLE IF EXISTS t1;
-Warnings:
-Note 1051 Unknown table 't1'
-DROP TABLE IF EXISTS t2;
-Warnings:
-Note 1051 Unknown table 't2'
-CREATE TABLE t1 (
-idp int(11) NOT NULL default '0',
-idpro int(11) default NULL,
-price decimal(19,4) default NULL,
-PRIMARY KEY (idp)
-);
-CREATE TABLE t2 (
-idpro int(11) NOT NULL default '0',
-price decimal(19,4) default NULL,
-nbprice int(11) default NULL,
-PRIMARY KEY (idpro)
-);
-INSERT INTO t1 VALUES
-(1,1,'3.0000'),
-(2,2,'1.0000'),
-(3,1,'1.0000'),
-(4,1,'4.0000'),
-(5,3,'2.0000'),
-(6,2,'4.0000');
-INSERT INTO t2 VALUES
-(1,'0.0000',0),
-(2,'0.0000',0),
-(3,'0.0000',0);
-update
-t2
-join
-( select idpro, min(price) as min_price, count(*) as nbr_price
-from t1
-where idpro>0 and price>0
-group by idpro
-) as table_price
-on t2.idpro = table_price.idpro
-set t2.price = table_price.min_price,
-t2.nbprice = table_price.nbr_price;
-select "-- MASTER AFTER JOIN --" as "";
-
--- MASTER AFTER JOIN --
-select * from t1;
-idp idpro price
-1 1 3.0000
-2 2 1.0000
-3 1 1.0000
-4 1 4.0000
-5 3 2.0000
-6 2 4.0000
-select * from t2;
-idpro price nbprice
-1 1.0000 3
-2 1.0000 2
-3 2.0000 1
-select "-- SLAVE AFTER JOIN --" as "";
-
--- SLAVE AFTER JOIN --
-select * from t1;
-idp idpro price
-1 1 3.0000
-2 2 1.0000
-3 1 1.0000
-4 1 4.0000
-5 3 2.0000
-6 2 4.0000
-select * from t2;
-idpro price nbprice
-1 1.0000 3
-2 1.0000 2
-3 2.0000 1
-DROP TABLE t1, t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
deleted file mode 100644
index eb7d88c812b..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
+++ /dev/null
@@ -1,919 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SET storage_engine=myisam;
---- Doing pre test cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 1 Basic testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly --
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 1 Basic testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 2 partition RANGE testing --
---- Do setup --
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901),
-PARTITION p1 VALUES LESS THAN (1946),
-PARTITION p2 VALUES LESS THAN (1966),
-PARTITION p3 VALUES LESS THAN (1986),
-PARTITION p4 VALUES LESS THAN (2005),
-PARTITION p5 VALUES LESS THAN MAXVALUE);
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
---- Show table on slave --
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = MyISAM,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = MyISAM,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = MyISAM,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY RANGE (YEAR(t))
-(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster,
- PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster,
- PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
- PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster,
- PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster,
- PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 2 partition RANGE testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
---- Start test 3 partition LIST testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY LIST(id)
-(PARTITION p0 VALUES IN (2, 4),
-PARTITION p1 VALUES IN (42, 142));
---- Test 3 Alter to add partition ---
-ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
---- Show table on master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */
---- Show table on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = MyISAM,
- PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM,
- PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY LIST (id)
-(PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster,
- PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
- PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 3 partition LIST testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 4 partition HASH testing ---
---- Do setup ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE)
-PARTITION BY HASH( YEAR(t) )
-PARTITIONS 4;
---- show that tables have been created correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 ADD PRIMARY KEY(t,id);
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date NOT NULL DEFAULT '0000-00-00',
- PRIMARY KEY (`t`,`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY HASH ( YEAR(t))
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 4 partition HASH testing ---
---- Do Cleanup --
-DROP TABLE IF EXISTS t1;
---- Start test 5 partition by key testing ---
---- Create Table Section ---
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255),
-bc CHAR(255), d DECIMAL(10,4) DEFAULT 0,
-f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
-y YEAR, t DATE,PRIMARY KEY(id))
-PARTITION BY KEY()
-PARTITIONS 4;
---- Show that tables on master are ndbcluster tables ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Show that tables on slave ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned DEFAULT NULL,
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still right type ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` varchar(255) DEFAULT NULL,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- Check that simple Alter statements are replicated correctly ---
-ALTER TABLE t1 MODIFY vc TEXT;
---- Show the new improved table on the master ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Make sure that our tables on slave are still same engine ---
---- and that the alter statements replicated correctly ---
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `id` mediumint(9) NOT NULL,
- `b1` bit(8) DEFAULT NULL,
- `vc` text,
- `bc` char(255) DEFAULT NULL,
- `d` decimal(10,4) DEFAULT '0.0000',
- `f` float DEFAULT '0',
- `total` bigint(20) unsigned NOT NULL DEFAULT '0',
- `y` year(4) DEFAULT NULL,
- `t` date DEFAULT NULL,
- PRIMARY KEY (`id`,`total`)
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1
-/*!50100 PARTITION BY KEY ()
-PARTITIONS 4 */
---- Perform basic operation on master ---
---- and ensure replicated correctly ---
-"--- Insert into t1 --" as "";
---- Select from t1 on master ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Select from t1 on slave ---
-select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
-id hex(b1) vc bc d f total y t
-2 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1965-11-14
-4 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1985-11-14
-42 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1905-11-14
-142 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 1995-11-14
-412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2005-11-14
---- Update t1 on master --
-UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
---- Check the update on master ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Check Update on slave ---
-SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
-id hex(b1) vc bc d f total y t
-412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22
---- Remove a record from t1 on master ---
-DELETE FROM t1 WHERE id = 42;
---- Show current count on master for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
---- Show current count on slave for t1 ---
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-4
-DELETE FROM t1;
---- End test 5 key partition testing ---
---- Do Cleanup ---
-DROP TABLE IF EXISTS t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_relayrotate.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_relayrotate.result
deleted file mode 100644
index 6aa64973611..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_relayrotate.result
+++ /dev/null
@@ -1,16 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-create table t1 (a int) engine=NDB;
-reset slave;
-start slave;
-stop slave;
-start slave;
-select max(a) from t1;
-max(a)
-8000
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result
deleted file mode 100644
index 4e28a7e5865..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_rep_ignore.result
+++ /dev/null
@@ -1,54 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP DATABASE IF EXISTS replica;
-CREATE DATABASE replica;
-CREATE TABLE t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-USE replica;
-CREATE TABLE replica.t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE replica.t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-USE test;
-INSERT INTO t1 VALUES(1, repeat('abc',10));
-INSERT INTO t2 VALUES(1, repeat('abc',10));
-SHOW TABLES;
-Tables_in_test
-t1
-t2
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-1
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-1
-USE replica;
-INSERT INTO replica.t1 VALUES(2, repeat('def',200));
-INSERT INTO replica.t2 VALUES(2, repeat('def',200));
-SHOW TABLES;
-Tables_in_replica
-t1
-t2
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-1
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-1
-SHOW TABLES;
-Tables_in_test
-USE replica;
-SHOW TABLES;
-Tables_in_replica
-t2
-SELECT COUNT(*) FROM t2;
-COUNT(*)
-1
-USE test;
-SHOW TABLES;
-Tables_in_test
-USE test;
-DROP TABLE t1, t2;
-DROP DATABASE IF EXISTS replica;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result
deleted file mode 100644
index 7f75bdedd65..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result
+++ /dev/null
@@ -1,55 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (word CHAR(20) NOT NULL);
-LOAD DATA INFILE 'LOAD_FILE' INTO TABLE t1;
-LOAD DATA INFILE 'LOAD_FILE' INTO TABLE t1;
-SELECT * FROM t1 ORDER BY word LIMIT 10;
-word
-Aarhus
-Aarhus
-Aarhus
-Aarhus
-Aaron
-Aaron
-Aaron
-Aaron
-Ababa
-Ababa
-STOP SLAVE;
-SET PASSWORD FOR root@"localhost" = PASSWORD('foo');
-START SLAVE;
-SET PASSWORD FOR root@"localhost" = PASSWORD('');
-CREATE TABLE t3(n INT);
-INSERT INTO t3 VALUES(1),(2);
-SELECT * FROM t3 ORDER BY n;
-n
-1
-2
-SELECT SUM(LENGTH(word)) FROM t1;
-SUM(LENGTH(word))
-1022
-DROP TABLE t1,t3;
-CREATE TABLE t1 (n INT) ENGINE=NDB;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-5000
-LOCK TABLES t1 READ;
-START SLAVE;
-UNLOCK TABLES;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
-5000
-DROP TABLE t1;
-CREATE TABLE t1 (n INT);
-INSERT INTO t1 VALUES(3456);
-SELECT n FROM t1;
-n
-3456
-DROP TABLE t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_row_implicit_commit_binlog.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_row_implicit_commit_binlog.result
deleted file mode 100644
index 0f2732069ec..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_row_implicit_commit_binlog.result
+++ /dev/null
@@ -1,661 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-#########################################################################
-# CONFIGURATION
-#########################################################################
-CREATE TABLE tt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = NDB;
-CREATE TABLE tt_2 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = NDB;
-CREATE TABLE nt_1 (ddl_case INT, PRIMARY KEY(ddl_case)) ENGINE = MyIsam;
-INSERT INTO tt_1(ddl_case) VALUES(0);
-INSERT INTO tt_2(ddl_case) VALUES(0);
-#########################################################################
-# CHECK IMPLICT COMMIT
-#########################################################################
-SET AUTOCOMMIT= 0;
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (41);
-LOAD INDEX INTO CACHE nt_1 IGNORE LEAVES;
-Table Op Msg_type Msg_text
-test.nt_1 preload_keys status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (test.tt_2)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (40);
-LOAD INDEX INTO CACHE tt_1, tt_2 IGNORE LEAVES;
-Table Op Msg_type Msg_text
-test.tt_1 preload_keys note The storage engine for the table doesn't support preload_keys
-test.tt_2 preload_keys note The storage engine for the table doesn't support preload_keys
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (39);
-ANALYZE TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 analyze status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ANALYZE TABLE nt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (38);
-CHECK TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 check status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (37);
-OPTIMIZE TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 optimize status Table is already up to date
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; OPTIMIZE TABLE nt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (36);
-REPAIR TABLE nt_1;
-Table Op Msg_type Msg_text
-test.nt_1 repair status OK
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; REPAIR TABLE nt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (35);
-LOCK TABLES tt_1 WRITE;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (34);
-UNLOCK TABLES;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (33);
-CREATE USER 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE USER 'user'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (32);
-GRANT ALL ON *.* TO 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; GRANT ALL ON *.* TO 'user'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (31);
-SET PASSWORD FOR 'user'@'localhost' = PASSWORD('newpass');
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; SET PASSWORD FOR 'user'@'localhost'='*D8DECEC305209EEFEC43008E1D420E1AA06B19E0'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (mysql.user)
-master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (30);
-REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (29);
-RENAME USER 'user'@'localhost' TO 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; RENAME USER 'user'@'localhost' TO 'user_new'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (28);
-DROP USER 'user_new'@'localhost';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP USER 'user_new'@'localhost'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (27);
-CREATE EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` EVENT evt ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO SELECT * FROM tt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (26);
-ALTER EVENT evt COMMENT 'evt';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER EVENT evt COMMENT 'evt'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (25);
-DROP EVENT evt;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP EVENT evt
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (24);
-CREATE TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` TRIGGER tr AFTER INSERT ON tt_1 FOR EACH ROW UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (23);
-DROP TRIGGER tr;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP TRIGGER tr
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (22);
-CREATE FUNCTION fc () RETURNS VARCHAR(64) RETURN "fc";
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `fc`() RETURNS varchar(64) CHARSET latin1
-RETURN "fc"
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (21);
-ALTER FUNCTION fc COMMENT 'fc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER FUNCTION fc COMMENT 'fc'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (20);
-DROP FUNCTION fc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP FUNCTION fc
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (19);
-CREATE PROCEDURE pc () UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `pc`()
-UPDATE tt_2 SET ddl_case = ddl_case WHERE ddl_case= NEW.ddl_case
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (18);
-ALTER PROCEDURE pc COMMENT 'pc';
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER PROCEDURE pc COMMENT 'pc'
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (17);
-DROP PROCEDURE pc;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP PROCEDURE pc
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (16);
-CREATE VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (15);
-ALTER VIEW v AS SELECT * FROM tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v` AS SELECT * FROM tt_1
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (14);
-DROP VIEW v;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP VIEW v
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (13);
-CREATE INDEX ix ON tt_1(ddl_case);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; CREATE INDEX ix ON tt_1(ddl_case)
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (12);
-DROP INDEX ix ON tt_1;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; DROP INDEX ix ON tt_1
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (11);
-CREATE TEMPORARY TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (10);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (9);
-ALTER TABLE tt_xx RENAME new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (8);
-DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `new_tt_xx` /* generated by server */
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (7);
-CREATE TABLE tt_xx (a int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE tt_xx (a int)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (6);
-ALTER TABLE tt_xx ADD COLUMN (b int);
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; ALTER TABLE tt_xx ADD COLUMN (b int)
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (5);
-RENAME TABLE tt_xx TO new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; RENAME TABLE tt_xx TO new_tt_xx
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (4);
-TRUNCATE TABLE new_tt_xx;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; TRUNCATE TABLE new_tt_xx
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (3);
-DROP TABLE IF EXISTS tt_xx, new_tt_xx;
-Warnings:
-Note 1051 Unknown table 'tt_xx'
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `tt_xx`,`new_tt_xx` /* generated by server */
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (2);
-CREATE DATABASE db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # CREATE DATABASE db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-INSERT INTO tt_1(ddl_case) VALUES (1);
-DROP DATABASE IF EXISTS db;
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
--b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.tt_1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # DROP DATABASE IF EXISTS db
--e-e-e-e-e-e-e-e-e-e-e- >> << -e-e-e-e-e-e-e-e-e-e-e-
-
-###################################################################################
-# CHECK CONSISTENCY
-###################################################################################
-Comparing tables master:test.tt_1 and slave:test.tt_1
-###################################################################################
-# CLEAN
-###################################################################################
-DROP TABLE tt_1;
-DROP TABLE tt_2;
-DROP TABLE nt_1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result
deleted file mode 100644
index 473cd63169c..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_set_null.result
+++ /dev/null
@@ -1,35 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (c1 BIT, c2 INT) Engine=NDB;
-INSERT INTO `t1` VALUES ( 1, 1 );
-UPDATE t1 SET c1=NULL where c2=1;
-Comparing tables master:test.t1 and slave:test.t1
-DELETE FROM t1 WHERE c2=1 LIMIT 1;
-Comparing tables master:test.t1 and slave:test.t1
-DROP TABLE t1;
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (c1 CHAR) Engine=NDB;
-INSERT INTO t1 ( c1 ) VALUES ( 'w' ) ;
-SELECT * FROM t1;
-c1
-w
-UPDATE t1 SET c1=NULL WHERE c1='w';
-Comparing tables master:test.t1 and slave:test.t1
-DELETE FROM t1 LIMIT 2;
-Comparing tables master:test.t1 and slave:test.t1
-DROP TABLE t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result
deleted file mode 100644
index d7922c61b52..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sp003.result
+++ /dev/null
@@ -1,49 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP PROCEDURE IF EXISTS test.p1;
-DROP PROCEDURE IF EXISTS test.p2;
-DROP TABLE IF EXISTS test.t1;
-CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=NDBCLUSTER;
-CREATE PROCEDURE test.p1()
-BEGIN
-INSERT INTO test.t1 VALUES (4);
-SELECT get_lock("test", 100);
-UPDATE test.t1 set a=a+4 WHERE a=4;
-END|
-CREATE PROCEDURE test.p2()
-BEGIN
-UPDATE test.t1 SET a=a+1;
-END|
-SELECT get_lock("test", 200);
-get_lock("test", 200)
-1
-CALL test.p1();
-CALL test.p2();
-SELECT release_lock("test");
-release_lock("test")
-1
-SELECT * FROM test.t1;
-a
-5
-SELECT * FROM test.t1;
-a
-5
-DROP TABLE IF EXISTS test.t1;
-CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=NDBCLUSTER;
-CALL test.p2();
-CALL test.p1();
-get_lock("test", 100)
-0
-SELECT * FROM test.t1;
-a
-8
-SELECT * FROM test.t1;
-a
-8
-DROP PROCEDURE IF EXISTS test.p1;
-DROP PROCEDURE IF EXISTS test.p2;
-DROP TABLE IF EXISTS test.t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result
deleted file mode 100644
index 21a2cfe5441..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sp006.result
+++ /dev/null
@@ -1,46 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TABLE IF EXISTS t1;
-DROP TABLE IF EXISTS t2;
-DROP PROCEDURE IF EXISTS p1;
-DROP PROCEDURE IF EXISTS p2;
-CREATE TABLE IF NOT EXISTS t1(name CHAR(16), birth DATE,PRIMARY KEY(name))ENGINE=NDBCLUSTER;
-CREATE TABLE IF NOT EXISTS t2(name CHAR(16), age INT ,PRIMARY KEY(name))ENGINE=NDBCLUSTER;
-CREATE PROCEDURE p1()
-BEGIN
-DECLARE done INT DEFAULT 0;
-DECLARE spa CHAR(16);
-DECLARE spb INT;
-DECLARE cur1 CURSOR FOR SELECT name,
-(YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(),5)<RIGHT(birth,5))
-FROM t1;
-DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
-OPEN cur1;
-SET AUTOCOMMIT=0;
-REPEAT
-FETCH cur1 INTO spa, spb;
-IF NOT done THEN
-START TRANSACTION;
-INSERT INTO t2 VALUES (spa,spb);
-COMMIT;
-END IF;
-UNTIL done END REPEAT;
-SET AUTOCOMMIT=1;
-CLOSE cur1;
-END|
-CREATE PROCEDURE p2()
-BEGIN
-INSERT INTO t1 VALUES ('MySQL','1993-02-04'),('ROCKS', '1990-08-27'),('Texas', '1999-03-30'),('kyle','2005-1-1');
-END|
-CALL p2();
-CALL p1();
-Warnings:
-Error 1329 No data - zero rows fetched, selected, or processed
-DROP TABLE t1;
-DROP TABLE t2;
-DROP PROCEDURE p1;
-DROP PROCEDURE p2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
deleted file mode 100644
index 367738b21e5..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
+++ /dev/null
@@ -1,144 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-SET binlog_format = STATEMENT;
-
-*** Test 1 ***
-
-create table t1 (a int key, b int) engine innodb;
-create table t2 (a int key, b int) engine innodb;
-
-alter table t1 engine ndb;
-alter table t2 engine ndb;
-
-insert into t1 values (1,2);
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-# Now check that that is in the apply_status table is consistant
-# with what is in the binlog
-
-# since insert is done with transactional engine, expect a BEGIN
-# at <start_pos>
-
-show binlog events from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-
-# Now the insert, one step after
-
-show binlog events from <binlog_start> limit 1,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; insert into t1 values (1,2)
-
-# and the COMMIT should be at <end_pos>
-
-show binlog events from <binlog_start> limit 2,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid # # COMMIT /* XID */
-
-begin;
-insert into t1 values (2,3);
-insert into t2 values (3,4);
-commit;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-show binlog events from <binlog_start> limit 1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # BEGIN
-
-show binlog events from <binlog_start> limit 1,2;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; insert into t1 values (2,3)
-master-bin.000001 # Query # # use `test`; insert into t2 values (3,4)
-
-show binlog events from <binlog_start> limit 3,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid # # COMMIT /* XID */
-
-DROP TABLE test.t1, test.t2;
-SHOW TABLES;
-Tables_in_test
-
-*** Test 2 ***
-
-DROP DATABASE IF EXISTS tpcb;
-CREATE DATABASE tpcb;
-
-CREATE TABLE tpcb.account (id INT, bid INT, balance DECIMAL(10,2),
-filler CHAR(255), PRIMARY KEY(id));
-
-CREATE TABLE tpcb.branch (bid INT, balance DECIMAL(10,2), filler VARCHAR(255),
-PRIMARY KEY(bid));
-
-CREATE TABLE tpcb.teller (tid INT, balance DECIMAL(10,2), filler VARCHAR(255),
-PRIMARY KEY(tid));
-
-CREATE TABLE tpcb.history (id MEDIUMINT NOT NULL AUTO_INCREMENT,aid INT,
-tid INT, bid INT, amount DECIMAL(10,2),
-tdate DATETIME, teller CHAR(20), uuidf LONGBLOB,
-filler CHAR(80),PRIMARY KEY (id));
-
---- Create stored procedures & functions ---
-
-
-*** Stored Procedures Created ***
-
-USE tpcb;
-ALTER TABLE account ENGINE NDB;
-ALTER TABLE branch ENGINE NDB;
-ALTER TABLE teller ENGINE NDB;
-ALTER TABLE history ENGINE NDB;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-show binlog events in 'master-bin.000001' from <start_pos> limit 6,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid 1 <end_pos> COMMIT /* XID */
-
-** Test 3 **
-
-FLUSH LOGS;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-show binlog events in 'master-bin.000002' from <start_pos> limit 6,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000002 # Xid 1 <end_pos> COMMIT /* XID */
-
-** Test 4 **
-
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-
-select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
-from mysql.ndb_apply_status;
-@log_name:=log_name @start_pos:=start_pos @end_pos:=end_pos
-<log_name> <start_pos> <end_pos>
-
-show binlog events in 'master-bin.000001' from <start_pos> limit 6,1;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Xid 1 <end_pos> COMMIT /* XID */
-
-*** DUMP MASTER & SLAVE FOR COMPARE ********
-DROP DATABASE tpcb;
-****** Do dumps compare ************
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result
deleted file mode 100644
index 49d068d5fe4..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result
+++ /dev/null
@@ -1,91 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-STOP SLAVE;
-CREATE DATABASE ndbsynctest;
-USE ndbsynctest;
-CREATE DATABASE ndbsynctest;
-USE ndbsynctest;
-CREATE TABLE t1 (c1 BIT(1) NOT NULL, c2 BIT(1) NOT NULL, c3 CHAR(15), PRIMARY KEY(c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES (1,1,"row1"),(0,1,"row2"),(1,0,"row3"),(0,0,"row4");
-CREATE TABLE t2 (c1 CHAR(15), c2 BIT(1) NOT NULL, c3 BIT(1) NOT NULL, PRIMARY KEY(c1)) ENGINE = NDB ;
-INSERT INTO t2 VALUES ("ABC",1,1),("BCDEF",0,1),("CD",1,0),("DEFGHIJKL",0,0);
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-hex(c1) hex(c2) c3
-1 1 row1
-0 1 row2
-1 0 row3
-0 0 row4
-SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
-hex(c2) hex(c3) c1
-1 1 ABC
-0 1 BCDEF
-1 0 CD
-0 0 DEFGHIJKL
-CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info
-(id INT, backup_id INT) ENGINE = MEMORY;
-LOAD DATA INFILE '<MYSQLTEST_VARDIR>/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
-DROP TABLE test.backup_info;
-UPDATE t1 SET c2=0 WHERE c3="row2";
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-hex(c1) hex(c2) c3
-1 1 row1
-0 0 row2
-1 0 row3
-0 0 row4
-SHOW TABLES;
-Tables_in_ndbsynctest
-DROP DATABASE ndbsynctest;
-CREATE DATABASE ndbsynctest;
-USE ndbsynctest;
-SHOW TABLES;
-Tables_in_ndbsynctest
-t1
-t2
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-hex(c1) hex(c2) c3
-1 1 row1
-0 1 row2
-1 0 row3
-0 0 row4
-SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
-hex(c2) hex(c3) c1
-1 1 ABC
-0 1 BCDEF
-1 0 CD
-0 0 DEFGHIJKL
-SELECT @the_epoch:=MAX(epoch) FROM mysql.ndb_apply_status;
-@the_epoch:=MAX(epoch)
-<the_epoch>
-SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-FROM mysql.ndb_binlog_index WHERE epoch > <the_epoch> ORDER BY epoch ASC LIMIT 1;
-@the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1)
-<the_pos> master-bin.000001
-CHANGE MASTER TO
-master_log_file = 'master-bin.000001',
-master_log_pos = <the_pos> ;
-START SLAVE;
-Checking that both slave threads are running.
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-hex(c1) hex(c2) c3
-1 1 row1
-0 0 row2
-1 0 row3
-0 0 row4
-SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
-hex(c2) hex(c3) c1
-1 1 ABC
-0 1 BCDEF
-1 0 CD
-0 0 DEFGHIJKL
-DROP DATABASE ndbsynctest;
-STOP SLAVE;
-reset master;
-select * from mysql.ndb_binlog_index;
-Position File epoch inserts updates deletes schemaops
-reset slave;
-select * from mysql.ndb_apply_status;
-server_id epoch log_name start_pos end_pos
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result
deleted file mode 100644
index ba5f0dea91c..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_trig004.result
+++ /dev/null
@@ -1,30 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-DROP TRIGGER test.t1_bi_t2;
-DROP TABLE IF EXISTS test.t1;
-DROP TABLE IF EXISTS test.t2;
-CREATE TABLE test.t1 (n MEDIUMINT NOT NULL AUTO_INCREMENT, d FLOAT, PRIMARY KEY(n))ENGINE=NDB;
-CREATE TABLE test.t2 (n MEDIUMINT NOT NULL, f FLOAT, PRIMARY KEY(n))ENGINE=NDB;
-CREATE TRIGGER test.t1_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW INSERT INTO test.t1 VALUES (NULL, 1.234)//
-INSERT INTO test.t2 VALUES (1, 0.0);
-INSERT INTO test.t2 VALUES (1, 0.0);
-Got one of the listed errors
-select * from test.t1;
-n d
-1 1.234
-select * from test.t2;
-n f
-1 0
-select * from test.t1;
-n d
-1 1.234
-select * from test.t2;
-n f
-1 0
-DROP TRIGGER test.t1_bi_t2;
-DROP TABLE test.t1;
-DROP TABLE test.t2;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndbapi_multi.result b/mysql-test/suite/rpl_ndb/r/rpl_ndbapi_multi.result
deleted file mode 100644
index 5de6914882d..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndbapi_multi.result
+++ /dev/null
@@ -1,8 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-Running ndbapi_simple_dual
-Running mgmapi_logevent
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
deleted file mode 100644
index 3839bfe0b2e..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
+++ /dev/null
@@ -1,636 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'NDB' ;
-SELECT * FROM t1;
-C1 C2
-SELECT * FROM t1;
-C1 C2
-INSERT INTO t1 VALUES ('A','B'), ('X','Y'), ('X','X');
-INSERT INTO t1 VALUES ('A','C'), ('X','Z'), ('A','A');
-SELECT * FROM t1 ORDER BY C1,C2;
-C1 C2
-A A
-A B
-A C
-X X
-X Y
-X Z
-SELECT * FROM t1 ORDER BY C1,C2;
-C1 C2
-A A
-A B
-A C
-X X
-X Y
-X Z
-DELETE FROM t1 WHERE C1 = C2;
-SELECT * FROM t1 ORDER BY C1,C2;
-C1 C2
-A B
-A C
-X Y
-X Z
-SELECT * FROM t1 ORDER BY C1,C2;
-C1 C2
-A B
-A C
-X Y
-X Z
-UPDATE t1 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
-SELECT * FROM t1 ORDER BY C1,C2;
-C1 C2
-A B
-A I
-X Y
-X Z
-SELECT * FROM t1 ORDER BY C1,C2;
-C1 C2
-A B
-A I
-X Y
-X Z
-UPDATE t1 SET c2 = 'Q' WHERE c1 = 'A' AND c2 = 'N';
-SELECT * FROM t1 ORDER BY c1,c2;
-C1 C2
-A B
-A I
-X Y
-X Z
-SELECT * FROM t1 ORDER BY c1,c2;
-C1 C2
-A B
-A I
-X Y
-X Z
-CREATE TABLE t2 (c1 INT, c12 char(1), c2 INT, PRIMARY KEY (c1)) ENGINE = 'NDB' ;
-INSERT INTO t2
-VALUES (1,'A',2), (2,'A',4), (3,'A',9), (4,'A',15), (5,'A',25),
-(6,'A',35), (7,'A',50), (8,'A',64), (9,'A',81);
-SELECT * FROM t2 ORDER BY c1,c2;
-c1 c12 c2
-1 A 2
-2 A 4
-3 A 9
-4 A 15
-5 A 25
-6 A 35
-7 A 50
-8 A 64
-9 A 81
-SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1 c12 c2
-2 A 4
-3 A 9
-5 A 25
-8 A 64
-9 A 81
-SELECT * FROM t2 ORDER BY c1,c2;
-c1 c12 c2
-1 A 2
-2 A 4
-3 A 9
-4 A 15
-5 A 25
-6 A 35
-7 A 50
-8 A 64
-9 A 81
-SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1 c12 c2
-2 A 4
-3 A 9
-5 A 25
-8 A 64
-9 A 81
-UPDATE t2 SET c2 = c1*c1 WHERE c2 != c1*c1;
-SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1 c12 c2
-1 A 1
-2 A 4
-3 A 9
-4 A 16
-5 A 25
-6 A 36
-7 A 49
-8 A 64
-9 A 81
-SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1 c12 c2
-1 A 1
-2 A 4
-3 A 9
-4 A 16
-5 A 25
-6 A 36
-7 A 49
-8 A 64
-9 A 81
-UPDATE t2 SET c12 = 'Q' WHERE c1 = 1 AND c2 = 999;
-SELECT * FROM t2 ORDER BY c1,c2;
-c1 c12 c2
-1 A 1
-2 A 4
-3 A 9
-4 A 16
-5 A 25
-6 A 36
-7 A 49
-8 A 64
-9 A 81
-SELECT * FROM t2 ORDER BY c1,c2;
-c1 c12 c2
-1 A 1
-2 A 4
-3 A 9
-4 A 16
-5 A 25
-6 A 36
-7 A 49
-8 A 64
-9 A 81
-DELETE FROM t2 WHERE c1 % 4 = 0;
-SELECT * FROM t2 ORDER BY c1,c2;
-c1 c12 c2
-1 A 1
-2 A 4
-3 A 9
-5 A 25
-6 A 36
-7 A 49
-9 A 81
-SELECT * FROM t2 ORDER BY c1,c2;
-c1 c12 c2
-1 A 1
-2 A 4
-3 A 9
-5 A 25
-6 A 36
-7 A 49
-9 A 81
-UPDATE t2 SET c12='X';
-CREATE TABLE t3 (C1 CHAR(1), C2 CHAR(1), pk1 INT, C3 CHAR(1), pk2 INT, PRIMARY KEY (pk1,pk2)) ENGINE = 'NDB' ;
-INSERT INTO t3 VALUES ('A','B',1,'B',1), ('X','Y',2,'B',1), ('X','X',3,'B',1);
-INSERT INTO t3 VALUES ('A','C',1,'B',2), ('X','Z',2,'B',2), ('A','A',3,'B',2);
-SELECT * FROM t3 ORDER BY C1,C2;
-C1 C2 pk1 C3 pk2
-A A 3 B 2
-A B 1 B 1
-A C 1 B 2
-X X 3 B 1
-X Y 2 B 1
-X Z 2 B 2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1 C2 pk1 C3 pk2
-A A 3 B 2
-A B 1 B 1
-A C 1 B 2
-X X 3 B 1
-X Y 2 B 1
-X Z 2 B 2
-DELETE FROM t3 WHERE C1 = C2;
-SELECT * FROM t3 ORDER BY C1,C2;
-C1 C2 pk1 C3 pk2
-A B 1 B 1
-A C 1 B 2
-X Y 2 B 1
-X Z 2 B 2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1 C2 pk1 C3 pk2
-A B 1 B 1
-A C 1 B 2
-X Y 2 B 1
-X Z 2 B 2
-UPDATE t3 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
-SELECT * FROM t3 ORDER BY C1,C2;
-C1 C2 pk1 C3 pk2
-A B 1 B 1
-A I 1 B 2
-X Y 2 B 1
-X Z 2 B 2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1 C2 pk1 C3 pk2
-A B 1 B 1
-A I 1 B 2
-X Y 2 B 1
-X Z 2 B 2
-CREATE TABLE t6 (C1 CHAR(1), C2 CHAR(1), C3 INT) ENGINE = 'NDB' ;
-INSERT INTO t6 VALUES ('A','B',1), ('X','Y',2), ('X','X',3);
-INSERT INTO t6 VALUES ('A','C',4), ('X','Z',5), ('A','A',6);
-SELECT * FROM t6 ORDER BY C3;
-C1 C2 C3
-A B 1
-X Y 2
-X X 3
-A C 4
-X Z 5
-A A 6
-SELECT * FROM t6 ORDER BY C3;
-C1 C2 C3
-A B 1
-X Y 2
-X X 3
-A C 4
-X Z 5
-A A 6
-DELETE FROM t6 WHERE C1 = C2;
-SELECT * FROM t6 ORDER BY C3;
-C1 C2 C3
-A B 1
-X Y 2
-A C 4
-X Z 5
-SELECT * FROM t6 ORDER BY C3;
-C1 C2 C3
-A B 1
-X Y 2
-A C 4
-X Z 5
-UPDATE t6 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
-SELECT * FROM t6 ORDER BY C3;
-C1 C2 C3
-A B 1
-X Y 2
-A I 4
-X Z 5
-SELECT * FROM t6 ORDER BY C3;
-C1 C2 C3
-A B 1
-X Y 2
-A I 4
-X Z 5
-CREATE TABLE t5 (C1 CHAR(1), C2 CHAR(1), C3 INT PRIMARY KEY) ENGINE = 'NDB' ;
-INSERT INTO t5 VALUES ('A','B',1), ('X','Y',2), ('X','X',3);
-INSERT INTO t5 VALUES ('A','C',4), ('X','Z',5), ('A','A',6);
-UPDATE t5,t2,t3 SET t5.C2='Q', t2.c12='R', t3.C3 ='S' WHERE t5.C1 = t2.c12 AND t5.C1 = t3.C1;
-SELECT * FROM t5,t2,t3 WHERE t5.C2='Q' AND t2.c12='R' AND t3.C3 ='S' ORDER BY t5.C3,t2.c1,t3.pk1,t3.pk2;
-C1 C2 C3 c1 c12 c2 C1 C2 pk1 C3 pk2
-X Q 2 1 R 1 X Y 2 S 1
-X Q 2 1 R 1 X Z 2 S 2
-X Q 2 2 R 4 X Y 2 S 1
-X Q 2 2 R 4 X Z 2 S 2
-X Q 2 3 R 9 X Y 2 S 1
-X Q 2 3 R 9 X Z 2 S 2
-X Q 2 5 R 25 X Y 2 S 1
-X Q 2 5 R 25 X Z 2 S 2
-X Q 2 6 R 36 X Y 2 S 1
-X Q 2 6 R 36 X Z 2 S 2
-X Q 2 7 R 49 X Y 2 S 1
-X Q 2 7 R 49 X Z 2 S 2
-X Q 2 9 R 81 X Y 2 S 1
-X Q 2 9 R 81 X Z 2 S 2
-X Q 3 1 R 1 X Y 2 S 1
-X Q 3 1 R 1 X Z 2 S 2
-X Q 3 2 R 4 X Y 2 S 1
-X Q 3 2 R 4 X Z 2 S 2
-X Q 3 3 R 9 X Y 2 S 1
-X Q 3 3 R 9 X Z 2 S 2
-X Q 3 5 R 25 X Y 2 S 1
-X Q 3 5 R 25 X Z 2 S 2
-X Q 3 6 R 36 X Y 2 S 1
-X Q 3 6 R 36 X Z 2 S 2
-X Q 3 7 R 49 X Y 2 S 1
-X Q 3 7 R 49 X Z 2 S 2
-X Q 3 9 R 81 X Y 2 S 1
-X Q 3 9 R 81 X Z 2 S 2
-X Q 5 1 R 1 X Y 2 S 1
-X Q 5 1 R 1 X Z 2 S 2
-X Q 5 2 R 4 X Y 2 S 1
-X Q 5 2 R 4 X Z 2 S 2
-X Q 5 3 R 9 X Y 2 S 1
-X Q 5 3 R 9 X Z 2 S 2
-X Q 5 5 R 25 X Y 2 S 1
-X Q 5 5 R 25 X Z 2 S 2
-X Q 5 6 R 36 X Y 2 S 1
-X Q 5 6 R 36 X Z 2 S 2
-X Q 5 7 R 49 X Y 2 S 1
-X Q 5 7 R 49 X Z 2 S 2
-X Q 5 9 R 81 X Y 2 S 1
-X Q 5 9 R 81 X Z 2 S 2
-SELECT * FROM t5,t2,t3 WHERE t5.C2='Q' AND t2.c12='R' AND t3.C3 ='S' ORDER BY t5.C3,t2.c1,t3.pk1,t3.pk2;
-C1 C2 C3 c1 c12 c2 C1 C2 pk1 C3 pk2
-X Q 2 1 R 1 X Y 2 S 1
-X Q 2 1 R 1 X Z 2 S 2
-X Q 2 2 R 4 X Y 2 S 1
-X Q 2 2 R 4 X Z 2 S 2
-X Q 2 3 R 9 X Y 2 S 1
-X Q 2 3 R 9 X Z 2 S 2
-X Q 2 5 R 25 X Y 2 S 1
-X Q 2 5 R 25 X Z 2 S 2
-X Q 2 6 R 36 X Y 2 S 1
-X Q 2 6 R 36 X Z 2 S 2
-X Q 2 7 R 49 X Y 2 S 1
-X Q 2 7 R 49 X Z 2 S 2
-X Q 2 9 R 81 X Y 2 S 1
-X Q 2 9 R 81 X Z 2 S 2
-X Q 3 1 R 1 X Y 2 S 1
-X Q 3 1 R 1 X Z 2 S 2
-X Q 3 2 R 4 X Y 2 S 1
-X Q 3 2 R 4 X Z 2 S 2
-X Q 3 3 R 9 X Y 2 S 1
-X Q 3 3 R 9 X Z 2 S 2
-X Q 3 5 R 25 X Y 2 S 1
-X Q 3 5 R 25 X Z 2 S 2
-X Q 3 6 R 36 X Y 2 S 1
-X Q 3 6 R 36 X Z 2 S 2
-X Q 3 7 R 49 X Y 2 S 1
-X Q 3 7 R 49 X Z 2 S 2
-X Q 3 9 R 81 X Y 2 S 1
-X Q 3 9 R 81 X Z 2 S 2
-X Q 5 1 R 1 X Y 2 S 1
-X Q 5 1 R 1 X Z 2 S 2
-X Q 5 2 R 4 X Y 2 S 1
-X Q 5 2 R 4 X Z 2 S 2
-X Q 5 3 R 9 X Y 2 S 1
-X Q 5 3 R 9 X Z 2 S 2
-X Q 5 5 R 25 X Y 2 S 1
-X Q 5 5 R 25 X Z 2 S 2
-X Q 5 6 R 36 X Y 2 S 1
-X Q 5 6 R 36 X Z 2 S 2
-X Q 5 7 R 49 X Y 2 S 1
-X Q 5 7 R 49 X Z 2 S 2
-X Q 5 9 R 81 X Y 2 S 1
-X Q 5 9 R 81 X Z 2 S 2
-CREATE TABLE t4 (C1 CHAR(1) PRIMARY KEY, B1 BIT(1), B2 BIT(1) NOT NULL DEFAULT 0, C2 CHAR(1) NOT NULL DEFAULT 'A') ENGINE = 'NDB' ;
-INSERT INTO t4 SET C1 = 1;
-SELECT C1,HEX(B1),HEX(B2) FROM t4 ORDER BY C1;
-C1 HEX(B1) HEX(B2)
-1 NULL 0
-SELECT C1,HEX(B1),HEX(B2) FROM t4 ORDER BY C1;
-C1 HEX(B1) HEX(B2)
-1 NULL 0
-CREATE TABLE t7 (C1 INT PRIMARY KEY, C2 INT) ENGINE = 'NDB' ;
---- on slave: original values ---
-INSERT INTO t7 VALUES (1,3), (2,6), (3,9);
-SELECT * FROM t7 ORDER BY C1;
-C1 C2
-1 3
-2 6
-3 9
-set @@global.slave_exec_mode= 'IDEMPOTENT';
---- on master: new values inserted ---
-INSERT INTO t7 VALUES (1,2), (2,4), (3,6);
-SELECT * FROM t7 ORDER BY C1;
-C1 C2
-1 2
-2 4
-3 6
-set @@global.slave_exec_mode= default;
---- on slave: old values should be overwritten by replicated values ---
-SELECT * FROM t7 ORDER BY C1;
-C1 C2
-1 2
-2 4
-3 6
---- on master ---
-CREATE TABLE t8 (a INT PRIMARY KEY, b INT UNIQUE, c INT UNIQUE) ENGINE = 'NDB' ;
-INSERT INTO t8 VALUES (99,99,99);
-INSERT INTO t8 VALUES (99,22,33);
-ERROR 23000: Duplicate entry '99' for key 'PRIMARY'
-INSERT INTO t8 VALUES (11,99,33);
-ERROR 23000: Duplicate entry '99' for key 'b'
-INSERT INTO t8 VALUES (11,22,99);
-ERROR 23000: Duplicate entry '99' for key 'c'
-SELECT * FROM t8 ORDER BY a;
-a b c
-99 99 99
---- on slave ---
-SELECT * FROM t8 ORDER BY a;
-a b c
-99 99 99
-INSERT INTO t8 VALUES (1,2,3), (2,4,6), (3,6,9);
-SELECT * FROM t8 ORDER BY a;
-a b c
-1 2 3
-2 4 6
-3 6 9
-99 99 99
-set @@global.slave_exec_mode= 'IDEMPOTENT';
---- on master ---
-INSERT INTO t8 VALUES (2,4,8);
-set @@global.slave_exec_mode= default;
---- on slave ---
-SELECT * FROM t8 ORDER BY a;
-a b c
-1 2 3
-2 4 8
-3 6 9
-99 99 99
-**** Test for BUG#31552 ****
-**** On Master ****
-DELETE FROM t1;
-**** Resetting master and slave ****
-include/stop_slave.inc
-RESET SLAVE;
-RESET MASTER;
-include/start_slave.inc
-**** On Master ****
-INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
-**** On Master ****
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-DELETE FROM t1 WHERE C1 = 'L';
-DELETE FROM t1;
-SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
-COUNT(*) 0
-set @@global.slave_exec_mode= default;
-Checking that both slave threads are running.
-SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
-COUNT(*) 0
-**** Test for BUG#37076 ****
-**** On Master ****
-DROP TABLE IF EXISTS t1;
-CREATE TABLE t1 (a TIMESTAMP, b DATETIME, c DATE);
-INSERT INTO t1 VALUES(
-'2005-11-14 01:01:01', '2005-11-14 01:01:02', '2005-11-14');
-**** On Slave ****
-SELECT * FROM t1;
-a b c
-2005-11-14 01:01:01 2005-11-14 01:01:02 2005-11-14
-DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
-CREATE TABLE t1 (i INT NOT NULL,
-c CHAR(16) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-CREATE TABLE t2 (i INT NOT NULL,
-c CHAR(16) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-ALTER TABLE t2 MODIFY c CHAR(128) CHARACTER SET utf8 NOT NULL;
-CREATE TABLE t3 (i INT NOT NULL,
-c CHAR(128) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-ALTER TABLE t3 MODIFY c CHAR(16) CHARACTER SET utf8 NOT NULL;
-CREATE TABLE t4 (i INT NOT NULL,
-c CHAR(128) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-CREATE TABLE t5 (i INT NOT NULL,
-c CHAR(255) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-ALTER TABLE t5 MODIFY c CHAR(16) CHARACTER SET utf8 NOT NULL;
-CREATE TABLE t6 (i INT NOT NULL,
-c CHAR(255) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-ALTER TABLE t6 MODIFY c CHAR(128) CHARACTER SET utf8 NOT NULL;
-CREATE TABLE t7 (i INT NOT NULL,
-c CHAR(255) CHARACTER SET utf8 NOT NULL,
-j INT NOT NULL) ENGINE = 'NDB' ;
-SET @saved_slave_type_conversions = @@slave_type_conversions;
-SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY';
-[expecting slave to replicate correctly]
-INSERT INTO t1 VALUES (1, "", 1);
-INSERT INTO t1 VALUES (2, repeat(_utf8'a', 16), 2);
-Comparing tables master:test.t1 and slave:test.t1
-[expecting slave to replicate correctly]
-INSERT INTO t2 VALUES (1, "", 1);
-INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2);
-Comparing tables master:test.t2 and slave:test.t2
-SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
-[expecting slave to replicate correctly]
-INSERT INTO t4 VALUES (1, "", 1);
-INSERT INTO t4 VALUES (2, repeat(_utf8'a', 128), 2);
-Comparing tables master:test.t4 and slave:test.t4
-[expecting slave to stop]
-INSERT INTO t5 VALUES (1, "", 1);
-INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
-Last_SQL_Error = Column 1 of table 'test.t5' cannot be converted from type 'char(255)' to type 'char(16)'
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
-[expecting slave to stop]
-INSERT INTO t6 VALUES (1, "", 1);
-INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
-Last_SQL_Error = Column 1 of table 'test.t6' cannot be converted from type 'char(255)' to type 'char(128)'
-RESET MASTER;
-STOP SLAVE;
-RESET SLAVE;
-START SLAVE;
-[expecting slave to replicate correctly]
-INSERT INTO t7 VALUES (1, "", 1);
-INSERT INTO t7 VALUES (2, repeat(_utf8'a', 255), 2);
-Comparing tables master:test.t7 and slave:test.t7
-drop table t1, t2, t3, t4, t5, t6, t7;
-CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE='NDB' ;
-INSERT INTO t1 VALUES (1), (2), (3);
-UPDATE t1 SET a = 10;
-ERROR 23000: Duplicate entry '10' for key 'PRIMARY'
-INSERT INTO t1 VALUES (4);
-Comparing tables master:test.t1 and slave:test.t1
-drop table t1;
-DROP TABLE IF EXISTS t1, t2;
-CREATE TABLE t1 (
-`pk` int(11) NOT NULL AUTO_INCREMENT,
-`int_nokey` int(11) NOT NULL,
-`int_key` int(11) NOT NULL,
-`date_key` date NOT NULL,
-`date_nokey` date NOT NULL,
-`time_key` time NOT NULL,
-`time_nokey` time NOT NULL,
-`datetime_key` datetime NOT NULL,
-`datetime_nokey` datetime NOT NULL,
-`varchar_key` varchar(1) NOT NULL,
-`varchar_nokey` varchar(1) NOT NULL,
-PRIMARY KEY (`pk`),
-KEY `int_key` (`int_key`),
-KEY `date_key` (`date_key`),
-KEY `time_key` (`time_key`),
-KEY `datetime_key` (`datetime_key`),
-KEY `varchar_key` (`varchar_key`)
-) ENGINE='NDB' ;
-INSERT INTO t1 VALUES (1,8,5,'0000-00-00','0000-00-00','10:37:38','10:37:38','0000-00-00 00:00:00','0000-00-00 00:00:00','p','p'),(2,0,9,'0000-00-00','0000-00-00','00:00:00','00:00:00','2007-10-14 00:00:00','2007-10-14 00:00:00','d','d');
-CREATE TABLE t2 (
-`pk` int(11) NOT NULL AUTO_INCREMENT,
-`int_nokey` int(11) NOT NULL,
-`int_key` int(11) NOT NULL,
-`date_key` date NOT NULL,
-`date_nokey` date NOT NULL,
-`time_key` time NOT NULL,
-`time_nokey` time NOT NULL,
-`datetime_key` datetime NOT NULL,
-`datetime_nokey` datetime NOT NULL,
-`varchar_key` varchar(1) NOT NULL,
-`varchar_nokey` varchar(1) NOT NULL,
-PRIMARY KEY (`pk`),
-KEY `int_key` (`int_key`),
-KEY `date_key` (`date_key`),
-KEY `time_key` (`time_key`),
-KEY `datetime_key` (`datetime_key`),
-KEY `varchar_key` (`varchar_key`)
-) ENGINE='NDB' ;
-INSERT INTO t2 VALUES (1,1,6,'2005-12-23','2005-12-23','02:24:28','02:24:28','0000-00-00 00:00:00','0000-00-00 00:00:00','g','g'),(2,0,3,'2009-09-14','2009-09-14','00:00:00','00:00:00','2000-01-30 16:39:40','2000-01-30 16:39:40','q','q'),(3,0,3,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','c','c'),(4,1,6,'2007-03-29','2007-03-29','15:49:00','15:49:00','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(5,4,0,'2002-12-04','2002-12-04','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','o','o'),(6,9,0,'2005-01-28','2005-01-28','00:00:00','00:00:00','2001-05-18 00:00:00','2001-05-18 00:00:00','w','w'),(7,6,0,'0000-00-00','0000-00-00','06:57:25','06:57:25','0000-00-00 00:00:00','0000-00-00 00:00:00','m','m'),(8,0,0,'0000-00-00','0000-00-00','00:00:00','00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00','z','z'),(9,4,6,'2006-08-15','2006-08-15','00:00:00','00:00:00','2002-04-12 14:44:25','2002-04-12 14:44:25','j','j'),(10,0,5,'2006-12-20','2006-12-20','10:13:53','10:13:53','2008-07-22 00:00:00','2008-07-22 00:00:00','y','y'),(11,9,7,'0000-00-00','0000-00-00','00:00:00','00:00:00','2004-07-05 00:00:00','2004-07-05 00:00:00','{','{'),(12,4,3,'2007-01-26','2007-01-26','23:00:51','23:00:51','2001-05-16 00:00:00','2001-05-16 00:00:00','f','f'),(13,7,0,'2004-03-27','2004-03-27','00:00:00','00:00:00','2005-01-24 03:30:37','2005-01-24 03:30:37','',''),(14,6,0,'2006-07-26','2006-07-26','18:43:57','18:43:57','0000-00-00 00:00:00','0000-00-00 00:00:00','{','{'),(15,0,6,'2000-01-14','2000-01-14','00:00:00','00:00:00','2000-09-21 00:00:00','2000-09-21 00:00:00','o','o'),(16,9,8,'0000-00-00','0000-00-00','21:15:08','21:15:08','0000-00-00 00:00:00','0000-00-00 00:00:00','a','a'),(17,2,0,'2004-10-27','2004-10-27','00:00:00','00:00:00','2004-03-24 22:13:43','2004-03-24 22:13:43','',''),(18,7,4,'0000-00-00','0000-00-00','08:38:27','08:38:27','2002-03-18 19:51:44','2002-03-18 19:51:44','t','t'),(19,5,3,'2008-03-07','2008-03-07','03:29:07','03:29:07','2007-12-01 18:44:44','2007-12-01 18:44:44','t','t'),(20,0,0,'2002-04-09','2002-04-09','16:06:03','16:06:03','2009-04-22 00:00:00','2009-04-22 00:00:00','n','n');
-DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1;
-UPDATE t1 SET `int_key` = 3 ORDER BY `pk` LIMIT 4;
-DELETE FROM t2 WHERE `int_key` < 3 LIMIT 1;
-DELETE FROM t2 WHERE `pk` < 6 LIMIT 1;
-UPDATE t1 SET `int_key` = 6 ORDER BY `pk` LIMIT 3;
-DELETE FROM t2 WHERE `pk` < 6 LIMIT 1;
-UPDATE t1 SET `pk` = 6 ORDER BY `int_key` LIMIT 6;
-ERROR 23000: Duplicate entry '6' for key 'PRIMARY'
-DELETE FROM t2 WHERE `pk` < 7 LIMIT 1;
-UPDATE t1 SET `int_key` = 4 ORDER BY `pk` LIMIT 6;
-*** results: t2 must be consistent ****
-Comparing tables master:test.t2 and master:test.t2
-DROP TABLE t1, t2;
-EOF OF TESTS
-CREATE TABLE t1 (a int) ENGINE='NDB' ;
-INSERT IGNORE INTO t1 VALUES (NULL);
-INSERT INTO t1 ( a ) VALUES ( 0 );
-INSERT INTO t1 ( a ) VALUES ( 9 );
-INSERT INTO t1 ( a ) VALUES ( 2 );
-INSERT INTO t1 ( a ) VALUES ( 9 );
-INSERT INTO t1 ( a ) VALUES ( 5 );
-UPDATE t1 SET a = 5 WHERE a = 9;
-DELETE FROM t1 WHERE a < 6;
-UPDATE t1 SET a = 9 WHERE a < 3;
-INSERT INTO t1 ( a ) VALUES ( 3 );
-UPDATE t1 SET a = 0 WHERE a < 4;
-UPDATE t1 SET a = 8 WHERE a < 5;
-Comparing tables master:test.t1 and slave:test.t1
-drop table t1;
-CREATE TABLE t1 (a bit) ENGINE='NDB' ;
-INSERT IGNORE INTO t1 VALUES (NULL);
-INSERT INTO t1 ( a ) VALUES ( 0 );
-UPDATE t1 SET a = 0 WHERE a = 1 LIMIT 3;
-INSERT INTO t1 ( a ) VALUES ( 5 );
-DELETE FROM t1 WHERE a < 2 LIMIT 4;
-DELETE FROM t1 WHERE a < 9 LIMIT 4;
-INSERT INTO t1 ( a ) VALUES ( 9 );
-UPDATE t1 SET a = 8 WHERE a = 0 LIMIT 6;
-INSERT INTO t1 ( a ) VALUES ( 8 );
-UPDATE t1 SET a = 0 WHERE a < 6 LIMIT 0;
-INSERT INTO t1 ( a ) VALUES ( 4 );
-INSERT INTO t1 ( a ) VALUES ( 3 );
-UPDATE t1 SET a = 0 WHERE a = 7 LIMIT 6;
-DELETE FROM t1 WHERE a = 4 LIMIT 7;
-UPDATE t1 SET a = 9 WHERE a < 2 LIMIT 9;
-UPDATE t1 SET a = 0 WHERE a < 9 LIMIT 2;
-DELETE FROM t1 WHERE a < 0 LIMIT 5;
-INSERT INTO t1 ( a ) VALUES ( 5 );
-UPDATE t1 SET a = 4 WHERE a < 6 LIMIT 4;
-INSERT INTO t1 ( a ) VALUES ( 5 );
-UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 8;
-DELETE FROM t1 WHERE a < 8 LIMIT 8;
-INSERT INTO t1 ( a ) VALUES ( 6 );
-DELETE FROM t1 WHERE a < 6 LIMIT 7;
-UPDATE t1 SET a = 7 WHERE a = 3 LIMIT 7;
-UPDATE t1 SET a = 8 WHERE a = 0 LIMIT 6;
-INSERT INTO t1 ( a ) VALUES ( 7 );
-DELETE FROM t1 WHERE a < 9 LIMIT 4;
-INSERT INTO t1 ( a ) VALUES ( 7 );
-INSERT INTO t1 ( a ) VALUES ( 6 );
-UPDATE t1 SET a = 8 WHERE a = 3 LIMIT 4;
-DELETE FROM t1 WHERE a = 2 LIMIT 9;
-DELETE FROM t1 WHERE a = 1 LIMIT 4;
-UPDATE t1 SET a = 4 WHERE a = 2 LIMIT 7;
-INSERT INTO t1 ( a ) VALUES ( 0 );
-DELETE FROM t1 WHERE a < 3 LIMIT 0;
-UPDATE t1 SET a = 8 WHERE a = 5 LIMIT 2;
-INSERT INTO t1 ( a ) VALUES ( 1 );
-UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 3;
-Comparing tables master:test.t1 and slave:test.t1
-drop table t1;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result
deleted file mode 100644
index 36a7ae0016b..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result
+++ /dev/null
@@ -1,89 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** On Master ****
-CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
-INSERT INTO t1 VALUES (1,1), (2,2);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-**** On Slave ****
-INSERT INTO t1 VALUE (3,3);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-3 3
-**** On Master ****
-TRUNCATE TABLE t1;
-SELECT * FROM t1 ORDER BY a,b;
-a b
-**** On Slave ****
-SELECT * FROM t1 ORDER BY a,b;
-a b
-**** On Master ****
-DROP TABLE t1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
-master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-**** On Master ****
-CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
-INSERT INTO t1 VALUES (1,1), (2,2);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-**** On Slave ****
-INSERT INTO t1 VALUE (3,3);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-3 3
-**** On Master ****
-DELETE FROM t1;
-SELECT * FROM t1 ORDER BY a,b;
-a b
-**** On Slave ****
-SELECT * FROM t1 ORDER BY a,b;
-a b
-3 3
-**** On Master ****
-DROP TABLE t1;
-show binlog events from <binlog_start>;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
-master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
-master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # BEGIN
-master-bin.000001 # Table_map # # table_id: # (test.t1)
-master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status)
-master-bin.000001 # Write_rows # # table_id: #
-master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
-master-bin.000001 # Query # # COMMIT
-master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb_2.result b/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb_2.result
deleted file mode 100644
index d6c57aed41b..00000000000
--- a/mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb_2.result
+++ /dev/null
@@ -1,91 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-**** On Master ****
-CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
-INSERT INTO t1 VALUES (1,1), (2,2);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-**** On Slave ****
-INSERT INTO t1 VALUE (3,3);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-3 3
-**** On Master ****
-TRUNCATE TABLE t1;
-SELECT * FROM t1 ORDER BY a,b;
-a b
-**** On Slave ****
-SELECT * FROM t1 ORDER BY a,b;
-a b
-**** On Master ****
-DROP TABLE t1;
-SHOW BINLOG EVENTS;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
-master-bin.000001 106 Query 1 223 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 223 Query 1 287 BEGIN
-master-bin.000001 287 Table_map 1 330 table_id: # (test.t1)
-master-bin.000001 330 Table_map 1 392 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 392 Write_rows 1 451 table_id: #
-master-bin.000001 451 Write_rows 1 498 table_id: # flags: STMT_END_F
-master-bin.000001 498 Query 1 563 COMMIT
-master-bin.000001 563 Query 1 643 use `test`; TRUNCATE TABLE t1
-master-bin.000001 643 Query 1 719 use `test`; DROP TABLE t1
-**** On Master ****
-CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
-INSERT INTO t1 VALUES (1,1), (2,2);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-**** On Slave ****
-INSERT INTO t1 VALUE (3,3);
-SELECT * FROM t1 ORDER BY a,b;
-a b
-1 1
-2 2
-3 3
-**** On Master ****
-DELETE FROM t1;
-SELECT * FROM t1 ORDER BY a,b;
-a b
-**** On Slave ****
-SELECT * FROM t1 ORDER BY a,b;
-a b
-3 3
-**** On Master ****
-DROP TABLE t1;
-SHOW BINLOG EVENTS;
-Log_name Pos Event_type Server_id End_log_pos Info
-master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4
-master-bin.000001 106 Query 1 223 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 223 Query 1 287 BEGIN
-master-bin.000001 287 Table_map 1 330 table_id: # (test.t1)
-master-bin.000001 330 Table_map 1 392 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 392 Write_rows 1 451 table_id: #
-master-bin.000001 451 Write_rows 1 498 table_id: # flags: STMT_END_F
-master-bin.000001 498 Query 1 563 COMMIT
-master-bin.000001 563 Query 1 643 use `test`; TRUNCATE TABLE t1
-master-bin.000001 643 Query 1 719 use `test`; DROP TABLE t1
-master-bin.000001 719 Query 1 836 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
-master-bin.000001 836 Query 1 900 BEGIN
-master-bin.000001 900 Table_map 1 943 table_id: # (test.t1)
-master-bin.000001 943 Table_map 1 1005 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 1005 Write_rows 1 1064 table_id: #
-master-bin.000001 1064 Write_rows 1 1111 table_id: # flags: STMT_END_F
-master-bin.000001 1111 Query 1 1176 COMMIT
-master-bin.000001 1176 Query 1 1240 BEGIN
-master-bin.000001 1240 Table_map 1 1283 table_id: # (test.t1)
-master-bin.000001 1283 Table_map 1 1345 table_id: # (mysql.ndb_apply_status)
-master-bin.000001 1345 Write_rows 1 1404 table_id: #
-master-bin.000001 1404 Delete_rows 1 1443 table_id: # flags: STMT_END_F
-master-bin.000001 1443 Query 1 1508 COMMIT
-master-bin.000001 1508 Query 1 1584 use `test`; DROP TABLE t1
diff --git a/mysql-test/suite/rpl_ndb/t/disabled.def b/mysql-test/suite/rpl_ndb/t/disabled.def
deleted file mode 100644
index 3dca5048213..00000000000
--- a/mysql-test/suite/rpl_ndb/t/disabled.def
+++ /dev/null
@@ -1,16 +0,0 @@
-##############################################################################
-#
-# List the test cases that are to be disabled temporarily.
-#
-# Separate the test case name and the comment with ':'.
-#
-# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
-#
-# Do not use any TAB characters for whitespace.
-#
-##############################################################################
-
-rpl_ndb_row_implicit_commit_binlog : Bug#55849 2010-08-09 alik rpl_ndb.rpl_ndb_row_implicit_commit_binlog fails
-
-# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
-rpl_ndb_2ndb : Bug#45974: rpl_ndb_2ndb fails sporadically
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt
deleted file mode 100644
index 9a3f30e4bd0..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---new --default-storage-engine=ndbcluster
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt
deleted file mode 100644
index 4dda0e45a63..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb --default-storage-engine=innodb --ndbcluster=0
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test
deleted file mode 100644
index ce16170fde3..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test
+++ /dev/null
@@ -1,39 +0,0 @@
-#############################################################
-# Author: JBM
-# Date: 2006-02-24
-# Purpose: Trying to test ability to replicate from cluster
-# to innodb, or myisam, or replicate from innodb/myisam to
-# cluster slave. Due to limitations I have created wrappers
-# to be able to use the same code for all these different
-# test and to have control over the tests.
-##############################################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/master-slave.inc
-
--- connection slave
--- source include/have_innodb.inc
-
-# Remove any old ndb_apply_status from slaves datadir
-let $datadir= `SELECT @@datadir`;
---error 0,1
-remove_file $datadir/mysql/ndb_apply_status.frm;
---error 0,1
-remove_file $datadir/mysql/ndb_apply_status.ndb;
-
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-CREATE TABLE mysql.ndb_apply_status
- ( server_id INT UNSIGNED NOT NULL,
- epoch BIGINT UNSIGNED NOT NULL,
- log_name VARCHAR(255) BINARY NOT NULL,
- start_pos BIGINT UNSIGNED NOT NULL,
- end_pos BIGINT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (server_id)) ENGINE=INNODB;
-
---source extra/rpl_tests/rpl_ndb_2multi_eng.test
-
-set @@global.slave_exec_mode= DEFAULT;
---connection slave
-drop table mysql.ndb_apply_status;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt
deleted file mode 100644
index b63ef44e8fc..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---new --default-storage-engine=ndbcluster
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt
deleted file mode 100644
index 9b5f524e131..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---default-storage-engine=myisam --ndbcluster=0
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test
deleted file mode 100644
index 8bd9be0c346..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test
+++ /dev/null
@@ -1,38 +0,0 @@
-#############################################################
-# Author: JBM
-# Date: 2006-02-24
-# Purpose: Trying to test ability to replicate from cluster
-# to innodb, or myisam, or replicate from innodb/myisam to
-# cluster slave. Due to limitations I have created wrappers
-# to be able to use the same code for all these different
-# test and to have control over the tests.
-##############################################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/master-slave.inc
-
--- connection slave
-
-# Remove any old ndb_apply_status from slaves datadir
-let $datadir= `SELECT @@datadir`;
---error 0,1
-remove_file $datadir/mysql/ndb_apply_status.frm;
---error 0,1
-remove_file $datadir/mysql/ndb_apply_status.ndb;
-
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-CREATE TABLE mysql.ndb_apply_status
- ( server_id INT UNSIGNED NOT NULL,
- epoch BIGINT UNSIGNED NOT NULL,
- log_name VARCHAR(255) BINARY NOT NULL,
- start_pos BIGINT UNSIGNED NOT NULL,
- end_pos BIGINT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (server_id)) ENGINE=MYISAM;
-
---source extra/rpl_tests/rpl_ndb_2multi_eng.test
-
-set @@global.slave_exec_mode= DEFAULT;
---connection slave
-drop table mysql.ndb_apply_status;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb-slave.opt
deleted file mode 100644
index 5304fd49b6b..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---default-storage-engine=ndbcluster --log-slave-updates=0
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test
deleted file mode 100644
index e954c72fd1d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#############################################################
-# Author: Rafal Somla
-# Date: 2006-08-20
-# Purpose: Trying to test ability to replicate from cluster
-# to other engines (innodb, myisam), see also rpl_ndb_2other.test
-##############################################################
---source include/have_binlog_format_mixed_or_row.inc
---source include/have_ndb.inc
---source include/ndb_master-slave.inc
-
-# On master use NDB as storage engine.
-connection master;
-SET storage_engine=ndb;
-
---echo
---echo === NDB -> NDB ===
---echo
-connection slave;
---source extra/rpl_tests/rpl_ndb_2multi_basic.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other-slave.opt
deleted file mode 100644
index cf2fe6b9c62..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb --loose-ndbcluster=OFF --log-slave-updates=0 --default-storage-engine=MyISAM
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test
deleted file mode 100644
index 41f91d62dec..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test
+++ /dev/null
@@ -1,50 +0,0 @@
-#############################################################
-# Author: Rafal Somla
-# Date: 2006-08-20
-# Purpose: Trying to test ability to replicate from cluster
-# to other engines (innodb, myisam).
-##############################################################
---source include/have_ndb.inc
---source include/have_innodb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/master-slave.inc
-
-# On master use NDB as storage engine.
-connection master;
-SET storage_engine=ndb;
-
---echo
---echo === NDB -> MYISAM ===
---echo
-connection slave;
-
-# Remove any old ndb_apply_status from slaves datadir
-let $datadir= `SELECT @@datadir`;
---error 0,1
-remove_file $datadir/mysql/ndb_apply_status.frm;
---error 0,1
-remove_file $datadir/mysql/ndb_apply_status.ndb;
-
-set @old_slave_exec_mode= @@global.slave_exec_mode;
-set @@global.slave_exec_mode= 'IDEMPOTENT';
-CREATE TABLE mysql.ndb_apply_status
- ( server_id INT UNSIGNED NOT NULL,
- epoch BIGINT UNSIGNED NOT NULL,
- log_name VARCHAR(255) BINARY NOT NULL,
- start_pos BIGINT UNSIGNED NOT NULL,
- end_pos BIGINT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (server_id)) ENGINE=MYISAM;
-SET storage_engine=myisam;
---source extra/rpl_tests/rpl_ndb_2multi_basic.test
-
---echo
---echo === NDB -> INNODB ===
---echo
-connection slave;
-alter table mysql.ndb_apply_status engine=innodb;
-SET storage_engine=innodb;
---source extra/rpl_tests/rpl_ndb_2multi_basic.test
-
-connection slave;
-drop table mysql.ndb_apply_status;
-set @@global.slave_exec_mode= @old_slave_exec_mode;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test
deleted file mode 100644
index ea623a06fd1..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test
+++ /dev/null
@@ -1,8 +0,0 @@
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-########################################################
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-let $engine_type=NDB;
---source extra/rpl_tests/rpl_row_UUID.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status-master.opt
deleted file mode 100644
index 3f4aff8a321..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate_ignore_db=mysql
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test
deleted file mode 100644
index cc74acc6490..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_apply_status.test
+++ /dev/null
@@ -1,26 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_row.inc
--- source include/ndb_master-slave.inc
-
-#
-# Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
-#
-# Slave is started with --replicate-ignore-db=mysql
-#
-sync_slave_with_master;
-echo *** on slave there should be zero rows ***;
-select count(*) from mysql.ndb_apply_status;
-
-connection master;
-create table t1 (a int key, b int) engine ndb;
-insert into t1 values (1,1);
-echo *** on master it should be empty ***;
-select * from mysql.ndb_apply_status;
-
-sync_slave_with_master;
-echo *** on slave there should be one row ***;
-select count(*) from mysql.ndb_apply_status;
-
-connection master;
-drop table t1;
-sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test
deleted file mode 100644
index 5e0584e332a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-# Test of auto_increment in CRBR
-#
-#####################################
-# By: JBM
-# Date: 2006-02-10
-# Change: Augmented test to use with cluster
-#####################################
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
---echo ***************** Test 1 ************************
---echo
-CREATE TABLE t1 (a INT NOT NULL auto_increment,b INT, PRIMARY KEY (a)) ENGINE=NDB auto_increment=3;
-insert into t1 values (NULL,1),(NULL,2),(NULL,3);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-
-
-sync_slave_with_master;
---echo ******* Select from Slave *************
---echo
-select * from t1 ORDER BY a;
-connection master;
-drop table t1;
-
-create table t1 (a int not null auto_increment,b int, primary key (a)) engine=NDB;
-insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
-delete from t1 where b=4;
-insert into t1 values (NULL,5),(NULL,6);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-
-sync_slave_with_master;
---echo ******* Select from Slave *************
---echo
-select * from t1 ORDER BY a;
-connection master;
-
-drop table t1;
-
-create table t1 (a int not null auto_increment, primary key (a)) engine=NDB;
-# Insert with 2 insert statements to get better testing of logging
-insert into t1 values (NULL),(5),(NULL);
-insert into t1 values (250),(NULL);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-insert into t1 values (1000);
-set @@insert_id=400;
-insert into t1 values(NULL),(NULL);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-
-sync_slave_with_master;
---echo ******* Select from Slave *************
---echo
-select * from t1 ORDER BY a;
-connection master;
-drop table t1;
-
-create table t1 (a int not null auto_increment, primary key (a)) engine=NDB;
-# Insert with 2 insert statements to get better testing of logging
-insert into t1 values (NULL),(5),(NULL),(NULL);
-insert into t1 values (500),(NULL),(502),(NULL),(600);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-set @@insert_id=600;
-# We expect a duplicate key error that we will ignore below
---error 1022
-insert into t1 values(600),(NULL),(NULL);
-set @@insert_id=600;
-insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-
-sync_slave_with_master;
---echo ******* Select from Slave *************
---echo
-select * from t1 ORDER BY a;
-connection master;
-drop table t1;
-
-#
-# Test that auto-increment works when slave has rows in the table
-#
-
-create table t1 (a int not null auto_increment, primary key (a)) engine=NDB;
-
-sync_slave_with_master;
-insert into t1 values(2),(12),(22),(32),(42);
-connection master;
-
-insert into t1 values (NULL),(NULL);
-insert into t1 values (3),(NULL),(NULL);
---echo ******* Select from Master *************
---echo
-select * from t1 ORDER BY a;
-
-sync_slave_with_master;
---echo ******* Select from Slave *************
---echo
---echo ** Slave should have 2, 12, 22, 32, 42 **
---echo ** Master will have 2 but not 12, 22, 32, 42 **
---echo
-select * from t1 ORDER BY a;
-connection master;
-
-drop table t1;
-
-# End cleanup
-sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test
deleted file mode 100644
index b90e6fff8bc..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test
+++ /dev/null
@@ -1,181 +0,0 @@
-#
-# Currently this test only runs in the source tree with the
-# ndb/test programs compiled.
-# invoke with: ./mysql-test-run --ndb-extra-test --do-test=rpl_ndb_bank
-#
-# 1. start a "bank" application running on the master cluster
-# 2. perform online sync of slave
-# 3. periodically check consistency of slave
-# 4. stop the bank application
-# 5. check that the slave and master BANK databases are the same
-#
-
---source include/have_ndb.inc
---source include/have_ndb_extra.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-# kill any trailing processes
---system killall lt-bankTransactionMaker lt-bankTimer lt-bankMakeGL || true
-
---disable_warnings
-# initialize master
---connection master
-CREATE DATABASE IF NOT EXISTS BANK;
-DROP DATABASE BANK;
-CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin;
---enable_warnings
-
-#
-# These tables should correspond to the table definitions in
-# storage/ndb/test/src/NDBT_Tables.cpp
-#
---connection master
-USE BANK;
-CREATE TABLE GL ( TIME BIGINT UNSIGNED NOT NULL,
- ACCOUNT_TYPE INT UNSIGNED NOT NULL,
- BALANCE INT UNSIGNED NOT NULL,
- DEPOSIT_COUNT INT UNSIGNED NOT NULL,
- DEPOSIT_SUM INT UNSIGNED NOT NULL,
- WITHDRAWAL_COUNT INT UNSIGNED NOT NULL,
- WITHDRAWAL_SUM INT UNSIGNED NOT NULL,
- PURGED INT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (TIME,ACCOUNT_TYPE))
- ENGINE = NDB;
-
-CREATE TABLE ACCOUNT ( ACCOUNT_ID INT UNSIGNED NOT NULL,
- OWNER INT UNSIGNED NOT NULL,
- BALANCE INT UNSIGNED NOT NULL,
- ACCOUNT_TYPE INT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (ACCOUNT_ID))
- ENGINE = NDB;
-
-CREATE TABLE TRANSACTION ( TRANSACTION_ID BIGINT UNSIGNED NOT NULL,
- ACCOUNT INT UNSIGNED NOT NULL,
- ACCOUNT_TYPE INT UNSIGNED NOT NULL,
- OTHER_ACCOUNT INT UNSIGNED NOT NULL,
- TRANSACTION_TYPE INT UNSIGNED NOT NULL,
- TIME BIGINT UNSIGNED NOT NULL,
- AMOUNT INT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (TRANSACTION_ID,ACCOUNT))
- ENGINE = NDB;
-
-CREATE TABLE SYSTEM_VALUES ( SYSTEM_VALUES_ID INT UNSIGNED NOT NULL,
- VALUE BIGINT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (SYSTEM_VALUES_ID))
- ENGINE = NDB;
-
-CREATE TABLE ACCOUNT_TYPE ( ACCOUNT_TYPE_ID INT UNSIGNED NOT NULL,
- DESCRIPTION CHAR(64) NOT NULL,
- PRIMARY KEY USING HASH (ACCOUNT_TYPE_ID))
- ENGINE = NDB;
-
-#
-# create "BANK" application
-#
---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankCreator >> $NDB_TOOLS_OUTPUT
-
-#
-# start main loop
-# repeat backup-restore-check
-#
-
-# set this high if testing to run many syncs in loop
---let $2=1
-while ($2)
-{
-
-#
-# start "BANK" application
-#
---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankTimer -w 5 >> $NDB_TOOLS_OUTPUT &
---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankMakeGL >> $NDB_TOOLS_OUTPUT &
---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/bank/bankTransactionMaker >> $NDB_TOOLS_OUTPUT &
-
-#
-# let the "BANK" run for a while
-#
---sleep 5
-
---disable_warnings
-# initialize slave for sync
---connection slave
-STOP SLAVE;
-RESET SLAVE;
-# to make sure we drop any ndbcluster tables
-CREATE DATABASE IF NOT EXISTS BANK;
-DROP DATABASE BANK;
-# create database
-CREATE DATABASE BANK;
---enable_warnings
-
-#
-# Time to sync the slave:
-# start by taking a backup on master
---connection master
-RESET MASTER;
---exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "start backup" >> $NDB_TOOLS_OUTPUT
-
-# there is no neat way to find the backupid, this is a hack to find it...
---exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="$NDB_CONNECTSTRING" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > $MYSQLTEST_VARDIR/tmp.dat
-CREATE TABLE IF NOT EXISTS mysql.backup_info (id INT, backup_id INT) ENGINE = HEAP;
-DELETE FROM mysql.backup_info;
-LOAD DATA INFILE '../tmp.dat' INTO TABLE mysql.backup_info FIELDS TERMINATED BY ',';
---exec rm $MYSQLTEST_VARDIR/tmp.dat || true
---replace_column 1 <the_backup_id>
-SELECT @the_backup_id:=backup_id FROM mysql.backup_info;
-let the_backup_id=`select @the_backup_id`;
-
-# restore on slave, first check that nothing is there
---connection slave
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -p 8 -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-#
-# now setup replication to continue from last epoch
---source include/ndb_setup_slave.inc
---connection slave
-START SLAVE;
-
-
-#
-# Now loop and check consistency every 2 seconds on slave
-#
---connection slave
---let $1=10
-while ($1)
-{
- --sleep 2
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 34 <Last_IO_Errno> 35 <Last_IO_Error>
- SHOW SLAVE STATUS;
- STOP SLAVE;
- --exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING_SLAVE ../storage/ndb/test/ndbapi/bank/bankValidateAllGLs >> $NDB_TOOLS_OUTPUT
- START SLAVE;
- --dec $1
-}
-
-#
-# Stop transactions
-#
---exec killall lt-bankTransactionMaker lt-bankTimer lt-bankMakeGL
-
-#
-# Check that the databases are the same on slave and master
-# 1. dump database BANK on both master and slave
-# 2. compare, there should be no difference
-#
---exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info BANK ACCOUNT_TYPE ACCOUNT GL TRANSACTION > $MYSQLTEST_VARDIR/tmp/master_BANK.sql
---connection master
-use test;
-create table t1 (a int primary key) engine=ndb;
-insert into t1 values (1);
---sync_slave_with_master
---exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info BANK ACCOUNT_TYPE ACCOUNT GL TRANSACTION > $MYSQLTEST_VARDIR/tmp/slave_BANK.sql
---connection master
-drop table t1;
-
-diff_files $MYSQLTEST_VARDIR/tmp/master_BANK.sql $MYSQLTEST_VARDIR/tmp/slave_BANK.sql;
-
- --dec $2
-}
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test
deleted file mode 100644
index 69f630c856a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test
+++ /dev/null
@@ -1,264 +0,0 @@
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-
-
-#
-# Bug #11087
-#
-# connect to the master and create tabe t1 in gotoslave database
---connection master
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
- `nom` char(4) default NULL,
- `prenom` char(4) default NULL,
- PRIMARY KEY (`nid`))
- ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
-select * from t1 order by nid;
-
---sync_slave_with_master
-# connect to slave and ensure data it there.
---connection slave
-select * from t1 order by nid;
-
---connection master
-delete from t1;
-INSERT INTO t1 VALUES(1,"XYZ2","ABC2");
-# Make sure all rows are on the master
-select * from t1 order by nid;
-
-# make sure all rows are on the slave.
---sync_slave_with_master
---connection slave
-# Bug #11087 would have row with nid 2 missing
-select * from t1 order by nid;
-
---connection master
-delete from t1;
-insert into t1 values(1,"AA", "AA");
-insert into t1 values(2,"BB", "BB");
-insert into t1 values(3,"CC", "CC");
-insert into t1 values(4,"DD", "DD");
-
-begin;
-# delete+insert = update
-delete from t1 where nid = 1;
-insert into t1 values (1,"A2", "A2");
-
-# update+delete = delete
-update t1 set nom="B2" where nid = 2;
-delete from t1 where nid = 2;
-
-# multi-update
-update t1 set nom = "D2" where nid = 4;
-delete from t1 where nid = 4;
-insert into t1 values (4, "D3", "D3");
-update t1 set nom = "D4" where nid = 4;
-
-# insert+delete = nothing
-insert into t1 values (5, "EE", "EE");
-delete from t1 where nid = 5;
-
-commit;
-select * from t1 order by 1;
---sync_slave_with_master
---connection slave
-select * from t1 order by 1;
---connection master
-DROP table t1;
-
-#
-# Test replication of table with no primary key
-#
---connection master
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
- `nom` char(4) default NULL,
- `prenom` char(4) default NULL)
- ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1"),(2,"AAA","BBB"),(3,"CCC","DDD");
-select * from t1 order by nid;
-
---sync_slave_with_master
-# connect to slave and ensure data it there.
---connection slave
-select * from t1 order by nid;
-
---connection master
-delete from t1 where nid = 2;
-INSERT INTO t1 VALUES(4,"EEE","FFF");
-# Make sure all rows are on the master
-select * from t1 order by nid;
-
-# make sure all rows are on the slave.
---sync_slave_with_master
---connection slave
-select * from t1 order by nid;
-
---connection master
-UPDATE t1 set nid=nid+1;
-UPDATE t1 set nom="CCP" where nid = 4;
-select * from t1 order by nid;
-
-# make sure all rows are on the slave.
---sync_slave_with_master
---connection slave
-select * from t1 order by nid;
-
---connection master
-DROP table t1;
-
-#
-# Bug #27378 update becomes delete on slave
-#
-
---connection master
-CREATE TABLE `t1` (
- `prid` int(10) unsigned NOT NULL,
- `id_type` enum('IMSI','SIP') NOT NULL,
- `fkimssub` varchar(50) NOT NULL,
- `user_id` varchar(20) DEFAULT NULL,
- `password` varchar(20) DEFAULT NULL,
- `ptg_nbr` varchar(20) DEFAULT NULL,
- `old_tmsi` int(10) unsigned DEFAULT NULL,
- `new_tmsi` int(10) unsigned DEFAULT NULL,
- `dev_capability` int(10) unsigned DEFAULT NULL,
- `dev_oid` bigint(20) unsigned DEFAULT NULL,
- `lac_cell_id` bigint(20) unsigned DEFAULT NULL,
- `ms_classmark1` int(10) unsigned DEFAULT NULL,
- `cipher_key` int(10) unsigned DEFAULT NULL,
- `priid_master` int(10) unsigned DEFAULT NULL,
- PRIMARY KEY (`prid`),
- UNIQUE KEY `fkimssub` (`fkimssub`,`ptg_nbr`) USING HASH
-) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-
-INSERT INTO `t1` VALUES (183342,'IMSI','config3_sub_2Privates_3Publics_imssub_36668','user_id_73336','user_id_73336','73336',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(47617,'IMSI','config3_sub_2Privates_3Publics_imssub_9523','user_id_19046','user_id_19046','19046',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(200332,'IMSI','config3_sub_2Privates_3Publics_imssub_40066','user_id_80132','user_id_80132','80132',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(478882,'IMSI','config3_sub_2Privates_3Publics_imssub_95776','user_id_191552','user_id_191552','191552',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(490146,'IMSI','config3_sub_2Privates_3Publics_imssub_98029','user_id_196057','user_id_196057','196057',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(499301,'IMSI','config3_sub_2Privates_3Publics_imssub_99860','user_id_199719','user_id_199719','199719',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(506101,'IMSI','config3_sub_2Privates_3Publics_imssub_101220','user_id_202439','user_id_202439','202439',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(510142,'IMSI','config3_sub_2Privates_3Publics_imssub_102028','user_id_204056','user_id_204056','204056',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(515871,'IMSI','config3_sub_2Privates_3Publics_imssub_103174','user_id_206347','user_id_206347','206347',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(209842,'IMSI','config3_sub_2Privates_3Publics_imssub_41968','user_id_83936','user_id_83936','83936',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL),(365902,'IMSI','config3_sub_2Privates_3Publics_imssub_73180','user_id_146360','user_id_146360','146360',NULL,NULL,NULL,1010,NULL,NULL,NULL,NULL),(11892,'IMSI','config3_sub_2Privates_3Publics_imssub_2378','user_id_4756','user_id_4756','4756',NULL,NULL,NULL,123456789,NULL,NULL,NULL,NULL);
-
-select count(*) from t1;
-
---sync_slave_with_master
---connection slave
-select count(*) from t1;
-
---connection master
-update t1 set dev_oid=dev_oid+1;
-select count(*) from t1;
-
---sync_slave_with_master
---connection slave
-select count(*) from t1;
-
---connection master
-DROP table t1;
-
-##################################################################
-#
-# Check that retries are made on the slave on some temporary errors
-#
-
-#
-# 1. Deadlock
-#
---connection master
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
- `nom` char(4) default NULL,
- `prenom` char(4) default NULL,
- PRIMARY KEY USING HASH (`nid`))
- ENGINE=ndbcluster DEFAULT CHARSET=latin1;
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
-
-# cause a lock on that row on the slave
---sync_slave_with_master
---connection slave
---echo **** On Slave ****
-BEGIN;
-UPDATE t1 SET `nom`="LOCK" WHERE `nid`=1;
-
-# set number of retries low so we fail the retries
-set GLOBAL slave_transaction_retries=1;
-
-# now do a change to this row on the master
-# will deadlock on the slave because of lock above
---connection master
---echo **** On Master ****
-UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
-
---echo **** On Slave ****
-# Wait for deadlock to be detected.
-# When detected, the slave will stop, so we just wait for it to stop.
-connection slave;
-source include/wait_for_slave_sql_to_stop.inc;
-
-# Replication should have stopped, since max retries were not enough.
-# verify with show slave status
-# 1205 = ER_LOCK_WAIT_TIMEOUT
---let $slave_sql_errno= 1205
---source include/wait_for_slave_sql_error.inc
-
-# now set max retries high enough to succeed, and start slave again
-set GLOBAL slave_transaction_retries=10;
-source include/start_slave.inc;
-# Wait for deadlock to be detected and retried.
-# We want to wait until at least one retry has been made, but before
-# the slave stops. currently, there is no safe way to do that: we
-# would need to access the retry counter, but that is not exposed.
-# Failing that, we just wait sufficiently long that one but not all
-# retries have been made. See BUG#35183.
-sleep 5;
-
-# commit transaction to release lock on row and let replication succeed
-select * from t1 order by nid;
-COMMIT;
-
-# verify that the row succeded to be applied on the slave
---connection master
---sync_slave_with_master
---connection slave
-select * from t1 order by nid;
-
-# cleanup
---connection master
-DROP TABLE t1;
-
-
-#
-# BUG#18094
-# Slave caches invalid table definition after atlters causes select failure
-#
---connection master
-CREATE TABLE t1 (c1 INT KEY) ENGINE=NDB;
-
-INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
-
-ALTER TABLE t1 ADD c2 INT;
-
---sync_slave_with_master
-connection slave;
-SELECT * FROM t1 ORDER BY c1;
-
-connection master;
-ALTER TABLE t1 CHANGE c2 c2 TEXT CHARACTER SET utf8;
-ALTER TABLE t1 CHANGE c2 c2 BLOB;
-
---sync_slave_with_master
-connection slave;
-# here we would get error 1412 prior to bug
-SELECT * FROM t1 ORDER BY c1 LIMIT 5;
-
---connection master
-TRUNCATE t1;
-SELECT count(*) FROM t1;
-INSERT INTO t1 VALUES (101,NULL),(102,NULL),(103,NULL),(104,NULL),(105,NULL),(106,NULL),(107,NULL),(108,NULL),(109,NULL),(1010,NULL);
---sync_slave_with_master
-connection slave;
-SELECT count(*) FROM t1;
-SELECT c1 FROM t1 ORDER BY c1 LIMIT 5;
-
-# cleanup
---connection master
-DROP TABLE t1;
--- source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-master.opt
deleted file mode 100644
index efea2bf1db5..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb $EXAMPLE_PLUGIN_OPT --binlog-ignore-db=other
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-slave.opt
deleted file mode 100644
index ffa981152ea..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---innodb $EXAMPLE_PLUGIN_OPT
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test
deleted file mode 100644
index 1aae0d2d57f..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test
+++ /dev/null
@@ -1,262 +0,0 @@
-# ==== Purpose ====
-#
-# Verify that errors or warnings are issued for all error conditions
-# related to deciding the binlog format of a statement. The possible
-# errors are listed in a comment above decide_logging_format() in
-# sql_base.cc.
-#
-# ==== Method ====
-#
-# Each error condition is executed; we verify that there is an error.
-#
-# ==== Related bugs ====
-#
-# BUG#39934: Slave stops for engine that only support row-based logging
-# BUG#42829: binlogging enabled for all schemas regardless of binlog-db-db / binlog-ignore-db
-#
-# ==== Related test cases ====
-#
-# binlog.binlog_unsafe verifies more thoroughly that a warning is
-# given for the case when an unsafe statement is executed and
-# binlog_format = STATEMENT.
-
-# Need debug so that 'SET @@session.debug' works.
---source include/have_debug.inc
-# Need example plugin because it is the only statement-only engine.
---source include/have_example_plugin.inc
-# The test changes binlog_format, so there is no reason to run it
-# under more than one binlog format.
---source include/have_binlog_format_row.inc
---source include/have_ndb.inc
---source include/have_innodb.inc
---source include/ndb_master-slave.inc
-
-disable_query_log;
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-call mtr.add_suppression("Slave: Cannot execute statement: impossible to write to binary log");
-enable_query_log;
-
---echo ==== Initialize ====
-
---echo [on slave]
---connection slave
-
-SET @old_binlog_format= @@global.binlog_format;
-INSTALL PLUGIN example SONAME 'ha_example.so';
-
---echo [on master]
---connection master
-
-SET @old_binlog_format= @@global.binlog_format;
-INSTALL PLUGIN example SONAME 'ha_example.so';
-
-CREATE TABLE t (a VARCHAR(100)) ENGINE = MYISAM;
-CREATE TABLE t_self_logging (a VARCHAR(100)) ENGINE = NDB;
-CREATE TABLE t_row (a VARCHAR(100)) ENGINE = INNODB;
-CREATE TABLE t_stmt (a VARCHAR(100)) ENGINE = EXAMPLE;
-CREATE TABLE t_slave_stmt (a VARCHAR(100)) ENGINE = MYISAM;
-CREATE TABLE t_autoinc (a INT KEY AUTO_INCREMENT) ENGINE = MYISAM;
-CREATE TABLE t_double_autoinc (a INT KEY AUTO_INCREMENT) ENGINE = MYISAM;
-
---eval CREATE TRIGGER trig_autoinc BEFORE INSERT ON t_autoinc FOR EACH ROW BEGIN INSERT INTO t_stmt VALUES ('x'); END
---eval CREATE TRIGGER trig_double_autoinc BEFORE INSERT ON t_double_autoinc FOR EACH ROW BEGIN INSERT INTO t_autoinc VALUES (NULL); END
-
-CREATE DATABASE other;
-
-# This makes the innodb table row-only
-SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
-
---echo [on slave]
---sync_slave_with_master
-
-DROP TABLE t_slave_stmt;
-CREATE TABLE t_slave_stmt (a INT) ENGINE = EXAMPLE;
-
---echo [on master]
---connection master
-
-# This is a format description event. It is needed because any BINLOG
-# statement containing a row event must be preceded by a BINLOG
-# statement containing a format description event.
-BINLOG '
-1gRVSg8BAAAAZgAAAGoAAAABAAQANS4xLjM2LWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAADWBFVKEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC
-';
-
-
---echo ==== Test ====
-
---echo ---- binlog_format=row ----
-
---echo * Modify tables of more than one engine, one of which is self-logging
---eval CREATE TRIGGER trig_1 AFTER INSERT ON t_self_logging FOR EACH ROW BEGIN INSERT INTO t VALUES (1); END
---error ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE
-INSERT INTO t_self_logging VALUES (1);
-DROP trigger trig_1;
-SELECT * FROM t_self_logging /* Should be empty */;
-SELECT * FROM t /* Should be empty */;
-
---echo * Modify both row-only and stmt-only table
---eval CREATE TRIGGER trig_2 AFTER INSERT ON t_stmt FOR EACH ROW BEGIN INSERT INTO t_row VALUES(1); END
---error ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE
-INSERT INTO t_stmt VALUES (1);
-SELECT * FROM t_stmt /* should be empty */;
-DROP TRIGGER trig_2;
-
---echo * Stmt-only table and binlog_format=row
---error ER_BINLOG_ROW_MODE_AND_STMT_ENGINE
-INSERT INTO t_stmt VALUES (1);
-SELECT * FROM t_stmt /* should be empty */;
-
---echo * Row injection and stmt-only table: in slave sql thread
-INSERT INTO t_slave_stmt VALUES (1);
---echo [on slave]
---connection slave
-# 1664 = ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE
---let $slave_sql_errno= 1664
---let $show_slave_sql_error= 1
---source include/wait_for_slave_sql_error_and_skip.inc
---connection slave
-SELECT * FROM t_slave_stmt /* should be empty */;
-
---echo [on master]
---connection master
---echo * Row injection and stmt-only table: use BINLOG statement
-# This is a Table_map_event and a Write_rows_event. Together, they are
-# equivalent to 'INSERT INTO t_stmt VALUES (1)'
---error ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE
-BINLOG '
-1gRVShMBAAAALwAAAEABAAAAABcAAAAAAAAABHRlc3QABnRfc3RtdAABDwJkAAE=
-1gRVShcBAAAAIAAAAGABAAAQABcAAAAAAAEAAf/+ATE=
-';
-SELECT * FROM t_stmt /* should be empty */;
-
-
---echo ---- binlog_format=mixed ----
-
---echo [on slave]
---sync_slave_with_master
---source include/stop_slave.inc
-SET @@global.binlog_format = MIXED;
---source include/start_slave.inc
---echo [on master]
---connection master
-SET @@global.binlog_format = MIXED;
-SET @@session.binlog_format = MIXED;
-
---echo * Unsafe statement and stmt-only engine
---error ER_BINLOG_UNSAFE_AND_STMT_ENGINE
-INSERT INTO t_stmt VALUES (UUID());
-
-# Concatenate two unsafe values, and then concatenate NULL to
-# that so that the result is NULL and we instead use autoinc.
---echo * Multi-unsafe statement and stmt-only engine
---error ER_BINLOG_UNSAFE_AND_STMT_ENGINE
-INSERT DELAYED INTO t_double_autoinc SELECT CONCAT(UUID(), @@hostname, NULL) FROM mysql.general_log LIMIT 1;
-
-
---echo ---- binlog_format=statement ----
-
---echo [on slave]
---sync_slave_with_master
---source include/stop_slave.inc
-SET @@global.binlog_format = STATEMENT;
---source include/start_slave.inc
---echo [on master]
---connection master
-SET @@global.binlog_format = STATEMENT;
-SET @@session.binlog_format = STATEMENT;
-
---echo * Row-only engine and binlog_format=statement: innodb-specific message
---error ER_BINLOG_STMT_MODE_AND_ROW_ENGINE
-INSERT INTO t_row VALUES (1);
-SELECT * FROM t_row /* should be empty */;
-
-# Commented out since innodb gives an error (this is a bug)
-#--echo * Same statement, but db filtered out - no error
-#USE other;
-#INSERT INTO test.t_row VALUES (1);
-#USE test;
-
---echo * Row-only engine and binlog_format=statement: generic message
-SET @@session.debug= '+d,no_innodb_binlog_errors';
---error ER_BINLOG_STMT_MODE_AND_ROW_ENGINE
-INSERT INTO t_row VALUES (1);
-SELECT * FROM t_row /* should be empty */;
-
---echo * Same statement, but db filtered out - no error
-USE other;
-INSERT INTO test.t_row VALUES (1);
-USE test;
-SET @@session.debug= '';
-SELECT * FROM t_row /* should contain the value 1 */;
-
---echo * Row injection and binlog_format=statement: BINLOG statement
-# This is a Table_map_event and a Write_rows_event. Together, they are
-# equivalent to 'INSERT INTO t VALUES (1)'.
---error ER_BINLOG_ROW_INJECTION_AND_STMT_MODE
-BINLOG '
-cNpVShMBAAAAKgAAADYBAAAAABcAAAAAAAAABHRlc3QAAXQAAQ8CZAAB
-cNpVShcBAAAAIAAAAFYBAAAQABcAAAAAAAEAAf/+ATE=
-';
-SELECT * FROM t /* should be empty */;
-
---echo * Same statement, but db filtered out - no error
-# This is a Table_map_event and a Write_rows_event. Together, they are
-# equivalent to 'INSERT INTO t VALUES (1)'.
-USE other;
-BINLOG '
-cNpVShMBAAAAKgAAADYBAAAAABcAAAAAAAAABHRlc3QAAXQAAQ8CZAAB
-cNpVShcBAAAAIAAAAFYBAAAQABcAAAAAAAEAAf/+ATE=
-';
-USE test;
-SELECT * FROM t /* should contain the value 1 */;
-DELETE FROM t;
-
---echo * Unsafe statement and binlog_format=statement
-# This will give a warning.
-INSERT INTO t VALUES (COALESCE(1, UUID()));
-SELECT * FROM t /* should contain the value 1 */;
-DELETE FROM t;
-
---echo * Same statement, but db filtered out - no message
-USE other;
-INSERT INTO test.t VALUES (COALESCE(1, UUID()));
-USE test;
-SELECT * FROM t /* should contain the value 1 */;
-DELETE FROM t;
-
-
---echo ---- master: binlog_format=mixed, slave: binlog_format=statement ----
-
-SET @@global.binlog_format = MIXED;
-SET @@session.binlog_format = MIXED;
-
---echo * Row injection and binlog_format=statement: in slave sql thread
-INSERT INTO t VALUES (COALESCE(1, UUID()));
---echo [on slave]
---connection slave
-# 1666 = ER_BINLOG_ROW_INJECTION_AND_STMT_MODE
---let $slave_sql_errno= 1666
---let $show_sql_error= 1
---source include/wait_for_slave_sql_error_and_skip.inc
---connection slave
-SELECT * FROM t /* should be empty */;
---echo [on master]
---connection master
-
-
---echo ==== Clean up ====
-
-DROP TRIGGER trig_autoinc;
-DROP TRIGGER trig_double_autoinc;
-DROP TABLE t, t_self_logging, t_row, t_stmt, t_slave_stmt, t_autoinc, t_double_autoinc;
-DROP DATABASE other;
-SET @@global.binlog_format = @old_binlog_format;
-SET @@session.binlog_format = @old_binlog_format;
-UNINSTALL PLUGIN example;
---echo [on slave]
---sync_slave_with_master
-SET @@global.binlog_format = @old_binlog_format;
-SET @@session.binlog_format = @old_binlog_format;
-UNINSTALL PLUGIN example;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test
deleted file mode 100644
index a79c62e2a10..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test
+++ /dev/null
@@ -1,144 +0,0 @@
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-#
-# basic test of blob replication for NDB
-#
-
-# easy test
-
---connection master
-create table t1 (
- a int not null primary key,
- b text not null
-) engine=ndb;
-
-insert into t1 values(1, repeat('abc',10));
-insert into t1 values(2, repeat('def',200));
-insert into t1 values(3, repeat('ghi',3000));
-
-select 'M', a, sha1(b) from t1
-order by a;
-
---sync_slave_with_master
---sleep 5
---connection slave
-select 'S', a, sha1(b) from t1
-order by a;
-
---connection master
-drop table t1;
---sync_slave_with_master
-
-# hard test
-
---connection master
-create table t1 (
- a int not null primary key,
- b text not null,
- c int,
- d longblob,
- e tinyblob
-) engine=ndbcluster;
-
---disable_query_log
-# length 61
-set @s0 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau';
-set @s1 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz';
-set @s2 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah';
---enable_query_log
-
-insert into t1 values (
- 0, repeat(@s2,454), 100, repeat(@s2,345), NULL);
-insert into t1 values (
- 1, repeat(@s0,504), NULL, repeat(@s1,732), repeat(@s1,1));
-insert into t1 values (
- 2, '', 102, '', repeat(@s2,1));
-insert into t1 values (
- 3, repeat(@s0,545), 103, repeat(@s2,788), repeat(@s0,1));
-insert into t1 values (
- 4, repeat(@s1,38), 104, repeat(@s0,260), repeat(@s0,1));
-insert into t1 values (
- 5, repeat(@s2,12), 105, repeat(@s2,40), repeat(@s1,1));
-insert into t1 values (
- 6, repeat(@s1,242), 106, NULL, repeat(@s1,1));
-insert into t1 values (
- 7, repeat(@s1,30), 107, repeat(@s0,161), '');
-insert into t1 values (
- 8, repeat(@s1,719), 108, repeat(@s2,104), NULL);
-insert into t1 values (
- 9, repeat(@s2,427), NULL, NULL, NULL);
-
-select 'M', a, sha1(b), c, sha1(d), sha1(e)
-from t1 order by a;
-
---sync_slave_with_master
---sleep 5
---connection slave
-select 'S', a, sha1(b), c, sha1(d), sha1(e)
-from t1 order by a;
-
---connection master
-drop table t1;
---sync_slave_with_master
-
-# table with varsize key (future cluster/schema)
-
-# sql/ha_ndbcluster_binlog.cc
---connection master
-CREATE TABLE IF NOT EXISTS t1 (
- db VARBINARY(63) NOT NULL,
- name VARBINARY(63) NOT NULL,
- slock BINARY(32) NOT NULL,
- query BLOB NOT NULL,
- node_id INT UNSIGNED NOT NULL,
- epoch BIGINT UNSIGNED NOT NULL,
- id INT UNSIGNED NOT NULL,
- version INT UNSIGNED NOT NULL,
- type INT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (db,name))
-ENGINE=NDB;
-
-insert into t1 values ('test','t1',
- 'abc',repeat(@s0,10), 11,12,13,14,15);
-insert into t1 values ('test','t2',
- 'def',repeat(@s1,100), 21,22,23,24,25);
-insert into t1 values ('test','t3',
- 'ghi',repeat(@s2,1000),31,32,33,34,35);
-insert into t1 values ('testtttttttttt','t1',
- 'abc',repeat(@s0,10), 11,12,13,14,15);
-insert into t1 values ('testttttttttttt','t1',
- 'def',repeat(@s1,100), 21,22,23,24,25);
-insert into t1 values ('testtttttttttttt','t1',
- 'ghi',repeat(@s2,1000),31,32,33,34,35);
-insert into t1 values ('t','t11111111111',
- 'abc',repeat(@s0,10), 11,12,13,14,15);
-insert into t1 values ('t','t111111111111',
- 'def',repeat(@s1,100), 21,22,23,24,25);
-insert into t1 values ('t','t1111111111111',
- 'ghi',repeat(@s2,1000),31,32,33,34,35);
-
-select 'M', db, name, sha1(query), node_id, epoch, id, version, type
-from t1 order by db, name;
-
---sync_slave_with_master
---sleep 5
---connection slave
-select 'S', db, name, sha1(query), node_id, epoch, id, version, type
-from t1 order by db, name;
-
---connection master
-drop table t1;
---sync_slave_with_master
-
-#
-# view the binlog - not deterministic (mats)
-#
-
-#--connection master
-#let $VERSION=`select version()`;
-#--replace_result $VERSION VERSION
-#show binlog events;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test
deleted file mode 100644
index 26946450e07..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test
+++ /dev/null
@@ -1,15 +0,0 @@
-#################################
-# Wrapper for rpl_row_blob.test #
-# Using wrapper to share test #
-# code between engine tests #
-#################################
-#
-# Since the master generates row-based events, the slave may not be in
-# STATEMENT mode to accept the events.
-#
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDBCLUSTER;
--- source extra/rpl_tests/rpl_row_blob.test
-
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test
deleted file mode 100644
index b8b7c520973..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test
+++ /dev/null
@@ -1,56 +0,0 @@
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-# set up circular replication
-
---connection slave
-RESET MASTER;
-
---connection master
---replace_result $SLAVE_MYPORT SLAVE_PORT
---eval CHANGE MASTER TO master_host="127.0.0.1",master_port=$SLAVE_MYPORT,master_user="root"
-START SLAVE;
-
-
-# create the table on the "slave"
---connection slave
-CREATE TABLE t1 (a int key, b int) ENGINE=ndb;
-#CREATE TABLE t2 (a int key, b int) ENGINE=ndb;
-sync_slave_with_master master;
-# now we should have a table on the master as well
-SHOW TABLES;
-
-# insert some values on the slave and master
---connection master
-INSERT INTO t1 VALUES (1,2);
---connection slave
-INSERT INTO t1 VALUES (2,3);
-
-# ensure data has propagated both ways
---connection slave
-sync_slave_with_master master;
---sync_slave_with_master
-
-# connect to slave and ensure data it there.
---connection slave
-SELECT * FROM t1 ORDER BY a;
-#SELECT * FROM t2 ORDER BY a;
-source include/check_slave_is_running.inc;
-# connect to master and ensure data it there.
---connection master
-SELECT * FROM t1 ORDER BY a;
-#SELECT * FROM t2 ORDER BY a;
-source include/check_slave_is_running.inc;
-
-# stop replication on "master" as not to replicate
-# shutdown circularly, eg drop table
---connection master
-STOP SLAVE;
-
-# cleanup
---connection master
-DROP TABLE t1;
--- sync_slave_with_master
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf
deleted file mode 100644
index 76e6e3f8caa..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf
+++ /dev/null
@@ -1,22 +0,0 @@
-!include ../my.cnf
-
-[mysqld.1.1]
-server-id= 1
-
-[mysqld.2.1]
-server-id= 1
-
-[mysqld.1.slave]
-server-id= 2
-skip-slave-start
-
-[mysqld.2.slave]
-server-id= 2
-init-rpl-role= slave
-skip-slave-start
-ndb_connectstring= @mysql_cluster.slave.ndb_connectstring
-
-[ENV]
-
-SLAVE_MYPORT1= @mysqld.2.slave.port
-SLAVE_MYSOCK1= @mysqld.2.slave.socket
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test
deleted file mode 100644
index 8721e85780d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test
+++ /dev/null
@@ -1,172 +0,0 @@
-#############################################################
-# Author: Serge Kozlov <skozlov@mysql.com>
-# Date: 03/17/2008
-# Purpose: Testing cluster circular replication based on two
-# independent channels between two clusters
-#############################################################
---source include/have_ndb.inc
---source include/ndb_master-slave_2ch.inc
---source include/have_binlog_format_mixed_or_row.inc
---echo
-
-# Check server_id and set auto_increment_* variables
---echo *** Check server_id of mysqld servers ***
---connection master
-SHOW VARIABLES LIKE "server_id";
-SET auto_increment_offset = 1;
-SET auto_increment_increment = 2;
---connection master1
-SHOW VARIABLES LIKE "server_id";
-SET auto_increment_offset = 1;
-SET auto_increment_increment = 2;
---connection slave
-SHOW VARIABLES LIKE "server_id";
-SET auto_increment_offset = 2;
-SET auto_increment_increment = 2;
---connection slave1
-SHOW VARIABLES LIKE "server_id";
-SET auto_increment_offset = 2;
-SET auto_increment_increment = 2;
---echo
-
-# Preparing data.
---echo *** Preparing data ***
---connection master
-CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, PRIMARY KEY(a)) ENGINE=ndb;
-
-let $wait_binlog_event= CREATE TABLE t1;
---source include/wait_for_binlog_event.inc
---connection master1
---source include/wait_for_binlog_event.inc
---connection slave
---source include/wait_for_binlog_event.inc
---connection slave1
---source include/wait_for_binlog_event.inc
---echo
-
-#
-# Testing
-#
-
---echo *** Basic testing ***
-# insert data via all hosts
---echo Insert rows via all hosts
---disable_query_log
-let $counter= 10;
-while ($counter) {
- --connection master
- INSERT INTO t1(b,c) VALUES('master',1);
- --connection master1
- INSERT INTO t1(b,c) VALUES('master1',1);
- --connection slave
- INSERT INTO t1(b,c) VALUES('slave',1);
- --connection slave1
- INSERT INTO t1(b,c) VALUES('slave1',1);
- dec $counter;
-}
---connection master
---enable_query_log
-
-# Wait replication between clusters
-let $wait_condition= SELECT COUNT(*)=40 FROM t1 WHERE c = 1;
---source include/wait_condition.inc
---connection slave
---source include/wait_condition.inc
-
-# Check data
---echo Check data on both clusters
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
-
-source include/diff_tables.inc;
-
---echo *** Transaction testing ***
-# Start transaction for one mysqld and do mass of inserts for other.
-# Do it for for both clusters
-
---connection master
-BEGIN;
---connection slave1
-BEGIN;
-let $counter= 100;
---connection master
---disable_query_log
-while ($counter) {
- --connection master
- INSERT INTO t1(b,c) VALUES('master',2);
- --connection master1
- INSERT INTO t1(b,c) VALUES('master1',2);
- --connection slave
- INSERT INTO t1(b,c) VALUES('slave',2);
- --connection slave1
- INSERT INTO t1(b,c) VALUES('slave1',2);
- dec $counter;
-}
---connection master
---enable_query_log
-COMMIT;
---connection slave1
-COMMIT;
-
-# Wait replication between clusters
---connection master
-let $wait_condition= SELECT COUNT(*)=400 FROM t1 WHERE c = 2;
---source include/wait_condition.inc
---connection slave
---source include/wait_condition.inc
-
---echo Check data on both clusters
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
-
-source include/diff_tables.inc;
-
-# Start transaction and then roll back
-
---connection master
-BEGIN;
---connection slave1
-BEGIN;
-let $counter= 100;
---connection master
---disable_query_log
-while ($counter) {
- --connection master
- INSERT INTO t1(b,c) VALUES('master',3);
- --connection master1
- INSERT INTO t1(b,c) VALUES('master1',3);
- --connection slave
- INSERT INTO t1(b,c) VALUES('slave',3);
- --connection slave1
- INSERT INTO t1(b,c) VALUES('slave1',3);
- dec $counter;
-}
---connection master
---enable_query_log
-ROLLBACK;
---connection slave1
-ROLLBACK;
-
-# Wait replication between clusters
---connection master
-let $wait_condition= SELECT COUNT(*)=200 FROM t1 WHERE c = 3;
---source include/wait_condition.inc
---connection slave
---source include/wait_condition.inc
-
---echo Check data on both clusters
-let $diff_table_1=master:test.t1;
-let $diff_table_2=slave:test.t1;
-
-source include/diff_tables.inc;
-
-# Clean up
---connection master
-DROP TABLE t1;
---connection slave
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
---echo
-
-# End of test 5.1
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test
deleted file mode 100644
index 74e841c6c4d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test
+++ /dev/null
@@ -1,82 +0,0 @@
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-connection master;
-CREATE TABLE t1 (a int key, b int) ENGINE=NDB;
-sync_slave_with_master;
-SHOW TABLES;
-
-# Lose the events from the slave binary log: there is no
-# need to re-create the table on the master.
-connection slave;
-RESET MASTER;
-
-# Insert some values on the slave and master
-connection master;
-INSERT INTO t1 VALUES (1,2);
-# Switch to slave once event is applied and insert a row
-sync_slave_with_master;
-connection slave;
-INSERT INTO t1 VALUES (2,3);
-
-# ... it is now very probable that we have a mixed event in the binary
-# log. If we don't, the test should still pass, but will not test the
-# mixed event situation.
-
-# The statement is disabled since it cannot reliably show the same
-# info all the time. Use it for debug purposes.
-
-#SHOW BINLOG EVENTS;
-
-# Replicate back to the master to test this mixed event on the master
-STOP SLAVE;
-
-connection master;
---replace_result $SLAVE_MYPORT SLAVE_PORT
-eval CHANGE MASTER TO MASTER_HOST="127.0.0.1",MASTER_PORT=$SLAVE_MYPORT,MASTER_USER="root";
-
-START SLAVE;
-
-connection slave;
-sync_slave_with_master master;
-
-# The statement is disabled since it cannot reliably show the same
-# info all the time. Use it for debug purposes.
-
-#SHOW BINLOG EVENTS;
-
-# Check that there is no error in replication
-source include/check_slave_is_running.inc;
-
-# Check that we have the data on the master
-SELECT * FROM t1 ORDER BY a;
-
-# We should now have another mixed event, likely with "slave" server
-# id last, and with the STMT_END_F flag set.
-
-# The statement is disabled since it cannot reliably show the same
-# info all the time. Use it for debug purposes.
-
-#SHOW BINLOG EVENTS;
-
-# now lets see that this data is applied correctly on the slave
-STOP SLAVE;
-save_master_pos;
-
-connection slave;
-START SLAVE;
-
-# check that we have the data on the slave
-sync_with_master;
-SELECT * FROM t1 ORDER BY a;
-
-# Check that there is no error in replication
-source include/check_slave_is_running.inc;
-
-connection master;
-DROP TABLE t1;
-
-sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test
deleted file mode 100644
index cf3eb9589d2..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test
+++ /dev/null
@@ -1,14 +0,0 @@
-#####################################
-# Wrapper for rpl_commit_after_flush#
-# Wrapped to reuse test code on #
-# Different engines #
-# By JBM 2004-02-15 #
-#####################################
-
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_commit_after_flush.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def-master.opt
deleted file mode 100644
index 711ec42bd8a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---collation-server=ucs2_unicode_ci --character-set-server=ucs2,latin1
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test
deleted file mode 100644
index cb99d049266..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test
+++ /dev/null
@@ -1,46 +0,0 @@
---source include/have_ucs2.inc
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-#
-# MySQL Bug#15276: MySQL ignores collation-server
-#
-show variables like 'collation_server';
-
-#
-# Check that NDB replication doesn't explode with default charset
-# being multibyte.
-#
-# Theorised that this could be a problem when dealing with:
-# Bug #27404 util thd mysql_parse sig11 when mysqld default multibyte charset
-#
-# Sort of related to:
-# Bug#18004 Connecting crashes server when default charset is UCS2
-#
-#
-show variables like "%character_set_ser%";
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-CREATE TABLE `t1` ( `nid` int(11) NOT NULL default '0',
- `nom` char(4) default NULL,
- `prenom` char(4) default NULL,
- PRIMARY KEY (`nid`))
- ENGINE=ndbcluster;
-
-INSERT INTO t1 VALUES(1,"XYZ1","ABC1");
-select * from t1 order by nid;
-
-sync_slave_with_master;
-# connect to slave and ensure data it there.
-connection slave;
-select * from t1 order by nid;
-
---echo ==== clean up ====
-connection master;
-DROP TABLE t1;
-sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test
deleted file mode 100644
index ac0ab01f8dd..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test
+++ /dev/null
@@ -1,85 +0,0 @@
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-#
-# Basic test of disk tables for NDB
-#
-
-#
-# Start by creating a logfile group
-#
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-alter logfile group lg1
-add undofile 'undofile02.dat'
-initial_size 4M engine=ndb;
-
-#
-# Create a tablespace connected to the logfile group
-#
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-alter tablespace ts1
-add datafile 'datafile02.dat'
-initial_size 4M engine=ndb;
-
-#
-# Create a table using this tablespace
-#
-
-CREATE TABLE t1
-(pk1 int not null primary key, b int not null, c int not null)
-tablespace ts1 storage disk
-engine ndb;
-
-#
-# insert some data
-#
-
-insert into t1 values (1,2,3);
-select * from t1 order by pk1;
-
-#
-# check that the data is also on the slave
-#
-
---sync_slave_with_master
---connection slave
-select * from t1 order by pk1;
-
-#
-# view the binlog
-#
-
---connection master
--- source include/show_binlog_events2.inc
-
-#
-# cleanup
-#
-
-drop table t1;
-alter tablespace ts1
-drop datafile 'datafile.dat'
-engine=ndb;
-alter tablespace ts1
-drop datafile 'datafile02.dat'
-engine=ndb;
-DROP TABLESPACE ts1 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
--- source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-master.opt
deleted file mode 100644
index 075c6392dde..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---new
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-slave.opt
deleted file mode 100644
index 075c6392dde..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---new
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test
deleted file mode 100644
index c84854e89e8..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test
+++ /dev/null
@@ -1,310 +0,0 @@
-#######################################
-# Author: JBM #
-# Date: 2006-03-09 #
-# Purpose: To test the replication of #
-# Cluster Disk Data using partitions #
-#######################################
-
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
---echo --- Doing pre test cleanup ---
-
-connection master;
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_query_log
-
-
-# Start by creating a logfile group
-##################################
-
-CREATE LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile.dat'
-INITIAL_SIZE 16M
-UNDO_BUFFER_SIZE = 1M
-ENGINE=NDB;
-
-ALTER LOGFILE GROUP lg1
-ADD UNDOFILE 'undofile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-
-###################################################
-# Create a tablespace connected to the logfile group
-###################################################
-
-CREATE TABLESPACE ts1
-ADD DATAFILE 'datafile.dat'
-USE LOGFILE GROUP lg1
-INITIAL_SIZE 12M
-ENGINE NDB;
-
-ALTER TABLESPACE ts1
-ADD DATAFILE 'datafile02.dat'
-INITIAL_SIZE = 4M
-ENGINE=NDB;
-
-#################################################################
-
---echo --- Start test 2 partition RANGE testing --
---echo --- Do setup --
-
-
-#################################################
-# Requirment: Create table that is partitioned #
-# by range on year i.e. year(t) and replicate #
-# basice operations such at insert, update #
-# delete between 2 different storage engines #
-# Alter table and ensure table is handled #
-# Correctly on the slave #
-#################################################
-
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
- bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
- f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
- y YEAR, t DATE)
- TABLESPACE ts1 STORAGE DISK
- ENGINE=NDB
- PARTITION BY RANGE (YEAR(t))
- (PARTITION p0 VALUES LESS THAN (1901),
- PARTITION p1 VALUES LESS THAN (1946),
- PARTITION p2 VALUES LESS THAN (1966),
- PARTITION p3 VALUES LESS THAN (1986),
- PARTITION p4 VALUES LESS THAN (2005),
- PARTITION p5 VALUES LESS THAN MAXVALUE);
-
---echo --- Show table on master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Show table on slave --
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- Check that simple Alter statements are replicated correctly ---
-
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
-
---echo --- Show the new improved table on the master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Make sure that our tables on slave are still same engine ---
---echo --- and that the alter statements replicated correctly ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
---enable_query_log
-
---source include/rpl_multi_engine3.inc
-
---echo --- End test 2 partition RANGE testing ---
---echo --- Do Cleanup ---
-
-DROP TABLE IF EXISTS t1;
-
-########################################################
-
---echo --- Start test 3 partition LIST testing ---
---echo --- Do setup ---
-#################################################
-
-
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
- bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
- f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
- y YEAR, t DATE)
- TABLESPACE ts1 STORAGE DISK
- ENGINE=NDB
- PARTITION BY LIST(id)
- (PARTITION p0 VALUES IN (2, 4),
- PARTITION p1 VALUES IN (42, 142));
-
---echo --- Test 3 Alter to add partition ---
-
-ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
-
---echo --- Show table on master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Show table on slave ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- Check that simple Alter statements are replicated correctly ---
-
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
-
---echo --- Show the new improved table on the master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Make sure that our tables on slave are still same engine ---
---echo --- and that the alter statements replicated correctly ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- End test 3 partition LIST testing ---
---echo --- Do Cleanup --
-
-DROP TABLE IF EXISTS t1;
-
-########################################################
-
---echo --- Start test 4 partition HASH testing ---
---echo --- Do setup ---
-#################################################
-
-
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
- bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
- f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
- y YEAR, t DATE)
- TABLESPACE ts1 STORAGE DISK
- ENGINE=NDB
- PARTITION BY HASH( YEAR(t) )
- PARTITIONS 4;
-
---echo --- show that tables have been created correctly ---
-
-SHOW CREATE TABLE t1;
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- Check that simple Alter statements are replicated correctly ---
-
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
-
---echo --- Show the new improved table on the master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Make sure that our tables on slave are still same engine ---
---echo --- and that the alter statements replicated correctly ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- End test 4 partition HASH testing ---
---echo --- Do Cleanup --
-
-DROP TABLE IF EXISTS t1;
-
-########################################################
-
---echo --- Start test 5 partition by key testing ---
---echo --- Create Table Section ---
-
-#################################################
-
-CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
- bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
- f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
- y YEAR, t DATE,PRIMARY KEY(id))
- TABLESPACE ts1 STORAGE DISK
- ENGINE=NDB
- PARTITION BY KEY()
- PARTITIONS 4;
-
---echo --- Show that tables on master are ndbcluster tables ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Show that tables on slave ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
-# Okay lets see how it holds up to table changes
---echo --- Check that simple Alter statements are replicated correctly ---
-
-ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
-
---echo --- Show the new improved table on the master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Make sure that our tables on slave are still right type ---
---echo --- and that the alter statements replicated correctly ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- Check that simple Alter statements are replicated correctly ---
-
-ALTER TABLE t1 MODIFY vc VARCHAR(255);
-
---echo --- Show the new improved table on the master ---
-
-SHOW CREATE TABLE t1;
-
---echo --- Make sure that our tables on slave are still same engine ---
---echo --- and that the alter statements replicated correctly ---
-
-sync_slave_with_master;
-SHOW CREATE TABLE t1;
-
---echo --- Perform basic operation on master ---
---echo --- and ensure replicated correctly ---
-
---source include/rpl_multi_engine3.inc
-
---echo --- End test 5 key partition testing ---
---echo --- Do Cleanup ---
-
-DROP TABLE IF EXISTS t1;
-alter tablespace ts1
-drop datafile 'datafile.dat'
-engine=ndb;
-alter tablespace ts1
-drop datafile 'datafile02.dat'
-engine=ndb;
-DROP TABLESPACE ts1 ENGINE=NDB;
-DROP LOGFILE GROUP lg1 ENGINE=NDB;
---sync_slave_with_master
-
-# End of 5.1 test case
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test
deleted file mode 100644
index 654d1c08944..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test
+++ /dev/null
@@ -1,33 +0,0 @@
-#################### rpl_ndb_ddl.test ########################
-# #
-# DDL statements (sometimes with implicit COMMIT) executed #
-# by the master and it's propagation into the slave #
-# #
-##############################################################
-
-#
-# NOTE, PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
-#
-# 1. !All! objects to be dropped, renamed, altered ... must be created
-# in AUTOCOMMIT= 1 mode before AUTOCOMMIT is set to 0 and the test
-# sequences start.
-#
-# 2. Never use a test object, which was direct or indirect affected by a
-# preceeding test sequence again.
-# Except table d1.t1 where ONLY DML is allowed.
-#
-# If one preceeding test sequence hits a (sometimes not good visible,
-# because the sql error code of the statement might be 0) bug
-# and these rules are ignored, a following test sequence might earn ugly
-# effects like failing 'sync_slave_with_master', crashes of the slave or
-# abort of the test case etc..
-#
-
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-let $engine_type= NDB;
-let $temp_engine_type= MEMORY;
-let $show_binlog = 0;
-let $manipulate = 0;
--- source extra/rpl_tests/rpl_ddl.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test
deleted file mode 100644
index c06d1a62fef..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#########################################
-# By JBM 2006-02-14 Test wrapping to #
-# Share test code between engine tests #
-#########################################
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_delete_no_where.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db-slave.opt
deleted file mode 100644
index fb5e378b65f..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-do-db=replica
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test
deleted file mode 100644
index 750ae377350..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test
+++ /dev/null
@@ -1,59 +0,0 @@
-###########################################################
-# Author: Jeb
-# Date: 14-12-2006
-# Purpose: To test --replicate-do-database=db_name
-# using cluster. Only replica should replicate.
-##########################################################
-
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
---disable_warnings
-DROP DATABASE IF EXISTS replica;
---enable_warnings
-
-# Create database and tables for the test.
-CREATE DATABASE replica;
-CREATE TABLE t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-USE replica;
-CREATE TABLE replica.t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE replica.t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-
-# Insert data into db that should not be picked up by slave
-USE test;
-INSERT INTO t1 VALUES(1, repeat('abc',10));
-INSERT INTO t2 VALUES(1, repeat('abc',10));
-SHOW TABLES;
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-
-# Insert data into db that should be replicated
-USE replica;
-INSERT INTO replica.t1 VALUES(2, repeat('def',200));
-INSERT INTO replica.t2 VALUES(2, repeat('def',200));
-SHOW TABLES;
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-
-# Check results on slave
---sync_slave_with_master
-SHOW TABLES;
-USE replica;
-SHOW TABLES;
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-USE test;
-SHOW TABLES;
-
-# Cleanup from testing
-connection master;
-USE test;
-DROP TABLE t1, t2;
-DROP DATABASE IF EXISTS replica;
---sync_slave_with_master
-
-# End 5.1 test case
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table-slave.opt
deleted file mode 100644
index da345474216..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-do-table=test.t1
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test
deleted file mode 100644
index 4598795cead..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test
+++ /dev/null
@@ -1,48 +0,0 @@
-###########################################################
-# Author: Jeb
-# Date: 14-12-2006
-# Purpose: To test --replicate-do-table=db_name.tbl_name
-# using cluster. Only t1 should replicate.
-##########################################################
-
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1, t2;
---enable_warnings
-
-CREATE TABLE t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-
-INSERT INTO t1 VALUES(1, repeat('abc',10));
-INSERT INTO t1 VALUES(2, repeat('def',200));
-INSERT INTO t1 VALUES(3, repeat('ghi',3000));
-INSERT INTO t2 VALUES(1, repeat('abc',10));
-INSERT INTO t2 VALUES(2, repeat('def',200));
-INSERT INTO t2 VALUES(3, repeat('ghi',3000));
-
---sync_slave_with_master
-SHOW TABLES;
-SELECT COUNT(*) FROM t1;
-
-#
-# Bug #27044 replicated with unique field ndb table allows dup key inserts
-#
-connection master;
-
---error ER_DUP_ENTRY
-INSERT INTO t1 VALUES (3, repeat('bad',1));
-
-connection slave;
---error ER_DUP_ENTRY
-INSERT INTO t1 VALUES (3, repeat('bad too',1));
-
-# cleanup
-
-connection master;
-DROP TABLE IF EXISTS t1, t2;
---sync_slave_with_master
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test
deleted file mode 100644
index 9cf4f8dba0b..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test
+++ /dev/null
@@ -1,13 +0,0 @@
-###########################################
-# Author: Jeb
-# Date: 2006-09-08
-# Purpose: Wapper for rpl_extraSlave_Col.test
-# Using NDB
-###########################################
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
-let $engine_type = 'NDB';
--- source extra/rpl_tests/rpl_extraSlave_Col.test
-
-
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test
deleted file mode 100644
index 5f0fd3dfe49..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test
+++ /dev/null
@@ -1,16 +0,0 @@
-###################################
-# Wrapper for rpl_row_func003.test#
-# This test was orginally designed#
-# To test InnoDB using RBR, but #
-# It can also be used to test NDB #
-# So this wrapper is being used to#
-# reduce test case code #
-###################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_row_func003.test
--- source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test
deleted file mode 100644
index 99c9df40094..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test
+++ /dev/null
@@ -1,109 +0,0 @@
---source include/have_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-#
-# Currently test only works with ndb since it retrieves "old"
-# binlog positions with mysql.ndb_binlog_index and ndb_apply_status;
-#
-
-# create a table with one row
-CREATE TABLE t1 (c1 CHAR(15), c2 CHAR(15), c3 INT, PRIMARY KEY (c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES ("row1","will go away",1);
-SELECT * FROM t1 ORDER BY c3;
-
-# sync slave and retrieve epoch
-sync_slave_with_master;
---replace_column 1 <the_epoch>
-SELECT @the_epoch:=MAX(epoch) FROM mysql.ndb_apply_status;
-let $the_epoch= `select @the_epoch` ;
-SELECT * FROM t1 ORDER BY c3;
-
-# get the master binlog pos from the epoch
-connection master;
---replace_result $the_epoch <the_epoch>
---replace_column 1 <the_pos>
-eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
- FROM mysql.ndb_binlog_index WHERE epoch = $the_epoch ;
-let $the_pos= `SELECT @the_pos` ;
-let $the_file= `SELECT @the_file` ;
-
-# insert some more values
-INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
-DELETE FROM t1 WHERE c3 = 1;
-UPDATE t1 SET c2="should go away" WHERE c3 = 2;
-UPDATE t1 SET c2="C" WHERE c3 = 3;
-DELETE FROM t1 WHERE c3 = 2;
-
-SELECT * FROM t1 ORDER BY c3;
-
-# check that we have it on the slave
---sync_slave_with_master
-SELECT * FROM t1 ORDER BY c3;
-
-source include/check_slave_is_running.inc;
-
-# stop slave and reset position to before the last changes
-STOP SLAVE;
---replace_result $the_pos <the_pos>
-eval CHANGE MASTER TO
- master_log_file = '$the_file',
- master_log_pos = $the_pos ;
-
-source include/check_slave_no_error.inc;
-
-# start the slave again
-# -> same events should have been applied again
-# e.g. inserting rows that already there
-# deleting a row which is not there
-# updating a row which is not there
-START SLAVE;
-
---connection master
-SELECT * FROM t1 ORDER BY c3;
---sync_slave_with_master
-SELECT * FROM t1 ORDER BY c3;
-
-STOP SLAVE;
-
-#
-# cleanup
-#
---connection master
-DROP TABLE t1;
-RESET master;
---connection slave
-DROP TABLE t1;
-RESET slave;
-
-START SLAVE;
-
-#
-# Test that we can handle update of a row that does not exist on the slave
-# will trigger usage of AO_IgnoreError on slave side so that the INSERT
-# still succeeds even if the replication of the UPDATE generates an error.
-#
---connection master
-CREATE TABLE t1 (c1 CHAR(15) NOT NULL, c2 CHAR(15) NOT NULL, c3 INT NOT NULL, PRIMARY KEY (c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES ("row1","remove on slave",1);
-
---sync_slave_with_master
---connection slave
-DELETE FROM t1;
-
---connection master
-BEGIN;
-UPDATE t1 SET c2="does not exist" WHERE c3=1;
-INSERT INTO t1 VALUES ("row2","new on slave",2);
-COMMIT;
-
---sync_slave_with_master
---connection slave
-SELECT * FROM t1;
-source include/check_slave_is_running.inc;
-
-connection master;
-DROP TABLE IF EXISTS t1;
-
-# End of 5.1 Test
--- source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-master.opt
deleted file mode 100644
index 48457b17309..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt
deleted file mode 100644
index b63ef44e8fc..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---new --default-storage-engine=ndbcluster
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test
deleted file mode 100644
index 92374c26742..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test
+++ /dev/null
@@ -1,15 +0,0 @@
-#############################################################
-# Author: JBM
-# Date: 2006-02-24
-# Purpose: Trying to test ability to replicate from cluster
-# to innodb, or myisam, or replicate from innodb/myisam to
-# cluster slave. Due to limitations I have created wrappers
-# to be able to use the same code for all these different
-# test and to have control over the tests.
-##############################################################
--- source include/have_innodb.inc
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-SET storage_engine=innodb;
---source extra/rpl_tests/rpl_ndb_2multi_eng.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans-slave.opt
deleted file mode 100644
index 48457b17309..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test
deleted file mode 100644
index 66531172894..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test
+++ /dev/null
@@ -1,69 +0,0 @@
-# Test of a transaction mixing the two engines
-
--- source include/have_ndb.inc
--- source include/have_innodb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-
-create table t1 (a int, unique(a)) engine=ndbcluster;
-create table t2 (a int, unique(a)) engine=innodb;
-
-
-begin;
-insert into t1 values(1);
-insert into t2 values(1);
-rollback;
-
-select count(*) from t1;
-select count(*) from t2;
-sync_slave_with_master;
-select count(*) from t1;
-select count(*) from t2;
-connection master;
-
-begin;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t2;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t1;
-rollback;
-
-select count(*) from t1;
-select count(*) from t2;
-sync_slave_with_master;
-select count(*) from t1;
-select count(*) from t2;
-connection master;
-
-delete from t1;
-delete from t2;
-begin;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t2;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t1;
-rollback;
-
-select count(*) from t1;
-select count(*) from t2;
-sync_slave_with_master;
-select count(*) from t1;
-select count(*) from t2;
-connection master;
-
-delete from t1;
-delete from t2;
-begin;
-insert into t2 values(3),(4);
-insert into t1 values(3),(4);
-load data infile '../../../std_data/rpl_loaddata.dat' into table t2;
-load data infile '../../../std_data/rpl_loaddata.dat' into table t1;
-rollback;
-
-select count(*) from t1;
-select count(*) from t2;
-sync_slave_with_master;
-select count(*) from t1;
-select count(*) from t2;
-connection master;
-
-drop table t1,t2;
-sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test
deleted file mode 100644
index be6f71eb5b5..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#####################################
-# Wrapper for rpl_insert_ignore.test#
-#####################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
-let $engine_type2=myisam;
--- source extra/rpl_tests/rpl_insert_ignore.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test
deleted file mode 100644
index 75fe2688b4a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# Currently this test only runs in the source tree with the
-# ndb/test programs compiled.
-# invoke with: ./mysql-test-run --ndb-extra-test --do-test=rpl_ndb_load
-#
-
---source include/have_ndb.inc
---source include/have_ndb_extra.inc
---source include/have_binlog_format_row.inc
---source include/ndb_master-slave.inc
-
---disable_warnings
-# reset master
-connection master;
-DROP DATABASE IF EXISTS TEST_DB;
-CREATE DATABASE TEST_DB;
---enable_warnings
-
-#
-# These tables should correspond to the table definitions in
-# storage/ndb/test/ndbapi/bench/
-#
-connection master;
-USE TEST_DB;
-CREATE TABLE SUBSCRIBER
- ( NUMBER CHAR(12) BINARY NOT NULL,
- NAME CHAR(32) BINARY NOT NULL,
- GROUP_ID INT UNSIGNED NOT NULL,
- LOCATION INT UNSIGNED NOT NULL,
- SESSIONS INT UNSIGNED NOT NULL,
- CHANGED_BY CHAR(32) BINARY NOT NULL,
- CHANGED_TIME CHAR(32) BINARY NOT NULL,
- PRIMARY KEY USING HASH (NUMBER))
- ENGINE = NDB;
-
-CREATE TABLE GROUP_T
- ( GROUP_ID INT UNSIGNED NOT NULL,
- GROUP_NAME CHAR(32) BINARY NOT NULL,
- ALLOW_READ CHAR(1) BINARY NOT NULL,
- ALLOW_INSERT INT UNSIGNED NOT NULL,
- ALLOW_DELETE INT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (GROUP_ID))
- ENGINE = NDB;
-
-CREATE TABLE SESSION
- ( NUMBER CHAR(12) BINARY NOT NULL,
- SERVER_ID INT UNSIGNED NOT NULL,
- DATA VARBINARY(1998) NOT NULL,
- PRIMARY KEY USING HASH (NUMBER,SERVER_ID))
- ENGINE = NDB;
-
-CREATE TABLE SERVER
- ( SUFFIX CHAR(2) BINARY NOT NULL,
- SERVER_ID INT UNSIGNED NOT NULL,
- NAME CHAR(32) BINARY NOT NULL,
- NO_OF_READ INT UNSIGNED NOT NULL,
- NO_OF_INSERT INT UNSIGNED NOT NULL,
- NO_OF_DELETE INT UNSIGNED NOT NULL,
- PRIMARY KEY USING HASH (SUFFIX, SERVER_ID))
- ENGINE = NDB;
-
-#
-# start "load" application
-#
---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/DbCreate >> $NDB_TOOLS_OUTPUT
---exec NDB_CONNECTSTRING=$NDB_CONNECTSTRING ../storage/ndb/test/ndbapi/DbAsyncGenerator >> $NDB_TOOLS_OUTPUT
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_log-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_log-master.opt
deleted file mode 100644
index e0d075c3fbd..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_log-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---skip-external-locking
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test
deleted file mode 100644
index d32a05bf92a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test
+++ /dev/null
@@ -1,13 +0,0 @@
-###################################
-# Wrapper for rpl_row_log.test #
-# Added wrapper so that MyISAM & #
-# Innodb and NDB could all use the#
-# Same test. NDB produced a diff #
-# bin-log #
-###################################
--- source include/have_binlog_format_row.inc
--- source include/have_ndb.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_log.test
-
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt
deleted file mode 100644
index 48457b17309..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt
deleted file mode 100644
index 48457b17309..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test
deleted file mode 100644
index d93c5328000..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test
+++ /dev/null
@@ -1,476 +0,0 @@
-# ==== Purpose ====
-#
-# Tests that transactions containing multiple table types are
-# replicated correctly to the slave.
-#
-# This test was previously part of rpl_ndb_transactions.
-#
-#
-# ==== Method ====
-#
-# Try all combinations of the following:
-# - Committed/rollback transactions.
-# - Transactions started by AUTOCOMMIT = 0 or BEGIN.
-# - Transactions using myisam, innodb, or ndb tables, or combinations
-# of them. For combinations, we use the engines in all possible
-# orders.
-# For single-engine transactions, we also try with AUTOCOMMIT = 1.
-#
-#
-# ==== Related bugs ====
-#
-# BUG#26395: if crash during autocommit update to transactional table on master, slave fails
-
-
-source include/have_ndb.inc;
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
-source include/have_binlog_format_mixed_or_row.inc;
-source include/ndb_master-slave.inc;
-source include/have_innodb.inc;
-
-CREATE TABLE tmyisam (a int) ENGINE = MYISAM;
-CREATE TABLE tinnodb (a int) ENGINE = INNODB;
-CREATE TABLE tndb (a int) ENGINE = NDB;
-
-SHOW CREATE TABLE tmyisam;
-SHOW CREATE TABLE tinnodb;
-SHOW CREATE TABLE tndb;
-
-
---echo [on master]
-
-
---echo ==== Single-engine transactions ====
-
---echo ---- autocommitted ----
-
-SET AUTOCOMMIT = 1;
-
-INSERT INTO tmyisam VALUES (0);
-INSERT INTO tinnodb VALUES (1);
-INSERT INTO tndb VALUES (2);
-
---echo ---- committed with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (3);
-INSERT INTO tmyisam VALUES (4);
-COMMIT;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (5);
-INSERT INTO tinnodb VALUES (6);
-COMMIT;
-
-BEGIN;
-INSERT INTO tndb VALUES (7);
-INSERT INTO tndb VALUES (8);
-COMMIT;
-
---echo ---- rolled back with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (9);
-INSERT INTO tmyisam VALUES (10);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (11);
-INSERT INTO tinnodb VALUES (12);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tndb VALUES (13);
-INSERT INTO tndb VALUES (14);
-ROLLBACK;
-
-
---echo ---- committed with AUTOCOMMIT = 0 ----
-
-SET AUTOCOMMIT = 0;
-
-INSERT INTO tmyisam VALUES (15);
-INSERT INTO tmyisam VALUES (16);
-COMMIT;
-
-INSERT INTO tinnodb VALUES (17);
-INSERT INTO tinnodb VALUES (18);
-COMMIT;
-
-INSERT INTO tndb VALUES (19);
-INSERT INTO tndb VALUES (20);
-COMMIT;
-
---echo ---- rolled back with AUTOCOMMIT = 0 ----
-
-INSERT INTO tmyisam VALUES (21);
-INSERT INTO tmyisam VALUES (22);
-ROLLBACK;
-
-INSERT INTO tinnodb VALUES (23);
-INSERT INTO tinnodb VALUES (24);
-ROLLBACK;
-
-INSERT INTO tndb VALUES (25);
-INSERT INTO tndb VALUES (26);
-ROLLBACK;
-
-SET AUTOCOMMIT = 1;
-
-
---echo ==== MyISAM + InnoDB ====
-
---echo ---- committed with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (27);
-INSERT INTO tinnodb VALUES (28);
-COMMIT;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (29);
-INSERT INTO tmyisam VALUES (30);
-COMMIT;
-
---echo ---- rolled back with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (31);
-INSERT INTO tinnodb VALUES (32);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (33);
-INSERT INTO tmyisam VALUES (34);
-ROLLBACK;
-
---echo ---- committed with AUTOCOMMIT = 0 ----
-
-SET AUTOCOMMIT = 0;
-
-INSERT INTO tmyisam VALUES (35);
-INSERT INTO tinnodb VALUES (36);
-COMMIT;
-
-INSERT INTO tinnodb VALUES (37);
-INSERT INTO tmyisam VALUES (38);
-COMMIT;
-
---echo ---- rolled back with AUTOCOMMIT = 0 ----
-
-INSERT INTO tmyisam VALUES (39);
-INSERT INTO tinnodb VALUES (40);
-ROLLBACK;
-
-INSERT INTO tinnodb VALUES (41);
-INSERT INTO tmyisam VALUES (42);
-ROLLBACK;
-
-SET AUTOCOMMIT = 1;
-
-
---echo ==== MyISAM + NDB ====
-
---echo ---- committed with BEGIN----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (43);
-INSERT INTO tndb VALUES (44);
-COMMIT;
-
-BEGIN;
-INSERT INTO tndb VALUES (45);
-INSERT INTO tmyisam VALUES (46);
-COMMIT;
-
---echo ---- rolled back with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (47);
-INSERT INTO tndb VALUES (48);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tndb VALUES (49);
-INSERT INTO tmyisam VALUES (50);
-ROLLBACK;
-
---echo ---- committed with AUTOCOMMIT = 0 ----
-
-SET AUTOCOMMIT = 0;
-
-INSERT INTO tmyisam VALUES (51);
-INSERT INTO tndb VALUES (52);
-COMMIT;
-
-INSERT INTO tndb VALUES (53);
-INSERT INTO tmyisam VALUES (54);
-COMMIT;
-
---echo ---- rolled back with AUTOCOMMIT = 0 ----
-
-INSERT INTO tmyisam VALUES (55);
-INSERT INTO tndb VALUES (56);
-ROLLBACK;
-
-INSERT INTO tndb VALUES (57);
-INSERT INTO tmyisam VALUES (58);
-ROLLBACK;
-
-SET AUTOCOMMIT = 1;
-
-
---echo ==== InnoDB + NDB ====
-
---echo ---- committed with BEGIN ----
-
-BEGIN;
-INSERT INTO tinnodb VALUES (59);
-INSERT INTO tndb VALUES (60);
-COMMIT;
-
-BEGIN;
-INSERT INTO tndb VALUES (61);
-INSERT INTO tinnodb VALUES (62);
-COMMIT;
-
---echo ---- rolled back with BEGIN ----
-
-BEGIN;
-INSERT INTO tinnodb VALUES (63);
-INSERT INTO tndb VALUES (64);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tndb VALUES (65);
-INSERT INTO tinnodb VALUES (66);
-ROLLBACK;
-
---echo ---- committed with AUTOCOMMIT = 0 ----
-
-SET AUTOCOMMIT = 0;
-
-INSERT INTO tinnodb VALUES (67);
-INSERT INTO tndb VALUES (68);
-COMMIT;
-
-INSERT INTO tndb VALUES (69);
-INSERT INTO tinnodb VALUES (70);
-COMMIT;
-
---echo ---- rolled back with AUTOCOMMIT = 0 ----
-
-INSERT INTO tinnodb VALUES (71);
-INSERT INTO tndb VALUES (72);
-ROLLBACK;
-
-INSERT INTO tndb VALUES (73);
-INSERT INTO tinnodb VALUES (74);
-ROLLBACK;
-
-SET AUTOCOMMIT = 1;
-
-
---echo ==== MyISAM + InnoDB + NDB ====
-
---echo ---- committed with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (75);
-INSERT INTO tinnodb VALUES (76);
-INSERT INTO tndb VALUES (77);
-COMMIT;
-
-BEGIN;
-INSERT INTO tmyisam VALUES (78);
-INSERT INTO tndb VALUES (79);
-INSERT INTO tinnodb VALUES (80);
-COMMIT;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (81);
-INSERT INTO tmyisam VALUES (82);
-INSERT INTO tndb VALUES (83);
-COMMIT;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (84);
-INSERT INTO tndb VALUES (85);
-INSERT INTO tmyisam VALUES (86);
-COMMIT;
-
-BEGIN;
-INSERT INTO tndb VALUES (87);
-INSERT INTO tmyisam VALUES (88);
-INSERT INTO tinnodb VALUES (89);
-COMMIT;
-
-BEGIN;
-INSERT INTO tndb VALUES (90);
-INSERT INTO tinnodb VALUES (91);
-INSERT INTO tmyisam VALUES (92);
-COMMIT;
-
---echo ---- rolled back with BEGIN ----
-
-BEGIN;
-INSERT INTO tmyisam VALUES (93);
-INSERT INTO tinnodb VALUES (94);
-INSERT INTO tndb VALUES (95);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tmyisam VALUES (96);
-INSERT INTO tndb VALUES (97);
-INSERT INTO tinnodb VALUES (98);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (99);
-INSERT INTO tmyisam VALUES (100);
-INSERT INTO tndb VALUES (101);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tinnodb VALUES (102);
-INSERT INTO tndb VALUES (103);
-INSERT INTO tmyisam VALUES (104);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tndb VALUES (105);
-INSERT INTO tmyisam VALUES (106);
-INSERT INTO tinnodb VALUES (107);
-ROLLBACK;
-
-BEGIN;
-INSERT INTO tndb VALUES (108);
-INSERT INTO tinnodb VALUES (109);
-INSERT INTO tmyisam VALUES (110);
-ROLLBACK;
-
---echo ---- committed with AUTOCOMMIT = 0 ----
-
-SET AUTOCOMMIT = 0;
-
-INSERT INTO tmyisam VALUES (111);
-INSERT INTO tinnodb VALUES (112);
-INSERT INTO tndb VALUES (113);
-COMMIT;
-
-INSERT INTO tmyisam VALUES (114);
-INSERT INTO tndb VALUES (115);
-INSERT INTO tinnodb VALUES (116);
-COMMIT;
-
-INSERT INTO tinnodb VALUES (117);
-INSERT INTO tmyisam VALUES (118);
-INSERT INTO tndb VALUES (119);
-COMMIT;
-
-INSERT INTO tinnodb VALUES (120);
-INSERT INTO tndb VALUES (121);
-INSERT INTO tmyisam VALUES (122);
-COMMIT;
-
-INSERT INTO tndb VALUES (123);
-INSERT INTO tmyisam VALUES (124);
-INSERT INTO tinnodb VALUES (125);
-COMMIT;
-
-INSERT INTO tndb VALUES (126);
-INSERT INTO tinnodb VALUES (127);
-INSERT INTO tmyisam VALUES (128);
-COMMIT;
-
---echo ---- rolled back with AUTOCOMMIT = 0 ----
-
-INSERT INTO tmyisam VALUES (129);
-INSERT INTO tinnodb VALUES (130);
-INSERT INTO tndb VALUES (131);
-ROLLBACK;
-
-INSERT INTO tmyisam VALUES (132);
-INSERT INTO tndb VALUES (133);
-INSERT INTO tinnodb VALUES (134);
-ROLLBACK;
-
-INSERT INTO tinnodb VALUES (135);
-INSERT INTO tmyisam VALUES (136);
-INSERT INTO tndb VALUES (137);
-ROLLBACK;
-
-INSERT INTO tinnodb VALUES (138);
-INSERT INTO tndb VALUES (139);
-INSERT INTO tmyisam VALUES (140);
-ROLLBACK;
-
-INSERT INTO tndb VALUES (141);
-INSERT INTO tmyisam VALUES (142);
-INSERT INTO tinnodb VALUES (143);
-ROLLBACK;
-
-INSERT INTO tndb VALUES (144);
-INSERT INTO tinnodb VALUES (145);
-INSERT INTO tmyisam VALUES (146);
-ROLLBACK;
-
-SET AUTOCOMMIT = 1;
-
---echo ---- Mixed statements Innodb ----
-
-BEGIN;
-INSERT INTO tndb VALUES (147);
-INSERT INTO tinnodb SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-COMMIT;
-
-INSERT INTO tndb VALUES (148);
-BEGIN;
-INSERT INTO tinnodb SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-INSERT INTO tndb VALUES (149);
-COMMIT;
-
-BEGIN;
-INSERT INTO tndb VALUES (150);
-INSERT INTO tmyisam SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-COMMIT;
-
-INSERT INTO tndb VALUES (151);
-BEGIN;
-INSERT INTO tmyisam SELECT * FROM tndb ORDER BY a DESC LIMIT 1;
-INSERT INTO tndb VALUES (152);
-COMMIT;
-
---echo ==== Verify the result ====
-
-SELECT * FROM tmyisam ORDER BY a;
-SELECT * FROM tinnodb ORDER BY a;
-SELECT * FROM tndb ORDER BY a;
-
---echo [on slave]
---sync_slave_with_master
-
-let $diff_table_1=master:test.tmyisam;
-let $diff_table_2=slave:test.tmyisam;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.tinnodb;
-let $diff_table_2=slave:test.tinnodb;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.tndb;
-let $diff_table_2=slave:test.tndb;
-source include/diff_tables.inc;
-
-
---echo ==== Clean up ====
-
---echo [on master]
-connection master;
-DROP TABLE tmyisam, tinnodb, tndb;
-
---echo [on slave]
-sync_slave_with_master;
-
-source include/master-slave-end.inc;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_implicit_commit_binlog.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_implicit_commit_binlog.test
deleted file mode 100644
index d70d9b48834..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_implicit_commit_binlog.test
+++ /dev/null
@@ -1,9 +0,0 @@
-################################################################################
-# Check file extra/rpl_tests/rpl_implicit_commit_binlog.test
-################################################################################
---source include/have_binlog_format_mixed.inc
---source include/have_ndb.inc
---source include/ndb_master-slave.inc
-
---let $engine=NDB
---source extra/rpl_tests/rpl_implicit_commit_binlog.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-master.opt
deleted file mode 100644
index 0f4722c3fbd..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb --ndbcluster
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-slave.opt
deleted file mode 100644
index a8829991a6d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb --ndbcluster --replicate-ignore-table=mysql.ndb_apply_status
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test
deleted file mode 100644
index 17f2d00cbf6..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_tables.test
+++ /dev/null
@@ -1,374 +0,0 @@
-# ==== Purpose ====
-#
-# Test replication of transactions on tables which have different
-# engines on master and slave. This tests all combinations of innodb,
-# myisam, and ndb.
-#
-# ==== Method ====
-#
-# Set up six tables, each being innodb, myisam, or innodb on master,
-# and another of innodb, myisam, or innodb on slave. For each table,
-# do the following:
-#
-# - committed and rollback'ed transactions, with autocommit on and
-# off
-# - non-transactions with autocommit on
-# - non-transactions with autocommit off, where the master table is
-# myisam.
-#
-# Note: we are running the slave with
-# --replicate-ignore-table=mysql.ndb_apply_status . See BUG#34557 for
-# explanation.
-#
-# ==== Related bugs ====
-#
-# BUG#26395: if crash during autocommit update to transactional table on master, slave fails
-# BUG#29288: myisam transactions replicated to a transactional slave leaves slave unstable
-# BUG#34557: Row-based replication from ndb to non-ndb gives error on slave
-# BUG#34600: Rolled-back punch transactions not replicated correctly
-#
-# ==== Todo ====
-#
-# We should eventually try transactions touching two tables which are
-# of different engines on the same server (so that we try, e.g. punch
-# transactions; cf BUG#34600). However, that will make the test much
-# bigger (9 master-slave engine combinations [myisam->myisam,
-# myisam->ndb, etc]. To try all combinations of one or more such
-# tables means 2^9-1=511 transactions. We need to multiplied by 5
-# since we want to test committed/rollback'ed transactions
-# with/without AUTOCOMMIT, as well as non-transactions with
-# autocommit). We'd have to write a script to produce the test case.
-
-
---echo ==== Initialization ====
-
---source include/have_ndb.inc
---source include/have_innodb.inc
---source include/ndb_master-slave.inc
---source include/have_binlog_format_mixed_or_row.inc
-
---echo ---- setup master ----
-
-CREATE TABLE myisam_innodb (a INT) ENGINE=MYISAM;
-CREATE TABLE innodb_myisam (a INT) ENGINE=INNODB;
-CREATE TABLE myisam_ndb (a INT) ENGINE=MYISAM;
-CREATE TABLE ndb_myisam (a INT) ENGINE=NDB;
-CREATE TABLE innodb_ndb (a INT) ENGINE=INNODB;
-CREATE TABLE ndb_innodb (a INT) ENGINE=NDB;
-
-SHOW CREATE TABLE myisam_innodb;
-SHOW CREATE TABLE innodb_myisam;
-SHOW CREATE TABLE myisam_ndb;
-SHOW CREATE TABLE ndb_myisam;
-SHOW CREATE TABLE innodb_ndb;
-SHOW CREATE TABLE ndb_innodb;
-
---echo ---- setup slave with different engines ----
-
-sync_slave_with_master;
-
-DROP TABLE myisam_innodb, innodb_myisam;
-DROP TABLE myisam_ndb, ndb_myisam;
-DROP TABLE innodb_ndb, ndb_innodb;
-
-CREATE TABLE myisam_innodb (a INT) ENGINE=INNODB;
-CREATE TABLE innodb_myisam (a INT) ENGINE=MYISAM;
-CREATE TABLE myisam_ndb (a INT) ENGINE=NDB;
-CREATE TABLE ndb_myisam (a INT) ENGINE=MYISAM;
-CREATE TABLE innodb_ndb (a INT) ENGINE=NDB;
-CREATE TABLE ndb_innodb (a INT) ENGINE=INNODB;
-
-SHOW CREATE TABLE myisam_innodb;
-SHOW CREATE TABLE innodb_myisam;
-SHOW CREATE TABLE myisam_ndb;
-SHOW CREATE TABLE ndb_myisam;
-SHOW CREATE TABLE innodb_ndb;
-SHOW CREATE TABLE ndb_innodb;
-
-connection master;
-
-
---echo ==== AUTOCOMMIT=0, transactions ====
-
---echo ---- COMMIT ----
-
-SET AUTOCOMMIT = 0;
-
-BEGIN;
-INSERT INTO myisam_innodb VALUES (1);
-INSERT INTO myisam_innodb VALUES (2);
-COMMIT;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO innodb_myisam VALUES (3);
-INSERT INTO innodb_myisam VALUES (4);
-COMMIT;
-sync_slave_with_master;
-connection master;
-
-BEGIN;
-INSERT INTO myisam_ndb VALUES (5);
-INSERT INTO myisam_ndb VALUES (6);
-COMMIT;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO ndb_myisam VALUES (7);
-INSERT INTO ndb_myisam VALUES (8);
-COMMIT;
-sync_slave_with_master;
-connection master;
-
-BEGIN;
-INSERT INTO ndb_innodb VALUES (9);
-INSERT INTO ndb_innodb VALUES (10);
-COMMIT;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (11);
-INSERT INTO innodb_ndb VALUES (12);
-COMMIT;
-sync_slave_with_master;
-connection master;
-
---echo ---- ROLLBACK ----
-
-# This test does not work in ROW mode after the changes introduced in
-# BUG#40116. After WL#2687 is pushed, Tests should be added again.
---disable_parsing
-BEGIN;
-INSERT INTO myisam_innodb VALUES (13);
-INSERT INTO myisam_innodb VALUES (14);
-ROLLBACK;
-sync_slave_with_master;
---enable_parsing
-connection master;
-BEGIN;
-INSERT INTO innodb_myisam VALUES (15);
-INSERT INTO innodb_myisam VALUES (16);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-
-# This test does not work in ROW mode after the changes introduced in
-# BUG#40116. After WL#2687 is pushed, these tests should be enabled
-# again.
---disable_parsing
-BEGIN;
-INSERT INTO myisam_ndb VALUES (17);
-INSERT INTO myisam_ndb VALUES (18);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
---enable_parsing
-BEGIN;
-INSERT INTO ndb_myisam VALUES (19);
-INSERT INTO ndb_myisam VALUES (20);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-
-BEGIN;
-INSERT INTO ndb_innodb VALUES (21);
-INSERT INTO ndb_innodb VALUES (22);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (23);
-INSERT INTO innodb_ndb VALUES (24);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-
-
---echo ==== AUTOCOMMIT=1, transactions ====
-
---echo ---- COMMIT ----
-
-SET AUTOCOMMIT = 1;
-
-BEGIN;
-INSERT INTO myisam_innodb VALUES (25);
-INSERT INTO myisam_innodb VALUES (26);
-COMMIT;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO innodb_myisam VALUES (27);
-INSERT INTO innodb_myisam VALUES (28);
-COMMIT;
-sync_slave_with_master;
-connection master;
-
-BEGIN;
-INSERT INTO myisam_ndb VALUES (29);
-INSERT INTO myisam_ndb VALUES (30);
-COMMIT;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO ndb_myisam VALUES (31);
-INSERT INTO ndb_myisam VALUES (32);
-COMMIT;
-sync_slave_with_master;
-connection master;
-
-BEGIN;
-INSERT INTO ndb_innodb VALUES (33);
-INSERT INTO ndb_innodb VALUES (34);
-COMMIT;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (35);
-INSERT INTO innodb_ndb VALUES (36);
-COMMIT;
-sync_slave_with_master;
-connection master;
-
---echo ---- ROLLBACK ----
-
-# This test does not work in ROW mode after the changes introduced in
-# BUG#40116. After WL#2687 is pushed, these tests should be enabled
-# again.
---disable_parsing
-BEGIN;
-INSERT INTO myisam_innodb VALUES (37);
-INSERT INTO myisam_innodb VALUES (38);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
---enable_parsing
-BEGIN;
-INSERT INTO innodb_myisam VALUES (39);
-INSERT INTO innodb_myisam VALUES (40);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-
-# This test does not work in ROW mode after the changes introduced in
-# BUG#40116. After WL#2687 is pushed, these tests should be enabled
-# again.
---disable_parsing
-BEGIN;
-INSERT INTO myisam_ndb VALUES (41);
-INSERT INTO myisam_ndb VALUES (42);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
---enable_parsing
-BEGIN;
-INSERT INTO ndb_myisam VALUES (43);
-INSERT INTO ndb_myisam VALUES (44);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-
-BEGIN;
-INSERT INTO ndb_innodb VALUES (45);
-INSERT INTO ndb_innodb VALUES (46);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-BEGIN;
-INSERT INTO innodb_ndb VALUES (47);
-INSERT INTO innodb_ndb VALUES (48);
-ROLLBACK;
-sync_slave_with_master;
-connection master;
-
-
---echo ==== AUTOCOMMIT=1, single statements ====
-
-INSERT INTO myisam_innodb VALUES (49);
-INSERT INTO myisam_innodb VALUES (50);
-sync_slave_with_master;
-connection master;
-INSERT INTO innodb_myisam VALUES (51);
-INSERT INTO innodb_myisam VALUES (52);
-sync_slave_with_master;
-connection master;
-
-INSERT INTO myisam_ndb VALUES (53);
-INSERT INTO myisam_ndb VALUES (54);
-sync_slave_with_master;
-connection master;
-INSERT INTO ndb_myisam VALUES (55);
-INSERT INTO ndb_myisam VALUES (56);
-sync_slave_with_master;
-connection master;
-
-INSERT INTO ndb_innodb VALUES (57);
-INSERT INTO ndb_innodb VALUES (58);
-sync_slave_with_master;
-connection master;
-INSERT INTO innodb_ndb VALUES (59);
-INSERT INTO innodb_ndb VALUES (60);
-sync_slave_with_master;
-connection master;
-
-
---echo ==== AUTOCOMMIT=0, single statements, myisam on master ====
-
-SET AUTOCOMMIT = 0;
-
-# These tests do not work in ROW mode after the changes introduced in
-# BUG#40116. After WL#2687 is pushed, these tests should be enabled
-# again.
---disable_parsing
-# This tests BUG#29288.
-INSERT INTO myisam_innodb VALUES (61);
-INSERT INTO myisam_innodb VALUES (62);
-sync_slave_with_master;
-connection master;
-
-INSERT INTO myisam_ndb VALUES (63);
-INSERT INTO myisam_ndb VALUES (64);
-sync_slave_with_master;
-connection master;
---enable_parsing
-
-
---echo ==== Show results ====
-
-SELECT * FROM myisam_innodb ORDER BY a;
-SELECT * FROM innodb_myisam ORDER BY a;
-SELECT * FROM myisam_ndb ORDER BY a;
-SELECT * FROM ndb_myisam ORDER BY a;
-SELECT * FROM innodb_ndb ORDER BY a;
-SELECT * FROM ndb_innodb ORDER BY a;
-
-let $diff_table_1=master:test.myisam_innodb;
-let $diff_table_2=slave:test.myisam_innodb;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.innodb_myisam;
-let $diff_table_2=slave:test.innodb_myisam;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.myisam_ndb;
-let $diff_table_2=slave:test.myisam_ndb;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.ndb_myisam;
-let $diff_table_2=slave:test.ndb_myisam;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.innodb_ndb;
-let $diff_table_2=slave:test.innodb_ndb;
-source include/diff_tables.inc;
-
-let $diff_table_1=master:test.ndb_innodb;
-let $diff_table_2=slave:test.ndb_innodb;
-source include/diff_tables.inc;
-
-
---echo ==== Clean up ====
-
-drop table myisam_innodb, innodb_myisam;
-drop table myisam_ndb, ndb_myisam;
-drop table innodb_ndb, ndb_innodb;
-sync_slave_with_master;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test
deleted file mode 100644
index 800362db67a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test
+++ /dev/null
@@ -1,73 +0,0 @@
---source include/have_multi_ndb.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-# note: server2 is another "master" connected to the master cluster
-
-#
-# Currently test only works with ndb since it retrieves "old"
-# binlog positions with mysql.ndb_binlog_index and ndb_apply_status;
-#
-
-# create a table with one row, and make sure the other "master" gets it
-CREATE TABLE t1 (c1 CHAR(15), c2 CHAR(15), c3 INT, PRIMARY KEY (c3)) ENGINE = NDB ;
-connection server2;
-reset master;
-SHOW TABLES;
-connection master;
-INSERT INTO t1 VALUES ("row1","will go away",1);
-SELECT * FROM t1 ORDER BY c3;
-connection server2;
-SELECT * FROM t1 ORDER BY c3;
-
-# sync slave and retrieve epoch and stop the slave
-connection master;
-sync_slave_with_master;
---replace_column 1 <the_epoch>
-SELECT @the_epoch:=MAX(epoch) FROM mysql.ndb_apply_status;
-let $the_epoch= `select @the_epoch` ;
-SELECT * FROM t1 ORDER BY c3;
-stop slave;
-
-# get the master binlog pos from the epoch, from the _other_ "master", server2
-connection server2;
---replace_result $the_epoch <the_epoch>
-eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1)
- FROM mysql.ndb_binlog_index WHERE epoch = $the_epoch ;
-let $the_pos= `SELECT @the_pos` ;
-let $the_file= `SELECT @the_file` ;
-
-# now connect the slave to the _other_ "master"
-connection slave;
---replace_result $MASTER_MYPORT1 <MASTER_PORT1>
---replace_regex /master_log_pos = [0-9]+/master_log_pos = BINLOG_START/
-eval CHANGE MASTER TO
- master_port=$MASTER_MYPORT1,
- master_log_file = '$the_file',
- master_log_pos = $the_pos ;
-start slave;
-
-# insert some more values on the first master
-connection master;
-INSERT INTO t1 VALUES ("row2","will go away",2),("row3","will change",3),("row4","D",4);
-DELETE FROM t1 WHERE c3 = 1;
-UPDATE t1 SET c2="should go away" WHERE c3 = 2;
-UPDATE t1 SET c2="C" WHERE c3 = 3;
-DELETE FROM t1 WHERE c3 = 2;
-
-SELECT * FROM t1 ORDER BY c3;
-
-# insert another row, and check that we have it on the slave
-connection server2;
-INSERT INTO t1 VALUES ("row5","E",5);
-SELECT * FROM t1 ORDER BY c3;
-sync_slave_with_master;
-connection slave;
-SELECT * FROM t1 ORDER BY c3;
-
---echo ==== clean up ====
-connection server2;
-DROP TABLE t1;
-sync_slave_with_master;
-
-STOP SLAVE;
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2-slave.opt
deleted file mode 100644
index 17d4171af0e..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-ignore-table=nothing.sensible
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test
deleted file mode 100644
index 6b86f8146f8..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test
+++ /dev/null
@@ -1,13 +0,0 @@
-############################################################
-# By JBM 2006-02-15 Wrapper for rpl_multi_update2.test #
-# to reuse test code between engine runs #
-############################################################
--- source include/have_ndb.inc
-
-# Run this only for row based replication, as replication of
-# auto_increment values are not supported with NDB as storage engine
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-
-let $engine_type=NDB;
---source extra/rpl_tests/rpl_multi_update2.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test
deleted file mode 100644
index 0375fd7fe6d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test
+++ /dev/null
@@ -1,11 +0,0 @@
-############################################################
-# By JBM 2006-02-15 Wrapper for rpl_multi_update3.test #
-# to reuse test code between engine runs #
-############################################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_multi_update3.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt
deleted file mode 100644
index b63ef44e8fc..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---new --default-storage-engine=ndbcluster
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test
deleted file mode 100644
index a9e56d17139..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test
+++ /dev/null
@@ -1,14 +0,0 @@
-#############################################################
-# Author: JBM
-# Date: 2006-02-24
-# Purpose: Trying to test ability to replicate from cluster
-# to innodb, or myisam, or replicate from innodb/myisam to
-# cluster slave. Due to limitations I have created wrappers
-# to be able to use the same code for all these different
-# test and to have control over the tests.
-##############################################################
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-SET storage_engine=myisam;
---source extra/rpl_tests/rpl_ndb_2multi_eng.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate-slave.opt
deleted file mode 100644
index 2211d2dbb2d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate-slave.opt
+++ /dev/null
@@ -1,3 +0,0 @@
---max_relay_log_size=16384
---loose-innodb
---log-warnings
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test
deleted file mode 100644
index b0b9dd9e7da..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test
+++ /dev/null
@@ -1,9 +0,0 @@
-############################################################
-# By JBM 2006-02-15 Wrapper for rpl_relayrotate.test #
-# to reuse test code between engine runs #
-############################################################
--- source include/have_ndb.inc
--- source include/have_ndb_extra.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_relayrotate.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore-slave.opt
deleted file mode 100644
index 6262cf451a6..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---replicate-ignore-db=test --replicate-ignore-table=replica.t1
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test
deleted file mode 100644
index 2d0c87927a5..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test
+++ /dev/null
@@ -1,60 +0,0 @@
-###########################################################
-# Author: Jeb
-# Date: 15-12-2006
-# Purpose: To test --replicate-ignore-table=db_name.tbl_name
-# and --replicate-ignore-db=db_name
-# using cluster. Only replica should replicate.
-##########################################################
-
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
---disable_warnings
-DROP DATABASE IF EXISTS replica;
---enable_warnings
-
-# Create database and tables for the test.
-CREATE DATABASE replica;
-CREATE TABLE t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-USE replica;
-CREATE TABLE replica.t1 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-CREATE TABLE replica.t2 (a INT NOT NULL KEY, b text NOT NULL)ENGINE=NDB;
-
-# Insert data into db that should not be picked up by slave
-USE test;
-INSERT INTO t1 VALUES(1, repeat('abc',10));
-INSERT INTO t2 VALUES(1, repeat('abc',10));
-SHOW TABLES;
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-
-# Insert data into db that should be replicated
-USE replica;
-INSERT INTO replica.t1 VALUES(2, repeat('def',200));
-INSERT INTO replica.t2 VALUES(2, repeat('def',200));
-SHOW TABLES;
-SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-
-# Check results on slave
---sync_slave_with_master
-SHOW TABLES;
-USE replica;
-SHOW TABLES;
-#SELECT COUNT(*) FROM t1;
-SELECT COUNT(*) FROM t2;
-USE test;
-SHOW TABLES;
-
-# Cleanup from testing
-connection master;
-USE test;
-DROP TABLE t1, t2;
-DROP DATABASE IF EXISTS replica;
---sync_slave_with_master
-
-# End 5.1 test case
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test
deleted file mode 100644
index c711e6ddfa3..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test
+++ /dev/null
@@ -1,10 +0,0 @@
-########################################################
-# By JBM 2005-02-15 Wrapped to allow reuse of test code#
-########################################################
---source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
---source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_row_001.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_implicit_commit_binlog.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_implicit_commit_binlog.test
deleted file mode 100644
index 3ddf659f1e9..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_row_implicit_commit_binlog.test
+++ /dev/null
@@ -1,9 +0,0 @@
-################################################################################
-# Check file extra/rpl_tests/rpl_implicit_commit_binlog.test
-################################################################################
---source include/have_binlog_format_row.inc
---source include/have_ndb.inc
---source include/ndb_master-slave.inc
-
---let $engine=NDB
---source extra/rpl_tests/rpl_implicit_commit_binlog.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test
deleted file mode 100644
index 454807d9591..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test
+++ /dev/null
@@ -1,6 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-
--- let $engine= NDB
--- source extra/rpl_tests/rpl_set_null.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test
deleted file mode 100644
index a8dab098df5..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test
+++ /dev/null
@@ -1,13 +0,0 @@
-#################################
-# Wrapper for rpl_row_sp003.test#
-# These tests have been wrapped #
-# so the same code can be used #
-# For different engines #
-#################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDBCLUSTER;
--- source extra/rpl_tests/rpl_row_sp003.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test
deleted file mode 100644
index f005d9cd67a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test
+++ /dev/null
@@ -1,13 +0,0 @@
-#################################
-# Wrapper for rpl_row_sp006.test#
-# These tests have been wrapped #
-# so the same code can be used #
-# For different engines #
-#################################
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDBCLUSTER;
--- source extra/rpl_tests/rpl_row_sp006.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-master.opt
deleted file mode 100644
index 416f8692654..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-innodb --default-storage-engine=innodb
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-slave.opt
deleted file mode 100644
index 96f0ce3f36c..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-slave.opt
+++ /dev/null
@@ -1 +0,0 @@
---default-storage-engine=MyISAM
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test
deleted file mode 100644
index 5e54ca38dc1..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test
+++ /dev/null
@@ -1,40 +0,0 @@
-#############################################
-#Authors: TU and Jeb
-#Date: 2007/04
-#Purpose: Generic replication to cluster
-# and ensuring that the ndb_apply_status
-# table is updated.
-#############################################
-# Notes:
-# include/select_ndb_apply_status.inc
-# Selects out the log name, start & end pos
-# from the ndb_apply_status table
-#
-# include/show_binlog_using_logname.inc
-# To select out 1 row from offset 1
-# from the start position in the binlog whose
-# name is = log_name
-#
-# include/tpcb.inc
-# Creates DATABASE tpcb, the tables and
-# stored procedures for loading the DB
-# and for running transactions against DB.
-##############################################
-
-
-## Includes ##
-
---disable_query_log
---source include/have_ndb.inc
---source include/have_innodb.inc
---source include/ndb_master-slave.inc
---enable_query_log
-
-# statement format is supported because master uses innodb
-SET binlog_format = STATEMENT;
-let $off_set = 6;
-let $rpl_format = 'SBR';
-disable_query_log;
-call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
-enable_query_log;
---source extra/rpl_tests/rpl_ndb_apply_status.test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test
deleted file mode 100644
index 152839c8676..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test
+++ /dev/null
@@ -1,101 +0,0 @@
---source include/have_ndb.inc
---source include/ndb_default_cluster.inc
---source include/not_embedded.inc
---source include/have_binlog_format_mixed_or_row.inc
---source include/ndb_master-slave.inc
-
-#
-# Currently test only works with ndb since it retrieves "old"
-# binlog positions with mysql.ndb_binlog_index and ndb_apply_status;
-#
-
-# stop the save
---connection slave
-STOP SLAVE;
-CREATE DATABASE ndbsynctest;
-USE ndbsynctest;
-
-# get some data on the master
---connection master
-CREATE DATABASE ndbsynctest;
-USE ndbsynctest;
-CREATE TABLE t1 (c1 BIT(1) NOT NULL, c2 BIT(1) NOT NULL, c3 CHAR(15), PRIMARY KEY(c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES (1,1,"row1"),(0,1,"row2"),(1,0,"row3"),(0,0,"row4");
-CREATE TABLE t2 (c1 CHAR(15), c2 BIT(1) NOT NULL, c3 BIT(1) NOT NULL, PRIMARY KEY(c1)) ENGINE = NDB ;
-INSERT INTO t2 VALUES ("ABC",1,1),("BCDEF",0,1),("CD",1,0),("DEFGHIJKL",0,0);
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
-
-# take a backup on master
---source include/ndb_backup.inc
-
-# update a row
-UPDATE t1 SET c2=0 WHERE c3="row2";
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-
-# restore on slave, first check that nothing is there
---connection slave
-
-# we should have no tables
-SHOW TABLES;
-
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-#
-# BUG#11960
-# prior to bugfix "DROP DATABASE" would give a warning since
-# the events were not created by ndb_restore
-#
-DROP DATABASE ndbsynctest;
-CREATE DATABASE ndbsynctest;
-USE ndbsynctest;
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING_SLAVE" -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
-
-# continue test
-SHOW TABLES;
-
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
-
-#
-# now setup replication to continue from last epoch
---source include/ndb_setup_slave.inc
---connection slave
-START SLAVE;
-
-#
-#
-#
---connection master
---sync_slave_with_master
---source include/check_slave_is_running.inc
-
-SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
-SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
-
-#
-# Cleanup
-#
-
---connection master
-DROP DATABASE ndbsynctest;
---sync_slave_with_master
---connection slave
-STOP SLAVE;
-
-#
-# Test some replication commands
-#
---connection master
-reset master;
-# should now contain nothing
-select * from mysql.ndb_binlog_index;
-
---connection slave
-reset slave;
-# should now contain nothing
-select * from mysql.ndb_apply_status;
-
-# End 5.1 Test
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test
deleted file mode 100644
index 1fef32b7a65..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test
+++ /dev/null
@@ -1,17 +0,0 @@
-#############################################################################
-# Original Author: JBM #
-# Original Date: 2006-02-14 #
-#############################################################################
-# TEST: Use before insert triggers and has the second insert fail #
-# Test is wrapped to save code and share between engines #
-#############################################################################
-
-# Includes
--- source include/have_ndb.inc
-# Since the master generates row-based events, the slave must be in
-# ROW or MIXED mode to accept the events.
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-let $engine_type=NDB;
--- source extra/rpl_tests/rpl_trig004.test
-
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test b/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test
deleted file mode 100644
index 543393b980d..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test
+++ /dev/null
@@ -1,11 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/have_ndbapi_examples.inc
--- source include/ndb_master-slave.inc
-
---exec echo Running ndbapi_simple_dual
---exec $NDB_EXAMPLES_DIR/ndbapi_simple_dual/ndbapi_simple_dual $MASTER_MYSOCK "$NDB_CONNECTSTRING" $SLAVE_MYSOCK "$NDB_CONNECTSTRING_SLAVE" >> $NDB_EXAMPLES_OUTPUT
-
---exec echo Running mgmapi_logevent
---exec $NDB_EXAMPLES_DIR/mgmapi_logevent/mgmapi_logevent "$NDB_CONNECTSTRING" "$NDB_CONNECTSTRING_SLAVE" 1 >> $NDB_EXAMPLES_OUTPUT
-
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test b/mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test
deleted file mode 100644
index 3a17de1bc9e..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test
+++ /dev/null
@@ -1,8 +0,0 @@
--- source include/have_ndb.inc
--- source include/have_binlog_format_mixed_or_row.inc
--- source include/ndb_master-slave.inc
-
-let $type= 'NDB' ;
-let $extra_index= ;
--- source extra/rpl_tests/rpl_row_basic.test
--- source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test b/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test
deleted file mode 100644
index d3b80297ffc..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test
+++ /dev/null
@@ -1,66 +0,0 @@
-
---source include/have_ndb.inc
---source include/ndb_master-slave.inc
---source include/have_binlog_format_mixed_or_row.inc
-
---disable_query_log
---disable_warnings
-connection slave;
-STOP SLAVE;
-connection master;
-DROP TABLE IF EXISTS t1;
-RESET MASTER;
-connection slave;
-DROP TABLE IF EXISTS t1;
-RESET SLAVE;
-START SLAVE;
---enable_warnings
---enable_query_log
-
---echo **** On Master ****
-connection master;
-CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
-INSERT INTO t1 VALUES (1,1), (2,2);
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Slave ****
-# This is silly, but NDB doesn't add to the binlog fast enough
---real_sleep 10
-sync_slave_with_master;
-INSERT INTO t1 VALUE (3,3);
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Master ****
-connection master;
-TRUNCATE TABLE t1;
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Slave ****
-sync_slave_with_master;
-# Should be empty
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Master ****
-connection master;
-DROP TABLE t1;
---source include/show_binlog_events.inc
-
---echo **** On Master ****
-connection master;
-CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
-INSERT INTO t1 VALUES (1,1), (2,2);
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Slave ****
-sync_slave_with_master;
-INSERT INTO t1 VALUE (3,3);
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Master ****
-connection master;
-DELETE FROM t1;
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Slave ****
-sync_slave_with_master;
-# Should be empty
-SELECT * FROM t1 ORDER BY a,b;
---echo **** On Master ****
-connection master;
-DROP TABLE t1;
---source include/show_binlog_events.inc
-
--- source include/master-slave-end.inc
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2-master.opt
deleted file mode 100644
index 01cf3e0520f..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---binlog-format=mixed
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test b/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test
deleted file mode 100644
index 549227db61a..00000000000
--- a/mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb_2.test
+++ /dev/null
@@ -1,11 +0,0 @@
-# Same test as rpl_truncate_7ndb.test, but with mixed mode
-# This is marked with 'big_test' just because the rpl_truncate_7ndb test is
-# so slow...
-
-# Last Change: 2008-09-03
-# Change Author: pcrews
-# Change: Moved test to rpl_ndb suite, updated location of --source .test file
-
---source include/have_binlog_format_mixed.inc
---source include/big_test.inc
---source suite/rpl_ndb/t/rpl_truncate_7ndb.test
diff --git a/mysql-test/suite/stress/r/ddl_ndb.result b/mysql-test/suite/stress/r/ddl_ndb.result
deleted file mode 100644
index 05c29456f7c..00000000000
--- a/mysql-test/suite/stress/r/ddl_ndb.result
+++ /dev/null
@@ -1,216 +0,0 @@
-SET @@session.sql_mode = 'NO_ENGINE_SUBSTITUTION';
-PREPARE stmt_start FROM "SELECT UNIX_TIMESTAMP() INTO @start";
-SET @runtime = <intended_runtime>;
-PREPARE stmt_break FROM "SELECT UNIX_TIMESTAMP() - @start > @runtime - 1";
-DROP TABLE IF EXISTS t1;
-# Subtest 1A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
-ENGINE = NDB
-# default: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
-# default: DROP TABLE t1
-# Subtest 1B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
-ENGINE = NDB
-# default: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
-# default: DROP TABLE t1
-# Subtest 1C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
-ENGINE = NDB
-# con2: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
-# con2: DROP TABLE t1
-# Subtest 1D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT,f2 BIGINT,UNIQUE(f1),UNIQUE(f2))
-ENGINE = NDB
-# con2: INSERT INTO t1 VALUES (1,1), (2,2), (3,3)
-# con2: DROP TABLE t1
-# Subtest 2A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 ENGINE = NDB AS SELECT 1 AS f1
-# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
-# default: DROP TABLE t1
-# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
-# Subtest 2B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 ENGINE = NDB AS SELECT 1 AS f1
-# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
-# default: DROP TABLE t1
-# default: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
-# Subtest 2C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 ENGINE = NDB AS SELECT 1 AS f1
-# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
-# default: DROP TABLE t1
-# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
-# Subtest 2D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 ENGINE = NDB AS SELECT 1 AS f1
-# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1
-# default: DROP TABLE t1
-# con2: SELECT COUNT(*) <> 1 FROM t1 WHERE f1 = 1 (expect to get ER_NO_SUCH_TABLE)
-# Subtest 3A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB
-# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
-# default: DROP TABLE t1
-# default: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
-# Subtest 3B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB
-# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
-# default: DROP TABLE t1
-# default: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
-# Subtest 3C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB
-# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
-# default: DROP TABLE t1
-# con2: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
-# Subtest 3D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB
-# con2: CREATE TABLE t1 (f1 BIGINT NOT NULL) ENGINE=NDB (expect to get ER_TABLE_EXISTS_ERROR)
-# default: DROP TABLE t1
-# con2: DROP TABLE t1 (expect to get ER_BAD_TABLE_ERROR)
-CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=NDB;
-DROP TABLE t1;
-CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB;
-DROP TABLE t1;
-# Subtest 4A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=NDB
-# default: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# default: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB
-# default: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# Subtest 4B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=NDB
-# default: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# default: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB
-# default: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# Subtest 4C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=NDB
-# con2: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# con2: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB
-# con2: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# Subtest 4D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1), UNIQUE (f2)) ENGINE=NDB
-# con2: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# con2: SHOW CREATE TABLE t1 (expect to get ER_NO_SUCH_TABLE)
-# default: CREATE TABLE t1 (f1 BIGINT) ENGINE=NDB
-# con2: SHOW CREATE TABLE t1
-# default: DROP TABLE t1
-# Subtest 5A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = NDB
-# default: INSERT INTO t1 SET f2 = 9
-# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
-# default: DROP TABLE t1
-# Subtest 5B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = NDB
-# default: INSERT INTO t1 SET f2 = 9
-# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
-# default: DROP TABLE t1
-# Subtest 5C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = NDB
-# con2: INSERT INTO t1 SET f2 = 9
-# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
-# con2: DROP TABLE t1
-# Subtest 5D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE TABLE t1 (f1 MEDIUMINT NOT NULL AUTO_INCREMENT,f2 BIGINT, UNIQUE(f1)) ENGINE = NDB
-# con2: INSERT INTO t1 SET f2 = 9
-# default: SELECT f1 <> 1 OR f1 IS NULL FROM t1 WHERE f2 = 9
-# con2: DROP TABLE t1
-CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=NDB;
-# Subtest 6A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# default: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
-# default: DROP INDEX IDX1 ON t1
-# default: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# default: DROP INDEX IDX1 ON t1
-# Subtest 6B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# default: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
-# default: DROP INDEX IDX1 ON t1
-# default: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# default: DROP INDEX IDX1 ON t1
-# Subtest 6C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# con2: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
-# default: DROP INDEX IDX1 ON t1
-# con2: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# con2: DROP INDEX IDX1 ON t1
-# Subtest 6D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# con2: CREATE INDEX IDX1 ON t1 (f2) (expect to get ER_DUP_KEYNAME)
-# default: DROP INDEX IDX1 ON t1
-# con2: DROP INDEX IDX1 ON t1 (expect to get ER_CANT_DROP_FIELD_OR_KEY)
-# default: CREATE INDEX IDX1 ON t1 (f2)
-# con2: DROP INDEX IDX1 ON t1
-DROP TABLE t1;
-CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=NDB;
-INSERT INTO t1 VALUES(1,1);
-CREATE INDEX IDX ON t1 (f2);
-DROP INDEX IDX ON t1;
-CREATE UNIQUE INDEX IDX ON t1 (f2);
-DROP INDEX IDX ON t1;
-# Subtest 8A (one connection, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX ON t1 (f2)
-# default: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
-# default: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# Subtest 8B (one connection, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX ON t1 (f2)
-# default: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
-# default: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# Subtest 8C (two connections, no PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX ON t1 (f2)
-# con2: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
-# con2: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# Subtest 8D (two connections, use PREPARE/EXECUTE)
-# connection action
-# default: CREATE INDEX IDX ON t1 (f2)
-# con2: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-# default: CREATE UNIQUE INDEX IDX ON t1 (f2)
-# con2: SHOW CREATE TABLE t1
-# default: DROP INDEX IDX ON t1
-DROP TABLE t1;
-DEALLOCATE PREPARE stmt_start;
-DEALLOCATE PREPARE stmt_break;
diff --git a/mysql-test/suite/stress/t/ddl_ndb.test b/mysql-test/suite/stress/t/ddl_ndb.test
deleted file mode 100644
index 1e0a3680f8a..00000000000
--- a/mysql-test/suite/stress/t/ddl_ndb.test
+++ /dev/null
@@ -1,58 +0,0 @@
-######## t/ddl_ndb.test ######
-#
-# Stress the storage engine NDB with CREATE/DROP TABLE/INDEX
-#
-# Please look for details within include/ddl1.inc.
-#
-# Creation of this test:
-# 2007-07-04 mleich
-#
-
-# Storage engine to be used in CREATE TABLE
---source include/have_ndb.inc
-connection default;
-
-let $engine_type= NDB;
-
-
-if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0`)
-{
- --skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
-}
-# Attention: We set here much smaller values for $runtime and $loop_size compared
-# to the other storage engines.
-# The reason is that NDB is extreme slow and should not exceed
-# the "testcase-timeout".
-let $run= `SELECT '$BIG_TEST' = '1'`;
-if ($run)
-{
- # A run started with "--big-test" should be allowed to consume more time.
- # Rough intended runtime per subtest variant in seconds
- let $runtime = 5;
- # number of rounds till we look at the clock again
- let $loop_size= 3;
-}
-if (!$run)
-{
- let $runtime = 1;
- let $loop_size= 1;
-}
-
-
-##### Some preparations needed for the ddl*.inc scripts
---source suite/stress/include/ddl.pre
-
---source suite/stress/include/ddl1.inc
---source suite/stress/include/ddl2.inc
---source suite/stress/include/ddl3.inc
---source suite/stress/include/ddl4.inc
---source suite/stress/include/ddl5.inc
---source suite/stress/include/ddl6.inc
-# The following test suffers from
-# Bug#26043 UNIQUE INDEX create always fails after constraint violation
-# and is therefore set to comment.
-# --source suite/stress/include/ddl7.inc
---source suite/stress/include/ddl8.inc
-
-##### Cleanup
---source suite/stress/include/ddl.cln
diff --git a/mysql-test/suite/sys_vars/inc/autocommit_func2.inc b/mysql-test/suite/sys_vars/inc/autocommit_func2.inc
new file mode 100644
index 00000000000..5fff72157b4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/inc/autocommit_func2.inc
@@ -0,0 +1,29 @@
+--source include/have_innodb.inc
+
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+
+SELECT @@global.autocommit;
+SELECT @@autocommit;
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+ROLLBACK;
+SELECT * from t1;
+
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+SELECT @@autocommit;
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+ROLLBACK;
+SELECT * from t1;
+
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;
diff --git a/mysql-test/suite/sys_vars/inc/binlog_stmt_cache_size_basic.inc b/mysql-test/suite/sys_vars/inc/binlog_stmt_cache_size_basic.inc
new file mode 100644
index 00000000000..f5df54b7acd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/inc/binlog_stmt_cache_size_basic.inc
@@ -0,0 +1,154 @@
+################ mysql-test\t\binlog_stmt_cache_size_basic.test ################
+# #
+# Variable Name: binlog_stmt_cache_size #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 32768 #
+# Range: 4096 - 4294967295 #
+# #
+# #
+# Creation Date: 2010-10-12 #
+# Author: Alfranio Correia #
+# #
+# Description: Test Cases of Dynamic System Variable "binlog_stmt_cache_size" #
+# that checks behavior of this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity . #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.5/en/ #
+# server-system-variables.html#option_mysqld_binlog_stmt_cache_size #
+# #
+################################################################################
+
+#################################################################
+# START OF binlog_stmt_cache_size TESTS #
+#################################################################
+
+#########################################################################
+# Saving initial value of binlog_stmt_cache_size in a temporary variable #
+#########################################################################
+
+SET @start_value = @@global.binlog_stmt_cache_size;
+SELECT @start_value;
+
+--echo '#--------------------FN_DYNVARS_006_01------------------------#'
+#########################################################################
+# Display the DEFAULT value of binlog_stmt_cache_size #
+#########################################################################
+
+SET @@global.binlog_stmt_cache_size = 100;
+SET @@global.binlog_stmt_cache_size = DEFAULT;
+SELECT @@global.binlog_stmt_cache_size;
+
+
+--echo '#---------------------FN_DYNVARS_006_02-------------------------#'
+###############################################
+# Verify default value of variable #
+###############################################
+
+SET @@global.binlog_stmt_cache_size = @start_value;
+SELECT @@global.binlog_stmt_cache_size = 32768;
+
+
+--echo '#--------------------FN_DYNVARS_006_03------------------------#'
+#########################################################################
+# Change the value of binlog_stmt_cache_size to a valid value #
+#########################################################################
+
+SET @@global.binlog_stmt_cache_size = 4096;
+SELECT @@global.binlog_stmt_cache_size;
+SET @@global.binlog_stmt_cache_size = 4294967295;
+SELECT @@global.binlog_stmt_cache_size;
+SET @@global.binlog_stmt_cache_size = 10000;
+SELECT @@global.binlog_stmt_cache_size;
+SET @@global.binlog_stmt_cache_size = 21221204;
+SELECT @@global.binlog_stmt_cache_size;
+echo 'Bug: Invalid values are coming in variable on assigning valid values';
+
+
+--echo '#--------------------FN_DYNVARS_006_04-------------------------#'
+############################################################################
+# Change the value of binlog_stmt_cache_size to invalid value #
+############################################################################
+
+SET @@global.binlog_stmt_cache_size = 1024;
+SELECT @@global.binlog_stmt_cache_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.binlog_stmt_cache_size = 10000.01;
+SET @@global.binlog_stmt_cache_size = -1024;
+SELECT @@global.binlog_stmt_cache_size;
+SET @@global.binlog_stmt_cache_size = 42949672950;
+SELECT @@global.binlog_stmt_cache_size;
+echo 'Bug: Errors are not coming on assigning invalid values to variable';
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.binlog_stmt_cache_size = ON;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.binlog_stmt_cache_size = 'test';
+
+
+--echo '#-------------------FN_DYNVARS_006_05----------------------------#'
+############################################################################
+# Test if accessing session binlog_stmt_cache_size gives error #
+############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.binlog_stmt_cache_size = 0;
+
+
+--echo '#----------------------FN_DYNVARS_006_06------------------------#'
+##############################################################################
+# Check if the value in GLOBAL Tables matches values in variable #
+##############################################################################
+
+SELECT @@global.binlog_stmt_cache_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='binlog_stmt_cache_size';
+
+--echo '#---------------------FN_DYNVARS_006_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.binlog_stmt_cache_size = TRUE;
+SELECT @@global.binlog_stmt_cache_size;
+SET @@global.binlog_stmt_cache_size = FALSE;
+SELECT @@global.binlog_stmt_cache_size;
+echo 'Bug: Errors are not coming on assigning TRUE/FALSE to variable';
+
+--echo '#---------------------FN_DYNVARS_006_08----------------------#'
+###############################################################################
+# Check if accessing variable without SCOPE points to same global variable #
+###############################################################################
+
+SET @@global.binlog_stmt_cache_size = 1;
+SELECT @@binlog_stmt_cache_size = @@global.binlog_stmt_cache_size;
+
+--echo '#---------------------FN_DYNVARS_006_09----------------------#'
+###########################################################################
+# Check if binlog_stmt_cache_size can be accessed with and without @@ sign#
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET binlog_stmt_cache_size = 1;
+--Error ER_PARSE_ERROR
+SET global.binlog_stmt_cache_size = 1;
+--Error ER_UNKNOWN_TABLE
+SELECT global.binlog_stmt_cache_size;
+--Error ER_BAD_FIELD_ERROR
+SELECT binlog_stmt_cache_size = @@session.binlog_stmt_cache_size;
+
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.binlog_stmt_cache_size = @start_value;
+SELECT @@global.binlog_stmt_cache_size;
+
+
+###########################################################
+# END OF binlog_stmt_cache_size TESTS #
+###########################################################
diff --git a/mysql-test/suite/sys_vars/r/all_vars.result b/mysql-test/suite/sys_vars/r/all_vars.result
index 0f741ff930a..af05e3bc393 100644
--- a/mysql-test/suite/sys_vars/r/all_vars.result
+++ b/mysql-test/suite/sys_vars/r/all_vars.result
@@ -3,6 +3,7 @@ create table t2 (variable_name text);
load data infile "MYSQLTEST_VARDIR/tmp/sys_vars.all_vars.txt" into table t1;
insert into t2 select variable_name from information_schema.global_variables;
insert into t2 select variable_name from information_schema.session_variables;
+delete from t2 where variable_name='innodb_change_buffering_debug';
update t2 set variable_name= replace(variable_name, "PERFORMANCE_SCHEMA_", "PFS_");
select variable_name as `There should be *no* long test name listed below:` from t2
where length(variable_name) > 50;
diff --git a/mysql-test/suite/sys_vars/r/autocommit_func2.result b/mysql-test/suite/sys_vars/r/autocommit_func2.result
new file mode 100644
index 00000000000..5fcb50526f2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/autocommit_func2.result
@@ -0,0 +1,46 @@
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+SELECT @@global.autocommit;
+@@global.autocommit
+1
+SELECT @@autocommit;
+@@autocommit
+1
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+@@global.autocommit
+0
+SELECT @@autocommit;
+@@autocommit
+0
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+3 Record_1
+4 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;
diff --git a/mysql-test/suite/sys_vars/r/autocommit_func3.result b/mysql-test/suite/sys_vars/r/autocommit_func3.result
new file mode 100644
index 00000000000..6807c594cb1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/autocommit_func3.result
@@ -0,0 +1,42 @@
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+SELECT @@global.autocommit;
+@@global.autocommit
+0
+SELECT @@autocommit;
+@@autocommit
+0
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+@@global.autocommit
+1
+SELECT @@autocommit;
+@@autocommit
+1
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+3 Record_1
+4 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+3 Record_1
+4 Record_2
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;
diff --git a/mysql-test/suite/sys_vars/r/autocommit_func4.result b/mysql-test/suite/sys_vars/r/autocommit_func4.result
new file mode 100644
index 00000000000..5fcb50526f2
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/autocommit_func4.result
@@ -0,0 +1,46 @@
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+SELECT @@global.autocommit;
+@@global.autocommit
+1
+SELECT @@autocommit;
+@@autocommit
+1
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+@@global.autocommit
+0
+SELECT @@autocommit;
+@@autocommit
+0
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+3 Record_1
+4 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;
diff --git a/mysql-test/suite/sys_vars/r/autocommit_func5.result b/mysql-test/suite/sys_vars/r/autocommit_func5.result
new file mode 100644
index 00000000000..6807c594cb1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/autocommit_func5.result
@@ -0,0 +1,42 @@
+CREATE TABLE t1
+(
+id INT NOT NULL auto_increment,
+PRIMARY KEY (id),
+name varchar(30)
+) ENGINE = INNODB;
+SELECT @@global.autocommit;
+@@global.autocommit
+0
+SELECT @@autocommit;
+@@autocommit
+0
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+1 Record_1
+2 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+set @@global.autocommit = 1-@@global.autocommit;
+set @@autocommit = 1-@@autocommit;
+SELECT @@global.autocommit;
+@@global.autocommit
+1
+SELECT @@autocommit;
+@@autocommit
+1
+INSERT into t1(name) values('Record_1');
+INSERT into t1(name) values('Record_2');
+SELECT * from t1;
+id name
+3 Record_1
+4 Record_2
+ROLLBACK;
+SELECT * from t1;
+id name
+3 Record_1
+4 Record_2
+DROP TABLE t1;
+set @@global.autocommit = 1-@@global.autocommit;
diff --git a/mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_32.result b/mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_32.result
new file mode 100644
index 00000000000..604f671d5a4
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_32.result
@@ -0,0 +1,108 @@
+SET @start_value = @@global.binlog_stmt_cache_size;
+SELECT @start_value;
+@start_value
+32768
+'#--------------------FN_DYNVARS_006_01------------------------#'
+SET @@global.binlog_stmt_cache_size = 100;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '100'
+SET @@global.binlog_stmt_cache_size = DEFAULT;
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+32768
+'#---------------------FN_DYNVARS_006_02-------------------------#'
+SET @@global.binlog_stmt_cache_size = @start_value;
+SELECT @@global.binlog_stmt_cache_size = 32768;
+@@global.binlog_stmt_cache_size = 32768
+1
+'#--------------------FN_DYNVARS_006_03------------------------#'
+SET @@global.binlog_stmt_cache_size = 4096;
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = 4294967295;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '4294967295'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4294963200
+SET @@global.binlog_stmt_cache_size = 10000;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '10000'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+8192
+SET @@global.binlog_stmt_cache_size = 21221204;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '21221204'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+21217280
+'Bug: Invalid values are coming in variable on assigning valid values'
+'#--------------------FN_DYNVARS_006_04-------------------------#'
+SET @@global.binlog_stmt_cache_size = 1024;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '1024'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = 10000.01;
+ERROR 42000: Incorrect argument type to variable 'binlog_stmt_cache_size'
+SET @@global.binlog_stmt_cache_size = -1024;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '-1024'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = 42949672950;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '42949672950'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4294963200
+'Bug: Errors are not coming on assigning invalid values to variable'
+SET @@global.binlog_stmt_cache_size = ON;
+ERROR 42000: Incorrect argument type to variable 'binlog_stmt_cache_size'
+SET @@global.binlog_stmt_cache_size = 'test';
+ERROR 42000: Incorrect argument type to variable 'binlog_stmt_cache_size'
+'#-------------------FN_DYNVARS_006_05----------------------------#'
+SET @@session.binlog_stmt_cache_size = 0;
+ERROR HY000: Variable 'binlog_stmt_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+'#----------------------FN_DYNVARS_006_06------------------------#'
+SELECT @@global.binlog_stmt_cache_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='binlog_stmt_cache_size';
+@@global.binlog_stmt_cache_size = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_006_07----------------------#'
+SET @@global.binlog_stmt_cache_size = TRUE;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '1'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '0'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+'Bug: Errors are not coming on assigning TRUE/FALSE to variable'
+'#---------------------FN_DYNVARS_006_08----------------------#'
+SET @@global.binlog_stmt_cache_size = 1;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '1'
+SELECT @@binlog_stmt_cache_size = @@global.binlog_stmt_cache_size;
+@@binlog_stmt_cache_size = @@global.binlog_stmt_cache_size
+1
+'#---------------------FN_DYNVARS_006_09----------------------#'
+SET binlog_stmt_cache_size = 1;
+ERROR HY000: Variable 'binlog_stmt_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+SET global.binlog_stmt_cache_size = 1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'binlog_stmt_cache_size = 1' at line 1
+SELECT global.binlog_stmt_cache_size;
+ERROR 42S02: Unknown table 'global' in field list
+SELECT binlog_stmt_cache_size = @@session.binlog_stmt_cache_size;
+ERROR 42S22: Unknown column 'binlog_stmt_cache_size' in 'field list'
+SET @@global.binlog_stmt_cache_size = @start_value;
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+32768
diff --git a/mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_64.result b/mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_64.result
new file mode 100644
index 00000000000..7cb553e48ee
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/binlog_stmt_cache_size_basic_64.result
@@ -0,0 +1,108 @@
+SET @start_value = @@global.binlog_stmt_cache_size;
+SELECT @start_value;
+@start_value
+32768
+'#--------------------FN_DYNVARS_006_01------------------------#'
+SET @@global.binlog_stmt_cache_size = 100;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '100'
+SET @@global.binlog_stmt_cache_size = DEFAULT;
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+32768
+'#---------------------FN_DYNVARS_006_02-------------------------#'
+SET @@global.binlog_stmt_cache_size = @start_value;
+SELECT @@global.binlog_stmt_cache_size = 32768;
+@@global.binlog_stmt_cache_size = 32768
+1
+'#--------------------FN_DYNVARS_006_03------------------------#'
+SET @@global.binlog_stmt_cache_size = 4096;
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = 4294967295;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '4294967295'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4294963200
+SET @@global.binlog_stmt_cache_size = 10000;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '10000'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+8192
+SET @@global.binlog_stmt_cache_size = 21221204;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '21221204'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+21217280
+'Bug: Invalid values are coming in variable on assigning valid values'
+'#--------------------FN_DYNVARS_006_04-------------------------#'
+SET @@global.binlog_stmt_cache_size = 1024;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '1024'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = 10000.01;
+ERROR 42000: Incorrect argument type to variable 'binlog_stmt_cache_size'
+SET @@global.binlog_stmt_cache_size = -1024;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '-1024'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = 42949672950;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '42949672950'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+42949668864
+'Bug: Errors are not coming on assigning invalid values to variable'
+SET @@global.binlog_stmt_cache_size = ON;
+ERROR 42000: Incorrect argument type to variable 'binlog_stmt_cache_size'
+SET @@global.binlog_stmt_cache_size = 'test';
+ERROR 42000: Incorrect argument type to variable 'binlog_stmt_cache_size'
+'#-------------------FN_DYNVARS_006_05----------------------------#'
+SET @@session.binlog_stmt_cache_size = 0;
+ERROR HY000: Variable 'binlog_stmt_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+'#----------------------FN_DYNVARS_006_06------------------------#'
+SELECT @@global.binlog_stmt_cache_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='binlog_stmt_cache_size';
+@@global.binlog_stmt_cache_size = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_006_07----------------------#'
+SET @@global.binlog_stmt_cache_size = TRUE;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '1'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+SET @@global.binlog_stmt_cache_size = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '0'
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+4096
+'Bug: Errors are not coming on assigning TRUE/FALSE to variable'
+'#---------------------FN_DYNVARS_006_08----------------------#'
+SET @@global.binlog_stmt_cache_size = 1;
+Warnings:
+Warning 1292 Truncated incorrect binlog_stmt_cache_size value: '1'
+SELECT @@binlog_stmt_cache_size = @@global.binlog_stmt_cache_size;
+@@binlog_stmt_cache_size = @@global.binlog_stmt_cache_size
+1
+'#---------------------FN_DYNVARS_006_09----------------------#'
+SET binlog_stmt_cache_size = 1;
+ERROR HY000: Variable 'binlog_stmt_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+SET global.binlog_stmt_cache_size = 1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'binlog_stmt_cache_size = 1' at line 1
+SELECT global.binlog_stmt_cache_size;
+ERROR 42S02: Unknown table 'global' in field list
+SELECT binlog_stmt_cache_size = @@session.binlog_stmt_cache_size;
+ERROR 42S22: Unknown column 'binlog_stmt_cache_size' in 'field list'
+SET @@global.binlog_stmt_cache_size = @start_value;
+SELECT @@global.binlog_stmt_cache_size;
+@@global.binlog_stmt_cache_size
+32768
diff --git a/mysql-test/suite/sys_vars/r/external_user_basic.result b/mysql-test/suite/sys_vars/r/external_user_basic.result
new file mode 100644
index 00000000000..7cb85fb612d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/external_user_basic.result
@@ -0,0 +1,3 @@
+SELECT @@SESSION.EXTERNAL_USER FROM DUAL;
+@@SESSION.EXTERNAL_USER
+NULL
diff --git a/mysql-test/suite/sys_vars/r/foreign_key_checks_func.result b/mysql-test/suite/sys_vars/r/foreign_key_checks_func.result
index 9b1736541c1..398a2a76eb8 100644
--- a/mysql-test/suite/sys_vars/r/foreign_key_checks_func.result
+++ b/mysql-test/suite/sys_vars/r/foreign_key_checks_func.result
@@ -26,7 +26,7 @@ INSERT INTO t2 values (20,22);
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `t1` (`a`))
'---Check when foreign_key_checks is disabled---'
TRUNCATE t1;
-ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `t1` (`a`))
+ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`test`.`t2`, CONSTRAINT `fk` FOREIGN KEY (`b`) REFERENCES `test`.`t1` (`a`))
SET @@session.foreign_key_checks = 0;
TRUNCATE t1;
TRUNCATE t2;
diff --git a/mysql-test/suite/sys_vars/r/innodb_file_format_basic.result b/mysql-test/suite/sys_vars/r/innodb_file_format_basic.result
index 41369038cf6..58e009ea705 100644
--- a/mysql-test/suite/sys_vars/r/innodb_file_format_basic.result
+++ b/mysql-test/suite/sys_vars/r/innodb_file_format_basic.result
@@ -1,28 +1,28 @@
SET @start_global_value = @@global.innodb_file_format;
SELECT @start_global_value;
@start_global_value
-Barracuda
+Antelope
Valid values are 'Antelope' and 'Barracuda'
select @@global.innodb_file_format in ('Antelope', 'Barracuda');
@@global.innodb_file_format in ('Antelope', 'Barracuda')
1
select @@global.innodb_file_format;
@@global.innodb_file_format
-Barracuda
+Antelope
select @@session.innodb_file_format;
ERROR HY000: Variable 'innodb_file_format' is a GLOBAL variable
show global variables like 'innodb_file_format';
Variable_name Value
-innodb_file_format Barracuda
+innodb_file_format Antelope
show session variables like 'innodb_file_format';
Variable_name Value
-innodb_file_format Barracuda
+innodb_file_format Antelope
select * from information_schema.global_variables where variable_name='innodb_file_format';
VARIABLE_NAME VARIABLE_VALUE
-INNODB_FILE_FORMAT Barracuda
+INNODB_FILE_FORMAT Antelope
select * from information_schema.session_variables where variable_name='innodb_file_format';
VARIABLE_NAME VARIABLE_VALUE
-INNODB_FILE_FORMAT Barracuda
+INNODB_FILE_FORMAT Antelope
set global innodb_file_format='Antelope';
select @@global.innodb_file_format;
@@global.innodb_file_format
@@ -56,4 +56,4 @@ ERROR 42000: Variable 'innodb_file_format' can't be set to the value of 'Salmon'
SET @@global.innodb_file_format = @start_global_value;
SELECT @@global.innodb_file_format;
@@global.innodb_file_format
-Barracuda
+Antelope
diff --git a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result
index baf06092126..55de5adbc33 100644
--- a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result
+++ b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result
@@ -64,12 +64,12 @@ SET last = pct;
END IF;
END WHILE;
END//
-CREATE PROCEDURE check_pct(IN num DECIMAL)
+CREATE PROCEDURE check_pct(IN success_on_wait BOOLEAN)
BEGIN
-IF (dirty_pct() < num) THEN
+IF (success_on_wait > 0) THEN
SELECT 'BELOW_MAX' AS PCT_VALUE;
ELSE
-SELECT 'ABOVE_MAX' AS PCT_VALUE;
+SELECT 'ABOVE_MAX or TimeOut Of The Test' AS PCT_VALUE;
END IF;
END//
CREATE TABLE t1(
@@ -83,7 +83,7 @@ CALL add_until(10);
FLUSH TABLES;
CALL add_records(500);
'We expect dirty pages pct to be BELOW_MAX after some time depending on performance'
-CALL check_pct(10);
+CALL check_pct(1);
PCT_VALUE
BELOW_MAX
DROP PROCEDURE add_records;
diff --git a/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result b/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
index 32048a7cfb0..ffa43415bd3 100644
--- a/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
+++ b/mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
@@ -7,6 +7,7 @@ SET @@global.max_allowed_packet = DEFAULT;
SET @@global.max_allowed_packet = 1000;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '1000'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SET @@global.max_allowed_packet = DEFAULT;
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
@@ -25,12 +26,15 @@ SELECT @@global.max_allowed_packet = 1048576;
1
'#--------------------FN_DYNVARS_070_03-------------------------#'
SET @@global.max_allowed_packet = 1024;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
SET @@global.max_allowed_packet = 1025;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '1025'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
@@ -74,18 +78,21 @@ SELECT @@session.max_allowed_packet;
SET @@global.max_allowed_packet = 0;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '0'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
SET @@global.max_allowed_packet = -1024;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '-1024'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
SET @@global.max_allowed_packet = 1023;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '1023'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
@@ -148,17 +155,21 @@ WHERE VARIABLE_NAME='max_allowed_packet';
SET @@global.max_allowed_packet = TRUE;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '1'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
SET @@global.max_allowed_packet = FALSE;
Warnings:
Warning 1292 Truncated incorrect max_allowed_packet value: '0'
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
1024
'#---------------------FN_DYNVARS_070_09----------------------#'
SET @@global.max_allowed_packet = 2048;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SELECT @@max_allowed_packet = @@global.max_allowed_packet;
@@max_allowed_packet = @@global.max_allowed_packet
0
diff --git a/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result b/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
index 0d682b65aea..1e20776973c 100644
--- a/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
+++ b/mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
@@ -23,6 +23,8 @@ SELECT @@session.net_buffer_length;
'#--------------------FN_DYNVARS_070_02-------------------------#'
## Setting value of max_allowed packet and net_buffer_length to 1024 ##
SET @@global.max_allowed_packet = 1024;
+Warnings:
+Warning 1708 The value of 'max_allowed_packet' should be no less than the value of 'net_buffer_length'
SET @@global.net_buffer_length = 1024;
SELECT @@global.max_allowed_packet;
@@global.max_allowed_packet
diff --git a/mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result b/mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result
new file mode 100644
index 00000000000..f2229a0090b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result
@@ -0,0 +1,152 @@
+SET @start_value = @@global.max_binlog_stmt_cache_size;
+SELECT @start_value;
+@start_value
+18446744073709547520
+'#--------------------FN_DYNVARS_072_01------------------------#'
+SET @@global.max_binlog_stmt_cache_size = 5000;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '5000'
+SET @@global.max_binlog_stmt_cache_size = DEFAULT;
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+18446744073709547520
+'#---------------------FN_DYNVARS_072_02-------------------------#'
+SET @@global.max_binlog_stmt_cache_size = @start_value;
+SELECT @@global.max_binlog_stmt_cache_size = 4294967295;
+@@global.max_binlog_stmt_cache_size = 4294967295
+0
+'#--------------------FN_DYNVARS_072_03------------------------#'
+SET @@global.max_binlog_stmt_cache_size = 4096;
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = 4294967295;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '4294967295'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4294963200
+SET @@global.max_binlog_stmt_cache_size = 4294967294;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '4294967294'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4294963200
+SET @@global.max_binlog_stmt_cache_size = 4097;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '4097'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = 65535;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '65535'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+61440
+'#--------------------FN_DYNVARS_072_04-------------------------#'
+SET @@global.max_binlog_stmt_cache_size = -1;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '-1'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = 100000000000;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '100000000000'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+99999997952
+SET @@global.max_binlog_stmt_cache_size = 10000.01;
+ERROR 42000: Incorrect argument type to variable 'max_binlog_stmt_cache_size'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+99999997952
+SET @@global.max_binlog_stmt_cache_size = -1024;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '-1024'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = 1024;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '1024'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = 4294967296;
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4294967296
+SET @@global.max_binlog_stmt_cache_size = 4095;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '4095'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = ON;
+ERROR 42000: Incorrect argument type to variable 'max_binlog_stmt_cache_size'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = 'test';
+ERROR 42000: Incorrect argument type to variable 'max_binlog_stmt_cache_size'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+'#-------------------FN_DYNVARS_072_05----------------------------#'
+SET @@session.max_binlog_stmt_cache_size = 4096;
+ERROR HY000: Variable 'max_binlog_stmt_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@session.max_binlog_stmt_cache_size;
+ERROR HY000: Variable 'max_binlog_stmt_cache_size' is a GLOBAL variable
+'#----------------------FN_DYNVARS_072_06------------------------#'
+SELECT @@global.max_binlog_stmt_cache_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
+@@global.max_binlog_stmt_cache_size = VARIABLE_VALUE
+1
+SELECT @@max_binlog_stmt_cache_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
+@@max_binlog_stmt_cache_size = VARIABLE_VALUE
+1
+'#---------------------FN_DYNVARS_072_07----------------------#'
+SET @@global.max_binlog_stmt_cache_size = TRUE;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '1'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+SET @@global.max_binlog_stmt_cache_size = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '0'
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+4096
+'#---------------------FN_DYNVARS_072_08----------------------#'
+SET @@global.max_binlog_stmt_cache_size = 5000;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '5000'
+SELECT @@max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size
+1
+'#---------------------FN_DYNVARS_072_09----------------------#'
+SET max_binlog_stmt_cache_size = 6000;
+ERROR HY000: Variable 'max_binlog_stmt_cache_size' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+4096
+SET local.max_binlog_stmt_cache_size = 7000;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_stmt_cache_size = 7000' at line 1
+SELECT local.max_binlog_stmt_cache_size;
+ERROR 42S02: Unknown table 'local' in field list
+SET global.max_binlog_stmt_cache_size = 8000;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_binlog_stmt_cache_size = 8000' at line 1
+SELECT global.max_binlog_stmt_cache_size;
+ERROR 42S02: Unknown table 'global' in field list
+SELECT max_binlog_stmt_cache_size = @@session.max_binlog_stmt_cache_size;
+ERROR 42S22: Unknown column 'max_binlog_stmt_cache_size' in 'field list'
+SET @@global.max_binlog_stmt_cache_size = @start_value;
+SELECT @@global.max_binlog_stmt_cache_size;
+@@global.max_binlog_stmt_cache_size
+18446744073709547520
diff --git a/mysql-test/suite/sys_vars/r/max_long_data_size_basic.result b/mysql-test/suite/sys_vars/r/max_long_data_size_basic.result
new file mode 100644
index 00000000000..679a0d3611f
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/max_long_data_size_basic.result
@@ -0,0 +1,14 @@
+select @@global.max_long_data_size=20;
+@@global.max_long_data_size=20
+0
+select @@session.max_long_data_size;
+ERROR HY000: Variable 'max_long_data_size' is a GLOBAL variable
+SELECT @@global.max_long_data_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='max_long_data_size';
+@@global.max_long_data_size = VARIABLE_VALUE
+1
+set global max_long_data_size=1;
+ERROR HY000: Variable 'max_long_data_size' is a read only variable
+set session max_long_data_size=1;
+ERROR HY000: Variable 'max_long_data_size' is a read only variable
diff --git a/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result b/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
index cab81890503..4ed63abbc3d 100644
--- a/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
+++ b/mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
@@ -60,6 +60,13 @@ set session optimizer_switch="index_merge";
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge'
set session optimizer_switch="foobar";
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'foobar'
+#
+# Bug#59894 set optimizer_switch to e or d causes invalid
+# memory writes/valgrind warnings
+
+set global optimizer_switch = 'd';
+set global optimizer_switch = 'e';
+ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'e'
SET @@global.optimizer_switch = @start_global_value;
SELECT @@global.optimizer_switch;
@@global.optimizer_switch
diff --git a/mysql-test/suite/sys_vars/r/proxy_user_basic.result b/mysql-test/suite/sys_vars/r/proxy_user_basic.result
new file mode 100644
index 00000000000..7cc62bd9665
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/proxy_user_basic.result
@@ -0,0 +1,3 @@
+SELECT @@SESSION.PROXY_USER FROM DUAL;
+@@SESSION.PROXY_USER
+NULL
diff --git a/mysql-test/suite/sys_vars/r/rpl_init_slave_func.result b/mysql-test/suite/sys_vars/r/rpl_init_slave_func.result
index 36b467696be..3563ecbfe0a 100644
--- a/mysql-test/suite/sys_vars/r/rpl_init_slave_func.result
+++ b/mysql-test/suite/sys_vars/r/rpl_init_slave_func.result
@@ -1,9 +1,5 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+include/master-slave.inc
+[connection master]
connection slave
SET @start_max_connections= @@global.max_connections;
SET @start_init_slave= @@global.init_slave;
@@ -30,6 +26,7 @@ STOP SLAVE;
RESET MASTER;
RESET SLAVE;
START SLAVE;
+include/wait_for_slave_to_start.inc
SELECT @@global.max_connections = @start_max_connections + 1;
@@global.max_connections = @start_max_connections + 1
1
@@ -39,6 +36,7 @@ STOP SLAVE;
RESET MASTER;
RESET SLAVE;
START SLAVE;
+include/wait_for_slave_to_start.inc
SHOW VARIABLES LIKE 'init_slave';
Variable_name Value
init_slave SET @a=5
@@ -48,3 +46,4 @@ NULL
Expect NULL
SET @@global.max_connections= @start_max_connections;
SET @@global.init_slave= @start_init_slave;
+include/rpl_end.inc
diff --git a/mysql-test/suite/sys_vars/r/secure_file_priv2.result b/mysql-test/suite/sys_vars/r/secure_file_priv2.result
new file mode 100644
index 00000000000..ec91b6037d0
--- /dev/null
+++ b/mysql-test/suite/sys_vars/r/secure_file_priv2.result
@@ -0,0 +1,6 @@
+CREATE TABLE t1 (c1 INT);
+LOAD DATA INFILE "t1.MYI" into table t1;
+ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
+LOAD DATA INFILE "/test" into table t1;
+ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
+DROP TABLE t1;
diff --git a/mysql-test/suite/sys_vars/r/shared_memory_base_name_basic.result b/mysql-test/suite/sys_vars/r/shared_memory_base_name_basic.result
index a94a906e121..356b3c9e879 100644
--- a/mysql-test/suite/sys_vars/r/shared_memory_base_name_basic.result
+++ b/mysql-test/suite/sys_vars/r/shared_memory_base_name_basic.result
@@ -1,20 +1,20 @@
select @@global.shared_memory_base_name;
@@global.shared_memory_base_name
-MYSQLTEST_VARDIR/tmp/mysqld.1.sock
+MYSQL_TMP_DIR/mysqld.1.sock
select @@session.shared_memory_base_name;
ERROR HY000: Variable 'shared_memory_base_name' is a GLOBAL variable
show global variables like 'shared_memory_base_name';
Variable_name Value
-shared_memory_base_name MYSQLTEST_VARDIR/tmp/mysqld.1.sock
+shared_memory_base_name MYSQL_TMP_DIR/mysqld.1.sock
show session variables like 'shared_memory_base_name';
Variable_name Value
-shared_memory_base_name MYSQLTEST_VARDIR/tmp/mysqld.1.sock
+shared_memory_base_name MYSQL_TMP_DIR/mysqld.1.sock
select * from information_schema.global_variables where variable_name='shared_memory_base_name';
VARIABLE_NAME VARIABLE_VALUE
-SHARED_MEMORY_BASE_NAME MYSQLTEST_VARDIR/tmp/mysqld.1.sock
+SHARED_MEMORY_BASE_NAME MYSQL_TMP_DIR/mysqld.1.sock
select * from information_schema.session_variables where variable_name='shared_memory_base_name';
VARIABLE_NAME VARIABLE_VALUE
-SHARED_MEMORY_BASE_NAME MYSQLTEST_VARDIR/tmp/mysqld.1.sock
+SHARED_MEMORY_BASE_NAME MYSQL_TMP_DIR/mysqld.1.sock
set global shared_memory_base_name=1;
ERROR HY000: Variable 'shared_memory_base_name' is a read only variable
set session shared_memory_base_name=1;
diff --git a/mysql-test/suite/sys_vars/t/all_vars.test b/mysql-test/suite/sys_vars/t/all_vars.test
index 74430787c26..d432aff7cc6 100644
--- a/mysql-test/suite/sys_vars/t/all_vars.test
+++ b/mysql-test/suite/sys_vars/t/all_vars.test
@@ -14,6 +14,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--source include/not_embedded.inc
+--source include/not_threadpool.inc
#
# load everything we want to include in the testing
@@ -61,6 +62,9 @@ eval load data infile "$MYSQLTEST_VARDIR/tmp/sys_vars.all_vars.txt" into table t
insert into t2 select variable_name from information_schema.global_variables;
insert into t2 select variable_name from information_schema.session_variables;
+# This is only present in debug builds.
+delete from t2 where variable_name='innodb_change_buffering_debug';
+
# Performance schema variables are too long for files named
# 'mysql-test/suite/sys_vars/t/' ...
# ... 'performance_schema_events_waits_history_long_size_basic-master.opt'
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func2-master.opt b/mysql-test/suite/sys_vars/t/autocommit_func2-master.opt
new file mode 100644
index 00000000000..85e5d17d5e8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func2-master.opt
@@ -0,0 +1 @@
+--autocommit=1
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func2.test b/mysql-test/suite/sys_vars/t/autocommit_func2.test
new file mode 100644
index 00000000000..9bb4c26d5d5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func2.test
@@ -0,0 +1 @@
+--source suite/sys_vars/inc/autocommit_func2.inc
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func3-master.opt b/mysql-test/suite/sys_vars/t/autocommit_func3-master.opt
new file mode 100644
index 00000000000..e0fa81e6eeb
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func3-master.opt
@@ -0,0 +1 @@
+--autocommit=0
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func3.test b/mysql-test/suite/sys_vars/t/autocommit_func3.test
new file mode 100644
index 00000000000..9bb4c26d5d5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func3.test
@@ -0,0 +1 @@
+--source suite/sys_vars/inc/autocommit_func2.inc
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func4-master.opt b/mysql-test/suite/sys_vars/t/autocommit_func4-master.opt
new file mode 100644
index 00000000000..788990274dd
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func4-master.opt
@@ -0,0 +1 @@
+--autocommit=on
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func4.test b/mysql-test/suite/sys_vars/t/autocommit_func4.test
new file mode 100644
index 00000000000..9bb4c26d5d5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func4.test
@@ -0,0 +1 @@
+--source suite/sys_vars/inc/autocommit_func2.inc
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func5-master.opt b/mysql-test/suite/sys_vars/t/autocommit_func5-master.opt
new file mode 100644
index 00000000000..409cb3ec891
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func5-master.opt
@@ -0,0 +1 @@
+--autocommit=off
diff --git a/mysql-test/suite/sys_vars/t/autocommit_func5.test b/mysql-test/suite/sys_vars/t/autocommit_func5.test
new file mode 100644
index 00000000000..9bb4c26d5d5
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/autocommit_func5.test
@@ -0,0 +1 @@
+--source suite/sys_vars/inc/autocommit_func2.inc
diff --git a/mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_32.test b/mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_32.test
new file mode 100644
index 00000000000..fe8f89ccc16
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_32.test
@@ -0,0 +1,7 @@
+################################################################################
+# Wrapper for 32 bit machines #
+################################################################################
+
+--source include/have_32bit.inc
+--source suite/sys_vars/inc/binlog_stmt_cache_size_basic.inc
+
diff --git a/mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_64.test b/mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_64.test
new file mode 100644
index 00000000000..c4a2c95d42b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/binlog_stmt_cache_size_basic_64.test
@@ -0,0 +1,7 @@
+################################################################################
+# Wrapper for 64 bit machines #
+################################################################################
+
+--source include/have_64bit.inc
+--source suite/sys_vars/inc/binlog_stmt_cache_size_basic.inc
+
diff --git a/mysql-test/suite/sys_vars/t/disabled.def b/mysql-test/suite/sys_vars/t/disabled.def
index ba9f819f96b..1cabae00b6f 100644
--- a/mysql-test/suite/sys_vars/t/disabled.def
+++ b/mysql-test/suite/sys_vars/t/disabled.def
@@ -9,10 +9,9 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
-query_cache_size_basic_32 : Bug#36747: Allocating a large query cache is not deterministic
-query_cache_size_basic_64 : Bug#36747: Allocating a large query cache is not deterministic
-transaction_prealloc_size_basic_32 : Bug#36747
-transaction_prealloc_size_basic_64 : Bug#36747
-#thread_cache_size_func : Bug#40575: 2008-11-07 joro main.thread_cache_size_func fails in pushbuild when run with pool of threads
-multi_range_count_basic_32 : no such variable
-multi_range_count_basic_64 : no such variable
+query_cache_size_basic_32 : Bug#11748572: Allocating a large query cache is not deterministic
+query_cache_size_basic_64 : Bug#11748572: Allocating a large query cache is not deterministic
+transaction_prealloc_size_basic_32 : Bug#11748572
+transaction_prealloc_size_basic_64 : Bug#11748572
+#thread_cache_size_func : Bug#11750172: 2008-11-07 joro main.thread_cache_size_func fails in pushbuild when run with pool of threads
+
diff --git a/mysql-test/suite/sys_vars/t/external_user_basic.test b/mysql-test/suite/sys_vars/t/external_user_basic.test
new file mode 100644
index 00000000000..3ba4c2d65a3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/external_user_basic.test
@@ -0,0 +1 @@
+SELECT @@SESSION.EXTERNAL_USER FROM DUAL;
diff --git a/mysql-test/suite/sys_vars/t/foreign_key_checks_func.test b/mysql-test/suite/sys_vars/t/foreign_key_checks_func.test
index 5786b9283be..14134a5fb95 100644
--- a/mysql-test/suite/sys_vars/t/foreign_key_checks_func.test
+++ b/mysql-test/suite/sys_vars/t/foreign_key_checks_func.test
@@ -76,7 +76,7 @@ INSERT INTO t2 values (20,22);
--echo '---Check when foreign_key_checks is disabled---'
#===========================================================
---Error ER_ROW_IS_REFERENCED_2
+--Error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE t1;
SET @@session.foreign_key_checks = 0;
diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test
index b577ae5fcc4..c7a9e567e69 100644
--- a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test
+++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test
@@ -117,12 +117,12 @@ BEGIN
END WHILE;
END//
-CREATE PROCEDURE check_pct(IN num DECIMAL)
+CREATE PROCEDURE check_pct(IN success_on_wait BOOLEAN)
BEGIN
- IF (dirty_pct() < num) THEN
+ IF (success_on_wait > 0) THEN
SELECT 'BELOW_MAX' AS PCT_VALUE;
ELSE
- SELECT 'ABOVE_MAX' AS PCT_VALUE;
+ SELECT 'ABOVE_MAX or TimeOut Of The Test' AS PCT_VALUE;
END IF;
END//
@@ -155,7 +155,8 @@ let $wait_condition= SELECT (dirty_pct() <= @@global.innodb_max_dirty_pages_pct)
--source include/wait_condition.inc
--echo 'We expect dirty pages pct to be BELOW_MAX after some time depending on performance'
-CALL check_pct(10);
+# Value For $sucess will be set from include/wait_condition.inc file. It can have values 1 or 0. It will be 1 if dirty_pct() <= @@global.innodb_max_dirty_pages_pct else it will be 0.
+eval CALL check_pct($success);
DROP PROCEDURE add_records;
DROP PROCEDURE add_until;
DROP PROCEDURE check_pct;
diff --git a/mysql-test/suite/sys_vars/t/max_binlog_cache_size_func-master.opt b/mysql-test/suite/sys_vars/t/max_binlog_cache_size_func-master.opt
deleted file mode 100644
index 2cadd0c7b3f..00000000000
--- a/mysql-test/suite/sys_vars/t/max_binlog_cache_size_func-master.opt
+++ /dev/null
@@ -1,2 +0,0 @@
---log-bin
---loose-innodb
diff --git a/mysql-test/suite/sys_vars/t/max_binlog_stmt_cache_size_basic.test b/mysql-test/suite/sys_vars/t/max_binlog_stmt_cache_size_basic.test
new file mode 100644
index 00000000000..07a030c35a7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/max_binlog_stmt_cache_size_basic.test
@@ -0,0 +1,184 @@
+############ mysql-test\t\max_binlog_stmt_cache_size_basic.test ###############
+# #
+# Variable Name: max_binlog_stmt_cache_size #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value:4294967295 #
+# Range: 4096-4294967295 #
+# #
+# #
+# #
+# #
+# #
+# Creation Date: 2010-11-05 #
+# Author: Alfranio #
+# #
+# Description: Test Cases of Dynamic System Variable #
+# max_binlog_stmt_cache_size that checks #
+# the behavior of this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.5/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+##########################################################################
+# START OF max_binlog_stmt_cache_size TESTS #
+##########################################################################
+
+
+##############################################################################
+# Saving initial value of max_binlog_stmt_cache_size in a temporary variable #
+##############################################################################
+
+SET @start_value = @@global.max_binlog_stmt_cache_size;
+SELECT @start_value;
+
+
+--echo '#--------------------FN_DYNVARS_072_01------------------------#'
+########################################################################
+# Display the DEFAULT value of max_binlog_stmt_cache_size #
+########################################################################
+
+SET @@global.max_binlog_stmt_cache_size = 5000;
+SET @@global.max_binlog_stmt_cache_size = DEFAULT;
+SELECT @@global.max_binlog_stmt_cache_size;
+
+
+--echo '#---------------------FN_DYNVARS_072_02-------------------------#'
+###############################################
+# Verify default value of variable #
+###############################################
+
+SET @@global.max_binlog_stmt_cache_size = @start_value;
+SELECT @@global.max_binlog_stmt_cache_size = 4294967295;
+
+--echo '#--------------------FN_DYNVARS_072_03------------------------#'
+########################################################################
+# Change the value of max_binlog_stmt_cache_size to a valid value #
+########################################################################
+
+SET @@global.max_binlog_stmt_cache_size = 4096;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 4294967295;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 4294967294;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 4097;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 65535;
+SELECT @@global.max_binlog_stmt_cache_size;
+
+
+--echo '#--------------------FN_DYNVARS_072_04-------------------------#'
+###########################################################################
+# Change the value of max_binlog_stmt_cache_size to invalid value #
+###########################################################################
+
+SET @@global.max_binlog_stmt_cache_size = -1;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 100000000000;
+SELECT @@global.max_binlog_stmt_cache_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.max_binlog_stmt_cache_size = 10000.01;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = -1024;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 1024;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 4294967296;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = 4095;
+SELECT @@global.max_binlog_stmt_cache_size;
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.max_binlog_stmt_cache_size = ON;
+SELECT @@global.max_binlog_stmt_cache_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.max_binlog_stmt_cache_size = 'test';
+SELECT @@global.max_binlog_stmt_cache_size;
+
+
+--echo '#-------------------FN_DYNVARS_072_05----------------------------#'
+###########################################################################
+# Test if accessing session max_binlog_stmt_cache_size gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.max_binlog_stmt_cache_size = 4096;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.max_binlog_stmt_cache_size;
+
+
+--echo '#----------------------FN_DYNVARS_072_06------------------------#'
+##############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches values in variable #
+##############################################################################
+
+SELECT @@global.max_binlog_stmt_cache_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
+
+SELECT @@max_binlog_stmt_cache_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='max_binlog_stmt_cache_size';
+
+
+--echo '#---------------------FN_DYNVARS_072_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.max_binlog_stmt_cache_size = TRUE;
+SELECT @@global.max_binlog_stmt_cache_size;
+SET @@global.max_binlog_stmt_cache_size = FALSE;
+SELECT @@global.max_binlog_stmt_cache_size;
+
+
+--echo '#---------------------FN_DYNVARS_072_08----------------------#'
+########################################################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
+########################################################################################################
+
+SET @@global.max_binlog_stmt_cache_size = 5000;
+SELECT @@max_binlog_stmt_cache_size = @@global.max_binlog_stmt_cache_size;
+
+
+--echo '#---------------------FN_DYNVARS_072_09----------------------#'
+################################################################################
+# Check if max_binlog_stmt_cache_size can be accessed with and without @@ sign #
+################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET max_binlog_stmt_cache_size = 6000;
+SELECT @@max_binlog_stmt_cache_size;
+--Error ER_PARSE_ERROR
+SET local.max_binlog_stmt_cache_size = 7000;
+--Error ER_UNKNOWN_TABLE
+SELECT local.max_binlog_stmt_cache_size;
+--Error ER_PARSE_ERROR
+SET global.max_binlog_stmt_cache_size = 8000;
+--Error ER_UNKNOWN_TABLE
+SELECT global.max_binlog_stmt_cache_size;
+--Error ER_BAD_FIELD_ERROR
+SELECT max_binlog_stmt_cache_size = @@session.max_binlog_stmt_cache_size;
+
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.max_binlog_stmt_cache_size = @start_value;
+SELECT @@global.max_binlog_stmt_cache_size;
+
+
+########################################################################
+# END OF max_binlog_stmt_cache_size TESTS #
+########################################################################
diff --git a/mysql-test/suite/sys_vars/t/max_long_data_size_basic.test b/mysql-test/suite/sys_vars/t/max_long_data_size_basic.test
new file mode 100644
index 00000000000..eefa61bd4b7
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/max_long_data_size_basic.test
@@ -0,0 +1,17 @@
+select @@global.max_long_data_size=20;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.max_long_data_size;
+
+# Show that value of the variable matches the value in the GLOBAL I_S table
+SELECT @@global.max_long_data_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='max_long_data_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global max_long_data_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session max_long_data_size=1;
+
diff --git a/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test b/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test
index 4267b3726aa..df1a3511fa1 100644
--- a/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test
+++ b/mysql-test/suite/sys_vars/t/optimizer_switch_basic.test
@@ -46,5 +46,13 @@ set session optimizer_switch="index_merge";
--error ER_WRONG_VALUE_FOR_VAR
set session optimizer_switch="foobar";
+--echo #
+--echo # Bug#59894 set optimizer_switch to e or d causes invalid
+--echo # memory writes/valgrind warnings
+--echo
+set global optimizer_switch = 'd'; # means default
+--error ER_WRONG_VALUE_FOR_VAR
+set global optimizer_switch = 'e';
+
SET @@global.optimizer_switch = @start_global_value;
SELECT @@global.optimizer_switch;
diff --git a/mysql-test/suite/sys_vars/t/proxy_user_basic.test b/mysql-test/suite/sys_vars/t/proxy_user_basic.test
new file mode 100644
index 00000000000..8c7e2d0d8a3
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/proxy_user_basic.test
@@ -0,0 +1 @@
+SELECT @@SESSION.PROXY_USER FROM DUAL;
diff --git a/mysql-test/suite/sys_vars/t/rpl_init_slave_func.test b/mysql-test/suite/sys_vars/t/rpl_init_slave_func.test
index fa9cb66db04..ffa88941f07 100644
--- a/mysql-test/suite/sys_vars/t/rpl_init_slave_func.test
+++ b/mysql-test/suite/sys_vars/t/rpl_init_slave_func.test
@@ -105,3 +105,4 @@ SET @@global.init_slave= @start_init_slave;
# End of functionality Testing for init_slave #
##################################################
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/sys_vars/t/secure_file_priv2-master.opt b/mysql-test/suite/sys_vars/t/secure_file_priv2-master.opt
new file mode 100644
index 00000000000..1d9a49c8f75
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/secure_file_priv2-master.opt
@@ -0,0 +1 @@
+--secure_file_priv=$SECURE_LOAD_PATH
diff --git a/mysql-test/suite/sys_vars/t/secure_file_priv2.test b/mysql-test/suite/sys_vars/t/secure_file_priv2.test
new file mode 100644
index 00000000000..0ca0a1839e1
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/secure_file_priv2.test
@@ -0,0 +1,23 @@
+#
+# Bug58747 breaks secure_file_priv+not secure yet+still accesses other folders
+#
+CREATE TABLE t1 (c1 INT);
+#
+# Before the patch this statement failed with
+# Linux:
+# -> errno 13: 'Can't get stat of '
+# Windows:
+# -> Warning 1366 Incorrect integer value: '■■☺' for
+# -> column 'c1' at row 1
+# Now it should consistently fail with ER_OPTION_PREVENTS_STATEMENT
+# on all platforms.
+--error ER_OPTION_PREVENTS_STATEMENT
+LOAD DATA INFILE "t1.MYI" into table t1;
+
+#
+# The following test makes the assuption that /test isn't a valid path in any
+# operating system running the test suite.
+--error ER_OPTION_PREVENTS_STATEMENT
+LOAD DATA INFILE "/test" into table t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/suite/sys_vars/t/shared_memory_base_name_basic.test b/mysql-test/suite/sys_vars/t/shared_memory_base_name_basic.test
index 24418a78687..da165564791 100644
--- a/mysql-test/suite/sys_vars/t/shared_memory_base_name_basic.test
+++ b/mysql-test/suite/sys_vars/t/shared_memory_base_name_basic.test
@@ -3,17 +3,17 @@
#
# only global
#
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
select @@global.shared_memory_base_name;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.shared_memory_base_name;
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
show global variables like 'shared_memory_base_name';
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
show session variables like 'shared_memory_base_name';
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
select * from information_schema.global_variables where variable_name='shared_memory_base_name';
---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
select * from information_schema.session_variables where variable_name='shared_memory_base_name';
#
diff --git a/mysql-test/suite/sys_vars/t/slow_launch_time_func.test b/mysql-test/suite/sys_vars/t/slow_launch_time_func.test
index c9a7d28bb8a..c9fc357b10f 100644
--- a/mysql-test/suite/sys_vars/t/slow_launch_time_func.test
+++ b/mysql-test/suite/sys_vars/t/slow_launch_time_func.test
@@ -31,6 +31,7 @@
#
--source include/not_embedded.inc
+--source include/not_threadpool.inc
SET @global_slow_launch_time = @@GLOBAL.slow_launch_time;
@@ -84,7 +85,7 @@ let $value_before=
CONNECT (conn2,localhost,root,,);
let $value_after=
query_get_value(show status like 'slow_launch_threads', Value, 1);
-if (!`SELECT $value_after = $value_before`)
+if ($value_after != $value_before)
{
--echo ERROR: Subtest FN_DYNVARS_124_02 failed
--echo A new connect must not be counted as 'slow_launch_thread' if
diff --git a/mysql-test/suite/sys_vars/t/thread_cache_size_func.test b/mysql-test/suite/sys_vars/t/thread_cache_size_func.test
index fe9f4242c0d..9bffa32ca2b 100644
--- a/mysql-test/suite/sys_vars/t/thread_cache_size_func.test
+++ b/mysql-test/suite/sys_vars/t/thread_cache_size_func.test
@@ -28,6 +28,7 @@
#
--source include/not_embedded.inc
+--source include/not_threadpool.inc
SET @global_thread_cache_size = @@GLOBAL.thread_cache_size;
diff --git a/mysql-test/suite/sys_vars/t/wait_timeout_func.test b/mysql-test/suite/sys_vars/t/wait_timeout_func.test
index e33c39016cc..313d9e8191d 100644
--- a/mysql-test/suite/sys_vars/t/wait_timeout_func.test
+++ b/mysql-test/suite/sys_vars/t/wait_timeout_func.test
@@ -22,6 +22,7 @@
###############################################################################
--source include/not_embedded.inc
+--source include/not_threadpool.inc
SET @start_value= @@global.wait_timeout;
diff --git a/mysql-test/t/alter_table.test b/mysql-test/t/alter_table.test
index c60ca592580..15b037a0294 100644
--- a/mysql-test/t/alter_table.test
+++ b/mysql-test/t/alter_table.test
@@ -1171,3 +1171,35 @@ INSERT INTO t1 VALUES (1, 1), (2, 2);
ALTER TABLE t1 CHANGE a id INT;
--disable_info
DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#11754461 CANNOT ALTER TABLE WHEN KEY PREFIX TOO LONG
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS db1;
+--enable_warnings
+
+CREATE DATABASE db1 CHARACTER SET utf8;
+CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(100)));
+ALTER TABLE db1.t1 ADD baz INT;
+
+DROP DATABASE db1;
+
+
+--echo #
+--echo # Bug#11938039 RE-EXECUTION OF FRM-ONLY ALTER TABLE WITH RENAME
+--echo # CLAUSE FAILS OR ABORTS SERVER.
+--echo #
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+create table t1 (a int);
+prepare stmt1 from 'alter table t1 alter column a set default 1, rename to t2';
+execute stmt1;
+rename table t2 to t1;
+--echo # The below statement should succeed and not emit error or abort server.
+execute stmt1;
+deallocate prepare stmt1;
+drop table t2;
diff --git a/mysql-test/t/archive.test b/mysql-test/t/archive.test
index c3ce805789f..9167dbf86e6 100644
--- a/mysql-test/t/archive.test
+++ b/mysql-test/t/archive.test
@@ -1723,3 +1723,26 @@ INSERT INTO t1 VALUES (2);
SELECT * FROM t1 ORDER BY a;
SHOW CREATE TABLE t1;
DROP TABLE t1;
+
+--echo #
+--echo # BUG#58205 - Valgrind failure in fn_format when called from
+--echo # archive_discover
+--echo #
+CREATE TABLE `a/../`(a INT) ENGINE=ARCHIVE;
+remove_file $MYSQLD_DATADIR/test/a@002f@002e@002e@002f.frm;
+DROP TABLE `a/../`;
+
+--echo #
+--echo # BUG#57162 - valgrind errors, random data when returning
+--echo # ordered data from archive tables
+--echo #
+SET sort_buffer_size=32804;
+CREATE TABLE t1(a INT, b CHAR(255), c CHAR(255), d CHAR(255),
+ e CHAR(255), f INT) ENGINE=ARCHIVE DEFAULT CHARSET utf8;
+INSERT INTO t1 VALUES(-1,'b','c','d','e',1);
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT * FROM t1;
+INSERT INTO t1 SELECT t1.* FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6;
+SELECT * FROM t1 ORDER BY f LIMIT 1;
+DROP TABLE t1;
+SET sort_buffer_size=DEFAULT;
diff --git a/mysql-test/t/archive_debug.test b/mysql-test/t/archive_debug.test
new file mode 100644
index 00000000000..9cece254140
--- /dev/null
+++ b/mysql-test/t/archive_debug.test
@@ -0,0 +1,13 @@
+--source include/have_archive.inc
+--source include/have_debug.inc
+
+--echo #
+--echo # BUG#12402794 - 60976: CRASH, VALGRIND WARNING AND MEMORY LEAK
+--echo # WITH PARTITIONED ARCHIVE TABLES
+--echo #
+CREATE TABLE t1(a INT) ENGINE=ARCHIVE;
+INSERT INTO t1 VALUES(1);
+SET SESSION debug='d,simulate_archive_open_failure';
+CHECK TABLE t1;
+SET SESSION debug=DEFAULT;
+DROP TABLE t1;
diff --git a/mysql-test/t/archive_plugin.test b/mysql-test/t/archive_plugin.test
index 567a0a58ce7..7d9b0ea065f 100644
--- a/mysql-test/t/archive_plugin.test
+++ b/mysql-test/t/archive_plugin.test
@@ -20,6 +20,14 @@ CREATE TABLE t1(a int) ENGINE=ARCHIVE;
DROP TABLE t1;
+# This dummy statement is required for --ps-protocol mode.
+# The thing is that last prepared statement is "cached" in mysqltest.cc
+# (unless "reconnect" is enabled, and that's not the case here).
+# This statement forces mysqltest.cc to close prepared "DROP TABLE t1".
+# Otherwise, the plugin can not be uninstalled because there is an active
+# prepared statement using it.
+SELECT 1;
+
UNINSTALL PLUGIN archive;
--error ER_SP_DOES_NOT_EXIST
diff --git a/mysql-test/t/auto_increment.test b/mysql-test/t/auto_increment.test
index 42751b8ce06..2854f503034 100644
--- a/mysql-test/t/auto_increment.test
+++ b/mysql-test/t/auto_increment.test
@@ -342,3 +342,41 @@ SELECT a FROM t2;
DROP TABLE t1, t2;
+--echo #
+--echo # Bug#39828 autoinc wraps around when offset and increment > 1
+--echo #
+
+CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) engine=MyISAM;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t1 VALUES (18446744073709551601);
+
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=10;
+
+SELECT @@SESSION.AUTO_INCREMENT_OFFSET;
+--error ER_WARN_DATA_OUT_OF_RANGE
+INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
+SELECT * FROM t1;
+
+SET @@SESSION.AUTO_INCREMENT_INCREMENT=default;
+SET @@SESSION.AUTO_INCREMENT_OFFSET=default;
+
+DROP TABLE t1;
+
+--echo End of 5.1 tests
+
+--echo #
+--echo # Bug#50619 assert in handler::update_auto_increment
+--echo #
+
+CREATE TABLE t1 (pk INT AUTO_INCREMENT, PRIMARY KEY (pk));
+# This triggered the assert
+INSERT INTO t1 VALUES (NULL), (-1), (NULL);
+SELECT * FROM t1;
+DROP TABLE t1;
+
+# Check that that true overflow still gives error
+CREATE TABLE t1 (pk BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY (pk));
+--error ER_AUTOINC_READ_FAILED
+INSERT INTO t1 VALUES (NULL), (18446744073709551615-1), (NULL);
+SELECT * FROM t1;
+DROP TABLE t1;
diff --git a/mysql-test/t/blackhole_plugin.test b/mysql-test/t/blackhole_plugin.test
index 1de5b2d0499..448104bed2b 100644
--- a/mysql-test/t/blackhole_plugin.test
+++ b/mysql-test/t/blackhole_plugin.test
@@ -20,6 +20,14 @@ CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
DROP TABLE t1;
+# This dummy statement is required for --ps-protocol mode.
+# The thing is that last prepared statement is "cached" in mysqltest.cc
+# (unless "reconnect" is enabled, and that's not the case here).
+# This statement forces mysqltest.cc to close prepared "DROP TABLE t1".
+# Otherwise, the plugin can not be uninstalled because there is an active
+# prepared statement using it.
+SELECT 1;
+
UNINSTALL PLUGIN blackhole;
--error ER_SP_DOES_NOT_EXIST
UNINSTALL PLUGIN blackhole;
diff --git a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test
index d5bb2f42273..2a293ed844b 100644
--- a/mysql-test/t/bootstrap.test
+++ b/mysql-test/t/bootstrap.test
@@ -48,3 +48,15 @@ remove_file $MYSQLTEST_VARDIR/tmp/long_query.sql;
set global max_allowed_packet=@my_max_allowed_packet;
drop table t1;
+--echo End of 5.1 tests
+
+--echo #
+--echo # Bug #11766306: 59393: HAVE_INNODB=YES WHEN MYSQLD
+--echo # STARTED WITH --SKIP-INNODB
+--echo #
+
+# need the --skip-innodb option present for the test to succeed
+SHOW VARIABLES LIKE 'have_innodb';
+SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb';
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/bug58669-master.opt b/mysql-test/t/bug58669-master.opt
new file mode 100644
index 00000000000..6d909680527
--- /dev/null
+++ b/mysql-test/t/bug58669-master.opt
@@ -0,0 +1 @@
+--read-only
diff --git a/mysql-test/t/bug58669.test b/mysql-test/t/bug58669.test
new file mode 100644
index 00000000000..332c104cfea
--- /dev/null
+++ b/mysql-test/t/bug58669.test
@@ -0,0 +1,22 @@
+--source include/not_embedded.inc
+
+--echo #
+--echo # Bug#58669: read_only not enforced on 5.5.x
+--echo #
+
+CREATE USER user1@localhost;
+CREATE DATABASE db1;
+GRANT ALL PRIVILEGES ON db1.* TO user1@localhost;
+CREATE TABLE db1.t1(a INT);
+
+connect (con1,localhost,user1,,);
+connection con1;
+SELECT CURRENT_USER();
+SHOW VARIABLES LIKE "%read_only%";
+--error ER_OPTION_PREVENTS_STATEMENT
+INSERT INTO db1.t1 VALUES (1);
+
+connection default;
+disconnect con1;
+DROP DATABASE db1;
+DROP USER user1@localhost;
diff --git a/mysql-test/t/cache_innodb.test b/mysql-test/t/cache_innodb.test
index 33a328d1d6c..f7102627506 100644
--- a/mysql-test/t/cache_innodb.test
+++ b/mysql-test/t/cache_innodb.test
@@ -14,3 +14,18 @@ let $engine_type= InnoDB;
let $test_foreign_keys= 1;
--source include/query_cache.inc
+
+#
+# Bug#56452 Assertion failed: thd->transaction.stmt.is_empty() ||
+# thd->in_sub_stmt
+#
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+BEGIN;
+ INSERT INTO t1 VALUES(1);
+ROLLBACK WORK AND CHAIN NO RELEASE;
+SELECT a FROM t1;
+ROLLBACK WORK AND CHAIN NO RELEASE;
+SELECT a FROM t1;
+ROLLBACK;
+DROP TABLE t1;
+
diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test
index f5426f8d631..a922cc9aaf7 100644
--- a/mysql-test/t/cast.test
+++ b/mysql-test/t/cast.test
@@ -280,5 +280,19 @@ SELECT 1 FROM
) AS s LIMIT 1;
DROP TABLE t1;
+--echo #
+--echo # Bug #11765023: 57934: DOS POSSIBLE SINCE BINARY CASTING
+--echo # DOESN'T ADHERE TO MAX_ALLOWED_PACKET
+
+SET @@GLOBAL.max_allowed_packet=2048;
+# reconnect to make the new max packet size take effect
+--connect (newconn, localhost, root,,)
+
+SELECT CONVERT('a', BINARY(2049));
+SELECT CONVERT('a', CHAR(2049));
+
+connection default;
+disconnect newconn;
+SET @@GLOBAL.max_allowed_packet=default;
--echo End of 5.1 tests
diff --git a/mysql-test/t/change_user.test b/mysql-test/t/change_user.test
index b4ac526a80e..659354e9c48 100644
--- a/mysql-test/t/change_user.test
+++ b/mysql-test/t/change_user.test
@@ -131,7 +131,7 @@ let $before= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1);
let $after= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1);
-if (`select $after != $before`){
+if ($after != $before){
SHOW GLOBAL STATUS LIKE 'com_select';
die The value of com_select changed during change_user;
}
diff --git a/mysql-test/t/check.test b/mysql-test/t/check.test
index 78644523976..966d41adfbd 100644
--- a/mysql-test/t/check.test
+++ b/mysql-test/t/check.test
@@ -55,5 +55,29 @@ REPAIR TABLE t1;
DROP TABLE t1;
+--echo #
+--echo # Bug#56422 CHECK TABLE run when the table is locked reports corruption
+--echo # along with timeout
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(a INT);
+LOCK TABLE t1 WRITE;
+
+--echo # Connection con1
+connect(con1, localhost, root);
+SET lock_wait_timeout= 1;
+CHECK TABLE t1;
+
+--echo # Connection default
+connection default;
+UNLOCK TABLES;
+DROP TABLE t1;
+disconnect con1;
+
+
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/crash_commit_before.test b/mysql-test/t/crash_commit_before.test
index e7d8a373647..f99690777c9 100644
--- a/mysql-test/t/crash_commit_before.test
+++ b/mysql-test/t/crash_commit_before.test
@@ -1,6 +1,8 @@
-- source include/not_embedded.inc
# Don't test this under valgrind, memory leaks will occur
--source include/not_valgrind.inc
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
# Binary must be compiled with debug for crash to occur
--source include/have_debug.inc
diff --git a/mysql-test/t/csv_not_null.test b/mysql-test/t/csv_not_null.test
index 03ed566fb22..bebea53b2f7 100644
--- a/mysql-test/t/csv_not_null.test
+++ b/mysql-test/t/csv_not_null.test
@@ -55,10 +55,8 @@ INSERT INTO t1 VALUES();
SELECT * FROM t1;
-- disable_warnings
-# NOTE - Test disabled due to enum crash for this INSERT
-# See Bug#33717 - INSERT...(default) fails for enum.
-# Crashes CSV tables, loads spaces for MyISAM
-#INSERT INTO t1 VALUES(default,default,default,default,default,default);
+# Bug#33717 - INSERT...(default) fails for enum.
+INSERT INTO t1 VALUES(default,default,default,default,default,default);
-- enable_warnings
SELECT * FROM t1;
diff --git a/mysql-test/t/ctype_cp1250_ch.test b/mysql-test/t/ctype_cp1250_ch.test
index 1fb656f2a01..a4c59f494a7 100644
--- a/mysql-test/t/ctype_cp1250_ch.test
+++ b/mysql-test/t/ctype_cp1250_ch.test
@@ -72,3 +72,13 @@ select a from t1 where a like "abcdefghá";
drop table t1;
# End of 4.1 tests
+
+#
+# Bug #48053 String::c_ptr has a race and/or does an invalid
+# memory reference
+# (triggered by Valgrind tests)
+# (see also ctype_eucjpms.test, ctype_cp1250.test, ctype_cp1251.test)
+#
+--error 1649
+set global LC_MESSAGES=convert((@@global.log_bin_trust_function_creators)
+ using cp1250);
diff --git a/mysql-test/t/ctype_cp1251.test b/mysql-test/t/ctype_cp1251.test
index cfe9adf6e1e..ab260f0c7e8 100644
--- a/mysql-test/t/ctype_cp1251.test
+++ b/mysql-test/t/ctype_cp1251.test
@@ -61,11 +61,41 @@ DROP TABLE t1;
# End of 4.1 tests
--echo #
+--echo # Start of 5.1 tests
+--echo #
+
+--source include/ctype_8bit.inc
+
+#
+# Bug #48053 String::c_ptr has a race and/or does an invalid
+# memory reference
+# (triggered by Valgrind tests)
+# (see also ctype_eucjpms.test, ctype_cp1250.test, ctype_cp1251.test)
+#
+--error 1649
+set global LC_TIME_NAMES=convert((-8388608) using cp1251);
+
+
+--echo #
+--echo # End of 5.1 tests
+--echo #
+
+--echo #
--echo # Start of 5.5 tests
--echo #
--source include/ctype_numconv.inc
--echo #
+--echo # Bug#60101 COALESCE with cp1251 tables causes [Err] 1267 - Illegal mix of collations
+--echo #
+CREATE TABLE t1 (test1 INT, test2 VARCHAR(255));
+SHOW CREATE TABLE t1;
+SELECT COALESCE(IF(test1=1, 1, NULL), test2) FROM t1;
+SELECT COALESCE(IF(test1=1, NULL, 1), test2) FROM t1;
+DROP TABLE t1;
+
+
+--echo #
--echo # End of 5.5 tests
--echo #
diff --git a/mysql-test/t/ctype_eucjpms.test b/mysql-test/t/ctype_eucjpms.test
index a330925327c..fea48061c69 100644
--- a/mysql-test/t/ctype_eucjpms.test
+++ b/mysql-test/t/ctype_eucjpms.test
@@ -382,6 +382,16 @@ select hex(convert(_eucjpms 0xA5FE41 using ucs2));
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
+#
+# Bug #48053 String::c_ptr has a race and/or does an invalid
+# memory reference
+# (triggered by Valgrind tests)
+# (see also ctype_eucjpms.test, ctype_cp1250.test, ctype_cp1251.test)
+#
+--error 1649
+set global LC_TIME_NAMES=convert((convert((0x63) using eucjpms)) using utf8);
+
+
--echo #
--echo # Start of 5.5 tests
--echo #
diff --git a/mysql-test/t/ctype_latin1.test b/mysql-test/t/ctype_latin1.test
index 1733ee299d1..5d1acf107d7 100644
--- a/mysql-test/t/ctype_latin1.test
+++ b/mysql-test/t/ctype_latin1.test
@@ -128,6 +128,14 @@ select hex(cast(_ascii 0x7f as char(1) character set latin1));
--echo End of 5.0 tests
+
+--echo #
+--echo # Bug#58022 ... like ... escape export_set ( ... ) crashes when export_set returns warnings
+--echo #
+SELECT '' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '');
+
+--echo End of 5.1 tests
+
--echo #
--echo # Start of 5.5 tests
@@ -136,5 +144,20 @@ select hex(cast(_ascii 0x7f as char(1) character set latin1));
--source include/ctype_numconv.inc
--echo #
+--echo # Bug#11764503 (Bug#57341) Query in EXPLAIN EXTENDED shows wrong characters
+--echo #
+# Test latin1 client erroneously started with --default-character-set=utf8
+# EXPLAIN output should still be pretty readable.
+# We're using 'ó' (\xC3\xB3) as a magic sequence:
+# - it's "LATIN CAPITAL LETTER A WITH TILDE ABOVE + SUPERSCRIPT 3" in latin1
+# - it's "LATIN SMALL LETTER O WITH ACUTE ABOVE" in utf8.
+SET NAMES utf8;
+EXPLAIN EXTENDED SELECT 'abcdó', _latin1'abcdó', _utf8'abcdó';
+# Test normal latin1
+SET NAMES latin1;
+EXPLAIN EXTENDED SELECT 'abcdó', _latin1'abcdó', _utf8'abcdó';
+
+
+--echo #
--echo # End of 5.5 tests
--echo #
diff --git a/mysql-test/t/ctype_like_range.test b/mysql-test/t/ctype_like_range.test
new file mode 100644
index 00000000000..34a7637222b
--- /dev/null
+++ b/mysql-test/t/ctype_like_range.test
@@ -0,0 +1,87 @@
+--source include/have_debug.inc
+--source include/have_ucs2.inc
+--source include/have_utf16.inc
+--source include/have_utf32.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP VIEW IF EXISTS v1;
+--enable_warnings
+
+CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, a VARBINARY(32));
+INSERT INTO t1 (a) VALUES (''),('_'),('%'),('\_'),('\%'),('\\');
+INSERT INTO t1 (a) VALUES ('a'),('c');
+INSERT INTO t1 (a) VALUES ('a_'),('c_');
+INSERT INTO t1 (a) VALUES ('a%'),('c%');
+INSERT INTO t1 (a) VALUES ('aa'),('cc'),('ch');
+INSERT INTO t1 (a) VALUES ('aa_'),('cc_'),('ch_');
+INSERT INTO t1 (a) VALUES ('aa%'),('cc%'),('ch%');
+INSERT INTO t1 (a) VALUES ('aaa'),('ccc'),('cch');
+INSERT INTO t1 (a) VALUES ('aaa_'),('ccc_'),('cch_');
+INSERT INTO t1 (a) VALUES ('aaa%'),('ccc%'),('cch%');
+INSERT INTO t1 (a) VALUES ('aaaaaaaaaaaaaaaaaaaa');
+
+CREATE VIEW v1 AS
+ SELECT id, 'a' AS name, a AS val FROM t1
+UNION
+ SELECT id, 'mn', HEX(LIKE_RANGE_MIN(a, 16)) AS min FROM t1
+UNION
+ SELECT id, 'mx', HEX(LIKE_RANGE_MAX(a, 16)) AS max FROM t1
+UNION
+ SELECT id, 'sp', REPEAT('-', 32) AS sep FROM t1
+ORDER BY id, name;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET latin1;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_czech_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_danish_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_czech_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET ucs2 COLLATE ucs2_danish_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16 COLLATE utf16_unicode_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16 COLLATE utf16_czech_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf16 COLLATE utf16_danish_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32 COLLATE utf32_unicode_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32 COLLATE utf32_czech_ci;
+SELECT * FROM v1;
+
+ALTER TABLE t1 MODIFY a VARCHAR(32) CHARACTER SET utf32 COLLATE utf32_danish_ci;
+SELECT * FROM v1;
+
+DROP VIEW v1;
+DROP TABLE t1;
diff --git a/mysql-test/t/ctype_many.test b/mysql-test/t/ctype_many.test
index 67726c53585..060cf9fcf92 100644
--- a/mysql-test/t/ctype_many.test
+++ b/mysql-test/t/ctype_many.test
@@ -217,6 +217,25 @@ DROP TABLE t1;
--echo #
+--echo # Start of 5.1 tests
+--echo #
+
+--echo #
+--echo # Bug#58371 Assertion failed: !s.uses_buffer_owned_by(this) with format string function
+--echo #
+
+SET NAMES latin1;
+DO CONVERT(CAST(SUBSTRING_INDEX(FORMAT(1,'1111'), FORMAT('','Zpq'),1)
+ AS BINARY(0)) USING utf8);
+--echo #
+--echo # End of 5.1 tests
+--echo #
+
+--echo #
+--echo # Start of 5.5 tests
+--echo #
+
+--echo #
--echo # WL#1213 Implement 4-byte UTF8, UTF16 and UTF32
--echo # Testing that only utf8mb4 is superset for utf8
--echo # No other Unicode character set pairs have superset/subset relations
@@ -284,3 +303,19 @@ SELECT CHARSET(CONCAT(utf32, utf8mb4)) FROM t1;
SELECT CHARSET(CONCAT(utf32, utf16)) FROM t1;
DROP TABLE t1;
+
+--echo #
+--echo # Bug#58321 No warning when characters outside BMP0 is converted to UCS2
+--echo #
+CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf32);
+CREATE TABLE t2 (a VARCHAR(10) CHARACTER SET ucs2);
+INSERT INTO t1 VALUES (0x10082), (0x12345);
+INSERT INTO t2 SELECT * FROM t1;
+SELECT HEX(a) FROM t2;
+DROP TABLE t1;
+DROP TABLE t2;
+
+
+--echo #
+--echo # End of 5.5 tests
+--echo #
diff --git a/mysql-test/t/ctype_sjis.test b/mysql-test/t/ctype_sjis.test
index 103039d0323..f45e6ab9b54 100644
--- a/mysql-test/t/ctype_sjis.test
+++ b/mysql-test/t/ctype_sjis.test
@@ -92,6 +92,14 @@ INSERT INTO t1 VALUES (0x8372835E),(0x8352835E);
SELECT hex(a), hex(lower(a)), hex(upper(a)) FROM t1 ORDER BY binary(a);
DROP TABLE t1;
+--echo #
+--echo # Bug#11766519 - Bug#59648: MY_STRTOLL10_MB2: ASSERTION `(*ENDPTR - S) % 2 == 0' FAILED.
+--echo #
+# In the below string backslash (0x5C) is a part of a multi-byte
+# character, so it should not be quoted.
+SELECT QUOTE('ƒ\');
+
+
--echo # End of 5.1 tests
diff --git a/mysql-test/t/ctype_uca.test b/mysql-test/t/ctype_uca.test
index 96831c8c915..dd1e95ef960 100644
--- a/mysql-test/t/ctype_uca.test
+++ b/mysql-test/t/ctype_uca.test
@@ -547,3 +547,19 @@ set collation_connection=ucs2_unicode_ci;
set names utf8;
-- echo End for 5.0 tests
+
+--echo #
+--echo # Start of 5.5 tests
+--echo #
+#
+# Test my_like_range and contractions
+#
+SET collation_connection=utf8_czech_ci;
+--source include/ctype_czech.inc
+--source include/ctype_like_ignorable.inc
+SET collation_connection=ucs2_czech_ci;
+--source include/ctype_czech.inc
+--source include/ctype_like_ignorable.inc
+--echo #
+--echo # End of 5.5 tests
+--echo #
diff --git a/mysql-test/t/ctype_ucs.test b/mysql-test/t/ctype_ucs.test
index 199dddaac02..e93a2ab0fbf 100644
--- a/mysql-test/t/ctype_ucs.test
+++ b/mysql-test/t/ctype_ucs.test
@@ -741,6 +741,12 @@ WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
DROP VIEW v1;
DROP TABLE t1;
+--echo #
+--echo # Bug#59648 my_strtoll10_mb2: Assertion `(*endptr - s) % 2 == 0' failed.
+--echo #
+SELECT HEX(CHAR(COALESCE(NULL, CHAR(COUNT('%s') USING ucs2), 1, @@global.license, NULL) USING cp850));
+SELECT CONVERT(QUOTE(CHAR(0xf5 using ucs2)), SIGNED);
+
--echo End of 5.0 tests
--echo #
diff --git a/mysql-test/t/ctype_ujis.test b/mysql-test/t/ctype_ujis.test
index 78701127ec3..4e1ee55e019 100644
--- a/mysql-test/t/ctype_ujis.test
+++ b/mysql-test/t/ctype_ujis.test
@@ -1209,6 +1209,13 @@ DROP PROCEDURE sp1;
DROP TABLE t1;
DROP TABLE t2;
+--echo #
+--echo # Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
+--echo #
+SET NAMES utf8;
+SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
+
+
set names default;
set character_set_database=default;
set character_set_server=default;
diff --git a/mysql-test/t/ctype_utf16.test b/mysql-test/t/ctype_utf16.test
index 513dfb4e03f..c748e7148bf 100644
--- a/mysql-test/t/ctype_utf16.test
+++ b/mysql-test/t/ctype_utf16.test
@@ -747,6 +747,15 @@ CREATE TABLE t2 AS SELECT CONCAT(s1) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t1, t2;
+--echo #
+--echo # Bug#11753363 (Bug#44793) Character sets: case clause, ucs2 or utf32, failure
+--echo #
+SELECT CASE _latin1'a' WHEN _utf16'a' THEN 'A' END;
+SELECT CASE _utf16'a' WHEN _latin1'a' THEN 'A' END;
+CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf16);
+INSERT INTO t1 VALUES ('a');
+SELECT CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END FROM t1;
+DROP TABLE t1;
#
## TODO: add tests for all engines
diff --git a/mysql-test/t/ctype_utf16_uca.test b/mysql-test/t/ctype_utf16_uca.test
index 5314777c6f4..a6295c82dec 100644
--- a/mysql-test/t/ctype_utf16_uca.test
+++ b/mysql-test/t/ctype_utf16_uca.test
@@ -284,6 +284,13 @@ DROP TABLE IF EXISTS t1;
set collation_connection=utf16_unicode_ci;
--source include/ctype_regex.inc
+#
+# Test my_like_range and contractions
+#
+SET collation_connection=utf16_czech_ci;
+--source include/ctype_czech.inc
+--source include/ctype_like_ignorable.inc
+
--echo #
--echo # End of 5.5 tests
diff --git a/mysql-test/t/ctype_utf32.test b/mysql-test/t/ctype_utf32.test
index 89e4499d0b1..945646087aa 100644
--- a/mysql-test/t/ctype_utf32.test
+++ b/mysql-test/t/ctype_utf32.test
@@ -833,5 +833,15 @@ SELECT * FROM t1 WHERE b BETWEEN 'a' AND 'z';
DROP TABLE t1;
--echo #
+--echo # Bug#11753363 (Bug#44793) Character sets: case clause, ucs2 or utf32, failure
+--echo #
+SELECT CASE _latin1'a' WHEN _utf32'a' THEN 'A' END;
+SELECT CASE _utf32'a' WHEN _latin1'a' THEN 'A' END;
+CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf32);
+INSERT INTO t1 VALUES ('a');
+SELECT CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END FROM t1;
+DROP TABLE t1;
+
+--echo #
--echo # End of 5.5 tests
--echo #
diff --git a/mysql-test/t/ctype_utf32_uca.test b/mysql-test/t/ctype_utf32_uca.test
index 9386cc9e65e..a62ffbf95c7 100644
--- a/mysql-test/t/ctype_utf32_uca.test
+++ b/mysql-test/t/ctype_utf32_uca.test
@@ -286,6 +286,14 @@ set collation_connection=utf32_unicode_ci;
--source include/ctype_regex.inc
+#
+# Test my_like_range and contractions
+#
+SET collation_connection=utf32_czech_ci;
+--source include/ctype_czech.inc
+--source include/ctype_like_ignorable.inc
+
+
--echo #
--echo # End of 5.5 tests
--echo #
diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test
index 957c2e9a7b4..2c7b27c63bb 100644
--- a/mysql-test/t/ctype_utf8.test
+++ b/mysql-test/t/ctype_utf8.test
@@ -1448,6 +1448,26 @@ DROP TABLE t1;
--echo End of 5.0 tests
+#
+# Bug #57272: crash in rpad() when using utf8
+#
+SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'ÑÑÑŽÑ'));
+SELECT LENGTH(RPAD(0.0115E88, 61297, _utf8'йцуÑ'));
+SELECT HEX(RPAD(0x20, 2, _utf8 0xD18F));
+SELECT HEX(RPAD(0x20, 4, _utf8 0xD18F));
+SELECT HEX(LPAD(0x20, 2, _utf8 0xD18F));
+SELECT HEX(LPAD(0x20, 4, _utf8 0xD18F));
+
+SELECT HEX(RPAD(_utf8 0xD18F, 3, 0x20));
+SELECT HEX(LPAD(_utf8 0xD18F, 3, 0x20));
+
+SELECT HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20));
+SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
+
+
+--echo End of 5.1 tests
+
+
--echo Start of 5.4 tests
#
@@ -1486,6 +1506,15 @@ CREATE TABLE t1 (
INSERT INTO t1 VALUES (19, x'E0B696'), (30, x'E0B69AE0B798'), (61, x'E0B6AF'), (93, x'E0B799'), (52, x'E0B6A6'), (73, x'E0B6BBE0B78AE2808D'), (3, x'E0B686'), (56, x'E0B6AA'), (55, x'E0B6A9'), (70, x'E0B6B9'), (94, x'E0B79A'), (80, x'E0B785'), (25, x'E0B69AE0B791'), (48, x'E0B6A2'), (13, x'E0B690'), (86, x'E0B793'), (91, x'E0B79F'), (81, x'E0B786'), (79, x'E0B784'), (14, x'E0B691'), (99, x'E0B78A'), (8, x'E0B68B'), (68, x'E0B6B7'), (22, x'E0B69A'), (16, x'E0B693'), (33, x'E0B69AE0B7B3'), (38, x'E0B69AE0B79D'), (21, x'E0B683'), (11, x'E0B68E'), (77, x'E0B782'), (40, x'E0B69AE0B78A'), (101, x'E0B78AE2808DE0B6BB'), (35, x'E0B69AE0B79A'), (1, x'E0B7B4'), (9, x'E0B68C'), (96, x'E0B79C'), (6, x'E0B689'), (95, x'E0B79B'), (88, x'E0B796'), (64, x'E0B6B3'), (26, x'E0B69AE0B792'), (82, x'E0B78F'), (28, x'E0B69AE0B794'), (39, x'E0B69AE0B79E'), (97, x'E0B79D'), (2, x'E0B685'), (75, x'E0B780'), (34, x'E0B69AE0B799'), (69, x'E0B6B8'), (83, x'E0B790'), (18, x'E0B695'), (90, x'E0B7B2'), (17, x'E0B694'), (72, x'E0B6BB'), (66, x'E0B6B5'), (59, x'E0B6AD'), (44, x'E0B69E'), (15, x'E0B692'), (23, x'E0B69AE0B78F'), (65, x'E0B6B4'), (42, x'E0B69C'), (63, x'E0B6B1'), (85, x'E0B792'), (47, x'E0B6A1'), (49, x'E0B6A3'), (92, x'E0B7B3'), (78, x'E0B783'), (36, x'E0B69AE0B79B'), (4, x'E0B687'), (24, x'E0B69AE0B790'), (87, x'E0B794'), (37, x'E0B69AE0B79C'), (32, x'E0B69AE0B79F'), (29, x'E0B69AE0B796'), (43, x'E0B69D'), (62, x'E0B6B0'), (100, x'E0B78AE2808DE0B6BA'), (60, x'E0B6AE'), (45, x'E0B69F'), (12, x'E0B68F'), (46, x'E0B6A0'), (50, x'E0B6A5'), (51, x'E0B6A4'), (5, x'E0B688'), (76, x'E0B781'), (89, x'E0B798'), (74, x'E0B6BD'), (10, x'E0B68D'), (57, x'E0B6AB'), (71, x'E0B6BA'), (58, x'E0B6AC'), (27, x'E0B69AE0B793'), (54, x'E0B6A8'), (84, x'E0B791'), (31, x'E0B69AE0B7B2'), (98, x'E0B79E'), (53, x'E0B6A7'), (41, x'E0B69B'), (67, x'E0B6B6'), (7, x'E0B68A'), (20, x'E0B682');
SELECT predicted_order, hex(utf8_encoding) FROM t1 ORDER BY utf8_encoding COLLATE utf8_sinhala_ci;
DROP TABLE t1;
+#
+# Postfix for Bug#26474
+#
+SET NAMES utf8 COLLATE utf8_sinhala_ci;
+CREATE TABLE t1 (s1 VARCHAR(10) COLLATE utf8_sinhala_ci);
+INSERT INTO t1 VALUES ('a'),('ae'),('af');
+SELECT s1,hex(s1) FROM t1 ORDER BY s1;
+SELECT * FROM t1 ORDER BY s1;
+DROP TABLE t1;
--echo End of 5.4 tests
@@ -1518,6 +1547,28 @@ DROP TABLE t1, t2;
SET NAMES utf8;
--source include/ctype_numconv.inc
+--echo #
+--echo # Bug#57687 crash when reporting duplicate group_key error and utf8
+--echo # Make sure to modify this when Bug#58081 is fixed.
+--echo #
+SET NAMES utf8;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (0), (0), (1), (0), (0);
+--error ER_DUP_ENTRY
+SELECT COUNT(*) FROM t1, t1 t2
+GROUP BY INSERT('', t2.a, t1.a, (@@global.max_binlog_size));
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#11764503 (Bug#57341) Query in EXPLAIN EXTENDED shows wrong characters
+--echo #
+# Emulate utf8 client erroneously started with --default-character-set=latin1,
+# as in the bug report. EXPLAIN output should still be pretty readable
+SET NAMES latin1;
+EXPLAIN EXTENDED SELECT 'abcdÃÂÃÄÅ', _latin1'abcdÃÂÃÄÅ', _utf8'abcdÃÂÃÄÅ' AS u;
+# Test normal utf8
+SET NAMES utf8;
+EXPLAIN EXTENDED SELECT 'abcdÃÂÃÄÅ', _latin1'abcdÃÂÃÄÅ', _utf8'abcdÃÂÃÄÅ';
--echo #
--echo # End of 5.5 tests
diff --git a/mysql-test/t/ctype_utf8mb4_ndb.test b/mysql-test/t/ctype_utf8mb4_ndb.test
deleted file mode 100644
index fba0ae918a1..00000000000
--- a/mysql-test/t/ctype_utf8mb4_ndb.test
+++ /dev/null
@@ -1,7 +0,0 @@
---source include/have_utf8mb4.inc
---source include/have_ndb.inc
-
-let $engine= ndb;
-let $is_ndb= 1;
---source include/ctype_utf8mb4.inc
-
diff --git a/mysql-test/t/date_formats.test b/mysql-test/t/date_formats.test
index a83e18c44d9..669a66bc6c5 100644
--- a/mysql-test/t/date_formats.test
+++ b/mysql-test/t/date_formats.test
@@ -354,3 +354,19 @@ SELECT DATE_FORMAT("0000-02-28",'%W %d %M %Y') as valid_date;
SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date;
--echo "End of 5.0 tests"
+
+
+--echo #
+--echo # Start of 5.1 tests
+--echo #
+
+--echo #
+--echo # Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr'
+--echo #
+SET NAMES utf8;
+SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)));
+SET NAMES latin1;
+
+--echo #
+--echo # End of 5.1 tests
+--echo #
diff --git a/mysql-test/t/delayed.test b/mysql-test/t/delayed.test
index 6b6cdaabcdf..1898d1a4691 100644
--- a/mysql-test/t/delayed.test
+++ b/mysql-test/t/delayed.test
@@ -552,6 +552,21 @@ connection con1;
--echo # Reaping: INSERT DELAYED INTO t1 VALUES (5)
--reap
+--echo # Connection default
+connection default;
+
+--echo # Test 5: LOCK TABLES + INSERT DELAYED in one connection.
+--echo # This test has triggered some asserts in metadata locking
+--echo # subsystem at some point in time..
+LOCK TABLE t1 WRITE;
+INSERT DELAYED INTO t2 VALUES (7);
+UNLOCK TABLES;
+SET AUTOCOMMIT= 0;
+LOCK TABLE t1 WRITE;
+INSERT DELAYED INTO t2 VALUES (8);
+UNLOCK TABLES;
+SET AUTOCOMMIT= 1;
+
--echo # Connection con2
connection con2;
disconnect con2;
@@ -565,3 +580,52 @@ disconnect con1;
connection default;
DROP TABLE t1, t2, t3;
--enable_ps_protocol
+
+
+--echo #
+--echo # Test for bug #56251 "Deadlock with INSERT DELAYED and MERGE tables".
+--echo #
+connect (con1,localhost,root,,);
+connection default;
+--disable_warnings
+drop table if exists t1, t2, tm;
+--enable_warnings
+create table t1(a int);
+create table t2(a int);
+create table tm(a int) engine=merge union=(t1, t2);
+begin;
+select * from t1;
+
+--echo # Connection 'con1'.
+connection con1;
+--echo # Sending:
+--send alter table t1 comment 'test'
+
+--echo # Connection 'default'.
+connection default;
+--echo # Wait until ALTER TABLE blocks and starts waiting
+--echo # for connection 'default'. It should wait with a
+--echo # pending SNW lock on 't1'.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table metadata lock" and
+ info = "alter table t1 comment 'test'";
+--source include/wait_condition.inc
+--echo # Attempt to perform delayed insert into 'tm' should not lead
+--echo # to a deadlock. Instead error ER_DELAYED_NOT_SUPPORTED should
+--echo # be emitted.
+--error ER_DELAYED_NOT_SUPPORTED
+insert delayed into tm values (1);
+--echo # Unblock ALTER TABLE.
+commit;
+
+--echo # Connection 'con1'.
+connection con1;
+--echo # Reaping ALTER TABLE:
+--reap
+
+disconnect con1;
+--source include/wait_until_disconnected.inc
+--echo # Connection 'default'.
+connection default;
+drop tables tm, t1, t2;
diff --git a/mysql-test/t/delete.test b/mysql-test/t/delete.test
index 15aade73ab7..6a72ae9c38b 100644
--- a/mysql-test/t/delete.test
+++ b/mysql-test/t/delete.test
@@ -554,3 +554,29 @@ DELETE FROM t1.*, test.t2.*, a.* USING t1, t2, t3 AS a;
DROP TABLE t1, t2, t3;
--echo End of 5.1 tests
+
+
+--echo #
+--echo # Bug#51099 Assertion in mysql_multi_delete_prepare()
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+DROP VIEW IF EXISTS v1, v2;
+--enable_warnings
+
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(b INT);
+CREATE VIEW v1 AS SELECT a, b FROM t1, t2;
+CREATE VIEW v2 AS SELECT a FROM v1;
+
+# This is a normal delete
+--error ER_VIEW_DELETE_MERGE_VIEW
+DELETE FROM v2;
+# This is a multi table delete, check that we get the same error
+# This caused the assertion.
+--error ER_VIEW_DELETE_MERGE_VIEW
+DELETE v2 FROM v2;
+
+DROP VIEW v2, v1;
+DROP TABLE t1, t2;
diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test
index c3d4a7657f3..a2681b82d26 100644
--- a/mysql-test/t/derived.test
+++ b/mysql-test/t/derived.test
@@ -303,4 +303,37 @@ SELECT 0 FROM
(SELECT 0) t56, (SELECT 0) t57, (SELECT 0) t58, (SELECT 0) t59, (SELECT 0) t60,
(SELECT 0) t61; # 61 == MAX_TABLES
+--echo #
+--echo # A nested materialized derived table is used before being populated.
+--echo # (addon for bug#19077)
+--echo #
+
+CREATE TABLE t1 (i INT, j BIGINT);
+INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
+SELECT * FROM (SELECT MIN(i) FROM t1
+WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
+DROP TABLE t1;
+
--echo # End of 5.0 tests
+
+
+--echo #
+--echo # Bug#58730 Assertion failed: table->key_read == 0 in close_thread_table,
+--echo # temptable views
+--echo #
+
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (b INT, KEY (b));
+INSERT INTO t1 VALUES (1),(1);
+INSERT INTO t2 VALUES (1),(1);
+
+CREATE algorithm=temptable VIEW v1 AS
+ SELECT 1 FROM t1 LEFT JOIN t1 t3 ON 1 > (SELECT 1 FROM t1);
+CREATE algorithm=temptable VIEW v2 AS SELECT 1 FROM t2;
+
+# This caused the assert to be triggered.
+--error ER_SUBQUERY_NO_1_ROW
+EXPLAIN SELECT 1 FROM t1 JOIN v1 ON 1 > (SELECT 1 FROM v2);
+
+DROP TABLE t1, t2;
+DROP VIEW v1, v2;
diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def
index bd1817b20ec..a2a91fab680 100644
--- a/mysql-test/t/disabled.def
+++ b/mysql-test/t/disabled.def
@@ -9,13 +9,13 @@
# Do not use any TAB characters for whitespace.
#
##############################################################################
-kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild.
-lowercase_table3 : Bug#54845 2010-06-30 alik main.lowercase_table3 on Mac OSX
-mysqlhotcopy_myisam : Bug#54129 2010-08-31 alik mysqlhotcopy* fails
-mysqlhotcopy_archive : Bug#54129 2010-08-31 alik mysqlhotcopy* fails
-partition_innodb_plugin : Bug#53307 2010-04-30 VasilDimov valgrind warnings
-query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically
-sp_sync : Bug#48157 2010-02-06 5.5-m3 demands a differnt solution
-ctype_utf8mb4_ndb : Bug#55799, Bug#51907, disabled by Konstantin 2010-08-06
main.events_time_zone : Test is not predictable as it depends on precise timing.
table_elim : sergeyp to reapply 2643.26.4 in Item_sum::update_used_tables
+lowercase_table3 : Bug#11762269 2010-06-30 alik main.lowercase_table3 on Mac OSX
+read_many_rows_innodb : Bug#11748886 2010-11-15 mattiasj report already exists
+sum_distinct-big : Bug#11764126 2010-11-15 mattiasj was not tested
+alter_table-big : Bug#11748731 2010-11-15 mattiasj was not tested
+create-big : Bug#11748731 2010-11-15 mattiasj was not tested
+archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc
+log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists
+mysql_embedded : Bug#12561297 2011-06-15 New test failing on all platforms
diff --git a/mysql-test/t/distinct.test b/mysql-test/t/distinct.test
index bf4c23562cf..84073d15109 100644
--- a/mysql-test/t/distinct.test
+++ b/mysql-test/t/distinct.test
@@ -614,3 +614,16 @@ SET @@sort_buffer_size = @old_sort_buffer_size;
SET @@max_heap_table_size = @old_max_heap_table_size;
--echo End of 5.1 tests
+
+
+--echo #
+--echo # Bug #11744875: 4082: integer lengths cause truncation with distinct concat and innodb
+--echo #
+
+CREATE TABLE t1 (a INT(1), b INT(1));
+INSERT INTO t1 VALUES (1111, 2222), (3333, 4444);
+SELECT DISTINCT CONCAT(a,b) AS c FROM t1 ORDER BY 1;
+DROP TABLE t1;
+
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/errors.test b/mysql-test/t/errors.test
index f308c340645..82822c87e89 100644
--- a/mysql-test/t/errors.test
+++ b/mysql-test/t/errors.test
@@ -155,3 +155,19 @@ INSERT INTO t1 VALUES ('abc\0\0');
--error ER_DUP_ENTRY
INSERT INTO t1 VALUES ('abc\0\0');
DROP TABLE t1;
+
+--echo #
+--echo # Bug#57882: Item_func_conv_charset::val_str(String*):
+--echo # Assertion `fixed == 1' failed
+--echo #
+
+--error ER_DATA_OUT_OF_RANGE
+SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8),''));
+
+SET NAMES utf8 COLLATE utf8_latvian_ci ;
+--error ER_DATA_OUT_OF_RANGE
+SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null);
+
+--echo #
+--echo # End Bug#57882
+--echo #
diff --git a/mysql-test/t/events_1.test b/mysql-test/t/events_1.test
index ccdeb70d291..7f31e3fc881 100644
--- a/mysql-test/t/events_1.test
+++ b/mysql-test/t/events_1.test
@@ -4,6 +4,8 @@
# Can't test with embedded server that doesn't support grants
-- source include/not_embedded.inc
+call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted");
+
--disable_warnings
drop database if exists events_test;
drop database if exists db_x;
@@ -270,23 +272,28 @@ SHOW EVENTS;
--echo Try to alter mysql.event: the server should fail to load
--echo event information after mysql.event was tampered with.
--echo
---echo First, let's add a column to the end and make sure everything
---echo works as before
+--echo First, let's add a column to the end and check the error is emitted.
--echo
ALTER TABLE mysql.event ADD dummy INT;
---replace_column 8 # 9 #
+--error ER_EVENT_OPEN_TABLE_FAILED
SHOW EVENTS;
+--error ER_EVENT_OPEN_TABLE_FAILED
SELECT event_name FROM INFORMATION_SCHEMA.events;
---replace_regex /STARTS '[^']+'/STARTS '#'/
+--error ER_EVENT_OPEN_TABLE_FAILED
SHOW CREATE EVENT intact_check;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT no_such_event;
+--error ER_EVENT_OPEN_TABLE_FAILED
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+--error ER_EVENT_OPEN_TABLE_FAILED
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
+--error ER_EVENT_OPEN_TABLE_FAILED
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check_1;
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check_2;
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check;
DROP DATABASE IF EXISTS mysqltest_no_such_database;
CREATE DATABASE mysqltest_db2;
@@ -296,6 +303,7 @@ SHOW VARIABLES LIKE 'event_scheduler';
SET GLOBAL event_scheduler=OFF;
# Clean up
ALTER TABLE mysql.event DROP dummy;
+DROP EVENT intact_check;
CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
--echo
--echo Now let's add a column to the first position: the server
@@ -303,24 +311,26 @@ CREATE EVENT intact_check ON SCHEDULE EVERY 10 HOUR DO SELECT "nothing";
--echo
ALTER TABLE mysql.event ADD dummy INT FIRST;
--error ER_CANNOT_LOAD_FROM_TABLE
+--error ER_EVENT_OPEN_TABLE_FAILED
SHOW EVENTS;
--error ER_CANNOT_LOAD_FROM_TABLE
+--error ER_EVENT_OPEN_TABLE_FAILED
SELECT event_name FROM INFORMATION_SCHEMA.events;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
SHOW CREATE EVENT intact_check;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT no_such_event;
---error ER_EVENT_STORE_FAILED
+--error ER_EVENT_OPEN_TABLE_FAILED
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check_1;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check_2;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check;
# Should work OK
DROP DATABASE IF EXISTS mysqltest_no_such_database;
@@ -341,25 +351,25 @@ INSERT INTO event_like SELECT * FROM mysql.event;
--echo
--echo
ALTER TABLE mysql.event DROP comment, DROP starts;
---error ER_CANNOT_LOAD_FROM_TABLE
+--error ER_EVENT_OPEN_TABLE_FAILED
SHOW EVENTS;
---error ER_CANNOT_LOAD_FROM_TABLE
+--error ER_EVENT_OPEN_TABLE_FAILED
SELECT event_name FROM INFORMATION_SCHEMA.EVENTS;
---error ER_CANNOT_LOAD_FROM_TABLE
+--error ER_EVENT_OPEN_TABLE_FAILED
SHOW CREATE EVENT intact_check;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT no_such_event;
---error ER_COL_COUNT_DOESNT_MATCH_CORRUPTED
+--error ER_EVENT_OPEN_TABLE_FAILED
CREATE EVENT intact_check_1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
ALTER EVENT intact_check_1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
ALTER EVENT intact_check_1 RENAME TO intact_check_2;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check_1;
---error ER_EVENT_DOES_NOT_EXIST
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check_2;
-# Should succeed
+--error ER_EVENT_OPEN_TABLE_FAILED
DROP EVENT intact_check;
DROP DATABASE IF EXISTS mysqltest_no_such_database;
CREATE DATABASE mysqltest_db2;
@@ -407,9 +417,54 @@ CREATE TABLE mysql.event like event_like;
DROP TABLE event_like;
--replace_column 8 # 9 #
SHOW EVENTS;
-#
-# End of tests
-#
+
+--echo
+--echo #
+--echo # Bug#12394306: the sever may crash if mysql.event is corrupted
+--echo #
+
+--echo
+CREATE EVENT ev1 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+ALTER EVENT ev1 ON SCHEDULE EVERY 8 HOUR DO SELECT 8;
+
+--echo
+CREATE TABLE event_original LIKE mysql.event;
+INSERT INTO event_original SELECT * FROM mysql.event;
+
+--echo
+ALTER TABLE mysql.event MODIFY modified CHAR(1);
+
+--echo
+--error ER_EVENT_OPEN_TABLE_FAILED
+SHOW EVENTS;
+
+--echo
+--error ER_EVENT_OPEN_TABLE_FAILED
+SELECT event_name, created, last_altered FROM information_schema.events;
+
+--echo
+--error ER_EVENT_OPEN_TABLE_FAILED
+CREATE EVENT ev2 ON SCHEDULE EVERY 5 HOUR DO SELECT 5;
+
+--echo
+--error ER_EVENT_OPEN_TABLE_FAILED
+ALTER EVENT ev1 ON SCHEDULE EVERY 9 HOUR DO SELECT 9;
+
+--echo
+DROP TABLE mysql.event;
+RENAME TABLE event_original TO mysql.event;
+
+--echo
+DROP EVENT ev1;
+
+--echo
+SHOW EVENTS;
+
+
+--echo
+--echo #
+--echo # End of tests
+--echo #
let $wait_condition=
select count(*) = 0 from information_schema.processlist
diff --git a/mysql-test/t/events_2.test b/mysql-test/t/events_2.test
index 08412d2f5b0..3d609654b21 100644
--- a/mysql-test/t/events_2.test
+++ b/mysql-test/t/events_2.test
@@ -212,15 +212,15 @@ lock table t1 read;
--replace_regex /STARTS '[^']+'/STARTS '#'/
show create event e1;
select event_name from information_schema.events;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 disable;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e2;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e1;
unlock tables;
#
@@ -229,15 +229,15 @@ lock table t1 write;
--replace_regex /STARTS '[^']+'/STARTS '#'/
show create event e1;
select event_name from information_schema.events;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 disable;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e2;
---error ER_TABLE_NOT_LOCKED
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e1;
unlock tables;
#
@@ -246,15 +246,15 @@ lock table t1 read, mysql.event read;
--replace_regex /STARTS '[^']+'/STARTS '#'/
show create event e1;
select event_name from information_schema.events;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 disable;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e2;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e1;
unlock tables;
#
@@ -263,15 +263,15 @@ lock table t1 write, mysql.event read;
--replace_regex /STARTS '[^']+'/STARTS '#'/
show create event e1;
select event_name from information_schema.events;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
create event e2 on schedule every 10 hour do select 1;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 disable;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 rename to e3;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e2;
---error ER_TABLE_NOT_LOCKED_FOR_WRITE
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e1;
unlock tables;
#
@@ -285,12 +285,18 @@ lock table mysql.event write;
--replace_regex /STARTS '[^']+'/STARTS '#'/
show create event e1;
select event_name from information_schema.events;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
create event e2 on schedule every 10 hour do select 1;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 disable;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
alter event e2 rename to e3;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e3;
+--error ER_LOCK_OR_ACTIVE_TRANSACTION
drop event e1;
unlock tables;
+drop event e1;
--echo Make sure we have left no events
select event_name from information_schema.events;
--echo
diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test
index 6fd03f4d8dc..dc31556998a 100644
--- a/mysql-test/t/events_bugs.test
+++ b/mysql-test/t/events_bugs.test
@@ -857,6 +857,7 @@ DROP EVENT e2;
DROP EVENT e1;
SET TIME_ZONE=@save_time_zone;
+SET TIMESTAMP=DEFAULT;
#
# START - BUG#28666 CREATE EVENT ... EVERY 0 SECOND let server crash
@@ -1219,6 +1220,87 @@ SELECT event_name, originator FROM INFORMATION_SCHEMA.EVENTS;
DROP EVENT ev1;
SET GLOBAL server_id = @old_server_id;
+#
+# Bug#11751148: show events shows events in other schema
+#
+
+CREATE DATABASE event_test12;
+USE event_test12;
+CREATE EVENT ev1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
+CREATE DATABASE event_test1;
+USE event_test1;
+# Following show events should not show ev1
+SHOW EVENTS;
+DROP DATABASE event_test1;
+DROP DATABASE event_test12;
+
+--echo #
+--echo # Bug#12546938 (formerly known as bug#61005):
+--echo # CREATE IF NOT EXIST EVENT WILL CREATE MULTIPLE RUNNING EVENTS
+--echo #
+USE events_test;
+SET GLOBAL event_scheduler = ON;
+
+--disable_warnings
+DROP TABLE IF EXISTS table_bug12546938;
+DROP EVENT IF EXISTS event_Bug12546938;
+--enable_warnings
+CREATE TABLE table_bug12546938 (i INT);
+
+delimiter |;
+
+--echo # Create an event which will be executed with a small delay
+--echo # and won't be automatically dropped after that.
+CREATE EVENT event_Bug12546938
+ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND ON COMPLETION PRESERVE
+ENABLE DO
+BEGIN
+ INSERT INTO table_bug12546938 VALUES(1);
+END
+|
+
+--echo # Now try to create the same event using CREATE EVENT IF NOT EXISTS.
+--echo # A warning should be emitted. A new event should not be created nor
+--echo # the old event should be re-executed.
+CREATE EVENT IF NOT EXISTS event_bug12546938
+ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 SECOND ON COMPLETION PRESERVE
+ENABLE DO
+BEGIN
+ INSERT INTO table_bug12546938 VALUES (1);
+END
+|
+
+delimiter ;|
+
+--echo # Wait until at least one instance of event is executed.
+let $wait_condition= SELECT COUNT(*) FROM table_bug12546938;
+--source include/wait_condition.inc
+
+--echo # Check that only one instance of our event was executed.
+SELECT COUNT(*) FROM table_bug12546938;
+
+--echo # Clean-up.
+DROP EVENT IF EXISTS event_Bug12546938;
+DROP TABLE table_bug12546938;
+SET GLOBAL EVENT_SCHEDULER = OFF;
+
+#
+# Bug#11764334 - 57156: ALTER EVENT CHANGES THE EVENT STATUS
+#
+--disable_warnings
+DROP DATABASE IF EXISTS event_test11764334;
+--enable_warnings
+CREATE DATABASE event_test11764334;
+USE event_test11764334;
+CREATE EVENT ev1 ON SCHEDULE EVERY 3 SECOND DISABLE DO SELECT 1;
+--replace_column 9 # 10 #
+SHOW EVENTS IN event_test11764334 WHERE NAME='ev1';
+ALTER EVENT ev1 ON SCHEDULE EVERY 4 SECOND;
+--replace_column 9 # 10 #
+SHOW EVENTS IN event_test11764334 WHERE NAME='ev1';
+DROP EVENT ev1;
+DROP DATABASE event_test11764334;
+USE test;
###########################################################################
#
# End of tests
diff --git a/mysql-test/t/events_restart.test b/mysql-test/t/events_restart.test
index e155fe2ea16..facf2912087 100644
--- a/mysql-test/t/events_restart.test
+++ b/mysql-test/t/events_restart.test
@@ -1,6 +1,8 @@
# Can't test with embedded server that doesn't support grants
-- source include/not_embedded.inc
+call mtr.add_suppression("Column count of mysql.event is wrong. Expected .*, found .*\. The table is probably corrupted");
+
#
# Test that when the server is restarted, it checks mysql.event table,
# and disables the scheduler if it's not up to date.
diff --git a/mysql-test/t/execution_constants.test b/mysql-test/t/execution_constants.test
index e61d79f5249..92b1deb9921 100644
--- a/mysql-test/t/execution_constants.test
+++ b/mysql-test/t/execution_constants.test
@@ -49,7 +49,7 @@ while ($i)
let $i = 1//
# Check that mysql_errno is 1436
- if (`select $mysql_errno != 1436`)
+ if ($mysql_errno != 1436)
{
die Wrong error triggered, expected 1436 but got $mysql_errno//
}
diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test
index 60108b3b038..8376fdf1ad1 100644
--- a/mysql-test/t/explain.test
+++ b/mysql-test/t/explain.test
@@ -1,5 +1,5 @@
#
-# Test of different EXPLAIN's
+# Test of different EXPLAINs
--disable_warnings
drop table if exists t1;
@@ -238,4 +238,61 @@ EXPLAIN SELECT c1 FROM t1 WHERE c2 = 1 AND c4 = 1 AND c5 = 1;
DROP TABLE t1;
+--echo #
+--echo # Bug#56814 Explain + subselect + fulltext crashes server
+--echo #
+
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL,
+FULLTEXT KEY(f1),UNIQUE(f1));
+INSERT INTO t1 VALUES ('test');
+
+EXPLAIN SELECT 1 FROM t1
+WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a ON (MATCH(t1.f1) AGAINST (""))
+WHERE t1.f1 GROUP BY t1.f1));
+
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+
+PREPARE stmt FROM
+'EXPLAIN SELECT 1 FROM t1
+ WHERE 1 > ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) AGAINST (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+
+DROP TABLE t1;
+
--echo End of 5.1 tests.
+
+--echo #
+--echo # Bug#11829785 EXPLAIN EXTENDED CRASH WITH RIGHT OUTER JOIN, SUBQUERIES
+--echo #
+
+CREATE TABLE t1(a INT);
+
+INSERT INTO t1 VALUES (0), (0);
+
+PREPARE s FROM
+'EXPLAIN EXTENDED
+SELECT SUBSTRING(1, (SELECT 1 FROM t1 a1 RIGHT OUTER JOIN t1 ON 0)) AS d
+FROM t1 WHERE 0 > ANY (SELECT @a FROM t1)';
+
+--error ER_SUBQUERY_NO_1_ROW
+EXECUTE s;
+
+DEALLOCATE PREPARE s;
+DROP TABLE t1;
+
+--echo #
diff --git a/mysql-test/t/file_contents.test b/mysql-test/t/file_contents.test
new file mode 100644
index 00000000000..33cd65fb2b4
--- /dev/null
+++ b/mysql-test/t/file_contents.test
@@ -0,0 +1,68 @@
+#
+# Testing files that were built to be packaged, both for existence and for contents
+#
+
+#
+# Bug #42969: Create MANIFEST files
+#
+# Use a Perl script to verify that files "docs/INFO_BIN" and "docs/INFO_SRC" do exist
+# and have the expected contents.
+
+--perl
+print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n";
+$dir_bin = $ENV{'MYSQL_BINDIR'};
+if ($dir_bin =~ m|/usr/|) {
+ # RPM package
+ $dir_docs = $dir_bin;
+ $dir_docs =~ s|/lib|/share/doc|;
+ if(-d "$dir_docs/packages/MySQL-server") {
+ # SuSE
+ $dir_docs = "$dir_docs/packages/MySQL-server";
+ } else {
+ # RedHat: version number in directory name
+ $dir_docs = glob "$dir_docs/MySQL-server*";
+ }
+} elsif ($dir_bin =~ m|/usr$|) {
+ # RPM build during development
+ $dir_docs = "$dir_bin/share/doc";
+ if(-d "$dir_docs/packages/MySQL-server") {
+ # SuSE
+ $dir_docs = "$dir_docs/packages/MySQL-server";
+ } else {
+ # RedHat: version number in directory name
+ $dir_docs = glob "$dir_docs/MySQL-server*";
+ }
+} else {
+ # tar.gz package, Windows, or developer work (in BZR)
+ $dir_docs = $dir_bin;
+ $dir_docs =~ s|/lib||;
+ if(-d "$dir_docs/docs") {
+ $dir_docs = "$dir_docs/docs"; # package
+ } else {
+ $dir_docs = "$dir_docs/Docs"; # development tree
+ }
+}
+$found_version = "No line 'MySQL source #.#.#'";
+$found_revision = "No line 'revision-id: .....'";
+open(I_SRC,"<","$dir_docs/INFO_SRC") or print "Cannot open 'INFO_SRC' in '$dir_docs' (starting from bindir '$dir_bin')\n";
+while(defined ($line = <I_SRC>)) {
+ if ($line =~ m|^MySQL source \d\.\d\.\d+|) {$found_version = "Found MySQL version number";}
+ if ($line =~ m|^revision-id: .*@.*-2\d{13}-\w+$|) {$found_revision = "Found BZR revision id";}
+}
+close I_SRC;
+print "INFO_SRC: $found_version / $found_revision\n";
+$found_compiler = "No line about compiler information";
+$found_features = "No line 'Feature flags'";
+open(I_BIN,"<","$dir_docs/INFO_BIN") or print "Cannot open 'INFO_BIN' in '$dir_docs' (starting from bindir '$dir_bin')\n";
+while(defined ($line = <I_BIN>)) {
+ # "generator" on Windows, "flags" on Unix:
+ if (($line =~ m| Compiler / generator used: |) ||
+ ($line =~ m| Compiler flags used |)) {$found_compiler = "Found 'Compiler ... used' line";}
+ if ($line =~ m| Feature flags used:|) {$found_features = "Found 'Feature flags' line";}
+}
+close I_BIN;
+print "INFO_BIN: $found_compiler / $found_features\n";
+EOF
+
+--echo
+--echo End of tests
diff --git a/mysql-test/t/filesort_debug.test b/mysql-test/t/filesort_debug.test
new file mode 100644
index 00000000000..724ebc90368
--- /dev/null
+++ b/mysql-test/t/filesort_debug.test
@@ -0,0 +1,59 @@
+--source include/have_debug.inc
+--source include/have_debug_sync.inc
+--source include/count_sessions.inc
+
+SET @old_debug= @@session.debug;
+
+--echo #
+--echo # Bug#36022 please log more information about "Sort aborted" queries
+--echo #
+
+CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
+INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
+
+SET session debug= '+d,make_char_array_fail';
+CALL mtr.add_suppression("Out of sort memory");
+--error ER_OUT_OF_SORTMEMORY
+SELECT * FROM t1 ORDER BY f1 ASC, f0;
+SET session debug= @old_debug;
+
+CREATE FUNCTION f1() RETURNS INT RETURN 1;
+--error ER_SP_WRONG_NO_OF_ARGS
+DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1;
+
+DROP TABLE t1;
+DROP FUNCTION f1;
+
+--echo #
+--echo # Bug #11747102
+--echo # 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES
+--echo #
+
+connect (con1, localhost, root);
+connect (con2, localhost, root);
+
+--echo # connection 1
+connection con1;
+CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
+INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
+
+let $ID= `SELECT @id := CONNECTION_ID()`;
+
+SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed';
+--echo # Sending: (not reaped since connection is killed later)
+--send SELECT * FROM t1 ORDER BY f1 ASC, f0
+
+--echo # connection 2
+connection con2;
+let $ignore= `SELECT @id := $ID`;
+SET DEBUG_SYNC='now WAIT_FOR filesort_started';
+KILL @id;
+SET DEBUG_SYNC='now SIGNAL filesort_killed';
+
+--echo # connection default
+connection default;
+disconnect con1;
+disconnect con2;
+--source include/wait_until_count_sessions.inc
+SET DEBUG_SYNC= "RESET";
+DROP TABLE t1;
diff --git a/mysql-test/t/fix_priv_tables.test b/mysql-test/t/fix_priv_tables.test
index eeda9bc8d15..f68c8b518c8 100644
--- a/mysql-test/t/fix_priv_tables.test
+++ b/mysql-test/t/fix_priv_tables.test
@@ -3,7 +3,7 @@
# Don't run this test if $MYSQL_FIX_PRIVILEGE_TABLES isn't set
# to the location of mysql_fix_privilege_tables.sql
-if (`SELECT LENGTH("$MYSQL_FIX_PRIVILEGE_TABLES") <= 0`)
+if (!$MYSQL_FIX_PRIVILEGE_TABLES)
{
skip Test need MYSQL_FIX_PRIVILEGE_TABLES;
}
diff --git a/mysql-test/t/flush.test b/mysql-test/t/flush.test
index d4c3533847d..52ee6d2cf87 100644
--- a/mysql-test/t/flush.test
+++ b/mysql-test/t/flush.test
@@ -546,3 +546,125 @@ disconnect con2;
connection default;
drop table t1;
+
+--echo #
+--echo # Test for bug #55273 "FLUSH TABLE tm WITH READ LOCK for Merge table
+--echo # causes assert failure".
+--echo #
+--disable_warnings
+drop table if exists t1, t2, tm;
+--enable_warnings
+create table t1 (i int);
+create table t2 (i int);
+create table tm (i int) engine=merge union=(t1, t2);
+insert into t1 values (1), (2);
+insert into t2 values (3), (4);
+--echo # The below statement should succeed and lock merge
+--echo # table for read. Only merge table gets flushed and
+--echo # not underlying tables.
+flush tables tm with read lock;
+select * from tm;
+--echo # Check that underlying tables are locked.
+select * from t1;
+select * from t2;
+unlock tables;
+--echo # This statement should succeed as well and flush
+--echo # all tables in the list.
+flush tables tm, t1, t2 with read lock;
+select * from tm;
+--echo # Naturally, underlying tables should be locked in this case too.
+select * from t1;
+select * from t2;
+unlock tables;
+drop tables tm, t1, t2;
+
+
+--echo #
+--echo # Test for bug #57006 "Deadlock between HANDLER and
+--echo # FLUSH TABLES WITH READ LOCK".
+--echo #
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+connect (con1,localhost,root,,);
+connect (con2,localhost,root,,);
+connection default;
+create table t1 (i int);
+create table t2 (i int);
+handler t1 open;
+
+--echo # Switching to connection 'con1'.
+connection con1;
+--echo # Sending:
+--send flush tables with read lock
+
+--echo # Switching to connection 'con2'.
+connection con2;
+--echo # Wait until FTWRL starts waiting for 't1' to be closed.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table flush"
+ and info = "flush tables with read lock";
+--source include/wait_condition.inc
+
+--echo # Switching to connection 'default'.
+connection default;
+--echo # The below statement should not cause deadlock.
+--echo # Sending:
+--send insert into t2 values (1)
+
+--echo # Switching to connection 'con2'.
+connection con2;
+--echo # Wait until INSERT starts to wait for FTWRL to go away.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock"
+ and info = "insert into t2 values (1)";
+--source include/wait_condition.inc
+
+--echo # Switching to connection 'con1'.
+connection con1;
+--echo # FTWRL should be able to continue now.
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap INSERT.
+--reap
+handler t1 close;
+
+--echo # Cleanup.
+connection con1;
+disconnect con1;
+--source include/wait_until_disconnected.inc
+connection con2;
+disconnect con2;
+--source include/wait_until_disconnected.inc
+connection default;
+drop tables t1, t2;
+
+
+--echo #
+--echo # Bug#57649 FLUSH TABLES under FLUSH TABLES <list> WITH READ LOCK leads
+--echo # to assert failure.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (a INT);
+FLUSH TABLES t1 WITH READ LOCK;
+
+# All these triggered the assertion
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+FLUSH TABLES;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a= 1;
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+ALTER TABLE t1 COMMENT 'test';
+
+UNLOCK TABLES;
+DROP TABLE t1;
diff --git a/mysql-test/t/flush_block_commit.test b/mysql-test/t/flush_block_commit.test
index 0b3bede1684..90443dc9242 100644
--- a/mysql-test/t/flush_block_commit.test
+++ b/mysql-test/t/flush_block_commit.test
@@ -39,7 +39,7 @@ connection con2;
--echo # Wait until COMMIT gets blocked.
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for release of readlock" and info = "COMMIT";
+ where state = "Waiting for commit lock" and info = "COMMIT";
--source include/wait_condition.inc
--echo # Verify that 'con1' was blocked and data did not move.
SELECT * FROM t1;
diff --git a/mysql-test/t/flush_block_commit_notembedded.test b/mysql-test/t/flush_block_commit_notembedded.test
index 7e3f4838ffb..fe9dbf7c19e 100644
--- a/mysql-test/t/flush_block_commit_notembedded.test
+++ b/mysql-test/t/flush_block_commit_notembedded.test
@@ -53,7 +53,7 @@ begin;
connection con1;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for release of readlock" and
+ where state = "Waiting for global read lock" and
info = "insert into t1 values (1)";
--source include/wait_condition.inc
unlock tables;
diff --git a/mysql-test/t/flush_read_lock.test b/mysql-test/t/flush_read_lock.test
new file mode 100644
index 00000000000..9da93dd40a1
--- /dev/null
+++ b/mysql-test/t/flush_read_lock.test
@@ -0,0 +1,2192 @@
+#
+# Test coverage for various aspects of FLUSH TABLES WITH READ LOCK
+# functionality.
+#
+
+# We need InnoDB for COMMIT/ROLLBACK related tests.
+--source include/have_innodb.inc
+# We need the Debug Sync Facility.
+--source include/have_debug_sync.inc
+# Parts of this test use DDL on events, BINLOG statement and
+# other statements which are not supported in embedded server.
+-- source include/not_embedded.inc
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
+--echo # FTWRL takes two global metadata locks -- a global shared
+--echo # metadata lock and the commit blocker lock.
+--echo # The first lock prevents DDL from taking place.
+--echo # Let's say that all DDL statements that take metadata
+--echo # locks form class #1 -- incompatible with FTWRL because
+--echo # take incompatible MDL table locks.
+--echo # The first global lock doesn't, however, prevent standalone
+--echo # COMMITs (or implicit COMMITs) from taking place, since a
+--echo # COMMIT doesn't take table locks. It doesn't prevent
+--echo # DDL on temporary tables either, since they don't
+--echo # take any table locks either.
+--echo # Most DDL statements do not perform an implicit commit
+--echo # if operate on a temporary table. Examples are CREATE
+--echo # TEMPORARY TABLE and DROP TEMPORARY TABLE.
+--echo # Thus, these DDL statements can go through in presence
+--echo # of FTWRL. This is class #2 -- compatible because
+--echo # do not take incompatible MDL locks and do not issue
+--echo # implicit commit..
+--echo # (Although these operations do not commit, their effects
+--echo # cannot be rolled back either.)
+--echo # ALTER TABLE, ANALYZE, OPTIMIZE and some others always
+--echo # issue an implicit commit, even if its argument is a
+--echo # temporary table.
+--echo # *Howewer* an implicit commit is a no-op if all engines
+--echo # used since the start of transactiona are non-
+--echo # transactional. Thus, for non-transactional engines,
+--echo # these operations are not blocked by FTWRL.
+--echo # This is class #3 -- compatible because do not take
+--echo # MDL table locks and are non-transactional.
+--echo # On the contrary, for transactional engines, there
+--echo # is always a commit, regardless of whether a table
+--echo # is temporary or not. Thus, for example, ALTER TABLE
+--echo # for a transactional engine will wait for FTWRL,
+--echo # even if the subject table is temporary.
+--echo # Thus ALTER TABLE <temporary> is incompatible
+--echo # with FTWRL. This is class #4 -- incompatible
+--echo # becuase issue implicit COMMIT which is not a no-op.
+--echo # Finally, there are administrative statements (such as
+--echo # RESET SLAVE) that do not take any locks and do not
+--echo # issue COMMIT.
+--echo # This is class #5.
+--echo # The goal of this coverage is to test statements
+--echo # of all classes.
+--echo # @todo: documents the effects of @@autocommit,
+--echo # DML and temporary transactional tables.
+
+--echo # Use MyISAM engine for the most of the tables
+--echo # used in this test in order to be able to
+--echo # check that DDL statements on temporary tables
+--echo # are compatible with FTRWL.
+--disable_warnings
+drop tables if exists t1_base, t2_base, t3_trans;
+drop tables if exists tm_base, tm_base_temp;
+drop database if exists mysqltest1;
+--echo # We're going to test ALTER DATABASE UPGRADE
+drop database if exists `#mysql50#mysqltest-2`;
+drop procedure if exists p1;
+drop function if exists f1;
+drop view if exists v1;
+drop procedure if exists p2;
+drop function if exists f2_base;
+drop function if exists f2_temp;
+drop event if exists e1;
+drop event if exists e2;
+--enable_warnings
+create table t1_base(i int) engine=myisam;
+create table t2_base(j int) engine=myisam;
+create table t3_trans(i int) engine=innodb;
+create temporary table t1_temp(i int) engine=myisam;
+create temporary table t2_temp(j int) engine=myisam;
+create temporary table t3_temp_trans(i int) engine=innodb;
+create database mysqltest1;
+create database `#mysql50#mysqltest-2`;
+create procedure p1() begin end;
+create function f1() returns int return 0;
+create view v1 as select 1 as i;
+create procedure p2(i int) begin end;
+delimiter |;
+create function f2_base() returns int
+begin
+ insert into t1_base values (1);
+ return 0;
+end|
+create function f2_temp() returns int
+begin
+ insert into t1_temp values (1);
+ return 0;
+end|
+delimiter ;|
+create event e1 on schedule every 1 minute do begin end;
+
+connect (con1,localhost,root,,);
+connect (con2,localhost,root,,);
+connect (con3,localhost,root,,);
+connection default;
+
+--echo #
+--echo # Test compatibility of FLUSH TABLES WITH READ LOCK
+--echo # with various statements.
+--echo #
+--echo # These tests don't cover some classes of statements:
+--echo # - Replication-related - CHANGE MASTER TO, START/STOP SLAVE and etc
+--echo # (all compatible with FTWRL).
+--echo # - Plugin-related - INSTALL/UNINSTALL (incompatible with FTWRL,
+--echo # require plugin support).
+
+let $con_aux1=con1;
+let $con_aux2=con2;
+let $cleanup_stmt2= ;
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 1) ALTER variants.
+--echo #
+--echo # 1.1) ALTER TABLE
+--echo #
+--echo # 1.1.a) For base table should be incompatible with FTWRL.
+--echo #
+let $statement= alter table t1_base add column c1 int;
+let $cleanup_stmt1= alter table t1_base drop column c1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 1.1.b) For a temporary table should be compatible with FTWRL.
+--echo #
+let $statement= alter table t1_temp add column c1 int;
+let $cleanup_stmt= alter table t1_temp drop column c1;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 1.2) ALTER DATABASE should be incompatible with FTWRL.
+--echo #
+let $statement= alter database mysqltest1 default character set utf8;
+let $cleanup_stmt1= alter database mysqltest1 default character set latin1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 1.3) ALTER DATABASE UPGRADE DATA DIRECTORY NAME should be
+--echo # incompatible with FTWRL.
+--echo #
+let $statement= alter database `#mysql50#mysqltest-2` upgrade data directory name;
+let $cleanup_stmt1= drop database `mysqltest-2`;
+let $cleanup_stmt2= create database `#mysql50#mysqltest-2`;
+--source include/check_ftwrl_incompatible.inc
+let $cleanup_stmt2= ;
+
+--echo #
+--echo # 1.4) ALTER PROCEDURE should be incompatible with FTWRL.
+--echo #
+let $statement= alter procedure p1 comment 'a';
+let $cleanup_stmt1= alter procedure p1 comment '';
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 1.5) ALTER FUNCTION should be incompatible with FTWRL.
+--echo #
+let $statement= alter function f1 comment 'a';
+let $cleanup_stmt1= alter function f1 comment '';
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 1.6) ALTER VIEW should be incompatible with FTWRL.
+--echo #
+let $statement= alter view v1 as select 2 as j;
+let $cleanup_stmt1= alter view v1 as select 1 as i;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 1.7) ALTER EVENT should be incompatible with FTWRL.
+--echo #
+let $statement= alter event e1 comment 'test';
+let $cleanup_stmt1= alter event e1 comment '';
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 1.x) The rest of ALTER statements (ALTER TABLESPACE,
+--echo # ALTER LOGFILE GROUP and ALTER SERVER) are too
+--echo # special to be tested here.
+--echo #
+
+
+--echo #
+--echo # 2) ANALYZE TABLE statement is compatible with FTWRL.
+--echo # See Bug#43336 ANALYZE and OPTIMIZE do not honour
+--echo # --read-only for a discussion why.
+--echo #
+let $statement= analyze table t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 3) BEGIN, ROLLBACK and COMMIT statements.
+--echo # BEGIN and ROLLBACK are compatible with FTWRL.
+--echo # COMMIT is not.
+--echo #
+--echo # We need a special test for these statements as
+--echo # FTWRL commits a transaction and because COMMIT
+--echo # is handled in a special way.
+flush tables with read lock;
+begin;
+--echo # ROLLBACK is allowed under FTWRL although there
+--echo # no much sense in it. FTWRL commits any previous
+--echo # changes and doesn't allows any DML after it.
+--echo # So such a ROLLBACK is always a no-op.
+rollback;
+--echo # Although COMMIT is incompatible with FTWRL in
+--echo # other senses it is still allowed under FTWRL.
+--echo # This fact relied upon by some versions of
+--echo # innobackup tool.
+--echo # Similarly to ROLLBACK it is a no-op in this situation.
+commit;
+unlock tables;
+--echo # Check that BEGIN/ROLLBACK are not blocked and
+--echo # COMMIT is blocked by active FTWRL in another
+--echo # connection.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+begin;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Do some work so ROLLBACK is not a no-op.
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+rollback;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+begin;
+--echo # Do some work so COMMIT is not a no-op.
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Send:
+--send commit
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Wait until COMMIT is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "commit";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap COMMIT.
+--reap
+delete from t3_trans;
+--echo #
+--echo # Check that COMMIT blocks FTWRL in another connection.
+begin;
+insert into t3_trans values (1);
+set debug_sync='RESET';
+set debug_sync='ha_commit_trans_after_acquire_commit_lock SIGNAL parked WAIT_FOR go';
+--send commit
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+--send flush tables with read lock
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Wait until FTWRL is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap COMMIT.
+--reap
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+delete from t3_trans;
+set debug_sync= "RESET";
+--echo # We don't run similar test for BEGIN and ROLLBACK as
+--echo # they release metadata locks in non-standard place.
+
+
+--echo #
+--echo # 4) BINLOG statement should be incompatible with FTWRL.
+--echo #
+--echo #
+--echo # Provide format description BINLOG statement first.
+BINLOG '
+MfmqTA8BAAAAZwAAAGsAAAABAAQANS41LjctbTMtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAx+apMEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
+';
+--echo # Now test compatibility for BINLOG statement which is
+--echo # equivalent to INSERT INTO t1_base VALUES (1).
+let $statement= BINLOG '
+MfmqTBMBAAAALgAAAN0AAAAAACgAAAAAAAEABHRlc3QAB3QxX2Jhc2UAAQMAAQ==
+MfmqTBcBAAAAIgAAAP8AAAAAACgAAAAAAAEAAf/+AQAAAA==
+';
+let $cleanup_stmt1= delete from t1_base where i = 1 limit 1;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_incompatible.inc
+let $skip_3rd_check= ;
+
+
+--echo #
+--echo # 5) CALL statement. This statement uses resources in two
+--echo # ways: through expressions used as parameters and through
+--echo # sub-statements. This test covers only usage through
+--echo # parameters as sub-statements do locking individually.
+--echo #
+--echo # 5.a) In simple cases a parameter expression should be
+--echo # compatible with FTWRL.
+let $statement= call p2((select count(*) from t1_base));
+let $cleanup_stmt1= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 5.b) In case when an expression uses function which updates
+--echo # base tables CALL should be incompatible with FTWRL.
+--echo #
+let $statement= call p2(f2_base());
+let $cleanup_stmt1= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_incompatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 5.c) If function used as argument updates temporary tables
+--echo # CALL statement should be compatible with FTWRL.
+--echo #
+let $statement= call p2(f2_temp());
+let $cleanup_stmt1= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+
+--echo #
+--echo # 6) CHECK TABLE statement is compatible with FTWRL.
+--echo #
+let $statement= check table t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 7) CHECKSUM TABLE statement is compatible with FTWRL.
+--echo #
+let $statement= checksum table t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 8) CREATE variants.
+--echo #
+--echo # 8.1) CREATE TABLE statement.
+--echo #
+--echo # 8.1.a) CREATE TABLE is incompatible with FTWRL when
+--echo # base table is created.
+let $statement= create table t3_base(i int);
+let $cleanup_stmt1= drop table t3_base;
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 8.1.b) CREATE TABLE is compatible with FTWRL when
+--echo # temporary table is created.
+let $statement= create temporary table t3_temp(i int);
+let $cleanup_stmt= drop temporary tables t3_temp;
+--source include/check_ftwrl_compatible.inc
+
+--echo # 8.1.c) CREATE TABLE LIKE is incompatible with FTWRL when
+--echo # base table is created.
+let $statement= create table t3_base like t1_temp;
+let $cleanup_stmt1= drop table t3_base;
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 8.1.d) CREATE TABLE LIKE is compatible with FTWRL when
+--echo # temporary table is created.
+let $statement= create temporary table t3_temp like t1_base;
+let $cleanup_stmt= drop temporary table t3_temp;
+--source include/check_ftwrl_compatible.inc
+
+--echo # 8.1.e) CREATE TABLE SELECT is incompatible with FTWRL when
+--echo # base table is created.
+let $statement= create table t3_base select 1 as i;
+let $cleanup_stmt1= drop table t3_base;
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 8.1.f) CREATE TABLE SELECT is compatible with FTWRL when
+--echo # temporary table is created.
+let $statement= create temporary table t3_temp select 1 as i;
+let $cleanup_stmt= drop temporary table t3_temp;
+--source include/check_ftwrl_compatible.inc
+
+--echo # 8.2) CREATE INDEX statement.
+--echo #
+--echo # 8.2.a) CREATE INDEX is incompatible with FTWRL when
+--echo # applied to base table.
+let $statement= create index i on t1_base (i);
+let $cleanup_stmt1= drop index i on t1_base;
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 8.2.b) CREATE INDEX is compatible with FTWRL when
+--echo # applied to temporary table.
+let $statement= create index i on t1_temp (i);
+let $cleanup_stmt= drop index i on t1_temp;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 8.3) CREATE DATABASE is incompatible with FTWRL.
+--echo #
+let $statement= create database mysqltest2;
+let $cleanup_stmt1= drop database mysqltest2;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.4) CREATE VIEW is incompatible with FTWRL.
+--echo #
+let $statement= create view v2 as select 1 as j;
+let $cleanup_stmt1= drop view v2;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.5) CREATE TRIGGER is incompatible with FTWRL.
+--echo #
+let $statement= create trigger t1_bi before insert on t1_base for each row begin end;
+let $cleanup_stmt1= drop trigger t1_bi;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.6) CREATE FUNCTION is incompatible with FTWRL.
+--echo #
+let $statement= create function f2() returns int return 0;
+let $cleanup_stmt1= drop function f2;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.7) CREATE PROCEDURE is incompatible with FTWRL.
+--echo #
+let $statement= create procedure p3() begin end;
+let $cleanup_stmt1= drop procedure p3;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.8) CREATE EVENT should be incompatible with FTWRL.
+--echo #
+let $statement= create event e2 on schedule every 1 minute do begin end;
+let $cleanup_stmt1= drop event e2;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.9) CREATE USER should be incompatible with FTWRL.
+--echo #
+let $statement= create user mysqltest_u1;
+let $cleanup_stmt1= drop user mysqltest_u1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 8.x) The rest of CREATE variants (CREATE LOGFILE GROUP,
+--echo # CREATE TABLESPACE and CREATE SERVER) are too special
+--echo # to test here.
+--echo #
+
+
+--echo #
+--echo # 9) PREPARE, EXECUTE and DEALLOCATE PREPARE statements.
+--echo #
+--echo # 9.1) PREPARE statement is compatible with FTWRL as it
+--echo # doesn't change any data.
+--echo #
+--echo # 9.1.a) Prepare of simple INSERT statement.
+--echo #
+let $statement= prepare stmt1 from 'insert into t1_base values (1)';
+let $cleanup_stmt= deallocate prepare stmt1;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 9.1.b) Prepare of multi-UPDATE. At some point such statements
+--echo # tried to acquire thr_lock.c locks during prepare phase.
+--echo # This no longer happens and thus it is compatible with
+--echo # FTWRL.
+let $statement= prepare stmt1 from 'update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j';
+let $cleanup_stmt= deallocate prepare stmt1;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 9.1.c) Prepare of multi-DELETE. Again PREPARE of such
+--echo # statement should be compatible with FTWRL.
+let $statement= prepare stmt1 from 'delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j';
+let $cleanup_stmt= deallocate prepare stmt1;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 9.2) Compatibility of EXECUTE statement depends on statement
+--echo # to be executed.
+--echo #
+--echo # 9.2.a) EXECUTE for statement which is itself compatible with
+--echo # FTWRL should be compatible.
+prepare stmt1 from 'select * from t1_base';
+let $statement= execute stmt1;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+deallocate prepare stmt1;
+
+call mtr.add_suppression("Slave SQL.*Can.t execute the query because you have a conflicting read lock., Error_code: 1223");
+
+--echo #
+--echo # 9.2.b) EXECUTE for statement which is incompatible with FTWRL
+--echo # should be also incompatible.
+--echo #
+--echo # Check that EXECUTE is not allowed under FTWRL.
+prepare stmt1 from 'insert into t1_base values (1)';
+flush tables with read lock;
+--error ER_CANT_UPDATE_WITH_READLOCK
+execute stmt1;
+unlock tables;
+--echo # Check that active FTWRL in another connection
+--echo # blocks EXECUTE which changes data.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send execute stmt1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that EXECUTE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "insert into t1_base values (1)";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap EXECUTE.
+--reap
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send execute stmt1;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+--send flush tables with read lock
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Wait until FTWRL is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap EXECUTE.
+--reap
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+set debug_sync= "RESET";
+delete from t1_base;
+deallocate prepare stmt1;
+
+--echo #
+--echo # 9.3) DEALLOCATE PREPARE is compatible with FTWRL.
+--echo #
+prepare stmt1 from 'insert into t1_base values (1)';
+let $statement= deallocate prepare stmt1;
+let $cleanup_stmt= prepare stmt1 from 'insert into t1_base values (1)';
+--source include/check_ftwrl_compatible.inc
+deallocate prepare stmt1;
+
+
+--echo #
+--echo # 10) DELETE variations.
+--echo #
+--echo # 10.1) Simple DELETE.
+--echo #
+--echo # 10.1.a) Simple DELETE on base table is incompatible with FTWRL.
+let $statement= delete from t1_base;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 10.1.b) Simple DELETE on temporary table is compatible with FTWRL.
+let $statement= delete from t1_temp;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 10.2) Multi DELETE.
+--echo #
+--echo # 10.2.a) Multi DELETE on base tables is incompatible with FTWRL.
+let $statement= delete t1_base from t1_base, t2_base where t1_base.i = t2_base.j;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 10.2.b) Multi DELETE on temporary tables is compatible with FTWRL.
+let $statement= delete t1_temp from t1_temp, t2_temp where t1_temp.i = t2_temp.j;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 11) DESCRIBE should be compatible with FTWRL.
+--echo #
+let $statement= describe t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 12) Compatibility of DO statement with FTWRL depends on its
+--echo # expression.
+--echo #
+--echo # 12.a) DO with expression which does not change base table
+--echo # should be compatible with FTWRL.
+let $statement= do (select count(*) from t1_base);
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 12.b) DO which calls SF updating base table should be
+--echo # incompatible with FTWRL.
+let $statement= do f2_base();
+let $cleanup_stmt1= delete from t1_base limit 1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 12.c) DO which calls SF updating temporary table should be
+--echo # compatible with FTWRL.
+let $statement= do f2_temp();
+let $cleanup_stmt= delete from t1_temp limit 1;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 13) DROP variants.
+--echo #
+--echo # 13.1) DROP TABLES.
+--echo #
+--echo # 13.1.a) DROP TABLES which affects base tables is incompatible
+--echo # with FTWRL.
+let $statement= drop table t2_base;
+let $cleanup_stmt1= create table t2_base(j int);
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 13.1.b) DROP TABLES which affects only temporary tables
+--echo # in theory can be compatible with FTWRL.
+--echo # In practice it is not yet.
+let $statement= drop table t2_temp;
+let $cleanup_stmt1= create temporary table t2_temp(j int);
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL.
+let $statement= drop temporary table t2_temp;
+let $cleanup_stmt= create temporary table t2_temp(j int);
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 13.2) DROP INDEX.
+--echo #
+--echo # 13.2.a) DROP INDEX on a base table is incompatible with FTWRL.
+create index i on t1_base (i);
+let $statement= drop index i on t1_base;
+let $cleanup_stmt1= create index i on t1_base (i);
+--source include/check_ftwrl_incompatible.inc
+drop index i on t1_base;
+
+--echo #
+--echo # 13.2.b) DROP INDEX on a temporary table is compatible with FTWRL.
+create index i on t1_temp (i);
+let $statement= drop index i on t1_temp;
+let $cleanup_stmt= create index i on t1_temp (i);
+--source include/check_ftwrl_compatible.inc
+drop index i on t1_temp;
+
+--echo #
+--echo # 13.3) DROP DATABASE is incompatible with FTWRL
+--echo #
+let $statement= drop database mysqltest1;
+let $cleanup_stmt1= create database mysqltest1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 13.4) DROP FUNCTION is incompatible with FTWRL.
+--echo #
+let $statement= drop function f1;
+let $cleanup_stmt1= create function f1() returns int return 0;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 13.5) DROP PROCEDURE is incompatible with FTWRL.
+--echo #
+let $statement= drop procedure p1;
+let $cleanup_stmt1= create procedure p1() begin end;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 13.6) DROP USER should be incompatible with FTWRL.
+--echo #
+create user mysqltest_u1;
+let $statement= drop user mysqltest_u1;
+let $cleanup_stmt1= create user mysqltest_u1;
+--source include/check_ftwrl_incompatible.inc
+drop user mysqltest_u1;
+
+--echo #
+--echo # 13.7) DROP VIEW should be incompatible with FTWRL.
+--echo #
+let $statement= drop view v1;
+let $cleanup_stmt1= create view v1 as select 1 as i;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 13.8) DROP EVENT should be incompatible with FTWRL.
+--echo #
+let $statement= drop event e1;
+let $cleanup_stmt1= create event e1 on schedule every 1 minute do begin end;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 13.9) DROP TRIGGER is incompatible with FTWRL.
+--echo #
+create trigger t1_bi before insert on t1_base for each row begin end;
+let $statement= drop trigger t1_bi;
+let $cleanup_stmt1= create trigger t1_bi before insert on t1_base for each row begin end;
+--source include/check_ftwrl_incompatible.inc
+drop trigger t1_bi;
+
+--echo #
+--echo # 13.x) The rest of DROP variants (DROP TABLESPACE, DROP LOGFILE
+--echo # GROUP and DROP SERVER) are too special to test here.
+--echo #
+
+
+--echo #
+--echo # 14) FLUSH variants.
+--echo #
+--echo # Test compatibility of _some_ important FLUSH variants with FTWRL.
+--echo #
+--echo # 14.1) FLUSH TABLES WITH READ LOCK is compatible with itself.
+--echo #
+--echo # Check that FTWRL statements can be run while FTWRL
+--echo # is active in another connection.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+flush tables with read lock;
+--echo # The second FTWRL in a row is allowed at the moment.
+--echo # It does not make much sense as it does only flush.
+flush tables with read lock;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+flush tables with read lock;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+
+--echo #
+--echo # 14.2) FLUSH TABLES <list> WITH READ LOCK is not blocked by
+--echo # active FTWRL. But since the latter keeps tables open
+--echo # FTWRL is blocked by FLUSH TABLES <list> WITH READ LOCK.
+flush tables with read lock;
+--echo # FT <list> WRL is allowed under FTWRL at the moment.
+--echo # It does not make much sense though.
+flush tables t1_base, t2_base with read lock;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+flush tables t1_base, t2_base with read lock;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+flush tables t1_base, t2_base with read lock;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--send flush tables with read lock
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Wait until FTWRL is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table flush" and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+--echo # Switching to connection 'default'.
+connection default;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+
+
+--echo #
+--echo # 14.3) FLUSH TABLES is compatible with FTWRL.
+let $statement= flush tables;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 14.4) FLUSH TABLES <list> is compatible with FTWRL.
+let $statement= flush table t1_base, t2_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 14.5) FLUSH PRIVILEGES is compatible with FTWRL.
+let $statement= flush privileges;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 15) GRANT statement should be incompatible with FTWRL.
+--echo #
+let $statement= grant all privileges on t1_base to mysqltest_u1;
+let $cleanup_stmt1= revoke all privileges on t1_base from mysqltest_u1;
+--source include/check_ftwrl_incompatible.inc
+drop user mysqltest_u1;
+
+
+--echo #
+--echo # 16) All HANDLER variants are half-compatible with FTWRL.
+--echo # I.e. they are not blocked by active FTWRL. But since open
+--echo # HANDLER means open table instance FTWRL is blocked while
+--echo # HANDLER is not closed.
+--echo #
+--echo # Check that HANDLER statements succeed under FTWRL.
+flush tables with read lock;
+handler t1_base open;
+handler t1_base read first;
+handler t1_base close;
+unlock tables;
+--echo # Check that HANDLER statements can be run while FTWRL
+--echo # is active in another connection.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+handler t1_base open;
+handler t1_base read first;
+handler t1_base close;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+
+
+--echo #
+--echo # 17) HELP statement is compatible with FTWRL.
+--echo #
+let $statement= help no_such_topic;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 18) INSERT statement.
+--echo #
+--echo # 18.a) Ordinary INSERT into base table is incompatible with FTWRL.
+let $statement= insert into t1_base values (1);
+let $cleanup_stmt1= delete from t1_base limit 1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 18.b) Ordinary INSERT into temp table is compatible with FTWRL.
+let $statement= insert into t1_temp values (1);
+let $cleanup_stmt= delete from t1_temp limit 1;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 18.c) INSERT DELAYED is incompatible with FTWRL.
+let $statement= insert delayed into t1_base values (1);
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+delete from t1_base;
+
+--echo #
+--echo # 18.d) INSERT SELECT into base table is incompatible with FTWRL.
+let $statement= insert into t1_base select * from t1_temp;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 18.e) INSERT SELECT into temp table is compatible with FTWRL.
+let $statement= insert into t1_temp select * from t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 19) KILL statement is compatible with FTWRL.
+--echo #
+--echo # Check that KILL can be run under FTWRL.
+flush tables with read lock;
+set @id:= connection_id();
+--error ER_QUERY_INTERRUPTED
+kill query @id;
+unlock tables;
+--echo # Check that KILL statements can be run while FTWRL
+--echo # is active in another connection.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--error ER_QUERY_INTERRUPTED
+kill query @id;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Finally check that KILL doesn't block FTWRL
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send kill query @id
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap KILL.
+--error ER_QUERY_INTERRUPTED
+--reap
+set debug_sync='RESET';
+
+
+--echo #
+--echo # 20) LOAD DATA statement.
+--echo #
+--echo # 20.a) LOAD DATA into base table is incompatible with FTWRL.
+let $statement= load data infile '../../std_data/rpl_loaddata.dat' into table t1_base (@dummy, i);
+let $cleanup_stmt1= delete from t1_base;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 20.b) LOAD DATA into temporary table is compatible with FTWRL.
+let $statement= load data infile '../../std_data/rpl_loaddata.dat' into table t1_temp (@dummy, i);
+let $cleanup_stmt= delete from t1_temp;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 21) LOCK/UNLOCK TABLES statements.
+--echo #
+--echo # LOCK TABLES statement always (almost) blocks FTWRL as it
+--echo # keeps tables open until UNLOCK TABLES.
+--echo # Active FTWRL on the other hand blocks only those
+--echo # LOCK TABLES which allow updating of base tables.
+--echo #
+--echo # 21.a) LOCK TABLES READ is allowed under FTWRL and
+--echo # is not blocked by active FTWRL.
+flush tables with read lock;
+lock tables t1_base read;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+lock tables t1_base read;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+
+--echo #
+--echo # 21.b) LOCK TABLES WRITE on a base table is disallowed
+--echo # under FTWRL and should be blocked by active FTWRL.
+flush tables with read lock;
+--error ER_CANT_UPDATE_WITH_READLOCK
+lock tables t1_base write;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send lock tables t1_base write
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that LOCK TABLES WRITE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "lock tables t1_base write";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap LOCK TABLES WRITE
+--reap
+unlock tables;
+
+--echo #
+--echo # 21.c) LOCK TABLES WRITE on temporary table doesn't
+--echo # make much sense but is allowed under FTWRL
+--echo # and should not be blocked by active FTWRL.
+flush tables with read lock;
+lock tables t1_temp write;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+lock tables t1_temp write;
+unlock tables;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+
+
+--echo #
+--echo # 22) OPTIMIZE TABLE statement.
+--echo #
+--echo # 22.a) OPTIMIZE TABLE of base table is incompatible with FTWRL.
+flush tables with read lock;
+--echo # OPTIMIZE statement returns errors as part of result-set.
+optimize table t1_base;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send optimize table t1_base
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that OPTIMIZE TABLE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "optimize table t1_base";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap OPTIMIZE TABLE
+--reap
+--echo # We don't check that active OPTIMIZE TABLE blocks
+--echo # FTWRL as this one of statements releasing metadata
+--echo # locks in non-standard place.
+
+--echo #
+--echo # 22.b) OPTIMIZE TABLE of temporary table is compatible with FTWRL.
+let $statement= optimize table t1_temp;
+let $cleanup_stmt= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+
+--echo #
+--echo # 23) CACHE statement is compatible with FTWRL.
+--echo #
+let $statement= cache index t1_base in default;
+let $cleanup_stmt= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+
+--echo #
+--echo # 24) LOAD INDEX statement is compatible with FTWRL.
+--echo #
+let $statement= load index into cache t1_base;
+let $cleanup_stmt= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+
+--echo #
+--echo # 25) SAVEPOINT/RELEASE SAVEPOINT/ROLLBACK TO SAVEPOINT are
+--echo # compatible with FTWRL.
+--echo #
+--echo # Since manipulations on savepoint have to be done
+--echo # inside transaction and FTWRL commits transaction we
+--echo # need a special test for these statements.
+flush tables with read lock;
+begin;
+savepoint sv1;
+rollback to savepoint sv1;
+release savepoint sv1;
+unlock tables;
+commit;
+--echo # Check that these statements are not blocked by
+--echo # active FTWRL in another connection.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+begin;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Do some changes to avoid SAVEPOINT and friends
+--echo # being almost no-ops.
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+savepoint sv1;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+insert into t3_trans values (2);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+rollback to savepoint sv1;
+release savepoint sv1;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+rollback;
+--echo # Check that these statements don't block FTWRL in
+--echo # another connection.
+begin;
+--echo # Do some changes to avoid SAVEPOINT and friends
+--echo # being almost no-ops.
+insert into t3_trans values (1);
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send savepoint sv1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap SAVEPOINT
+--reap
+insert into t3_trans values (2);
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send rollback to savepoint sv1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap ROLLBACK TO SAVEPOINT
+--reap
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send release savepoint sv1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+flush tables with read lock;
+unlock tables;
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap RELEASE SAVEPOINT
+--reap
+rollback;
+set debug_sync= "RESET";
+
+
+--echo #
+--echo # 26) RENAME variants.
+--echo #
+--echo # 26.1) RENAME TABLES is incompatible with FTWRL.
+let $statement= rename table t1_base to t3_base;
+let $cleanup_stmt1= rename table t3_base to t1_base;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 26.2) RENAME USER is incompatible with FTWRL.
+create user mysqltest_u1;
+let $statement= rename user mysqltest_u1 to mysqltest_u2;
+let $cleanup_stmt1= rename user mysqltest_u2 to mysqltest_u1;
+--source include/check_ftwrl_incompatible.inc
+drop user mysqltest_u1;
+
+
+--echo #
+--echo # 27) REPAIR TABLE statement.
+--echo #
+--echo # 27.a) REPAIR TABLE of base table is incompatible with FTWRL.
+flush tables with read lock;
+--echo # REPAIR statement returns errors as part of result-set.
+repair table t1_base;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send repair table t1_base
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that REPAIR TABLE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "repair table t1_base";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap REPAIR TABLE
+--reap
+--echo # We don't check that active REPAIR TABLE blocks
+--echo # FTWRL as this one of statements releasing metadata
+--echo # locks in non-standard place.
+
+--echo #
+--echo # 27.b) REPAIR TABLE of temporary table is compatible with FTWRL.
+let $statement= repair table t1_temp;
+let $cleanup_stmt= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+
+--echo #
+--echo # 28) REPLACE statement.
+--echo #
+--echo # 28.a) Ordinary REPLACE into base table is incompatible with FTWRL.
+let $statement= replace into t1_base values (1);
+let $cleanup_stmt1= delete from t1_base limit 1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 28.b) Ordinary REPLACE into temp table is compatible with FTWRL.
+let $statement= replace into t1_temp values (1);
+let $cleanup_stmt= delete from t1_temp limit 1;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 28.c) REPLACE SELECT into base table is incompatible with FTWRL.
+let $statement= replace into t1_base select * from t1_temp;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 28.d) REPLACE SELECT into temp table is compatible with FTWRL.
+let $statement= replace into t1_temp select * from t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 29) REVOKE variants.
+--echo #
+--echo # 29.1) REVOKE privileges is incompatible with FTWRL.
+grant all privileges on t1_base to mysqltest_u1;
+let $statement= revoke all privileges on t1_base from mysqltest_u1;
+let $cleanup_stmt1= grant all privileges on t1_base to mysqltest_u1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 29.2) REVOKE ALL PRIVILEGES, GRANT OPTION is incompatible with FTWRL.
+let $statement= revoke all privileges, grant option from mysqltest_u1;
+let $cleanup_stmt1= grant all privileges on t1_base to mysqltest_u1;
+--source include/check_ftwrl_incompatible.inc
+drop user mysqltest_u1;
+
+
+--echo #
+--echo # 30) Compatibility of SELECT statement with FTWRL depends on
+--echo # locking mode used and on functions being invoked by it.
+--echo #
+--echo # 30.a) Simple SELECT which does not change tables should be
+--echo # compatible with FTWRL.
+let $statement= select count(*) from t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo # 30.b) SELECT ... FOR UPDATE is incompatible with FTWRL.
+let $statement= select count(*) from t1_base for update;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo # 30.c) SELECT ... LOCK IN SHARE MODE is compatible with FTWRL.
+let $statement= select count(*) from t1_base lock in share mode;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 30.d) SELECT which calls SF updating base table should be
+--echo # incompatible with FTWRL.
+let $statement= select f2_base();
+let $cleanup_stmt1= delete from t1_base limit 1;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 30.e) SELECT which calls SF updating temporary table should be
+--echo # compatible with FTWRL.
+let $statement= select f2_temp();
+let $cleanup_stmt= delete from t1_temp limit 1;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 31) Compatibility of SET statement with FTWRL depends on its
+--echo # expression and on whether it is a special SET statement.
+--echo #
+--echo # 31.a) Ordinary SET with expression which does not
+--echo # changes base table should be compatible with FTWRL.
+let $statement= set @a:= (select count(*) from t1_base);
+let $cleanup_stmt= ;
+--echo # Skip last part of compatibility testing as our helper debug
+--echo # sync-point doesn't work for SET statements.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 31.b) Ordinary SET which calls SF updating base table should
+--echo # be incompatible with FTWRL.
+let $statement= set @a:= f2_base();
+let $cleanup_stmt1= delete from t1_base limit 1;
+--echo # Skip last part of compatibility testing as our helper debug
+--echo # sync-point doesn't work for SET statements.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_incompatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 31.c) Ordinary SET which calls SF updating temporary table
+--echo # should be compatible with FTWRL.
+let $statement= set @a:= f2_temp();
+let $cleanup_stmt= delete from t1_temp limit 1;
+--echo # Skip last part of compatibility testing as our helper debug
+--echo # sync-point doesn't work for SET statements.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 31.d) Special SET variants have different compatibility with FTWRL.
+--echo #
+--echo # 31.d.I) SET PASSWORD is incompatible with FTWRL as it changes data.
+create user mysqltest_u1;
+let $statement= set password for 'mysqltest_u1' = password('');
+let $cleanup_stmt1= ;
+--echo # Skip last part of compatibility testing as our helper debug
+--echo # sync-point doesn't work for SET statements.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_incompatible.inc
+let $skip_3rd_check= ;
+drop user mysqltest_u1;
+--echo #
+--echo # 31.d.II) SET READ_ONLY is compatible with FTWRL (but has no
+--echo # effect when executed under it).
+let $statement= set global read_only= 1;
+let $cleanup_stmt= set global read_only= 0;
+--echo # Skip last part of compatibility testing as our helper debug
+--echo # sync-point doesn't work for SET statements.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+--echo #
+--echo # 31.d.III) Situation with SET AUTOCOMMIT is complex.
+--echo # Turning auto-commit off is always compatible with FTWRL.
+--echo # Turning auto-commit on causes implicit commit and so
+--echo # is incompatible with FTWRL if there are changes to be
+--echo # committed.
+flush tables with read lock;
+set autocommit= 0;
+--echo # Turning auto-commit on causes implicit commit so can
+--echo # be incompatible with FTWRL if there is something to
+--echo # commit. But since even in this case we allow commits
+--echo # under active FTWRL such statement should always succeed.
+insert into t3_temp_trans values (1);
+set autocommit= 1;
+unlock tables;
+delete from t3_temp_trans;
+--echo # Check that SET AUTOCOMMIT=0 is not blocked and
+--echo # SET AUTOCOMMIT=1 is blocked by active FTWRL in
+--echo # another connection.
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+set autocommit= 0;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Do some work so implicit commit in SET AUTOCOMMIT=1
+--echo # is not a no-op.
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Send:
+--send set autocommit= 1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Wait until SET AUTOCOMMIT=1 is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "set autocommit= 1";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap SET AUTOCOMMIT=1.
+--reap
+delete from t3_trans;
+--echo #
+--echo # Check that SET AUTOCOMMIT=1 blocks FTWRL in another connection.
+set autocommit= 0;
+insert into t3_trans values (1);
+set debug_sync='RESET';
+set debug_sync='ha_commit_trans_after_acquire_commit_lock SIGNAL parked WAIT_FOR go';
+--send set autocommit= 1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+--send flush tables with read lock
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Wait until FTWRL is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap SET AUTOCOMMIT=1.
+--reap
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+delete from t3_trans;
+set debug_sync= "RESET";
+
+
+--echo #
+--echo # 32) SHOW statements are compatible with FTWRL.
+--echo # Let us test _some_ of them.
+--echo #
+--echo # 32.1) SHOW TABLES.
+let $statement= show tables from test;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 32.1) SHOW TABLES.
+let $statement= show tables from test;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 32.2) SHOW EVENTS.
+let $statement= show events from test;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 32.3) SHOW GRANTS.
+create user mysqltest_u1;
+let $statement= show grants for mysqltest_u1;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+drop user mysqltest_u1;
+
+--echo #
+--echo # 32.4) SHOW CREATE TABLE.
+let $statement= show create table t1_base;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 32.5) SHOW CREATE FUNCTION.
+let $statement= show create function f1;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 33) SIGNAL statement is compatible with FTWRL.
+--echo #
+--echo # Note that we don't cover RESIGNAL as it requires
+--echo # active handler context.
+let $statement= signal sqlstate '01000';
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 34) TRUNCATE TABLE statement.
+--echo #
+--echo # 34.a) TRUNCATE of base table is incompatible with FTWRL.
+let $statement= truncate table t1_base;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 34.b) TRUNCATE of temporary table is compatible with FTWRL.
+let $statement= truncate table t1_temp;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 35) UPDATE variants.
+--echo #
+--echo # 35.1) Simple UPDATE.
+--echo #
+--echo # 35.1.a) Simple UPDATE on base table is incompatible with FTWRL.
+let $statement= update t1_base set i= 1 where i = 0;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 35.1.b) Simple UPDATE on temporary table is compatible with FTWRL.
+let $statement= update t1_temp set i= 1 where i = 0;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 35.2) Multi UPDATE.
+--echo #
+--echo # 35.2.a) Multi UPDATE on base tables is incompatible with FTWRL.
+let $statement= update t1_base, t2_base set t1_base.i= 1 where t1_base.i = t2_base.j;
+let $cleanup_stmt1= ;
+--source include/check_ftwrl_incompatible.inc
+
+--echo #
+--echo # 35.2.b) Multi UPDATE on temporary tables is compatible with FTWRL.
+let $statement= update t1_temp, t2_temp set t1_temp.i= 1 where t1_temp.i = t2_temp.j;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 36) USE statement is compatible with FTWRL.
+--echo #
+let $statement= use mysqltest1;
+let $cleanup_stmt= use test;
+--source include/check_ftwrl_compatible.inc
+
+
+--echo #
+--echo # 37) XA statements.
+--echo #
+--echo # XA statements are similar to BEGIN/COMMIT/ROLLBACK.
+--echo #
+--echo # XA BEGIN, END, PREPARE, ROLLBACK and RECOVER are compatible
+--echo # with FTWRL. XA COMMIT is not.
+flush tables with read lock;
+--echo # Although all below statements are allowed under FTWRL they
+--echo # are almost no-ops as FTWRL does commit and does not allows
+--echo # any non-temporary DML under it.
+xa start 'test1';
+xa end 'test1';
+xa prepare 'test1';
+xa rollback 'test1';
+xa start 'test1';
+xa end 'test1';
+xa prepare 'test1';
+xa commit 'test1';
+--disable_result_log
+xa recover;
+--enable_result_log
+unlock tables;
+--echo # Check that XA non-COMMIT statements are not and COMMIT is
+--echo # blocked by active FTWRL in another connection
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+xa start 'test1';
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+xa end 'test1';
+xa prepare 'test1';
+xa rollback 'test1';
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+xa start 'test1';
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+connection default;
+xa end 'test1';
+xa prepare 'test1';
+--echo # Send:
+--send xa commit 'test1';
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Wait until XA COMMIT is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "xa commit 'test1'";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap XA COMMIT.
+--reap
+delete from t3_trans;
+--echo #
+--echo # Check that XA COMMIT blocks FTWRL in another connection.
+xa start 'test1';
+insert into t3_trans values (1);
+xa end 'test1';
+xa prepare 'test1';
+set debug_sync='RESET';
+set debug_sync='trans_xa_commit_after_acquire_commit_lock SIGNAL parked WAIT_FOR go';
+--send xa commit 'test1'
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+--send flush tables with read lock
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Wait until FTWRL is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap XA COMMIT.
+--reap
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+delete from t3_trans;
+set debug_sync= "RESET";
+
+
+--echo #
+--echo # 38) Test effect of auto-commit mode for DML on transactional
+--echo # temporary tables.
+--echo #
+--echo # 38.1) When auto-commit is on each such a statement ends with commit
+--echo # of changes to temporary tables. But since transactions doing
+--echo # such changes are considered read only [sic!/QQ] this commit
+--echo # is compatible with FTWRL.
+--echo #
+--echo # Let us demostrate this fact for some common DML statements.
+let $statement= delete from t3_temp_trans;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+let $statement= insert into t3_temp_trans values (1);
+let $cleanup_stmt= delete from t3_temp_trans limit 1;
+--source include/check_ftwrl_compatible.inc
+
+let $statement= update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+--echo #
+--echo # 38.2) When auto-commit is off DML on transaction temporary tables
+--echo # is compatible with FTWRL.
+--echo #
+set autocommit= 0;
+let $statement= delete from t3_temp_trans;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+
+let $statement= insert into t3_temp_trans values (1);
+let $cleanup_stmt= delete from t3_temp_trans limit 1;
+--source include/check_ftwrl_compatible.inc
+
+let $statement= update t3_temp_trans, t2_temp set t3_temp_trans.i= 1 where t3_temp_trans.i = t2_temp.j;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+set autocommit= 1;
+
+
+--echo #
+--echo # 39) Test effect of DDL on transactional tables.
+--echo #
+--echo # 39.1) Due to implicit commit at the end of statement some of DDL
+--echo # statements which are compatible with FTWRL in non-transactional
+--echo # case are not compatible in case of transactional tables.
+--echo #
+--echo # 39.1.a) ANALYZE TABLE for transactional table is incompatible with
+--echo # FTWRL.
+flush tables with read lock;
+--echo # Implicit commits are allowed under FTWRL.
+analyze table t3_trans;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send analyze table t3_trans
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that ANALYZE TABLE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "analyze table t3_trans";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap ANALYZE TABLE
+--reap
+
+--echo #
+--echo # 39.1.b) CHECK TABLE for transactional table is compatible with FTWRL.
+--echo # Although it does implicit commit at the end of statement it
+--echo # is considered to be read-only operation.
+let $statement= check table t3_trans;
+let $cleanup_stmt= ;
+--echo # Skip last part of compatibility testing as this statement
+--echo # releases metadata locks in non-standard place.
+let $skip_3rd_check= 1;
+--source include/check_ftwrl_compatible.inc
+let $skip_3rd_check= ;
+
+--echo #
+--echo # 39.2) Situation with DDL on temporary transactional tables is
+--echo # complex.
+--echo #
+--echo # 39.2.a) Some statements compatible with FTWRL since they don't
+--echo # do implicit commit.
+--echo #
+--echo # For example, CREATE TEMPORARY TABLE:
+let $statement= create temporary table t4_temp_trans(i int) engine=innodb;
+let $cleanup_stmt= drop temporary tables t4_temp_trans;
+--source include/check_ftwrl_compatible.inc
+--echo #
+--echo # Or DROP TEMPORARY TABLE:
+let $statement= drop temporary tables t3_temp_trans;
+let $cleanup_stmt= create temporary table t3_temp_trans(i int) engine=innodb;
+--source include/check_ftwrl_compatible.inc
+--echo #
+--echo # 39.2.b) Some statements do implicit commit but are considered
+--echo # read-only and so are compatible with FTWRL.
+--echo #
+--echo # For example, REPAIR TABLE:
+let $statement= repair table t3_temp_trans;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+--echo #
+--echo # And ANALYZE TABLE:
+let $statement= analyze table t3_temp_trans;
+let $cleanup_stmt= ;
+--source include/check_ftwrl_compatible.inc
+--echo #
+--echo # 39.2.c) Some statements do implicit commit and not
+--echo # considered read-only. As result they are
+--echo # not compatible with FTWRL.
+--echo #
+flush tables with read lock;
+--echo # Implicit commits are allowed under FTWRL.
+alter table t3_temp_trans add column c1 int;
+unlock tables;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send alter table t3_temp_trans drop column c1
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that ALTER TABLE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "alter table t3_temp_trans drop column c1";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap ALTER TABLE
+--reap
+
+
+--echo #
+--echo # 40) Test effect of implicit commit for DDL which is otherwise
+--echo # compatible with FTWRL. Implicit commit at the start of DDL
+--echo # statement can make it incompatible with FTWRL if there are
+--echo # some changes to be commited even in case when DDL statement
+--echo # itself is compatible with FTWRL.
+--echo #
+--echo # For example CHECK TABLE for base non-transactional tables and
+--echo # ALTER TABLE for temporary non-transactional tables are affected.
+begin;
+insert into t3_trans values (1);
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send check table t1_base
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that CHECK TABLE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "check table t1_base";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap CHECK TABLE
+--reap
+begin;
+delete from t3_trans;
+--echo #
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--send alter table t1_temp add column c1 int
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Check that ALTER TABLE is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for commit lock" and
+ info = "alter table t1_temp add column c1 int";
+--source include/wait_condition.inc
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap ALTER TABLE
+--reap
+alter table t1_temp drop column c1;
+
+
+--echo #
+--echo # Check that FLUSH TABLES WITH READ LOCK is blocked by individual
+--echo # statements and is not blocked in the presence of transaction which
+--echo # has done some changes earlier but is idle now (or does only reads).
+--echo # This allows to use this statement even on systems which has long
+--echo # running transactions.
+--echo #
+begin;
+insert into t1_base values (1);
+insert into t3_trans values (1);
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # The below FTWRL should not be blocked by transaction in 'default'.
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Transaction still is able to read even with FTWRL active in another
+--echo # connection.
+select * from t1_base;
+select * from t2_base;
+select * from t3_trans;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+commit;
+delete from t1_base;
+delete from t3_trans;
+
+
+--echo #
+--echo # Check that impending FTWRL blocks new DML statements and
+--echo # so can't be starved by a constant flow of DML.
+--echo # (a.k.a. test for bug #54673 "It takes too long to get
+--echo # readlock for 'FLUSH TABLES WITH READ LOCK'").
+--echo #
+set debug_sync='RESET';
+set debug_sync='execute_command_after_close_tables SIGNAL parked WAIT_FOR go';
+--send insert into t1_base values (1)
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+set debug_sync='now WAIT_FOR parked';
+--send flush tables with read lock
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Wait until FTWRL is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "flush tables with read lock";
+--source include/wait_condition.inc
+--echo # Try to run another INSERT and see that it is blocked.
+--send insert into t2_base values (1);
+--echo # Switching to connection 'con3'.
+connection con3;
+--echo # Wait until new INSERT is blocked.
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "insert into t2_base values (1)";
+--echo # Unblock INSERT in the first connection.
+set debug_sync='now SIGNAL go';
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Reap first INSERT.
+--reap
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # Reap FTWRL.
+--reap
+unlock tables;
+--echo # Switching to connection '$con_aux2'.
+connection $con_aux2;
+--echo # Reap second INSERT.
+--reap
+--echo # Switching to connection 'default'.
+connection default;
+set debug_sync= "RESET";
+delete from t1_base;
+delete from t2_base;
+
+--echo
+--echo # Check that COMMIT thas is issued after
+--echo # FLUSH TABLES WITH READ LOCK is not blocked by
+--echo # FLUSH TABLES WITH READ LOCK from another connection.
+--echo # This scenario is used in innobackup.pl. The COMMIT goes
+--echo # through because the transaction started by FTWRL does
+--echo # not modify any tables, and the commit blocker lock is
+--echo # only taken when there were such modifications.
+--echo
+flush tables with read lock;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+--echo # The below FTWRL should not be blocked by transaction in 'default'.
+flush tables with read lock;
+--echo # Switching to connection 'default'.
+connection default;
+select * from t1_base;
+select * from t3_trans;
+commit;
+--echo # Switching to connection '$con_aux1'.
+connection $con_aux1;
+select * from t1_base;
+select * from t3_trans;
+commit;
+unlock tables;
+--echo # Switching to connection 'default'.
+connection default;
+unlock tables;
+
+
+--echo #
+--echo # Check how FLUSH TABLE WITH READ LOCK is handled for MERGE tables.
+--echo # As usual there are tricky cases related to this type of tables.
+--echo #
+--echo #
+--echo # 1) Most typical case - base MERGE table with base underlying tables.
+--echo #
+--echo # 1.a) DML statements which change data should be incompatible with FTWRL.
+create table tm_base (i int) engine=merge union=(t1_base) insert_method=last;
+let $statement= insert into tm_base values (1);
+let $cleanup_stmt1= delete from tm_base;
+--source include/check_ftwrl_incompatible.inc
+--echo #
+--echo # 1.b) DDL statement on such table should be incompatible with FTWRL as well.
+let $statement= alter table tm_base insert_method=first;
+let $cleanup_stmt1= alter table tm_base insert_method=last;
+--source include/check_ftwrl_incompatible.inc
+drop table tm_base;
+
+--echo #
+--echo # 2) Temporary MERGE table with base underlying tables.
+--echo #
+--echo # 2.a) DML statements which change data should be incompatible with FTWRL
+--echo # as they affect base tables.
+create temporary table tm_temp_base (i int) engine=merge union=(t1_base) insert_method=last;
+let $statement= insert into tm_temp_base values (1);
+let $cleanup_stmt1= delete from tm_temp_base;
+--source include/check_ftwrl_incompatible.inc
+--echo #
+--echo # 2.b) Some of DDL statements on such table can be compatible with FTWRL
+--echo # as they don't affect base tables.
+let $statement= drop temporary tables tm_temp_base;
+let $cleanup_stmt= create temporary table tm_temp_base (i int) engine=merge union=(t1_base) insert_method=last;
+--source include/check_ftwrl_compatible.inc
+--echo #
+--echo # 2.c) ALTER statement is incompatible with FTWRL. Even though it does
+--echo # not change data in base table it still acquires strong metadata
+--echo # locks on them.
+let $statement= alter table tm_temp_base insert_method=first;
+let $cleanup_stmt1= alter table tm_temp_base insert_method=last;
+--source include/check_ftwrl_incompatible.inc
+drop table tm_temp_base;
+
+--echo #
+--echo # 3) Temporary MERGE table with temporary underlying tables.
+--echo #
+--echo # 3.a) DML statements should be compatible with FTWRL as
+--echo # no base table is going to be affected.
+create temporary table tm_temp_temp (i int) engine=merge union=(t1_temp) insert_method=last;
+let $statement= insert into tm_temp_temp values (1);
+let $cleanup_stmt= delete from tm_temp_temp;
+--source include/check_ftwrl_compatible.inc
+--echo #
+--echo # 3.b) DDL statements should be compatible with FTWRL as well
+--echo # as no base table is going to be affected too.
+let $statement= alter table tm_temp_temp union=(t1_temp) insert_method=first;
+let $cleanup_stmt= alter table tm_temp_temp union=(t1_temp) insert_method=last;
+--source include/check_ftwrl_compatible.inc
+drop table tm_temp_temp;
+
+--echo #
+--echo # 4) For the sake of completeness let us check that base MERGE tables
+--echo # with temporary underlying tables are not functional.
+create table tm_base_temp (i int) engine=merge union=(t1_temp) insert_method=last;
+--error ER_WRONG_MRG_TABLE
+select * from tm_base_temp;
+drop table tm_base_temp;
+
+
+--echo #
+--echo # Clean-up.
+--echo #
+drop event e1;
+drop function f2_temp;
+drop function f2_base;
+drop procedure p2;
+drop view v1;
+drop function f1;
+drop procedure p1;
+drop database `#mysql50#mysqltest-2`;
+drop database mysqltest1;
+drop temporary tables t1_temp, t2_temp;
+drop tables t1_base, t2_base, t3_trans;
+disconnect con1;
+disconnect con2;
+disconnect con3;
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/flush_read_lock_kill-master.opt b/mysql-test/t/flush_read_lock_kill-master.opt
deleted file mode 100644
index 61e2b242351..00000000000
--- a/mysql-test/t/flush_read_lock_kill-master.opt
+++ /dev/null
@@ -1 +0,0 @@
---loose-debug=+d,make_global_read_lock_block_commit_loop
diff --git a/mysql-test/t/flush_read_lock_kill.test b/mysql-test/t/flush_read_lock_kill.test
index 2d359383949..a672fa5dfc5 100644
--- a/mysql-test/t/flush_read_lock_kill.test
+++ b/mysql-test/t/flush_read_lock_kill.test
@@ -2,24 +2,19 @@
# for running commits to finish (in the past it could not)
# This will not be a meaningful test on non-debug servers so will be
# skipped.
-# If running mysql-test-run --debug, the --debug added by
-# mysql-test-run to the mysqld command line will override the one of
-# -master.opt. But this test is designed to still pass then (though it
-# won't test anything interesting).
# This also won't work with the embedded server test
--source include/not_embedded.inc
--source include/have_debug.inc
+# This test needs transactional engine as otherwise COMMIT
+# won't block FLUSH TABLES WITH GLOBAL READ LOCK.
+--source include/have_innodb.inc
+
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
-# Disable concurrent inserts to avoid test failures when reading the
-# connection id which was inserted into a table by another thread.
-SET @old_concurrent_insert= @@global.concurrent_insert;
-SET @@global.concurrent_insert= 0;
-
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
connection con1;
@@ -27,47 +22,64 @@ connection con1;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
-CREATE TABLE t1 (kill_id INT);
+SET DEBUG_SYNC= 'RESET';
+CREATE TABLE t1 (kill_id INT) engine = InnoDB;
+INSERT INTO t1 VALUES(connection_id());
+
+--echo # Switching to connection 'default'.
+connection default;
+--echo # Start transaction.
+BEGIN;
INSERT INTO t1 VALUES(connection_id());
+--echo # Ensure that COMMIT will pause once it acquires protection
+--echo # against its global read lock.
+SET DEBUG_SYNC='ha_commit_trans_after_acquire_commit_lock SIGNAL acquired WAIT_FOR go';
-# Thanks to the parameter we passed to --debug, this FLUSH will
-# block on a debug build running with our --debug=make_global... It
-# will block until killed. In other cases (non-debug build or other
-# --debug) it will succeed immediately
+--echo # Sending:
+--send COMMIT
+--echo # Switching to 'con1'.
connection con1;
+--echo # Wait till COMMIT acquires protection against global read
+--echo # lock and pauses.
+SET DEBUG_SYNC='now WAIT_FOR acquired';
+--echo # Sending:
send FLUSH TABLES WITH READ LOCK;
-# kill con1
+--echo # Switching to 'con2'.
connection con2;
-SELECT ((@id := kill_id) - kill_id) FROM t1;
+SELECT ((@id := kill_id) - kill_id) FROM t1 LIMIT 1;
-# Wait for the debug sync point, test won't run on non-debug
-# builds anyway.
+--echo # Wait till FLUSH TABLES WITH READ LOCK blocks due
+--echo # to active COMMIT
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for all running commits to finish"
+ where state = "Waiting for commit lock"
and info = "flush tables with read lock";
--source include/wait_condition.inc
+--echo # Kill connection 'con1'.
KILL CONNECTION @id;
+--echo # Switching to 'con1'.
connection con1;
-# On debug builds it will be error 1053 (killed); on non-debug, or
-# debug build running without our --debug=make_global..., will be
-# error 0 (no error). The only important thing to test is that on
-# debug builds with our --debug=make_global... we don't hang forever.
---error 0,1317,2013
+--echo # Try to reap FLUSH TABLES WITH READ LOCK,
+--echo # it fail due to killed statement and connection.
+--error 1317,2013
reap;
+--echo # Switching to 'con2'.
connection con2;
-DROP TABLE t1;
+--echo # Resume COMMIT.
+SET DEBUG_SYNC='now SIGNAL go';
+--echo # Switching to 'default'.
connection default;
+--echo # Reaping COMMIT.
+--reap
disconnect con2;
-
-# Restore global concurrent_insert value
-SET @@global.concurrent_insert= @old_concurrent_insert;
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test
index f62b715d955..e49970047a2 100644
--- a/mysql-test/t/fulltext.test
+++ b/mysql-test/t/fulltext.test
@@ -606,4 +606,41 @@ REPAIR TABLE t1;
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
DROP TABLE t1;
+--echo #
+--echo # Bug#54484 explain + prepared statement: crash and Got error -1 from storage engine
+--echo #
+
+CREATE TABLE t1(f1 VARCHAR(6) NOT NULL, FULLTEXT KEY(f1), UNIQUE(f1));
+INSERT INTO t1 VALUES ('test');
+--disable_warnings
+SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1)) xor f1;
+
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 RIGHT OUTER JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1)) xor f1';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+
+PREPARE stmt FROM
+'SELECT 1 FROM t1 WHERE 1 >
+ ALL((SELECT 1 FROM t1 JOIN t1 a
+ ON (MATCH(t1.f1) against (""))
+ WHERE t1.f1 GROUP BY t1.f1))';
+
+EXECUTE stmt;
+EXECUTE stmt;
+
+DEALLOCATE PREPARE stmt;
+--enable_warnings
+
+DROP TABLE t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/func_analyse.test b/mysql-test/t/func_analyse.test
index 05f739bfd69..c77967a0cc9 100644
--- a/mysql-test/t/func_analyse.test
+++ b/mysql-test/t/func_analyse.test
@@ -1,6 +1,7 @@
#
# Test of procedure analyse
#
+-- source include/have_innodb.inc
--disable_warnings
drop table if exists t1,t2;
@@ -133,3 +134,26 @@ DROP TABLE t1;
--echo End of 5.0 tests
+
+--echo #
+--echo # Bug#11765202: Dbug_violation_helper::~Dbug_violation_helper(): Assertion `!_entered' failed.
+--echo #
+
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a VARCHAR(2) CHARSET UTF8 NOT NULL);
+INSERT INTO t1 VALUES ('e'),('e'),('e-');
+SELECT * FROM t1 PROCEDURE ANALYSE();
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#11756242 48137: PROCEDURE ANALYSE() LEAKS MEMORY WHEN RETURNING NULL
+--echo #
+
+CREATE TABLE t1(f1 INT) ENGINE=MYISAM;
+CREATE TABLE t2(f2 INT) ENGINE=INNODB;
+INSERT INTO t2 VALUES (1);
+SELECT DISTINCTROW f1 FROM t1 NATURAL RIGHT OUTER JOIN t2 PROCEDURE ANALYSE();
+SELECT * FROM t2 LIMIT 1 PROCEDURE ANALYSE();
+DROP TABLE t1, t2;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/func_encrypt_ucs2.test b/mysql-test/t/func_encrypt_ucs2.test
new file mode 100644
index 00000000000..8b4cd44d354
--- /dev/null
+++ b/mysql-test/t/func_encrypt_ucs2.test
@@ -0,0 +1,12 @@
+-- source include/have_ssl_crypto_functs.inc
+-- source include/have_ucs2.inc
+
+--echo #
+--echo # Bug#59648 my_strtoll10_mb2: Assertion `(*endptr - s) % 2 == 0' failed.
+--echo #
+
+SELECT CHAR_LENGTH(DES_ENCRYPT(0, CHAR('1' USING ucs2)));
+SELECT CONVERT(DES_ENCRYPT(0, CHAR('1' USING ucs2)),UNSIGNED);
+
+SELECT CHAR_LENGTH(DES_DECRYPT(0xFF0DC9FC9537CA75F4, CHAR('1' USING ucs2)));
+SELECT CONVERT(DES_DECRYPT(0xFF0DC9FC9537CA75F4, CHAR('1' using ucs2)), UNSIGNED);
diff --git a/mysql-test/t/func_gconcat.test b/mysql-test/t/func_gconcat.test
index 36a8542f9eb..e4a1206fa9c 100644
--- a/mysql-test/t/func_gconcat.test
+++ b/mysql-test/t/func_gconcat.test
@@ -738,9 +738,30 @@ EXECUTE stmt;
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
+--echo #
+--echo # Bug#57194 group_concat cause crash and/or invalid memory reads with type errors
+--echo #
---echo End of 5.1 tests
+CREATE TABLE t1(f1 int);
+INSERT INTO t1 values (0),(0);
+--disable_ps_protocol
+--error ER_ILLEGAL_VALUE_FOR_TYPE
+SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d));
+--enable_ps_protocol
+DROP TABLE t1;
+--echo #
+--echo # Bug#58396 group_concat and explain extended are still crashy
+--echo #
+
+CREATE TABLE t1(a INT);
+--error ER_UNKNOWN_ERROR
+EXPLAIN EXTENDED SELECT UPDATEXML('1', a, '1')
+FROM t1 ORDER BY (SELECT GROUP_CONCAT(1) FROM t1);
+SHOW WARNINGS;
+DROP TABLE t1;
+
+--echo End of 5.1 tests
#
diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test
index 6d128be7f34..e8309d68830 100644
--- a/mysql-test/t/func_group.test
+++ b/mysql-test/t/func_group.test
@@ -1097,8 +1097,62 @@ SELECT MAX((SELECT 1 FROM t1 ORDER BY @var LIMIT 1)) m FROM t1 t2, t1
DROP TABLE t1;
--echo #
+--echo # Bug#58030 crash in Item_func_geometry_from_text::val_str
+--echo #
+
+--disable_result_log
+
+SELECT MAX(TIMESTAMP(RAND(0)));
+SELECT MIN(TIMESTAMP(RAND(0)));
+
+--echo #
+--echo # Bug#58177 crash and valgrind warnings in decimal and protocol sending functions...
+--echo #
+
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT MIN(GET_LOCK('aaaaaaaaaaaaaaaaa',0) / '0b1111111111111111111111111111111111111111111111111111111111111111111111111' ^ (RAND()));
+SELECT RELEASE_LOCK('aaaaaaaaaaaaaaaaa');
+
+--enable_result_log
+
+
+--echo #
+--echo # Bug #11766094 - 59132: MIN() AND MAX() REMOVE UNSIGNEDNESS
+--echo #
+
+CREATE TABLE t1 (a BIGINT UNSIGNED);
+INSERT INTO t1 VALUES (18446668621106209655);
+SELECT MAX(LENGTH(a)), LENGTH(MAX(a)), MIN(a), MAX(a), CONCAT(MIN(a)), CONCAT(MAX(a)) FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug #11766270 59343: YEAR(4): INCORRECT RESULT AND VALGRIND WARNINGS WITH MIN/MAX, UNION
+--echo #
+
+CREATE TABLE t1(f1 YEAR(4));
+INSERT INTO t1 VALUES (0000),(2001);
+--enable_metadata
+(SELECT MAX(f1) FROM t1) UNION (SELECT MAX(f1) FROM t1);
+--disable_metadata
+DROP TABLE t1;
+
+
+--echo #
--echo End of 5.1 tests
+###
+--echo #
+--echo # Bug#52123 Assertion failed: aggregator == aggr->Aggrtype(),
+--echo # file .\item_sum.cc, line 587
+--echo #
+
+CREATE TABLE t1(a int, KEY(a));
+INSERT INTO t1 VALUES (1), (2);
+SELECT 1 FROM t1 ORDER BY AVG(DISTINCT a);
+DROP TABLE t1;
+
--echo #
--echo # Bug#55648: Server crash on MIN/MAX on maximum time value
--echo #
@@ -1118,3 +1172,14 @@ SELECT MAX(c1),MIN(c1) FROM t1;
DROP TABLE t1;
--echo # End of the bug#56120
+--echo #
+--echo # Bug#57932 "query with AVG(DISTINCT) returns NULL if last
+--echo # aggregated value was NULL"
+--echo #
+CREATE TABLE t1 (col_int_nokey int(11));
+INSERT INTO t1 VALUES (7),(8),(NULL);
+SELECT AVG(DISTINCT col_int_nokey) FROM t1;
+SELECT AVG(DISTINCT outr.col_int_nokey) FROM t1 AS outr LEFT JOIN t1 AS outr2 ON
+outr.col_int_nokey = outr2.col_int_nokey;
+DROP TABLE t1;
+--echo # End of the bug#57932
diff --git a/mysql-test/t/func_group_innodb.test b/mysql-test/t/func_group_innodb.test
index 1bdfd8f54bb..bbc576b0fc7 100644
--- a/mysql-test/t/func_group_innodb.test
+++ b/mysql-test/t/func_group_innodb.test
@@ -83,3 +83,53 @@ explain select count(*), min(7), max(7) from t2m, t1i;
select count(*), min(7), max(7) from t2m, t1i;
drop table t1m, t1i, t2m, t2i;
+
+
+--echo #
+--echo # Bug #57954: BIT_AND function returns incorrect results when
+--echo # semijoin=on
+
+CREATE TABLE c (
+ pk INT,
+ col_varchar_key VARCHAR(1),
+ PRIMARY KEY (pk),
+ KEY col_varchar_key (col_varchar_key)
+) ENGINE=InnoDB;
+INSERT INTO c VALUES (11,NULL);
+INSERT INTO c VALUES (16,'c');
+CREATE TABLE bb (
+ pk INT,
+ col_varchar_key VARCHAR(1),
+ PRIMARY KEY (pk),
+ KEY col_varchar_key (col_varchar_key)
+) ENGINE=InnoDB;
+INSERT INTO bb VALUES (10,NULL);
+
+SELECT straight_join BIT_AND(c.pk)
+FROM
+ bb, c
+ WHERE c.col_varchar_key='ABC'
+ORDER BY c.pk;
+
+DROP TABLE c,bb;
+
+--echo #
+--echo # Bug #58050: BIT_OR and BIT_XOR return incorrect results when
+--echo # semijoin=on
+--echo #
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, b INT, c INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES(1, 1, 1);
+
+CREATE TABLE t2 (pk INT PRIMARY KEY, b INT, c INT) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1, 1, NULL);
+
+SELECT t1.* FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+SELECT BIT_OR(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+SELECT BIT_AND(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+SELECT BIT_XOR(t1.b) FROM t1 JOIN t2 ON t1.c=t2.c WHERE t1.pk=1;
+
+DROP TABLE t1, t2;
+
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/func_in.test b/mysql-test/t/func_in.test
index 6efeb2866e6..08469b37967 100644
--- a/mysql-test/t/func_in.test
+++ b/mysql-test/t/func_in.test
@@ -555,5 +555,11 @@ SELECT CASE a WHEN a THEN a END FROM t1 GROUP BY a WITH ROLLUP;
DROP TABLE t1;
--echo #
+--echo # Bug #11766212 59270: NOT IN (YEAR( ... ), ... ) PRODUCES MANY VALGRIND WARNINGS
+--echo #
+
+SELECT 1 IN (YEAR(FROM_UNIXTIME(NULL)) ,1);
+
+--echo #
--echo End of 5.1 tests
diff --git a/mysql-test/t/func_like.test b/mysql-test/t/func_like.test
index 1204d04d9a0..f1fe52274b2 100644
--- a/mysql-test/t/func_like.test
+++ b/mysql-test/t/func_like.test
@@ -126,5 +126,10 @@ INSERT INTO t2 VALUES (1), (2), (3);
SELECT 1 FROM t2 JOIN t1 ON 1 LIKE a GROUP BY a;
DROP TABLE t1, t2;
+--echo #
+--echo # Bug#59149 valgrind warnings with "like .. escape .." function
+--echo #
+--error ER_WRONG_ARGUMENTS
+SELECT '' LIKE '1' ESCAPE COUNT(1);
--echo End of 5.1 tests
diff --git a/mysql-test/t/func_math.test b/mysql-test/t/func_math.test
index 44af2f5ad3f..0d59f98a313 100644
--- a/mysql-test/t/func_math.test
+++ b/mysql-test/t/func_math.test
@@ -316,6 +316,14 @@ SELECT RAND(i) FROM t1;
DROP TABLE t1;
--echo #
+--echo # Bug#57477 SIGFPE when dividing a huge number a negative number
+--echo #
+--error ER_DATA_OUT_OF_RANGE
+SELECT -9999999999999999991 DIV -1;
+--error ER_DATA_OUT_OF_RANGE
+SELECT -9223372036854775808 DIV -1;
+SELECT -9223372036854775808 MOD -1;
+SELECT -9223372036854775808999 MOD -1;
#
# Bug #8457: Precision math:
@@ -328,6 +336,46 @@ select 123456789012345678901234567890.123456789012345678901234567890 div 1 as x;
select "123456789012345678901234567890.123456789012345678901234567890" div 1 as x;
SHOW WARNINGS;
+--echo #
+--echo # Bug#57810 case/when/then : Assertion failed: length || !scale
+--echo #
+
+SELECT CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END;
+CREATE TABLE t1 SELECT CAST((CASE(('')) WHEN (CONVERT(1, CHAR(1))) THEN (('' / 1)) END) AS CHAR) as C;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#11764994 57900: CREATE TABLE .. SELECT ASSERTS SCALE >= 0 && PRECISION > 0 && SCALE <= PR
+--echo #
+
+CREATE TABLE t1 SELECT CEIL(LINESTRINGFROMWKB(1) DIV NULL);
+DROP TABLE t1;
+CREATE TABLE t1 SELECT FLOOR(LINESTRINGFROMWKB(1) DIV NULL);
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#11765923 58937: MANY VALGRIND ERRORS AFTER GROUPING BY RESULT OF DECIMAL COLUMN FUNCTION
+--echo #
+
+CREATE TABLE t1(f1 DECIMAL(22,1));
+INSERT INTO t1 VALUES (0),(1);
+SELECT ROUND(f1, f1) FROM t1;
+SELECT ROUND(f1, f1) FROM t1 GROUP BY 1;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#11764671 57533: UNINITIALISED VALUES IN COPY_AND_CONVERT (SQL_STRING.CC) WITH CERTAIN CHA
+--echo #
+
+SELECT ROUND(LEAST(15, -4939092, 0.2704), STDDEV('a'));
+
+--echo #
+--echo # Bug#12392636 ASSERTION FAILED: SCALE >= 0 && PRECISION > 0 && SCALE <= PRECISION
+--echo #
+
+SELECT SUM(DISTINCT (TRUNCATE((.1), NULL)));
+
--echo End of 5.1 tests
--echo #
@@ -458,3 +506,33 @@ SELECT 2 DIV -2;
SELECT -(1 DIV 0);
# Crashed the server with SIGFPE before the bugfix
SELECT -9223372036854775808 MOD -1;
+
+--echo #
+--echo # Bug #57209 valgrind + Assertion failed: dst > buf
+--echo #
+SELECT floor(log10(format(concat_ws(5445796E25, 5306463, 30837), -358821)))
+as foo;
+
+--echo #
+--echo # Bug #58137 char(0) column cause:
+--echo # my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
+--echo #
+CREATE TABLE t1(a char(0));
+INSERT INTO t1 (SELECT -pi());
+DROP TABLE t1;
+
+--echo #
+--echo # Bug #59241 invalid memory read
+--echo # in do_div_mod with doubly assigned variables
+--echo #
+SELECT ((@a:=@b:=1.0) div (@b:=@a:=get_format(datetime, 'usa')));
+
+--echo #
+--echo # Bug #59498 div function broken in mysql-trunk
+--echo #
+SELECT 1 div null;
+
+--echo #
+--echo # Bug #11792200 - DIVIDING LARGE NUMBERS CAUSES STACK CORRUPTIONS
+--echo #
+select (1.175494351E-37 div 1.7976931348623157E+308);
diff --git a/mysql-test/t/func_misc.test b/mysql-test/t/func_misc.test
index d5941661d45..1f221ce9878 100644
--- a/mysql-test/t/func_misc.test
+++ b/mysql-test/t/func_misc.test
@@ -292,6 +292,13 @@ SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
DROP TABLE t1;
+#
+# Bug #57283: inet_ntoa() crashes
+#
+SELECT INET_NTOA(0);
+SELECT '1' IN ('1', INET_NTOA(0));
+
+
--echo #
--echo # Bug #52165: Assertion failed: file .\dtoa.c, line 465
--echo #
@@ -304,4 +311,48 @@ SELECT COALESCE(a) = COALESCE(b) FROM t1;
DROP TABLE t1;
---echo End of tests
+--echo #
+--echo # Bug #54461: crash with longblob and union or update with subquery
+--echo #
+
+CREATE TABLE t1 (a INT, b LONGBLOB);
+INSERT INTO t1 VALUES (1, '2'), (2, '3'), (3, '2');
+
+SELECT DISTINCT LEAST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
+SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
+
+DROP TABLE t1;
+
+
+#
+# Bug #57283: inet_ntoa() crashes
+#
+SELECT INET_NTOA(0);
+SELECT '1' IN ('1', INET_NTOA(0));
+
+
+--echo #
+--echo # End of 5.1 tests
+--echo #
+
+
+--echo #
+--echo # Bug #58199: name_const in the having clause crashes
+--echo #
+
+CREATE TABLE t1 (a INT);
+
+# NAME_CONST() would seg.fault when used wrongly in a HAVING clause
+--error ER_WRONG_ARGUMENTS
+SELECT 1 from t1 HAVING NAME_CONST('', a);
+
+DROP TABLE t1;
+
+
+--echo #
+--echo # End of 5.5 tests
+--echo #
+
+--echo #
+--echo # End of tests
+--echo #
diff --git a/mysql-test/t/func_set.test b/mysql-test/t/func_set.test
index 294efa8caf1..3531864c860 100644
--- a/mysql-test/t/func_set.test
+++ b/mysql-test/t/func_set.test
@@ -97,3 +97,25 @@ SELECT CONVERT( a USING latin1 ) FROM t1;
SELECT CONVERT( a USING latin1 ) FROM t2;
DROP TABLE t1, t2;
+
+--echo #
+--echo # BUG#59405: FIND_IN_SET won't work normaly after upgrade from 5.1 to 5.5
+--echo #
+
+CREATE TABLE t1(days set('1','2','3','4','5','6','7'));
+INSERT INTO t1 VALUES('1,2,3,4,5,6,7'), (NULL), ('1,2,3,4,5,6,7');
+
+--echo
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), days);
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), days) IS UNKNOWN;
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), NULL);
+SELECT * FROM t1 WHERE FIND_IN_SET(DAYOFWEEK(CURRENT_DATE()), NULL) IS UNKNOWN;
+SELECT * FROM t1 WHERE FIND_IN_SET(7, days);
+SELECT * FROM t1 WHERE FIND_IN_SET(8, days);
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, days);
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, days) IS UNKNOWN;
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, NULL);
+SELECT * FROM t1 WHERE FIND_IN_SET(NULL, NULL) IS UNKNOWN;
+
+--echo
+DROP TABLE t1;
diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test
index 7b7bffd0bbc..9a9a8110a74 100644
--- a/mysql-test/t/func_str.test
+++ b/mysql-test/t/func_str.test
@@ -1363,6 +1363,24 @@ SELECT 1 FROM t1, t1 t2
ORDER BY QUOTE(t1.a);
DROP TABLE t1;
+--echo #
+--echo # Bug#57913 large negative number to string conversion functions crash
+--echo # Bug#57810 case/when/then : Assertion failed: length || !scale
+--echo #
+SELECT '1' IN ('1', SUBSTRING(-9223372036854775809, 1));
+SELECT CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3));
+
+--echo #
+--echo # Bug#58165: "my_empty_string" gets modified and causes LOAD DATA to fail
+--echo # and other crashes
+--echo #
+CREATE TABLE t1 ( a TEXT );
+SELECT 'aaaaaaaaaaaaaa' INTO OUTFILE 'bug58165.txt';
+SELECT insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' );
+LOAD DATA INFILE 'bug58165.txt' INTO TABLE t1;
+SELECT * FROM t1;
+DROP TABLE t1;
+
--echo End of 5.1 tests
--echo Start of 5.4 tests
diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test
index a15461e4611..a9980a0c8eb 100644
--- a/mysql-test/t/func_time.test
+++ b/mysql-test/t/func_time.test
@@ -802,6 +802,26 @@ select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND;
select date_add('1000-01-01 00:00:00', interval '1.03:02:01.05' day_microsecond);
select date_add('1000-01-01 00:00:00', interval '1.02' day_microsecond);
+
+--echo #
+--echo # Bug #52315 part 2 : utc_date() crashes when system time > year 2037
+--echo #
+
+--disable_result_log
+SET TIMESTAMP=-147490000; SELECT UTC_TIMESTAMP();
+--error ER_WRONG_VALUE_FOR_VAR
+SET TIMESTAMP=2147483648; SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=2147483646; SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=2147483647; SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=0; SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=-1; SELECT UTC_TIMESTAMP();
+SET TIMESTAMP=1; SELECT UTC_TIMESTAMP();
+--enable_result_log
+
+#reset back the timestamp value
+SET TIMESTAMP=0;
+
+
--echo End of 5.0 tests
#
@@ -832,4 +852,95 @@ INSERT INTO t1 VALUES (0),(9.216e-096);
SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
DROP TABLE t1;
+--echo #
+--echo # Bug #52160: crash and inconsistent results when grouping
+--echo # by a function and column
+--echo #
+
+CREATE TABLE t1(a CHAR(10) NOT NULL);
+INSERT INTO t1 VALUES (''),('');
+SELECT COUNT(*) FROM t1 GROUP BY TIME_TO_SEC(a);
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
+--echo #
+
+SELECT STR_TO_DATE(SPACE(2),'1');
+
+--echo #
+--echo # Bug#11765216 58154: UNINITIALIZED VARIABLE FORMAT IN STR_TO_DATE FUNCTION
+--echo #
+
+SET GLOBAL SQL_MODE='';
+DO STR_TO_DATE((''), FROM_DAYS(@@GLOBAL.SQL_MODE));
+SET GLOBAL SQL_MODE=DEFAULT;
+
+--echo #
+--echo # Bug#11766087 59125: VALGRIND UNINITIALISED VALUE WARNING IN ULL2DEC, LONGLONG2DECIMAL
+--echo #
+
+SELECT FORMAT(YEAR(STR_TO_DATE('',GET_FORMAT(TIME,''))),1);
+
+--echo #
+--echo # Bug#11766126 59166: ANOTHER DATETIME VALGRIND UNINITIALIZED WARNING
+--echo #
+
+SELECT CAST((MONTH(FROM_UNIXTIME(@@GLOBAL.SQL_MODE))) AS BINARY(1025));
+
+--echo #
+--echo # Bug#11766124 59164: VALGRIND: UNINITIALIZED VALUE IN NUMBER_TO_DATETIME
+--echo #
+
+SELECT ADDDATE(MONTH(FROM_UNIXTIME(NULL)),INTERVAL 1 HOUR);
+
+--echo #
+--echo # Bug#11889186 60503: CRASH IN MAKE_DATE_TIME WITH DATE_FORMAT / STR_TO_DATE COMBINATION
+--echo #
+
+SELECT DATE_FORMAT('0000-00-11', '%W');
+SELECT DATE_FORMAT('0000-00-11', '%a');
+SELECT DATE_FORMAT('0000-00-11', '%w');
+
+--echo #
+--echo # Bug#12403504 AFTER FIX FOR #11889186 : ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0
+--echo #
+
+SELECT MAKEDATE(11111111,1);
+SELECT WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1);
+
--echo End of 5.1 tests
+
+--echo #
+--echo # Bug#57039: constant subtime expression returns incorrect result.
+--echo #
+CREATE TABLE t1 (`date_date` datetime NOT NULL);
+INSERT INTO t1 VALUES ('2008-01-03 00:00:00'), ('2008-01-03 00:00:00');
+SELECT * FROM t1 WHERE date_date >= subtime(now(), "00:30:00");
+SELECT * FROM t1 WHERE date_date <= addtime(date_add("2000-1-1", INTERVAL "1:1:1" HOUR_SECOND), "00:20:00");
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#57512 str_to_date crash...
+--echo #
+
+SELECT WEEK(STR_TO_DATE(NULL,0));
+SELECT SUBDATE(STR_TO_DATE(NULL,0), INTERVAL 1 HOUR);
+
+--echo #
+--echo # BUG#59895 - setting storage engine to null segfaults mysqld
+--echo #
+SELECT MONTHNAME(0), MONTHNAME(0) IS NULL, MONTHNAME(0) + 1;
+--error ER_WRONG_VALUE_FOR_VAR
+SET storage_engine=NULL;
+
+--echo #
+--echo # Bug #59686 crash in String::copy() with time data type
+--echo #
+
+SELECT min(timestampadd(month, 1>'', from_days('%Z')));
+
+create table t1(a time);
+insert into t1 values ('00:00:00'),('00:01:00');
+select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
+drop table t1;
diff --git a/mysql-test/t/gis-rtree.test b/mysql-test/t/gis-rtree.test
index 9e6002a1faf..b99d35ecd48 100644
--- a/mysql-test/t/gis-rtree.test
+++ b/mysql-test/t/gis-rtree.test
@@ -940,3 +940,31 @@ DROP TABLE t1;
--echo End of 5.0 tests.
+
+
+--echo #
+--echo # Bug #57323/11764487: myisam corruption with insert ignore
+--echo # and invalid spatial data
+--echo #
+
+CREATE TABLE t1(a LINESTRING NOT NULL, b GEOMETRY NOT NULL,
+ SPATIAL KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(GEOMFROMTEXT("point (0 0)"), GEOMFROMTEXT("point (1 1)"));
+--error ER_CANT_CREATE_GEOMETRY_OBJECT
+INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=GEOMFROMTEXT("error");
+--error ER_CANT_CREATE_GEOMETRY_OBJECT
+INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=NULL;
+SELECT ASTEXT(a), ASTEXT(b) FROM t1;
+DROP TABLE t1;
+
+CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL,
+ KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES(0, GEOMFROMTEXT("point (1 1)"));
+--error ER_CANT_CREATE_GEOMETRY_OBJECT
+INSERT IGNORE INTO t1 SET a=0, b=GEOMFROMTEXT("error");
+--error ER_CANT_CREATE_GEOMETRY_OBJECT
+INSERT IGNORE INTO t1 SET a=1, b=NULL;
+SELECT a, ASTEXT(b) FROM t1;
+DROP TABLE t1;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test
index 4aad3f80b68..2a800140d1f 100644
--- a/mysql-test/t/gis.test
+++ b/mysql-test/t/gis.test
@@ -361,7 +361,7 @@ t1 where object_id=85998;
# Expected result is 36.3310176346905, but IA64 returns 36.3310176346904
# due to fused multiply-add instructions.
---replace_result 36.3310176346904 36.3310176346905
+--replace_result 36.3310176346904 36.3310176346905 -114.87787186923326 -114.87787186923313 36.33101763469053 36.33101763469059 36.33101763469043 36.33101763469059
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
t1 where object_id=85984;
@@ -747,12 +747,40 @@ SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000
SET @a=POLYFROMWKB(@a);
+#
+# Bug #57321 crashes and valgrind errors from spatial types
+#
+
+create table t1(a polygon NOT NULL)engine=myisam;
+insert into t1 values (geomfromtext("point(0 1)"));
+insert into t1 values (geomfromtext("point(1 0)"));
+select * from (select polygon(t1.a) as p from t1 order by t1.a) d;
+drop table t1;
+
+
+--echo #
+--echo # Test for bug #59888 "debug assertion when attempt to create spatial index
+--echo # on char > 31 bytes".
+--echo #
+create table t1(a char(32) not null) engine=myisam;
+--error ER_SPATIAL_MUST_HAVE_GEOM_COL
+create spatial index i on t1 (a);
+drop table t1;
+
+
--echo End of 5.1 tests
#
# Bug #50574 5.5.x allows spatial indexes on non-spatial
# columns, causing crashes!
+# Bug#11767480 SPATIAL INDEXES ON NON-SPATIAL COLUMNS
+# CAUSE CRASHES.
#
+CREATE TABLE t0 (a BINARY(32) NOT NULL);
+--error ER_SPATIAL_MUST_HAVE_GEOM_COL
+CREATE SPATIAL INDEX i on t0 (a);
+INSERT INTO t0 VALUES (1);
+
--error ER_SPATIAL_MUST_HAVE_GEOM_COL
CREATE TABLE t1(
col0 BINARY NOT NULL,
@@ -790,6 +818,7 @@ CREATE TABLE t3 (
);
# cleanup
-DROP TABLE t1;
-DROP TABLE t2;
+DROP TABLE t0, t1, t2;
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/grant.test b/mysql-test/t/grant.test
index b1cd9145e42..20284ec9ae9 100644
--- a/mysql-test/t/grant.test
+++ b/mysql-test/t/grant.test
@@ -29,7 +29,7 @@ flush privileges;
grant select on mysqltest.* to mysqltest_1@localhost require cipher "EDH-RSA-DES-CBC3-SHA";
show grants for mysqltest_1@localhost;
grant delete on mysqltest.* to mysqltest_1@localhost;
-select * from mysql.user where user="mysqltest_1";
+query_vertical select * from mysql.user where user="mysqltest_1";
show grants for mysqltest_1@localhost;
revoke delete on mysqltest.* from mysqltest_1@localhost;
show grants for mysqltest_1@localhost;
@@ -48,10 +48,10 @@ flush privileges;
delete from mysql.user where user='mysqltest_1';
flush privileges;
grant usage on *.* to mysqltest_1@localhost with max_queries_per_hour 10;
-select * from mysql.user where user="mysqltest_1";
+query_vertical select * from mysql.user where user="mysqltest_1";
show grants for mysqltest_1@localhost;
grant usage on *.* to mysqltest_1@localhost with max_updates_per_hour 20 max_connections_per_hour 30;
-select * from mysql.user where user="mysqltest_1";
+query_vertical select * from mysql.user where user="mysqltest_1";
show grants for mysqltest_1@localhost;
# This is just to double check that one won't ignore results of selects
flush privileges;
@@ -1295,6 +1295,284 @@ SELECT CURRENT_USER();
SET PASSWORD FOR CURRENT_USER() = PASSWORD("admin");
SET PASSWORD FOR CURRENT_USER() = PASSWORD("");
+#
+# Bug#57952: privilege change is not taken into account by EXECUTE.
+#
+
+--echo
+--echo # Bug#57952
+--echo
+
+--disable_warnings
+DROP DATABASE IF EXISTS mysqltest1;
+DROP DATABASE IF EXISTS mysqltest2;
+--enable_warnings
+
+CREATE DATABASE mysqltest1;
+CREATE DATABASE mysqltest2;
+
+use mysqltest1;
+CREATE TABLE t1(a INT, b INT);
+INSERT INTO t1 VALUES (1, 1);
+
+CREATE TABLE t2(a INT);
+INSERT INTO t2 VALUES (2);
+
+CREATE TABLE mysqltest2.t3(a INT);
+INSERT INTO mysqltest2.t3 VALUES (4);
+
+CREATE USER testuser@localhost;
+GRANT CREATE ROUTINE, EXECUTE ON mysqltest1.* TO testuser@localhost;
+GRANT SELECT(b) ON t1 TO testuser@localhost;
+GRANT SELECT ON t2 TO testuser@localhost;
+GRANT SELECT ON mysqltest2.* TO testuser@localhost;
+
+--echo
+--echo # Connection: bug57952_con1 (testuser@localhost, db: mysqltest1)
+--connect (bug57952_con1,localhost,testuser,,mysqltest1)
+PREPARE s1 FROM 'SELECT b FROM t1';
+PREPARE s2 FROM 'SELECT a FROM t2';
+PREPARE s3 FROM 'SHOW TABLES FROM mysqltest2';
+
+CREATE PROCEDURE p1() SELECT b FROM t1;
+CREATE PROCEDURE p2() SELECT a FROM t2;
+CREATE PROCEDURE p3() SHOW TABLES FROM mysqltest2;
+
+CALL p1;
+CALL p2;
+CALL p3;
+
+--echo
+--echo # Connection: default
+--connection default
+REVOKE SELECT ON t1 FROM testuser@localhost;
+GRANT SELECT(a) ON t1 TO testuser@localhost;
+REVOKE SELECT ON t2 FROM testuser@localhost;
+REVOKE SELECT ON mysqltest2.* FROM testuser@localhost;
+
+--echo
+--echo # Connection: bug57952_con1 (testuser@localhost, db: mysqltest1)
+--connection bug57952_con1
+--echo # - Check column-level privileges...
+--error ER_COLUMNACCESS_DENIED_ERROR
+EXECUTE s1;
+
+--error ER_COLUMNACCESS_DENIED_ERROR
+SELECT b FROM t1;
+
+--error ER_COLUMNACCESS_DENIED_ERROR
+EXECUTE s1;
+
+--error ER_COLUMNACCESS_DENIED_ERROR
+CALL p1;
+
+--echo # - Check table-level privileges...
+--error ER_TABLEACCESS_DENIED_ERROR
+SELECT a FROM t2;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+EXECUTE s2;
+
+--error ER_TABLEACCESS_DENIED_ERROR
+CALL p2;
+
+--echo # - Check database-level privileges...
+--error ER_DBACCESS_DENIED_ERROR
+SHOW TABLES FROM mysqltest2;
+
+--error ER_DBACCESS_DENIED_ERROR
+EXECUTE s3;
+
+--error ER_DBACCESS_DENIED_ERROR
+CALL p3;
+
+--echo
+--echo # Connection: default
+--connection default
+--disconnect bug57952_con1
+DROP DATABASE mysqltest1;
+DROP DATABASE mysqltest2;
+DROP USER testuser@localhost;
+use test;
+--echo
+
+
+--echo #
+--echo # Test for bug #36544 "DROP USER does not remove stored function
+--echo # privileges".
+--echo #
+create database mysqltest1;
+create function mysqltest1.f1() returns int return 0;
+create procedure mysqltest1.p1() begin end;
+--echo #
+--echo # 1) Check that DROP USER properly removes privileges on both
+--echo # stored procedures and functions.
+--echo #
+create user mysqluser1@localhost;
+grant execute on function mysqltest1.f1 to mysqluser1@localhost;
+grant execute on procedure mysqltest1.p1 to mysqluser1@localhost;
+
+--echo # Quick test that granted privileges are properly reflected
+--echo # in privilege tables and in in-memory structures.
+show grants for mysqluser1@localhost;
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+--echo #
+--echo # Create connection 'bug_36544_con1' as 'mysqluser1@localhost'.
+--connect (bug36544_con1,localhost,mysqluser1,,)
+call mysqltest1.p1();
+select mysqltest1.f1();
+
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+drop user mysqluser1@localhost;
+
+--echo #
+--echo # Test that dropping of user is properly reflected in
+--echo # both privilege tables and in in-memory structures.
+--echo #
+--echo # Switch to connection 'bug36544_con1'.
+--connection bug36544_con1
+--echo # The connection cold be alive but should not be able to
+--echo # access to any of the stored routines.
+--error ER_PROCACCESS_DENIED_ERROR
+call mysqltest1.p1();
+--error ER_PROCACCESS_DENIED_ERROR
+select mysqltest1.f1();
+--disconnect bug36544_con1
+
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+--echo #
+--echo # Now create user with the same name and check that he
+--echo # has not inherited privileges.
+create user mysqluser1@localhost;
+show grants for mysqluser1@localhost;
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+--echo #
+--echo # Create connection 'bug_36544_con2' as 'mysqluser1@localhost'.
+--connect (bug36544_con2,localhost,mysqluser1,,)
+--echo # Newly created user should not be able to access any of the routines.
+--error ER_PROCACCESS_DENIED_ERROR
+call mysqltest1.p1();
+--error ER_PROCACCESS_DENIED_ERROR
+select mysqltest1.f1();
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+
+--echo #
+--echo # 2) Check that RENAME USER properly updates privileges on both
+--echo # stored procedures and functions.
+--echo #
+grant execute on function mysqltest1.f1 to mysqluser1@localhost;
+grant execute on procedure mysqltest1.p1 to mysqluser1@localhost;
+--echo #
+--echo # Create one more user to make in-memory hashes non-trivial.
+--echo # User names 'mysqluser11' and 'mysqluser10' were selected
+--echo # to trigger bug discovered during code inspection.
+create user mysqluser11@localhost;
+grant execute on function mysqltest1.f1 to mysqluser11@localhost;
+grant execute on procedure mysqltest1.p1 to mysqluser11@localhost;
+--echo # Also create a couple of tables to test for another bug
+--echo # discovered during code inspection (again table names were
+--echo # chosen especially to trigger the bug).
+create table mysqltest1.t11 (i int);
+create table mysqltest1.t22 (i int);
+grant select on mysqltest1.t22 to mysqluser1@localhost;
+grant select on mysqltest1.t11 to mysqluser1@localhost;
+
+--echo # Quick test that granted privileges are properly reflected
+--echo # in privilege tables and in in-memory structures.
+show grants for mysqluser1@localhost;
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+select db, table_name, table_priv from mysql.tables_priv where user='mysqluser1' and host='localhost';
+--echo #
+--echo # Switch to connection 'bug36544_con2'.
+--connection bug36544_con2
+call mysqltest1.p1();
+select mysqltest1.f1();
+select * from mysqltest1.t11;
+select * from mysqltest1.t22;
+
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+rename user mysqluser1@localhost to mysqluser10@localhost;
+
+--echo #
+--echo # Test that there are no privileges left for mysqluser1.
+--echo #
+--echo # Switch to connection 'bug36544_con2'.
+--connection bug36544_con2
+--echo # The connection cold be alive but should not be able to
+--echo # access to any of the stored routines or tables.
+--error ER_PROCACCESS_DENIED_ERROR
+call mysqltest1.p1();
+--error ER_PROCACCESS_DENIED_ERROR
+select mysqltest1.f1();
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t11;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t22;
+--disconnect bug36544_con2
+
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+--echo #
+--echo # Now create user with the old name and check that he
+--echo # has not inherited privileges.
+create user mysqluser1@localhost;
+show grants for mysqluser1@localhost;
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser1' and host='localhost';
+select db, table_name, table_priv from mysql.tables_priv where user='mysqluser1' and host='localhost';
+--echo #
+--echo # Create connection 'bug_36544_con3' as 'mysqluser1@localhost'.
+--connect (bug36544_con3,localhost,mysqluser1,,)
+--echo # Newly created user should not be able to access to any of the
+--echo # stored routines or tables.
+--error ER_PROCACCESS_DENIED_ERROR
+call mysqltest1.p1();
+--error ER_PROCACCESS_DENIED_ERROR
+select mysqltest1.f1();
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t11;
+--error ER_TABLEACCESS_DENIED_ERROR
+select * from mysqltest1.t22;
+--disconnect bug36544_con3
+
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+--echo #
+--echo # Now check that privileges became associated with a new user
+--echo # name - mysqluser10.
+--echo #
+show grants for mysqluser10@localhost;
+select db, routine_name, routine_type, proc_priv from mysql.procs_priv where user='mysqluser10' and host='localhost';
+select db, table_name, table_priv from mysql.tables_priv where user='mysqluser10' and host='localhost';
+--echo #
+--echo # Create connection 'bug_36544_con4' as 'mysqluser10@localhost'.
+--connect (bug36544_con4,localhost,mysqluser10,,)
+call mysqltest1.p1();
+select mysqltest1.f1();
+select * from mysqltest1.t11;
+select * from mysqltest1.t22;
+--disconnect bug36544_con4
+
+--echo #
+--echo # Switch to connection 'default'.
+--connection default
+--echo #
+--echo # Clean-up.
+drop user mysqluser1@localhost;
+drop user mysqluser10@localhost;
+drop user mysqluser11@localhost;
+drop database mysqltest1;
+
+
--echo End of 5.0 tests
#
@@ -1419,11 +1697,6 @@ GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
connect (connbug33464, localhost, userbug33464, , dbbug33464);
--source suite/funcs_1/include/show_connection.inc
---disable_warnings
-DROP PROCEDURE IF EXISTS sp3;
-DROP FUNCTION IF EXISTS fn1;
---enable_warnings
-
delimiter //;
CREATE PROCEDURE sp3(v1 char(20))
BEGIN
@@ -1578,6 +1851,16 @@ DROP TABLE db2.t1;
DROP DATABASE db1;
DROP DATABASE db2;
+--echo #
+--echo # Bug #36742
+--echo #
+grant usage on Foo.* to myuser@Localhost identified by 'foo';
+grant select on Foo.* to myuser@localhost;
+select host,user from mysql.user where User='myuser';
+revoke select on Foo.* from myuser@localhost;
+delete from mysql.user where User='myuser';
+flush privileges;
+
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/grant2.test b/mysql-test/t/grant2.test
index 447848013f9..6c2ba0dd6fc 100644
--- a/mysql-test/t/grant2.test
+++ b/mysql-test/t/grant2.test
@@ -31,7 +31,7 @@ create user mysqltest_2@localhost;
connect (user_a,localhost,mysqltest_1,,);
connection user_a;
grant select on `my\_1`.* to mysqltest_2@localhost;
---error ER_PASSWORD_NOT_ALLOWED
+--error ER_DBACCESS_DENIED_ERROR
grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass';
disconnect user_a;
connection default;
@@ -405,7 +405,7 @@ drop database mysqltest_1;
# But anonymous users can't change their password
connect (n5,localhost,test,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
connection n5;
---error ER_DBACCESS_DENIED_ERROR
+--error ER_PASSWORD_NO_MATCH
set password = password("changed");
disconnect n5;
connection default;
diff --git a/mysql-test/t/grant3.test b/mysql-test/t/grant3.test
index 437fc9a278f..d24b2de17eb 100644
--- a/mysql-test/t/grant3.test
+++ b/mysql-test/t/grant3.test
@@ -64,6 +64,7 @@ SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser' order by 1,2;
DROP USER CUser@localhost;
+--error ER_CANNOT_USER
DROP USER CUser@LOCALHOST;
#### table grants
@@ -88,6 +89,7 @@ SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
DROP USER CUser@localhost;
+--error ER_CANNOT_USER
DROP USER CUser@LOCALHOST;
### column grants
@@ -112,6 +114,7 @@ SELECT user, host FROM mysql.user where user = 'CUser' order by 1,2;
SELECT user, host, db, Table_name, Table_priv, Column_priv FROM mysql.tables_priv where user = 'CUser' order by 1,2;
DROP USER CUser@localhost;
+--error ER_CANNOT_USER
DROP USER CUser@LOCALHOST;
drop table t1;
@@ -131,6 +134,7 @@ flush privileges;
SELECT user, host FROM mysql.user where user = 'CUser2' order by 1,2;
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2;
+--error ER_NONEXISTING_GRANT
REVOKE SELECT ON test.* FROM 'CUser2'@'localhost';
flush privileges;
@@ -138,6 +142,7 @@ SELECT user, host FROM mysql.user where user = 'CUser2' order by 1,2;
SELECT user, host, db, select_priv FROM mysql.db where user = 'CUser2' order by 1,2;
DROP USER CUser2@localhost;
+--error ER_CANNOT_USER
DROP USER CUser2@LOCALHOST;
diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test
index f22255d362f..7f227398a95 100644
--- a/mysql-test/t/group_by.test
+++ b/mysql-test/t/group_by.test
@@ -1253,6 +1253,54 @@ SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
SELECT SUBSTRING(a,1,10), LENGTH(a) FROM t1 GROUP BY a;
DROP TABLE t1;
+--echo #
+--echo # Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
+--echo #
+
+CREATE TABLE t1(f1 INT NOT NULL);
+INSERT INTO t1 VALUES (16777214),(0);
+
+SELECT COUNT(*) FROM t1 LEFT JOIN t1 t2
+ON 1 WHERE t2.f1 > 1 GROUP BY t2.f1;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#59839: Aggregation followed by subquery yields wrong result
+--echo #
+
+CREATE TABLE t1 (
+ a INT,
+ b INT,
+ c INT,
+ KEY (a, b)
+);
+
+INSERT INTO t1 VALUES
+ ( 1, 1, 1 ),
+ ( 1, 2, 2 ),
+ ( 1, 3, 3 ),
+ ( 1, 4, 6 ),
+ ( 1, 5, 5 ),
+ ( 1, 9, 13 ),
+
+ ( 2, 1, 6 ),
+ ( 2, 2, 7 ),
+ ( 2, 3, 8 );
+
+EXPLAIN
+SELECT a, AVG(t1.b),
+(SELECT t11.c FROM t1 t11 WHERE t11.a = t1.a AND t11.b = AVG(t1.b)) AS t11c,
+(SELECT t12.c FROM t1 t12 WHERE t12.a = t1.a AND t12.b = AVG(t1.b)) AS t12c
+FROM t1 GROUP BY a;
+
+SELECT a, AVG(t1.b),
+(SELECT t11.c FROM t1 t11 WHERE t11.a = t1.a AND t11.b = AVG(t1.b)) AS t11c,
+(SELECT t12.c FROM t1 t12 WHERE t12.a = t1.a AND t12.b = AVG(t1.b)) AS t12c
+FROM t1 GROUP BY a;
+
+DROP TABLE t1;
+
--echo # End of 5.1 tests
diff --git a/mysql-test/t/having.test b/mysql-test/t/having.test
index c808e747523..2ed8b40b858 100644
--- a/mysql-test/t/having.test
+++ b/mysql-test/t/having.test
@@ -564,4 +564,30 @@ HAVING field1 < 7;
DROP TABLE t1,t2;
+--echo #
+--echo # Bug#48916 Server incorrectly processing HAVING clauses with an ORDER BY clause
+--echo #
+
+CREATE TABLE t1 (f1 INT, f2 INT);
+INSERT INTO t1 VALUES (1, 0), (2, 1), (3, 2);
+CREATE TABLE t2 (f1 INT, f2 INT);
+
+SELECT t1.f1
+FROM t1
+HAVING (3, 2) IN (SELECT f1, f2 FROM t2) AND t1.f1 >= 0
+ORDER BY t1.f1;
+
+SELECT t1.f1
+FROM t1
+HAVING (3, 2) IN (SELECT 4, 2) AND t1.f1 >= 0
+ORDER BY t1.f1;
+
+SELECT t1.f1
+FROM t1
+HAVING 2 IN (SELECT f2 FROM t2) AND t1.f1 >= 0
+ORDER BY t1.f1;
+
+DROP TABLE t1,t2;
+
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/implicit_char_to_num_conversion.test b/mysql-test/t/implicit_char_to_num_conversion.test
new file mode 100644
index 00000000000..f3da83ff2c1
--- /dev/null
+++ b/mysql-test/t/implicit_char_to_num_conversion.test
@@ -0,0 +1,174 @@
+########### implicit_char_to_num_conversion.test #######################
+# #
+# This test aims at using string/char literal in comparison operators #
+# without explicit type-cast. This is a bug test for Bug#11766521 #
+# - Incorrect result is returned if string/char literal is used with #
+# comparision operator and bit data type column. Test is extended to #
+# include numeric data type comparison with string/char literal #
+# #
+# #
+# Creation: #
+# 2011-05-10 vfisrekar Implement this test as part of Bug#11766521 #
+# #
+########################################################################
+
+--disable_warnings
+DROP TABLE IF EXISTS t5;
+--enable_warnings
+
+let $default_engine = `select @@SESSION.default_storage_engine`;
+
+# Bug#11766521 - BIT Datatype comparison in where clause return incorrect
+# result for '=' , '<=>' operators
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 BIT(2) PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (0), (1), (2);
+SELECT HEX(c1) FROM t5 ORDER BY c1;
+# Enable Following two select after Bug#11766521 fix
+# SELECT HEX(c1) FROM t5 WHERE c1 = '1' ORDER BY c1;
+# SELECT HEX(c1) FROM t5 WHERE c1 <=> '1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 = b'1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 <=> b'1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 != b'1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 >= '1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 <= '1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 < '1' ORDER BY c1;
+SELECT HEX(c1) FROM t5 WHERE c1 > '0' ORDER BY c1;
+DROP TABLE t5;
+
+# FLOAT Data-type
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 FLOAT(5,2) PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (95.95), (-10.10), (1), (0);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+# Following two queries does not return result may be due to Bug#11766521.
+# Enable them after Bug#11766521 fix.
+# SELECT c1 FROM t5 WHERE c1 = '10.10' ORDER BY c1;
+# SELECT c1 FROM t5 WHERE c2 <=> '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '10.10' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '1' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '1' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '0' ORDER BY c1;
+DROP TABLE t5;
+
+# TINYINT Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 TINYINT PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (95), (10),(11),(-8);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '10' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '10' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '-8' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '10' ORDER BY c1;
+DROP TABLE t5;
+
+# SMALLINT Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 SMALLINT PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (395), (-200), (100), (111);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '100' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '100' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '395' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '-200' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '100' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '111' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '111' ORDER BY c1;
+DROP TABLE t5;
+
+# MEDIUMINT Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 MEDIUMINT PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (-8388607), (311),(215),(88608);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '311' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '311' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '215' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '88608' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '-8388607' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '215' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '215' ORDER BY c1;
+DROP TABLE t5;
+
+# INT Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 INT PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (-2147483647), (1011),(15),(9388607);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '9388607' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '9388607' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '15' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '1011' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '-2147483647' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '15' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '15' ORDER BY c1;
+DROP TABLE t5;
+
+# BIGINT Data-type
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 BIGINT PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (-9223372036854775807), (12011),(500),(3372036854775808);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '-9223372036854775807' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '-9223372036854775807' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '12011' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '500' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '3372036854775808' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '12011' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '12011' ORDER BY c1;
+DROP TABLE t5;
+
+# DOUBLE Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 DOUBLE(5,2) PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (95.95), (11.11),(5),(-908.92);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '5' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '95.95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '-908.92' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '95.95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '-908.92' ORDER BY c1;
+DROP TABLE t5;
+
+# NUMERIC Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 NUMERIC(5,2) PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (95.95), (11.11),(5),(-908.92);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '5' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '95.95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '-908.92' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '95.95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '-908.92' ORDER BY c1;
+DROP TABLE t5;
+
+# DECIMAL Datatype
+--replace_result $default_engine <default_engine>
+eval CREATE TABLE t5(c1 DECIMAL(5,2) PRIMARY KEY) ENGINE = $default_engine;
+INSERT INTO t5 VALUES (95.95), (11.11),(5),(-908.92);
+SELECT c1 FROM t5 ORDER BY c1;
+# Compare with string literal
+SELECT c1 FROM t5 WHERE c1 = '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <=> '11.11' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 >= '5' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 <= '95.95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 != '-908.92' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 < '95.95' ORDER BY c1;
+SELECT c1 FROM t5 WHERE c1 > '-908.92' ORDER BY c1;
+DROP TABLE t5;
diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test
index 4461004c79c..698bf67b927 100644
--- a/mysql-test/t/information_schema.test
+++ b/mysql-test/t/information_schema.test
@@ -1,6 +1,9 @@
# This test uses grants, which can't get tested for embedded server
-- source include/not_embedded.inc
+#Don't run this test when thread_pool active
+--source include/not_threadpool.inc
+
# check that CSV engine was compiled in, as the result of the test depends
# on the presence of the log tables (which are CSV-based).
--source include/have_csv.inc
@@ -1552,3 +1555,56 @@ WHERE COLUMNS.TABLE_SCHEMA = 'test'
AND COLUMNS.TABLE_NAME = 't1';
+--echo #
+--echo # A test case for Bug#56540 "Exception (crash) in sql_show.cc
+--echo # during rqg_info_schema test on Windows"
+--echo # Ensure that we never access memory of a closed table,
+--echo # in particular, never access table->field[] array.
+--echo # Before the fix, the below test case, produced
+--echo # valgrind errors.
+--echo #
+
+--disable_warnings
+drop table if exists t1;
+drop view if exists v1;
+--enable_warnings
+
+create table t1 (a int, b int);
+create view v1 as select t1.a, t1.b from t1;
+alter table t1 change b c int;
+lock table t1 read;
+connect(con1, localhost, root,,);
+--echo # --> connection con1
+connection con1;
+send flush tables;
+--echo # --> connection default
+connection default;
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for table flush" and
+ info = "flush tables";
+--source include/wait_condition.inc
+--vertical_results
+select * from information_schema.views;
+--horizontal_results
+unlock tables;
+
+--echo #
+--echo # Cleanup.
+--echo #
+
+--echo # --> connection con1
+connection con1;
+--echo # Reaping 'flush tables'
+reap;
+disconnect con1;
+--source include/wait_until_disconnected.inc
+--echo # --> connection default
+connection default;
+drop table t1;
+drop view v1;
+
+
+--echo #
+--echo # End of 5.5 tests
+--echo #
diff --git a/mysql-test/t/information_schema_db.test b/mysql-test/t/information_schema_db.test
index 28133bd3f5d..a2a32a4fac5 100644
--- a/mysql-test/t/information_schema_db.test
+++ b/mysql-test/t/information_schema_db.test
@@ -2,6 +2,9 @@
# in the embedded server by default). So skip the test in embedded-server mode.
-- source include/not_embedded.inc
+#Don't run this test when thread_pool active
+--source include/not_threadpool.inc
+
-- source include/testdb_only.inc
--disable_warnings
diff --git a/mysql-test/t/init_file.test b/mysql-test/t/init_file.test
index 343f320550c..573396f625d 100644
--- a/mysql-test/t/init_file.test
+++ b/mysql-test/t/init_file.test
@@ -33,4 +33,4 @@ drop table t1, t2;
# MTR will restart server anyway, but by forcing it we avoid being warned
# about the apparent side effect
-call mtr.force_restart();
+--source include/force_restart.inc
diff --git a/mysql-test/t/innodb_mysql_lock.test b/mysql-test/t/innodb_mysql_lock.test
index 975444a44b1..629da27660e 100644
--- a/mysql-test/t/innodb_mysql_lock.test
+++ b/mysql-test/t/innodb_mysql_lock.test
@@ -279,6 +279,42 @@ disconnect con2;
disconnect con3;
+--echo #
+--echo # Bug#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY
+--echo # KEY NO 0 FOR TABLE IN ERROR LOG
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--connect (con1,localhost,root)
+
+--echo # Connection default
+connection default;
+CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB;
+INSERT INTO t1 VALUES (1, 12345);
+START TRANSACTION;
+SELECT * FROM t1;
+
+--echo # Connection con1
+--connection con1
+SET lock_wait_timeout=1;
+# Test with two timeouts, as the first version of this patch
+# only worked with one timeout.
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 ADD INDEX idx(value);
+--error ER_LOCK_WAIT_TIMEOUT
+ALTER TABLE t1 ADD INDEX idx(value);
+
+--echo # Connection default
+--connection default
+SELECT * FROM t1;
+COMMIT;
+DROP TABLE t1;
+disconnect con1;
+
+
# Check that all connections opened by test cases in this file are really
# gone so execution of other tests won't be affected by their presence.
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/innodb_mysql_sync.test b/mysql-test/t/innodb_mysql_sync.test
index 07f75afec40..ec8fa55fc5c 100644
--- a/mysql-test/t/innodb_mysql_sync.test
+++ b/mysql-test/t/innodb_mysql_sync.test
@@ -2,6 +2,7 @@
# Test file for InnoDB tests that require the debug sync facility
#
--source include/have_innodb.inc
+--source include/have_debug.inc
--source include/have_debug_sync.inc
# Save the initial number of concurrent sessions.
--source include/count_sessions.inc
@@ -104,6 +105,203 @@ SELECT ((@id := id) - id) FROM t2;
KILL @id;
SET DEBUG_SYNC= "now SIGNAL killed";
DROP TABLE t1, t2;
+disconnect con1;
+--source include/wait_until_count_sessions.inc
+SET DEBUG_SYNC= "RESET";
+
+
+--echo #
+--echo # Bug#58933 Assertion `thd- >is_error()' fails on shutdown with ongoing
+--echo # OPTIMIZE TABLE
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (a INT) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+
+--echo # Connection con1
+connect (con1,localhost,root);
+let $ID= `SELECT connection_id()`;
+SET DEBUG_SYNC= 'ha_admin_open_ltable SIGNAL waiting WAIT_FOR killed';
+--echo # Sending:
+--send OPTIMIZE TABLE t1
+
+--echo # Connection default
+connection default;
+SET DEBUG_SYNC= 'now WAIT_FOR waiting';
+--replace_result $ID ID
+eval KILL QUERY $ID;
+SET DEBUG_SYNC= 'now SIGNAL killed';
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: OPTIMIZE TABLE t1
+--reap
+
+--echo # Connection default
+connection default;
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+disconnect con1;
+
+
+--echo #
+--echo # Bug#42230 during add index, cannot do queries on storage engines
+--echo # that implement add_index
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS db1;
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+connect(con1,localhost,root);
+connect(con2,localhost,root);
+
+--echo # Test 1: Secondary index, should not block reads (original test case).
+
+--echo # Connection default
+connection default;
+CREATE DATABASE db1;
+CREATE TABLE db1.t1(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT) engine=innodb;
+INSERT INTO db1.t1(value) VALUES (1), (2);
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+--echo # Sending:
+--send ALTER TABLE db1.t1 ADD INDEX(value)
+
+--echo # Connection con1
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+# Neither of these two statements should be blocked
+USE db1;
+SELECT * FROM t1;
+SET DEBUG_SYNC= "now SIGNAL query";
+
+--echo # Connection default
+connection default;
+--echo # Reaping: ALTER TABLE db1.t1 ADD INDEX(value)
+--reap
+DROP DATABASE db1;
+
+--echo # Test 2: Primary index (implicit), should block reads.
+
+CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+--echo # Sending:
+--send ALTER TABLE t1 ADD UNIQUE INDEX(a)
+
+--echo # Connection con1
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+USE test;
+--echo # Sending:
+--send SELECT * FROM t1
+
+--echo # Connection con2
+connection con2;
+--echo # Waiting for SELECT to be blocked by the metadata lock on t1
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for table metadata lock'
+ AND info='SELECT * FROM t1';
+--source include/wait_condition.inc
+SET DEBUG_SYNC= "now SIGNAL query";
+
+--echo # Connection default
+connection default;
+--echo # Reaping: ALTER TABLE t1 ADD UNIQUE INDEX(a)
+--reap
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: SELECT * FROM t1
+--reap
+
+--echo # Test 3: Primary index (explicit), should block reads.
+
+--echo # Connection default
+connection default;
+ALTER TABLE t1 DROP INDEX a;
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+--echo # Sending:
+--send ALTER TABLE t1 ADD PRIMARY KEY (a)
+
+--echo # Connection con1
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+--echo # Sending:
+--send SELECT * FROM t1
+
+--echo # Connection con2
+connection con2;
+--echo # Waiting for SELECT to be blocked by the metadata lock on t1
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for table metadata lock'
+ AND info='SELECT * FROM t1';
+--source include/wait_condition.inc
+SET DEBUG_SYNC= "now SIGNAL query";
+
+--echo # Connection default
+connection default;
+--echo # Reaping: ALTER TABLE t1 ADD PRIMARY KEY (a)
+--reap
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: SELECT * FROM t1
+--reap
+
+--echo # Test 4: Secondary unique index, should not block reads.
+
+--echo # Connection default
+connection default;
+SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query";
+--echo # Sending:
+--send ALTER TABLE t1 ADD UNIQUE (b)
+
+--echo # Connection con1
+connection con1;
+SET DEBUG_SYNC= "now WAIT_FOR manage";
+SELECT * FROM t1;
+SET DEBUG_SYNC= "now SIGNAL query";
+
+--echo # Connection default
+connection default;
+--echo # Reaping: ALTER TABLE t1 ADD UNIQUE (b)
+--reap
+
+disconnect con1;
+disconnect con2;
+SET DEBUG_SYNC= "RESET";
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#11853126 RE-ENABLE CONCURRENT READS WHILE CREATING SECONDARY INDEX
+--echo # IN INNODB
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
+INSERT INTO t1 VALUES (1, 12345), (2, 23456);
+
+--echo # Connection con1
+--connect (con1,localhost,root)
+SET SESSION debug= "+d,alter_table_rollback_new_index";
+--error ER_UNKNOWN_ERROR
+ALTER TABLE t1 ADD PRIMARY KEY(a);
+SELECT * FROM t1;
+
+--echo # Connection default
+--connection default
+SELECT * FROM t1;
+DROP TABLE t1;
+disconnect con1;
# Check that all connections opened by test cases in this file are really
diff --git a/mysql-test/t/insert_select.test b/mysql-test/t/insert_select.test
index d740445fb4d..b2f3c14aa13 100644
--- a/mysql-test/t/insert_select.test
+++ b/mysql-test/t/insert_select.test
@@ -412,8 +412,8 @@ SET GLOBAL myisam_data_pointer_size = 2;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
-call mtr.add_suppression("mysqld: The table '.*#sql.*' is full");
---error 0,ER_RECORD_FILE_FULL,ER_RECORD_FILE_FULL
+call mtr.add_suppression("mysqld.*: The table '.*#sql.*' is full");
+--error ER_RECORD_FILE_FULL,ER_RECORD_FILE_FULL
INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;
# Cleanup
diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test
index b14d9a40300..3a6c09f9ba7 100644
--- a/mysql-test/t/join_outer.test
+++ b/mysql-test/t/join_outer.test
@@ -983,6 +983,241 @@ EXPLAIN EXTENDED SELECT STRAIGHT_JOIN jt1.f1 FROM t1 AS jt1
DROP TABLE t1;
--echo #
+--echo # Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
+--echo #
+
+CREATE TABLE t1 (f1 INT NOT NULL, PRIMARY KEY (f1));
+CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY (f1, f2));
+
+INSERT INTO t1 VALUES (4);
+INSERT INTO t2 VALUES (3, 3);
+INSERT INTO t2 VALUES (7, 7);
+
+EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4
+GROUP BY t2.f1, t2.f2;
+
+SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4
+GROUP BY t2.f1, t2.f2;
+
+EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
+GROUP BY t2.f1, t2.f2;
+
+SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
+WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
+GROUP BY t2.f1, t2.f2;
+
+DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug#57034 incorrect OUTER JOIN result when joined on unique key
+--echo #
+
+CREATE TABLE t1 (pk INT PRIMARY KEY,
+ col_int INT,
+ col_int_unique INT UNIQUE KEY);
+INSERT INTO t1 VALUES (1,NULL,2), (2,0,0);
+
+CREATE TABLE t2 (pk INT PRIMARY KEY,
+ col_int INT,
+ col_int_unique INT UNIQUE KEY);
+INSERT INTO t2 VALUES (1,0,1), (2,0,2);
+
+EXPLAIN
+SELECT * FROM t1 LEFT JOIN t2
+ ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int
+ WHERE t1.pk=1;
+
+SELECT * FROM t1 LEFT JOIN t2
+ ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int
+ WHERE t1.pk=1;
+
+DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug#48046 Server incorrectly processing JOINs on NULL values
+--echo #
+
+# bug#48046 is a duplicate of bug#57034
+
+CREATE TABLE `BB` (
+ `pk` int(11) NOT NULL AUTO_INCREMENT,
+ `time_key` time DEFAULT NULL,
+ `varchar_key` varchar(1) DEFAULT NULL,
+ `varchar_nokey` varchar(1) DEFAULT NULL,
+ PRIMARY KEY (`pk`),
+ KEY `time_key` (`time_key`),
+ KEY `varchar_key` (`varchar_key`)
+) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
+
+INSERT INTO `BB` VALUES (10,'18:27:58',NULL,NULL);
+
+SELECT table1.time_key AS field1, table2.pk
+FROM BB table1 LEFT JOIN BB table2
+ ON table2.varchar_nokey = table1.varchar_key
+ HAVING field1;
+
+DROP TABLE BB;
+
+--echo #
+--echo # Bug#49600 Server incorrectly processing RIGHT JOIN with
+--echo # constant WHERE clause and no index
+--echo #
+
+# bug#49600 is a duplicate of bug#57034
+
+CREATE TABLE `BB` (
+ `col_datetime_key` datetime DEFAULT NULL,
+ `col_varchar_key` varchar(1) DEFAULT NULL,
+ `col_varchar_nokey` varchar(1) DEFAULT NULL,
+ KEY `col_datetime_key` (`col_datetime_key`),
+ KEY `col_varchar_key` (`col_varchar_key`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+INSERT INTO `BB` VALUES ('1900-01-01 00:00:00',NULL,NULL);
+
+SELECT table1.col_datetime_key
+FROM BB table1 RIGHT JOIN BB table2
+ ON table2 .col_varchar_nokey = table1.col_varchar_key
+ WHERE 7;
+
+# Disable keys, and we get incorrect result for the same query
+ALTER TABLE BB DISABLE KEYS;
+
+SELECT table1.col_datetime_key
+FROM BB table1 RIGHT JOIN BB table2
+ ON table2 .col_varchar_nokey = table1.col_varchar_key
+ WHERE 7;
+
+DROP TABLE BB;
+
+
+--echo #
+--echo # Bug#58490: Incorrect result in multi level OUTER JOIN
+--echo # in combination with IS NULL
+--echo #
+
+CREATE TABLE t1 (i INT NOT NULL);
+INSERT INTO t1 VALUES (0), (2),(3),(4);
+CREATE TABLE t2 (i INT NOT NULL);
+INSERT INTO t2 VALUES (0),(1), (3),(4);
+CREATE TABLE t3 (i INT NOT NULL);
+INSERT INTO t3 VALUES (0),(1),(2), (4);
+CREATE TABLE t4 (i INT NOT NULL);
+INSERT INTO t4 VALUES (0),(1),(2),(3) ;
+
+SELECT * FROM
+ t1 LEFT JOIN
+ ( t2 LEFT JOIN
+ ( t3 LEFT JOIN
+ t4
+ ON t4.i = t3.i
+ )
+ ON t3.i = t2.i
+ )
+ ON t2.i = t1.i
+ ;
+
+SELECT * FROM
+ t1 LEFT JOIN
+ ( t2 LEFT JOIN
+ ( t3 LEFT JOIN
+ t4
+ ON t4.i = t3.i
+ )
+ ON t3.i = t2.i
+ )
+ ON t2.i = t1.i
+ WHERE t4.i IS NULL;
+
+
+# Most simplified testcase to reproduce the bug.
+# (Has to be at least a two level nested outer join)
+SELECT * FROM
+ t1 LEFT JOIN
+ ( ( t2 LEFT JOIN
+ t3
+ ON t3.i = t2.i
+ )
+ )
+ ON t2.i = t1.i
+ WHERE t3.i IS NULL;
+
+
+# Extended testing:
+# We then add some equi-join inside the query above:
+# (There Used to be some problems here with first
+# proposed patch for this bug)
+SELECT * FROM
+ t1 LEFT JOIN
+ ( ( t2 LEFT JOIN
+ t3
+ ON t3.i = t2.i
+ )
+ JOIN t4
+ ON t4.i=t2.i
+ )
+ ON t2.i = t1.i
+ WHERE t3.i IS NULL;
+
+SELECT * FROM
+ t1 LEFT JOIN
+ ( ( t2 LEFT JOIN
+ t3
+ ON t3.i = t2.i
+ )
+ JOIN (t4 AS t4a JOIN t4 AS t4b ON t4a.i=t4b.i)
+ ON t4a.i=t2.i
+ )
+ ON t2.i = t1.i
+ WHERE t3.i IS NULL;
+
+SELECT * FROM
+ t1 LEFT JOIN
+ ( ( t2 LEFT JOIN
+ t3
+ ON t3.i = t2.i
+ )
+ JOIN (t4 AS t4a, t4 AS t4b)
+ ON t4a.i=t2.i
+ )
+ ON t2.i = t1.i
+ WHERE t3.i IS NULL;
+
+
+DROP TABLE t1,t2,t3,t4;
+
+## Bug#49322 & bug#58490 are duplicates. However, we include testcases
+## for both.
+--echo #
+--echo # Bug#49322(Duplicate): Server is adding extra NULL row
+--echo # on processing a WHERE clause
+--echo #
+
+CREATE TABLE h (pk INT NOT NULL, col_int_key INT);
+INSERT INTO h VALUES (1,NULL),(4,2),(5,2),(3,4),(2,8);
+
+CREATE TABLE m (pk INT NOT NULL, col_int_key INT);
+INSERT INTO m VALUES (1,2),(2,7),(3,5),(4,7),(5,5),(6,NULL),(7,NULL),(8,9);
+CREATE TABLE k (pk INT NOT NULL, col_int_key INT);
+INSERT INTO k VALUES (1,9),(2,2),(3,5),(4,2),(5,7),(6,0),(7,5);
+
+# Baseline query wo/ 'WHERE ... IS NULL' - was correct
+SELECT TABLE1.pk FROM k TABLE1
+RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key
+RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key;
+
+# Adding 'WHERE ... IS NULL' -> incorrect result
+SELECT TABLE1.pk FROM k TABLE1
+RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key
+RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key
+WHERE TABLE1.pk IS NULL;
+
+DROP TABLE h,m,k;
+
+--echo #
--echo # Bug#49600: outer join of two single-row tables with joining attributes
--echo # evaluated to nulls
diff --git a/mysql-test/t/join_outer_innodb.test b/mysql-test/t/join_outer_innodb.test
index 40add7f488f..0d47c4ea57b 100644
--- a/mysql-test/t/join_outer_innodb.test
+++ b/mysql-test/t/join_outer_innodb.test
@@ -24,3 +24,40 @@ SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%' OR FALSE;
DROP TABLE t1,t2;
+
+--echo #
+--echo # BUG#58456: Assertion 0 in QUICK_INDEX_MERGE_SELECT::need_sorted_output
+--echo # in opt_range.h
+--echo #
+
+CREATE TABLE t1 (
+ col_int INT,
+ col_int_key INT,
+ pk INT NOT NULL,
+ PRIMARY KEY (pk),
+ KEY col_int_key (col_int_key)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (NULL,1,1), (6,2,2), (5,3,3), (NULL,4,4);
+INSERT INTO t1 VALUES (1,NULL,6), (8,5,7), (NULL,8,8), (8,NULL,5);
+
+CREATE TABLE t2 (
+ pk INT PRIMARY KEY
+) ENGINE=InnoDB;
+
+let $query=
+SELECT t1.pk
+FROM t2 LEFT JOIN t1 ON t2.pk = t1.col_int
+WHERE t1.col_int_key BETWEEN 5 AND 6
+ AND t1.pk IS NULL OR t1.pk IN (5)
+ORDER BY pk;
+
+--echo
+--eval EXPLAIN $query
+--echo
+--eval $query
+--echo
+
+DROP TABLE t1,t2;
+
+--echo # End BUG#58456
diff --git a/mysql-test/t/key_cache-master.opt b/mysql-test/t/key_cache-master.opt
index 66e19c18a8a..6398e3e0a26 100644
--- a/mysql-test/t/key_cache-master.opt
+++ b/mysql-test/t/key_cache-master.opt
@@ -1 +1,2 @@
--key_buffer_size=2M --small.key_buffer_size=256K --small.key_buffer_size=128K
+--force-restart
diff --git a/mysql-test/t/keywords.test b/mysql-test/t/keywords.test
index 3080c4847b4..08016313ca7 100644
--- a/mysql-test/t/keywords.test
+++ b/mysql-test/t/keywords.test
@@ -62,5 +62,103 @@ call p1();
drop procedure p1;
drop table t1;
-
# End of 5.0 tests
+
+#
+# BUG#57899: Certain reserved words should not be reserved
+#
+
+#
+# We are looking for SYNTAX ERRORS here, so no need to
+# log the queries
+#
+
+CREATE TABLE slow (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO slow(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO slow(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO slow(slow, general) VALUES (1,2), (5,6);
+INSERT INTO slow(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM slow ORDER BY slow;
+SELECT slow, general, master_heartbeat_period FROM slow ORDER BY slow;
+SELECT slow, master_heartbeat_period FROM slow ORDER BY slow;
+SELECT slow FROM slow ORDER BY slow;
+DROP TABLE slow;
+CREATE TABLE general (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO general(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO general(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO general(slow, general) VALUES (1,2), (5,6);
+INSERT INTO general(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM general ORDER BY slow;
+SELECT slow, general, master_heartbeat_period FROM general ORDER BY slow;
+SELECT slow, master_heartbeat_period FROM general ORDER BY slow;
+SELECT slow FROM general ORDER BY slow;
+DROP TABLE general;
+CREATE TABLE master_heartbeat_period (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO master_heartbeat_period(slow, general) VALUES (1,2), (5,6);
+INSERT INTO master_heartbeat_period(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM master_heartbeat_period ORDER BY slow;
+SELECT slow, general, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
+SELECT slow, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
+SELECT slow FROM master_heartbeat_period ORDER BY slow;
+DROP TABLE master_heartbeat_period;
+CREATE TABLE ignore_server_ids (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
+INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
+INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
+INSERT INTO ignore_server_ids(slow, general) VALUES (1,2), (5,6);
+INSERT INTO ignore_server_ids(slow) VALUES (1), (5);
+SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM ignore_server_ids ORDER BY slow;
+SELECT slow, general, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
+SELECT slow, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
+SELECT slow FROM ignore_server_ids ORDER BY slow;
+DROP TABLE ignore_server_ids;
+
+CREATE TABLE t1 (slow INT, general INT, ignore_server_ids INT, master_heartbeat_period INT);
+INSERT INTO t1 VALUES (1,2,3,4);
+DELIMITER |;
+CREATE PROCEDURE p1()
+BEGIN
+ DECLARE slow INT;
+ DECLARE general INT;
+ DECLARE ignore_server_ids INT;
+ DECLARE master_heartbeat_period INT;
+
+ SELECT max(t1.slow) INTO slow FROM t1;
+ SELECT max(t1.general) INTO general FROM t1;
+ SELECT max(t1.ignore_server_ids) INTO ignore_server_ids FROM t1;
+ SELECT max(t1.master_heartbeat_period) INTO master_heartbeat_period FROM t1;
+
+ SELECT slow, general, ignore_server_ids, master_heartbeat_period;
+END|
+
+CREATE PROCEDURE p2()
+BEGIN
+
+ DECLARE n INT DEFAULT 2;
+ general: WHILE n > 0 DO
+ SET n = n -1;
+ END WHILE general;
+
+ SET n = 2;
+ slow: WHILE n > 0 DO
+ SET n = n -1;
+ END WHILE slow;
+
+ SET n = 2;
+ ignore_server_ids: WHILE n > 0 DO
+ SET n = n -1;
+ END WHILE ignore_server_ids;
+
+ SET n = 2;
+ master_heartbeat_period: WHILE n > 0 DO
+ SET n = n -1;
+ END WHILE master_heartbeat_period;
+
+END|
+DELIMITER ;|
+CALL p1();
+call p2();
+DROP PROCEDURE p1;
+DROP PROCEDURE p2;
+DROP TABLE t1;
diff --git a/mysql-test/t/kill.test b/mysql-test/t/kill.test
index 4b40039ce45..4aa765caa8c 100644
--- a/mysql-test/t/kill.test
+++ b/mysql-test/t/kill.test
@@ -1,270 +1,284 @@
-# This test doesn't work with the embedded version as this code
-# assumes that one query is running while we are doing queries on
-# a second connection.
-# This would work if mysqltest run would be threaded and handle each
-# connection in a separate thread.
#
+# Test KILL and KILL QUERY statements.
+#
+# Killing a connection in an embedded server does not work like in a normal
+# server, if it is waiting for a new statement. In an embedded server, the
+# connection does not read() from a socket, but returns control to the
+# application. 'mysqltest' does not handle the kill request.
+#
+
-- source include/not_embedded.inc
+-- source include/have_debug_sync.inc
+-- source include/not_threadpool.inc
-# Disable concurrent inserts to avoid test failures when reading the
-# connection id which was inserted into a table by another thread.
-set @old_concurrent_insert= @@global.concurrent_insert;
-set @@global.concurrent_insert= 0;
+--disable_warnings
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE IF EXISTS t1, t2, t3;
+DROP FUNCTION IF EXISTS MY_KILL;
+--enable_warnings
+
+delimiter |;
+# Helper function used to repeatedly kill a session.
+CREATE FUNCTION MY_KILL(tid INT) RETURNS INT
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+ KILL tid;
+ RETURN (SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = tid);
+END|
+delimiter ;|
connect (con1, localhost, root,,);
connect (con2, localhost, root,,);
-#remember id of con1
+# Save id of con1
connection con1;
---disable_warnings
-drop table if exists t1, t2, t3;
---enable_warnings
-
--disable_reconnect
-create table t1 (kill_id int);
-insert into t1 values(connection_id());
+let $ID= `SELECT @id := CONNECTION_ID()`;
+connection con2;
+let $ignore= `SELECT @id := $ID`;
+connection con1;
+# Signal when this connection is terminating.
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+# See if we can kill read().
+# Run into read() immediately after hitting 'before_do_command_net_read'.
+SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read';
-#kill con1
+# Kill con1
connection con2;
-select ((@id := kill_id) - kill_id) from t1;
-kill @id;
+SET DEBUG_SYNC='now WAIT_FOR con1_read';
+# At this point we have no way to figure out, when con1 is blocked in
+# reading from the socket. Sending KILL to early would not terminate
+# con1. So we repeat KILL until con1 terminates.
+let $wait_condition= SELECT MY_KILL(@id);
+--source include/wait_condition.inc
+# If KILL missed the read(), sync point wait will time out.
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+SET DEBUG_SYNC = 'RESET';
connection con1;
---sleep 2
-
---disable_query_log
---disable_result_log
-# One of the following statements should fail
---error 0,2006,2013
-select 1;
---error 0,2006,2013
-select 1;
---enable_query_log
---enable_result_log
+--error 1053,2006,2013
+SELECT 1;
--enable_reconnect
# this should work, and we should have a new connection_id()
-select ((@id := kill_id) - kill_id) from t1;
-select @id != connection_id();
+SELECT 1;
+let $ignore= `SELECT @id := $ID`;
+SELECT @id != CONNECTION_ID();
#make sure the server is still alive
connection con2;
-select 4;
-drop table t1;
+SELECT 4;
connection default;
--error ER_NOT_SUPPORTED_YET
-kill (select count(*) from mysql.user);
+KILL (SELECT COUNT(*) FROM mysql.user);
+
+connection con1;
+let $ID= `SELECT @id := CONNECTION_ID()`;
+connection con2;
+let $ignore= `SELECT @id := $ID`;
+connection con1;
+disable_reconnect;
+# Signal when this connection is terminating.
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+# See if we can kill the sync point itself.
+# Wait in 'before_do_command_net_read' until killed.
+# It doesn't wait for a signal 'kill' but for to be killed.
+# The signal name doesn't matter here.
+SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read WAIT_FOR kill';
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_read';
+# Repeat KILL until con1 terminates.
+let $wait_condition= SELECT MY_KILL(@id);
+--source include/wait_condition.inc
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+SET DEBUG_SYNC = 'RESET';
+
+connection con1;
+--error 1053,2006,2013
+SELECT 1;
+enable_reconnect;
+SELECT 1;
+let $ignore= `SELECT @id := $ID`;
+SELECT @id != CONNECTION_ID();
+connection con2;
+SELECT 4;
+connection default;
#
# BUG#14851: killing long running subquery processed via a temporary table.
#
-create table t1 (id int primary key);
-create table t2 (id int unsigned not null);
-connect (conn1, localhost, root,,);
-connection conn1;
-
--- disable_result_log
--- disable_query_log
-begin;
-let $1 = 4096;
-while ($1)
-{
- eval insert into t1 values ($1);
- dec $1;
-}
-commit;
--- enable_query_log
--- enable_result_log
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT);
+CREATE TABLE t2 (id INT UNSIGNED NOT NULL);
-insert into t2 select id from t1;
+INSERT INTO t1 VALUES
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0);
+INSERT t1 SELECT 0 FROM t1 AS a1, t1 AS a2 LIMIT 4032;
-create table t3 (kill_id int);
-insert into t3 values(connection_id());
+INSERT INTO t2 SELECT id FROM t1;
-connect (conn2, localhost, root,,);
-connection conn2;
+connection con1;
+let $ID= `SELECT @id := CONNECTION_ID()`;
+connection con2;
+let $ignore= `SELECT @id := $ID`;
-connection conn1;
--- disable_result_log
-# This is a very long running query. If this test start failing, it may
-# be necessary to change to an even longer query.
-send select id from t1 where id in (select distinct a.id from t2 a, t2 b, t2 c, t2 d group by a.id, b.id, c.id, d.id having a.id between 10 and 20);
--- enable_result_log
+connection con1;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync';
+# This is a very long running query. If this test start failing,
+# it may be necessary to change to an even longer query.
+send SELECT id FROM t1 WHERE id IN
+ (SELECT DISTINCT a.id FROM t2 a, t2 b, t2 c, t2 d
+ GROUP BY ACOS(1/a.id), b.id, c.id, d.id
+ HAVING a.id BETWEEN 10 AND 20);
-connection conn2;
-select ((@id := kill_id) - kill_id) from t3;
--- sleep 1
-kill @id;
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL @id;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
-connection conn1;
--- error 1317,2013
+connection con1;
+--error 1317,1053,2006,2013
reap;
+SELECT 1;
connection default;
-
-drop table t1, t2, t3;
-
-# End of 4.1 tests
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1, t2;
#
-# test of blocking of sending ERROR after OK or EOF
+# Test of blocking of sending ERROR after OK or EOF
#
connection con1;
-select get_lock("a", 10);
+let $ID= `SELECT @id := CONNECTION_ID()`;
connection con2;
-let $ID= `select connection_id()`;
-send select get_lock("a", 10);
-real_sleep 2;
+let $ignore= `SELECT @id := $ID`;
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
+SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill';
+send SELECT ACOS(0);
connection con2;
-reap;
-select 1;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
connection con1;
-select RELEASE_LOCK("a");
+reap;
+SELECT 1;
+SELECT @id = CONNECTION_ID();
+connection default;
+SET DEBUG_SYNC = 'RESET';
#
# Bug#27563: Stored functions and triggers wasn't throwing an error when killed.
#
-create table t1(f1 int);
+CREATE TABLE t1 (f1 INT);
delimiter |;
-create function bug27563() returns int(11)
-deterministic
-begin
- declare continue handler for sqlstate '70100' set @a:= 'killed';
- declare continue handler for sqlexception set @a:= 'exception';
- set @a= get_lock("lock27563", 10);
- return 1;
-end|
+CREATE FUNCTION bug27563() RETURNS INT(11)
+DETERMINISTIC
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLSTATE '70100' SET @a:= 'killed';
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @a:= 'exception';
+ SET DEBUG_SYNC= 'now SIGNAL in_sync WAIT_FOR kill';
+ RETURN 1;
+END|
delimiter ;|
# Test stored functions
# Test INSERT
connection con1;
-select get_lock("lock27563",10);
+let $ID= `SELECT @id := CONNECTION_ID()`;
connection con2;
-let $ID= `select connection_id()`;
-send insert into t1 values (bug27563());
-real_sleep 2;
+let $ignore= `SELECT @id := $ID`;
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
+send INSERT INTO t1 VALUES (bug27563());
connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
--error 1317
reap;
-select @a;
-connection con1;
-select * from t1;
+SELECT * FROM t1;
+connection default;
+SET DEBUG_SYNC = 'RESET';
# Test UPDATE
-insert into t1 values(0);
-connection con2;
-send update t1 set f1= bug27563();
-real_sleep 2;
+INSERT INTO t1 VALUES(0);
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
+send UPDATE t1 SET f1= bug27563();
connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
--error 1317
reap;
-select @a;
-connection con1;
-select * from t1;
+SELECT * FROM t1;
+connection default;
+SET DEBUG_SYNC = 'RESET';
# Test DELETE
-insert into t1 values(1);
-connection con2;
-send delete from t1 where bug27563() is null;
-real_sleep 2;
+INSERT INTO t1 VALUES(1);
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
+send DELETE FROM t1 WHERE bug27563() IS NULL;
connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
--error 1317
reap;
-select @a;
-connection con1;
-select * from t1;
+SELECT * FROM t1;
+connection default;
+SET DEBUG_SYNC = 'RESET';
# Test SELECT
-connection con2;
-send select * from t1 where f1= bug27563();
-real_sleep 2;
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
+send SELECT * FROM t1 WHERE f1= bug27563();
connection con2;
---error 1317
-reap;
-select @a;
-
-# Test PROCEDURE
-connection con2;
-delimiter |;
-create procedure proc27563()
-begin
- declare continue handler for sqlstate '70100' set @a:= 'killed';
- declare continue handler for sqlexception set @a:= 'exception';
- select get_lock("lock27563",10);
- select "shouldn't be selected";
-end|
-delimiter ;|
-send call proc27563();
-real_sleep 2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
-connection con2;
--error 1317
reap;
-select @a;
+SELECT * FROM t1;
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP FUNCTION bug27563;
# Test TRIGGERS
-connection con2;
-create table t2 (f2 int);
+CREATE TABLE t2 (f2 INT);
delimiter |;
-create trigger trg27563 before insert on t1 for each row
-begin
- declare continue handler for sqlstate '70100' set @a:= 'killed';
- declare continue handler for sqlexception set @a:= 'exception';
- set @a:= get_lock("lock27563",10);
- insert into t2 values(1);
-end|
+CREATE TRIGGER trg27563 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+ DECLARE CONTINUE HANDLER FOR SQLSTATE '70100' SET @a:= 'killed';
+ DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @a:= 'exception';
+ INSERT INTO t2 VALUES(0);
+ SET DEBUG_SYNC= 'now SIGNAL in_sync WAIT_FOR kill';
+ INSERT INTO t2 VALUES(1);
+END|
delimiter ;|
-send insert into t1 values(2),(3);
-real_sleep 2;
connection con1;
-disable_query_log;
-eval kill query $ID;
-enable_query_log;
+send INSERT INTO t1 VALUES(2),(3);
connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
--error 1317
reap;
-select @a;
-connection con1;
-select * from t1;
-select * from t2;
-
-# Cleanup
-select release_lock("lock27563");
-drop table t1, t2;
-drop function bug27563;
-drop procedure proc27563;
+SELECT * FROM t1;
+SELECT * FROM t2;
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1, t2;
#
# Bug#28598: mysqld crash when killing a long-running explain query.
#
---disable_query_log
connection con1;
-let $ID= `select connection_id()`;
+let $ID= `SELECT @id := CONNECTION_ID()`;
+connection con2;
+let $ignore= `SELECT @id := $ID`;
+connection con1;
+--disable_query_log
let $tab_count= 40;
--disable_query_log
@@ -272,42 +286,48 @@ begin;
let $i= $tab_count;
while ($i)
{
- eval CREATE TABLE t$i (a$i int, KEY(a$i));
+ eval CREATE TABLE t$i (a$i INT, KEY(a$i));
eval INSERT INTO t$i VALUES (1),(2),(3),(4),(5),(6),(7);
dec $i ;
}
+
commit;
--enable_query_log
-set session optimizer_search_depth=0;
+
+SET SESSION optimizer_search_depth=0;
let $i=$tab_count;
while ($i)
{
- let $a= a$i;
- let $t= t$i;
- dec $i;
- if ($i)
- {
- let $comma=,;
- let $from=$comma$t$from;
- let $where=a$i=$a $and $where;
- }
- if (!$i)
- {
- let $from=FROM $t$from;
- let $where=WHERE $where;
- }
- let $and=AND;
+ let $a= a$i;
+ let $t= t$i;
+ dec $i;
+ if ($i)
+ {
+ let $comma=,;
+ let $from=$comma$t$from;
+ let $where=a$i=$a $and $where;
+ }
+ if (!$i)
+ {
+ let $from=FROM $t$from;
+ let $where=WHERE $where;
+ }
+ let $and=AND;
}
--enable_query_log
+SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync';
eval PREPARE stmt FROM 'EXPLAIN SELECT * $from $where';
send EXECUTE stmt;
---disable_query_log
connection con2;
-real_sleep 2;
-eval kill query $ID;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+--error 1317
+reap;
+--disable_query_log
let $i= $tab_count;
while ($i)
{
@@ -315,8 +335,8 @@ while ($i)
dec $i ;
}
--enable_query_log
-
-###########################################################################
+connection default;
+SET DEBUG_SYNC = 'RESET';
--echo #
--echo # Bug#19723: kill of active connection yields different error code
@@ -324,16 +344,27 @@ while ($i)
--echo #
--echo
---echo # Connection: con2.
---connection con2
-
-KILL CONNECTION_ID();
+--echo # Connection: con1.
+--connection con1
+let $ID= `SELECT @id := CONNECTION_ID()`;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+--disable_reconnect
+--error ER_QUERY_INTERRUPTED
+KILL @id;
---echo # CR_SERVER_LOST, CR_SERVER_GONE_ERROR, depending on the timing
---echo # of close of the connection socket
---error 2013, 2006
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+connection con1;
+--echo # ER_SERVER_SHUTDOWN, CR_SERVER_GONE_ERROR, CR_SERVER_LOST,
+--echo # depending on the timing of close of the connection socket
+--error 1053,2006,2013
+SELECT 1;
+--enable_reconnect
SELECT 1;
---connection default
+let $ignore= `SELECT @id := $ID`;
+SELECT @id != CONNECTION_ID();
+connection default;
+SET DEBUG_SYNC = 'RESET';
--echo #
--echo # Additional test for WL#3726 "DDL locking for all metadata objects"
@@ -495,28 +526,26 @@ connection ddl;
--echo # Switching to connection 'blocker'
connection blocker;
unlock tables;
-drop table t2;
-create table t2 (k int);
lock tables t1 read;
--echo # Switching to connection 'ddl'
connection ddl;
# Let us add pending exclusive metadata lock on t2
---send rename tables t1 to t3, t2 to t1
+--send truncate table t1
--echo # Switching to connection 'dml'
connection dml;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table metadata lock" and
- info = "rename tables t1 to t3, t2 to t1";
+ info = "truncate table t1";
--source include/wait_condition.inc
let $ID2= `select connection_id()`;
---send insert into t2 values (1)
+--send insert into t1 values (1)
--echo # Switching to connection 'default'
connection default;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table metadata lock" and
- info = "insert into t2 values (1)";
+ info = "insert into t1 values (1)";
--source include/wait_condition.inc
--replace_result $ID2 ID2
eval kill query $ID2;
@@ -570,10 +599,10 @@ connection ddl;
--echo # Cleanup.
--echo # Switching to connection 'default'
connection default;
-drop table t3;
drop table t1;
+drop table t2;
###########################################################################
-# Restore global concurrent_insert value. Keep in the end of the test file.
-set @@global.concurrent_insert= @old_concurrent_insert;
+SET DEBUG_SYNC = 'RESET';
+DROP FUNCTION MY_KILL;
diff --git a/mysql-test/t/loaddata.test b/mysql-test/t/loaddata.test
index 03fc99f8500..f9181f91a89 100644
--- a/mysql-test/t/loaddata.test
+++ b/mysql-test/t/loaddata.test
@@ -603,5 +603,33 @@ DROP TABLE t1;
let $MYSQLD_DATADIR= `select @@datadir`;
remove_file $MYSQLD_DATADIR/test/tmpp2.txt;
+--echo #
+--echo # Bug#11765139 58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U
+--echo #
+
+CREATE TABLE t1(f1 INT);
+EVAL SELECT 0xE1BB30 INTO OUTFILE 't1.dat';
+--disable_warnings
+LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8;
+--enable_warnings
+
+DROP TABLE t1;
+let $MYSQLD_DATADIR= `select @@datadir`;
+remove_file $MYSQLD_DATADIR/test/t1.dat;
+
+--echo #
+--echo # Bug#11765141 - 58072: LOAD DATA INFILE: LEAKS IO CACHE MEMORY
+--echo # WHEN ERROR OCCURS
+--echo #
+
+--let $file=$MYSQLTEST_VARDIR/tmp/bug11735141.txt
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--eval SELECT '1\n' INTO DUMPFILE '$file'
+
+create table t1(a point);
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+--error ER_CANT_CREATE_GEOMETRY_OBJECT
+--eval LOAD DATA INFILE '$file' INTO TABLE t1
+drop table t1;
--echo End of 5.1 tests
diff --git a/mysql-test/t/lock_multi.test b/mysql-test/t/lock_multi.test
index 6bdb235903d..5bab5e647ab 100644
--- a/mysql-test/t/lock_multi.test
+++ b/mysql-test/t/lock_multi.test
@@ -228,7 +228,7 @@ connection writer;
# Sleep a bit till the flush of connection locker is in work and hangs
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock" and
+ where state = "Waiting for global read lock" and
info = "FLUSH TABLES WITH READ LOCK";
--source include/wait_condition.inc
# This must not block.
@@ -260,7 +260,7 @@ connection writer;
# Sleep a bit till the flush of connection locker is in work and hangs
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock" and
+ where state = "Waiting for global read lock" and
info = "FLUSH TABLES WITH READ LOCK";
--source include/wait_condition.inc
--error ER_TABLE_NOT_LOCKED
@@ -296,10 +296,11 @@ DROP DATABASE mysqltest_1;
# With bug in place: try to acquire LOCK_mysql_create_table...
# When fixed: Reject dropping db because of the read lock.
connection con1;
-# Wait a bit so that the session con2 is in state "Waiting for release of readlock"
+# Wait a bit so that the session con2 is in state
+# "Waiting for global read lock"
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for release of readlock"
+ where state = "Waiting for global read lock"
and info = "DROP DATABASE mysqltest_1";
--source include/wait_condition.inc
--error ER_CANT_UPDATE_WITH_READLOCK
@@ -376,7 +377,7 @@ connection con5;
--echo # con5
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock" and
+ where state = "Waiting for global read lock" and
info = "flush tables with read lock";
--source include/wait_condition.inc
--echo # global read lock is taken
@@ -384,10 +385,11 @@ connection con3;
--echo # con3
send select * from t2 for update;
connection con5;
-let $show_statement= SHOW PROCESSLIST;
-let $field= State;
-let $condition= = 'Waiting for release of readlock';
---source include/wait_show_condition.inc
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "select * from t2 for update";
+--source include/wait_condition.inc
--echo # waiting for release of read lock
connection con4;
--echo # con4
@@ -433,10 +435,11 @@ connection con1;
send update t2 set a = 1;
connection default;
--echo # default
-let $show_statement= SHOW PROCESSLIST;
-let $field= State;
-let $condition= = 'Waiting for release of readlock';
---source include/wait_show_condition.inc
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "update t2 set a = 1";
+--source include/wait_condition.inc
--echo # statement is waiting for release of read lock
connection con2;
--echo # con2
@@ -460,10 +463,11 @@ connection con1;
send lock tables t2 write;
connection default;
--echo # default
-let $show_statement= SHOW PROCESSLIST;
-let $field= State;
-let $condition= = 'Waiting for release of readlock';
---source include/wait_show_condition.inc
+let $wait_condition=
+ select count(*) = 1 from information_schema.processlist
+ where state = "Waiting for global read lock" and
+ info = "lock tables t2 write";
+--source include/wait_condition.inc
--echo # statement is waiting for release of read lock
connection con2;
--echo # con2
@@ -571,7 +575,8 @@ connection default;
--echo connection: default
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock" and
+ info = "flush tables with read lock";
--source include/wait_condition.inc
alter table t1 add column j int;
connect (insert,localhost,root,,test,,);
@@ -579,14 +584,16 @@ connection insert;
--echo connection: insert
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock" and
+ info = "flush tables with read lock";
--source include/wait_condition.inc
--send insert into t1 values (1,2);
--echo connection: default
connection default;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for release of readlock";
+ where state = "Waiting for global read lock" and
+ info = "insert into t1 values (1,2)";
--source include/wait_condition.inc
unlock tables;
connection flush;
@@ -594,7 +601,8 @@ connection flush;
--reap
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for release of readlock";
+ where state = "Waiting for global read lock" and
+ info = "insert into t1 values (1,2)";
--source include/wait_condition.inc
select * from t1;
unlock tables;
@@ -629,12 +637,12 @@ connection default;
--echo connection: default
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock";
--source include/wait_condition.inc
flush tables;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock";
--source include/wait_condition.inc
unlock tables;
connection flush;
@@ -698,12 +706,12 @@ connection default;
--echo connection: default
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock";
--source include/wait_condition.inc
flush tables;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock";
--source include/wait_condition.inc
drop table t1;
connection flush;
diff --git a/mysql-test/t/lock_sync.test b/mysql-test/t/lock_sync.test
index 49f8f59ec5a..d5ad7becd7d 100644
--- a/mysql-test/t/lock_sync.test
+++ b/mysql-test/t/lock_sync.test
@@ -1023,6 +1023,120 @@ DROP EVENT e2;
SET DEBUG_SYNC="RESET";
+--echo #
+--echo # Bug#55930 Assertion `thd->transaction.stmt.is_empty() ||
+--echo # thd->in_sub_stmt || (thd->state..
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(a INT) engine=InnoDB;
+INSERT INTO t1 VALUES (1), (2);
+
+connect (con1, localhost, root);
+connect (con2, localhost, root);
+
+--echo # Connection con1
+connection con1;
+SET SESSION lock_wait_timeout= 1;
+SET DEBUG_SYNC= 'ha_admin_open_ltable SIGNAL opti_recreate WAIT_FOR opti_analyze';
+--echo # Sending:
+--send OPTIMIZE TABLE t1
+
+--echo # Connection con2
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR opti_recreate';
+SET DEBUG_SYNC= 'after_lock_tables_takes_lock SIGNAL thrlock WAIT_FOR release_thrlock';
+--echo # Sending:
+--send INSERT INTO t1 VALUES (3)
+
+--echo # Connection default
+connection default;
+SET DEBUG_SYNC= 'now WAIT_FOR thrlock';
+SET DEBUG_SYNC= 'now SIGNAL opti_analyze';
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: OPTIMIZE TABLE t1
+--reap
+SET DEBUG_SYNC= 'now SIGNAL release_thrlock';
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
+--echo # Connection con2
+connection con2;
+--echo # Reaping: INSERT INTO t1 VALUES (3)
+--reap
+disconnect con2;
+--source include/wait_until_disconnected.inc
+
+--echo # Connection default
+connection default;
+DROP TABLE t1;
+SET DEBUG_SYNC= 'RESET';
+
+
+--echo #
+--echo # Bug#57130 crash in Item_field::print during SHOW CREATE TABLE or VIEW
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP VIEW IF EXISTS v1;
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+CREATE TABLE t1(a INT);
+CREATE FUNCTION f1() RETURNS INTEGER RETURN 1;
+CREATE VIEW v1 AS SELECT * FROM t1 WHERE f1() = 1;
+DROP FUNCTION f1;
+connect(con2, localhost, root);
+
+--echo # Connection con1
+connect (con1, localhost, root);
+# Need to trigger this sync point at least twice in order to
+# get valgrind test failures without the patch
+SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped EXECUTE 2';
+--echo # Sending:
+--send SHOW CREATE VIEW v1
+
+--echo # Connection con2
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+SET DEBUG_SYNC= 'now SIGNAL dropped';
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+--echo # Sending:
+--send FLUSH TABLES
+
+--echo # Connection default
+connection default;
+--echo # Waiting for FLUSH TABLES to be blocked.
+let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist
+ WHERE state= 'Waiting for table flush' AND info= 'FLUSH TABLES';
+--source include/wait_condition.inc
+SET DEBUG_SYNC= 'now SIGNAL dropped';
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: SHOW CREATE VIEW v1
+--reap
+
+--echo # Connection con2
+connection con2;
+--echo # Reaping: FLUSH TABLES
+--reap
+
+--echo # Connection default
+connection default;
+SET DEBUG_SYNC= 'RESET';
+DROP VIEW v1;
+DROP TABLE t1;
+disconnect con1;
+disconnect con2;
+
+
# Check that all connections opened by test cases in this file are really
# gone so execution of other tests won't be affected by their presence.
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/log_tables.test b/mysql-test/t/log_tables.test
index 5275b8e7db3..5b6be217d9d 100644
--- a/mysql-test/t/log_tables.test
+++ b/mysql-test/t/log_tables.test
@@ -1034,6 +1034,25 @@ DROP TABLE t1;
TRUNCATE TABLE mysql.slow_log;
+#
+# Bug #47924 main.log_tables times out sporadically
+#
+
+use mysql;
+# Should result in error
+--disable_warnings
+drop table if exists renamed_general_log;
+drop table if exists renamed_slow_log;
+--enable_warnings
+--error ER_CANT_RENAME_LOG_TABLE
+RENAME TABLE general_log TO renamed_general_log;
+--error ER_CANT_RENAME_LOG_TABLE
+RENAME TABLE slow_log TO renamed_slow_log;
+
+use test;
+flush tables with read lock;
+unlock tables;
+
SET @@session.long_query_time= @old_long_query_time;
SET @@global.log_output= @old_log_output;
diff --git a/mysql-test/t/lowercase_fs_off.test b/mysql-test/t/lowercase_fs_off.test
index 86d1e084c29..1be0351f9bc 100644
--- a/mysql-test/t/lowercase_fs_off.test
+++ b/mysql-test/t/lowercase_fs_off.test
@@ -91,3 +91,14 @@ DROP DATABASE db1;
use test;
# End of 5.0 tests
+
+
+--echo #
+--echo # Extra test coverage for Bug#56595 RENAME TABLE causes assert on OS X
+--echo #
+
+CREATE TABLE t1(a INT);
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a= 1;
+RENAME TABLE t1 TO T1;
+ALTER TABLE T1 RENAME t1;
+DROP TABLE t1;
diff --git a/mysql-test/t/lowercase_table2.test b/mysql-test/t/lowercase_table2.test
index d8aa4e97fb3..30433d15be4 100644
--- a/mysql-test/t/lowercase_table2.test
+++ b/mysql-test/t/lowercase_table2.test
@@ -151,6 +151,41 @@ where TABLE_SCHEMA ='mysqltest_LC2';
use test;
drop database mysqltest_LC2;
+
+--echo #
+--echo # Bug #11758687: 50924: object names not resolved correctly
+--echo # on lctn2 systems
+--echo #
+
+CREATE DATABASE BUP_XPFM_COMPAT_DB2;
+
+CREATE TABLE BUP_XPFM_COMPAT_DB2.TABLE2 (c13 INT) DEFAULT CHARSET latin1;
+CREATE TABLE BUP_XPFM_COMPAT_DB2.table1 (c13 INT) DEFAULT CHARSET latin1;
+CREATE TABLE bup_xpfm_compat_db2.table3 (c13 INT) DEFAULT CHARSET latin1;
+
+delimiter |;
+#
+CREATE TRIGGER BUP_XPFM_COMPAT_DB2.trigger1 AFTER INSERT
+ ON BUP_XPFM_COMPAT_DB2.table1 FOR EACH ROW
+ update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
+|
+CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TRIGGER2 AFTER INSERT
+ ON BUP_XPFM_COMPAT_DB2.TABLE2 FOR EACH ROW
+ update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
+|
+CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TrigGer3 AFTER INSERT
+ ON BUP_XPFM_COMPAT_DB2.TaBle3 FOR EACH ROW
+ update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
+|
+delimiter ;|
+
+SELECT trigger_schema, trigger_name, event_object_table FROM
+INFORMATION_SCHEMA.TRIGGERS
+ WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
+ ORDER BY trigger_schema, trigger_name;
+
+DROP DATABASE BUP_XPFM_COMPAT_DB2;
+
--echo # End of 5.1 tests
diff --git a/mysql-test/t/lowercase_table4-master.opt b/mysql-test/t/lowercase_table4-master.opt
new file mode 100755
index 00000000000..c0a1981fa7c
--- /dev/null
+++ b/mysql-test/t/lowercase_table4-master.opt
@@ -0,0 +1 @@
+--lower-case-table-names=2
diff --git a/mysql-test/t/lowercase_table4.test b/mysql-test/t/lowercase_table4.test
new file mode 100755
index 00000000000..783a4fcae51
--- /dev/null
+++ b/mysql-test/t/lowercase_table4.test
@@ -0,0 +1,108 @@
+--source include/have_case_insensitive_file_system.inc
+--source include/have_innodb.inc
+
+--echo #
+--echo # Bug#46941 crash with lower_case_table_names=2 and
+--echo # foreign data dictionary confusion
+--echo #
+
+CREATE DATABASE XY;
+USE XY;
+
+#
+# Logs are disabled, since the number of creates tables
+# and subsequent select statements may vary between
+# versions
+#
+--disable_query_log
+--disable_result_log
+
+let $tcs = `SELECT @@table_open_cache + 1`;
+
+let $i = $tcs;
+
+while ($i)
+{
+ eval CREATE TABLE XY.T_$i (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT,
+ primary key(a, b), unique(b)) ENGINE=InnoDB;
+ dec $i;
+}
+
+eval ALTER TABLE XY.T_$tcs ADD INDEX I1 (c, b),
+ ADD CONSTRAINT C1 FOREIGN KEY (c, b) REFERENCES XY.T_1 (a, b);
+
+eval ALTER TABLE XY.T_$tcs ADD INDEX I2 (b),
+ ADD CONSTRAINT C2 FOREIGN KEY (b) REFERENCES XY.T_1(a);
+
+let $i = $tcs;
+while ($i)
+{
+ eval SELECT * FROM XY.T_$i LIMIT 1;
+ dec $i;
+}
+
+DROP DATABASE XY;
+CREATE DATABASE XY;
+USE XY;
+eval CREATE TABLE XY.T_$tcs (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT,
+ PRIMARY KEY(a, b), UNIQUE(b)) ENGINE=InnoDB;
+#
+# The bug causes this SELECT to err
+eval SELECT * FROM XY.T_$tcs LIMIT 1;
+
+--enable_query_log
+--enable_result_log
+DROP DATABASE XY;
+USE TEST;
+
+--echo #
+--echo # Bug55222 Mysqldump table names case bug in REFERENCES clause
+--echo # InnoDB did not handle lower_case_table_names=2 for
+--echo # foreign_table_names and referenced_table_names.
+--echo #
+
+SHOW VARIABLES LIKE 'lower_case_table_names';
+
+--disable_warnings
+DROP TABLE IF EXISTS `Table2`;
+DROP TABLE IF EXISTS `Table1`;
+--disable_warnings
+
+CREATE TABLE `Table1`(c1 INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE `Table2`(c1 INT PRIMARY KEY, c2 INT) ENGINE=InnoDB;
+ALTER TABLE `Table2` ADD CONSTRAINT fk1 FOREIGN KEY(c2) REFERENCES `Table1`(c1);
+query_vertical SHOW CREATE TABLE `Table2`;
+query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+DROP TABLE `Table2`;
+DROP TABLE `Table1`;
+
+--disable_warnings
+DROP TABLE IF EXISTS Product_Order;
+DROP TABLE IF EXISTS Product;
+DROP TABLE IF EXISTS Customer;
+--enable_warnings
+
+CREATE TABLE Product (Category INT NOT NULL, Id INT NOT NULL,
+ Price DECIMAL, PRIMARY KEY(Category, Id)) ENGINE=InnoDB;
+CREATE TABLE Customer (Id INT NOT NULL, PRIMARY KEY (Id)) ENGINE=InnoDB;
+CREATE TABLE Product_Order (No INT NOT NULL AUTO_INCREMENT,
+ Product_Category INT NOT NULL,
+ Product_Id INT NOT NULL,
+ Customer_Id INT NOT NULL,
+ PRIMARY KEY(No),
+ INDEX (Product_Category, Product_Id),
+ FOREIGN KEY (Product_Category, Product_Id)
+ REFERENCES Product(Category, Id) ON UPDATE CASCADE ON DELETE RESTRICT,
+ INDEX (Customer_Id),
+ FOREIGN KEY (Customer_Id)
+ REFERENCES Customer(Id)
+ ) ENGINE=INNODB;
+
+query_vertical SHOW CREATE TABLE Product_Order;
+query_vertical SHOW CREATE TABLE Product;
+query_vertical SHOW CREATE TABLE Customer;
+query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+DROP TABLE Product_Order;
+DROP TABLE Product;
+DROP TABLE Customer;
+
diff --git a/mysql-test/t/mdl_sync.test b/mysql-test/t/mdl_sync.test
index 55c04d7870b..197cad536e4 100644
--- a/mysql-test/t/mdl_sync.test
+++ b/mysql-test/t/mdl_sync.test
@@ -3661,7 +3661,7 @@ connection con2;
SET DEBUG_SYNC= 'now WAIT_FOR table_opened';
--echo # Check that FLUSH must wait to get the GRL
--echo # and let CREATE PROCEDURE continue
-SET DEBUG_SYNC= 'wait_lock_global_read_lock SIGNAL grlwait';
+SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL grlwait';
--send FLUSH TABLES WITH READ LOCK
--echo # Connection 1
@@ -3689,15 +3689,22 @@ connection con2;
SET DEBUG_SYNC= 'now WAIT_FOR table_opened';
--echo # Check that FLUSH must wait to get the GRL
--echo # and let DROP PROCEDURE continue
-SET DEBUG_SYNC= 'wait_lock_global_read_lock SIGNAL grlwait';
+SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL grlwait';
--send FLUSH TABLES WITH READ LOCK
--echo # Connection 1
connection default;
+--echo # Once FLUSH TABLES WITH READ LOCK starts waiting
+--echo # DROP PROCEDURE will be waked up and will drop
+--echo # procedure. Global read lock will be granted after
+--echo # this statement ends.
+--echo #
+--echo # Reaping DROP PROCEDURE.
--reap
--echo # Connection 2
connection con2;
+--echo # Reaping FTWRL.
--reap
UNLOCK TABLES;
@@ -3969,7 +3976,8 @@ INSERT INTO t1 VALUES (1),(2),(3);
--echo # Connection: con1
connection con1;
-SET debug_sync='lock_table_for_truncate SIGNAL parked_truncate WAIT_FOR go_truncate';
+LOCK TABLES t1 WRITE;
+SET debug_sync='upgrade_lock_for_truncate SIGNAL parked_truncate WAIT_FOR go_truncate';
send TRUNCATE TABLE t1;
connection default;
@@ -3994,15 +4002,17 @@ connection default;
--echo # Connection: default
SET debug_sync='now WAIT_FOR parked_flush';
SET debug_sync='now SIGNAL go_truncate';
+--echo # Ensure that truncate waits for a exclusive lock
+let $wait_condition=SELECT COUNT(*)=1 FROM information_schema.processlist
+ WHERE state='Waiting for table metadata lock' AND info='TRUNCATE TABLE t1';
+--source include/wait_condition.inc
+SET debug_sync= 'now SIGNAL go_show';
connection con1;
---echo # Connection: con1
+--echo # Connection: con1 (TRUNCATE)
--echo # Reaping...
reap;
-
-connection default;
---echo # Connection: default
-SET debug_sync= 'now SIGNAL go_show';
+UNLOCK TABLES;
connection con2;
--echo # Connection: con2 (SHOW FIELDS FROM t1)
@@ -4482,7 +4492,7 @@ connection con2;
--echo # Connection default
connection default;
let $wait_condition=SELECT COUNT(*)=1 FROM information_schema.processlist
- WHERE state='Waiting for release of readlock'
+ WHERE state='Waiting for global read lock'
AND info='CREATE TABLE db1.t2(a INT)';
--source include/wait_condition.inc
UNLOCK TABLES;
@@ -4504,7 +4514,7 @@ connection con2;
--echo # Connection default
connection default;
let $wait_condition=SELECT COUNT(*)=1 FROM information_schema.processlist
- WHERE state='Waiting for release of readlock'
+ WHERE state='Waiting for global read lock'
AND info='ALTER DATABASE db1 DEFAULT CHARACTER SET utf8';
--source include/wait_condition.inc
UNLOCK TABLES;
@@ -4532,6 +4542,68 @@ disconnect con2;
disconnect con3;
+--echo #
+--echo # Bug#56292 Deadlock with ALTER TABLE and MERGE tables
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2, m1;
+--enable_warnings
+
+CREATE TABLE t1(a INT) engine=MyISAM;
+CREATE TABLE t2(a INT) engine=MyISAM;
+CREATE TABLE m1(a INT) engine=MERGE UNION=(t1, t2);
+
+INSERT INTO t1 VALUES (1), (2);
+INSERT INTO t2 VALUES (3), (4);
+
+connect(con1, localhost, root);
+connect(con2, localhost, root);
+
+--echo # Connection con1
+connection con1;
+SET DEBUG_SYNC= 'mdl_upgrade_shared_lock_to_exclusive SIGNAL upgrade WAIT_FOR continue';
+--echo # Sending:
+--send ALTER TABLE m1 engine=MERGE UNION=(t2, t1)
+
+--echo # Connection con2
+connection con2;
+--echo # Waiting for ALTER TABLE to try lock upgrade
+SET DEBUG_SYNC= 'now WAIT_FOR upgrade';
+--echo # Sending:
+--send DELETE FROM t2 WHERE a = 3
+
+--echo # Connection default
+connection default;
+--echo # Check that DELETE is waiting on a metadata lock and not a table lock.
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = "Waiting for table metadata lock" AND
+ info = "DELETE FROM t2 WHERE a = 3";
+--source include/wait_condition.inc
+--echo # Now that DELETE blocks on a metadata lock, we should be able to do
+--echo # SELECT * FROM m1 here. SELECT used to be blocked by a DELETE table
+--echo # lock request.
+SELECT * FROM m1;
+--echo # Resuming ALTER TABLE
+SET DEBUG_SYNC= 'now SIGNAL continue';
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: ALTER TABLE m1 engine=MERGE UNION=(t2, t1)
+--reap
+--echo # Connection con2
+connection con2;
+--echo # Reaping: DELETE FROM t2 WHERE a = 3
+--reap
+--echo # Connection default
+connection default;
+DROP TABLE m1, t1, t2;
+SET DEBUG_SYNC= 'RESET';
+disconnect con1;
+disconnect con2;
+
+
# Check that all connections opened by test cases in this file are really
# gone so execution of other tests won't be affected by their presence.
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test
index c52adfedc65..e45813ff616 100644
--- a/mysql-test/t/merge.test
+++ b/mysql-test/t/merge.test
@@ -2,6 +2,9 @@
# Test of MERGE TABLES
#
+# Save the initial number of concurrent sessions.
+--source include/count_sessions.inc
+
# MERGE tables require MyISAM tables
let $default=`select @@global.storage_engine`;
set global storage_engine=myisam;
@@ -1757,6 +1760,84 @@ t2 WHERE b SOUNDS LIKE e AND d = 1;
DROP TABLE t2, t1;
+--echo #
+--echo # Bug#46339 - crash on REPAIR TABLE merge table USE_FRM
+--echo #
+--disable_warnings
+DROP TABLE IF EXISTS m1, t1;
+--enable_warnings
+#
+# Test derived from a proposal of Shane Bester.
+#
+CREATE TABLE t1 (c1 INT) ENGINE=MYISAM;
+CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1) INSERT_METHOD=LAST;
+#
+# REPAIR ... USE_FRM with LOCK TABLES.
+#
+LOCK TABLE m1 READ;
+REPAIR TABLE m1 USE_FRM;
+UNLOCK TABLES;
+#
+# REPAIR ... USE_FRM without LOCK TABLES.
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+DROP TABLE m1,t1;
+#
+# Test derived from a proposal of Matthias Leich.
+#
+# Base table is missing.
+#
+CREATE TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Create base table.
+#
+CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Normal repair as reference.
+#
+REPAIR TABLE m1;
+#
+# Cleanup.
+#
+DROP TABLE m1, t1;
+#
+# Same with temporary tables.
+#
+# Base table is missing.
+#
+CREATE TEMPORARY TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Create base table.
+#
+CREATE TEMPORARY TABLE t1 (f1 BIGINT) ENGINE=MyISAM;
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Normal repair as reference.
+#
+REPAIR TABLE m1;
+#
+# Cleanup.
+#
+DROP TABLE m1, t1;
+
--echo End of 5.1 tests
--echo #
@@ -2545,7 +2626,7 @@ UNLOCK TABLES;
DROP TABLE m1, t1;
--echo #
---echo # If children are to be altered, they need an explicit lock.
+--echo # Locking the merge table won't implicitly lock children.
--echo #
CREATE TABLE t1 (c1 INT);
CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1);
@@ -2691,6 +2772,58 @@ drop view v1;
drop temporary table tmp;
drop table t1, t2, t3, m1, m2;
+
+--echo #
+--echo # Bug#56494 Segfault in upgrade_shared_lock_to_exclusive() for
+--echo # REPAIR of merge table
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2, t_not_exists;
+--enable_warnings
+
+CREATE TABLE t1(a INT);
+ALTER TABLE t1 engine= MERGE UNION (t_not_exists);
+# This caused the segfault
+ANALYZE TABLE t1;
+CHECK TABLE t1;
+CHECKSUM TABLE t1;
+OPTIMIZE TABLE t1;
+REPAIR TABLE t1;
+
+# This caused an assert
+REPAIR TABLE t1 USE_FRM;
+
+DROP TABLE t1;
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(a INT) engine= MERGE UNION (t1);
+# This caused an assert
+REPAIR TABLE t2 USE_FRM;
+
+DROP TABLE t1, t2;
+
+
+--echo #
+--echo # Bug#57002 Assert in upgrade_shared_lock_to_exclusive()
+--echo # for ALTER TABLE + MERGE tables
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, m1;
+--enable_warnings
+
+CREATE TABLE t1(a INT) engine=myisam;
+CREATE TABLE m1(a INT) engine=merge UNION(t1);
+LOCK TABLES t1 READ, m1 WRITE;
+
+# This caused an assert
+--error ER_TABLE_NOT_LOCKED_FOR_WRITE
+ALTER TABLE t1 engine=myisam;
+
+UNLOCK TABLES;
+DROP TABLE m1, t1;
+
+
--echo End of 6.0 tests
--disable_result_log
@@ -2698,3 +2831,7 @@ drop table t1, t2, t3, m1, m2;
eval set global storage_engine=$default;
--enable_result_log
--enable_query_log
+
+# Check that all connections opened by test cases in this file are really
+# gone so execution of other tests won't be affected by their presence.
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test
index a198fa59277..1af5f5fa423 100644
--- a/mysql-test/t/multi_update.test
+++ b/mysql-test/t/multi_update.test
@@ -676,4 +676,81 @@ SET t3.a = 0;
DROP TABLE t1, t2, t3;
SET SESSION sql_safe_updates = DEFAULT;
---echo end of tests
+--echo #
+--echo # Bug#52157 various crashes and assertions with multi-table update, stored function
+--echo #
+
+CREATE FUNCTION f1 () RETURNS BLOB RETURN 1;
+CREATE TABLE t1 (f1 DATE);
+INSERT INTO t1 VALUES('2001-01-01');
+UPDATE (SELECT 1 FROM t1 WHERE f1 = (SELECT f1() FROM t1)) x, t1 SET f1 = 1;
+DROP FUNCTION f1;
+DROP TABLE t1;
+
+--echo #
+--echo # BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a
+--echo # table is updated twice
+--echo #
+
+# Results differ between storage engines.
+# See multi_update_innodb.test for the InnoDB variant of this test
+CREATE TABLE t1(
+ pk INT,
+ a INT,
+ PRIMARY KEY (pk)
+) ENGINE=MyISAM;
+
+INSERT INTO t1 VALUES (0,0);
+UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
+--echo
+--echo # Should be (1,2)
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
+--echo # BUG#11882110: UPDATE REPORTS ER_KEY_NOT_FOUND IF TABLE IS
+--echo # UPDATED TWICE
+--echo #
+
+# Results differ between storage engines. This test is to verify that
+# the bugfix did NOT change behavior for MyISAM.
+# See multi_update_innodb.test for the InnoDB variant of this test
+CREATE TABLE t1 (
+ col_int_key int,
+ pk int,
+ col_int int,
+ key(col_int_key),
+ primary key (pk)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,2,3);
+
+--echo
+CREATE TABLE t2 (
+ col_int_key int,
+ pk_1 int,
+ pk_2 int,
+ col_int int,
+ key(col_int_key),
+ primary key (pk_1,pk_2)
+) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,2,3,4);
+
+--echo
+UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7;
+
+--echo
+SELECT * FROM t1;
+
+--echo
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7;
+--echo
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11;
+
+--echo
+SELECT * FROM t2;
+
+DROP TABLE t1,t2;
+
+
+
+
diff --git a/mysql-test/t/multi_update_innodb.test b/mysql-test/t/multi_update_innodb.test
new file mode 100644
index 00000000000..51757c29553
--- /dev/null
+++ b/mysql-test/t/multi_update_innodb.test
@@ -0,0 +1,77 @@
+--source include/have_innodb.inc
+
+--echo #
+--echo # BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a
+--echo # table is updated twice
+--echo #
+
+# Results differ between storage engines.
+# See multi_update.test for the MyISAM variant of this test
+CREATE TABLE t1(
+ pk INT,
+ a INT,
+ b INT,
+ PRIMARY KEY (pk)
+) ENGINE=InnoDB;
+
+INSERT INTO t1 VALUES (0,0,0);
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
+SELECT * FROM t1;
+
+CREATE VIEW v1 AS SELECT * FROM t1;
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE v1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
+SELECT * FROM t1;
+
+UPDATE t1 AS A, t1 AS B SET A.a = 1, B.b = 2;
+--echo # Should be (0,1,2)
+SELECT * FROM t1;
+
+DROP VIEW v1;
+DROP TABLE t1;
+
+--echo #
+--echo # BUG#11882110: UPDATE REPORTS ER_KEY_NOT_FOUND IF TABLE IS
+--echo # UPDATED TWICE
+--echo #
+
+# Results differ between storage engines.
+# See multi_update.test for the MyISAM variant of this test
+CREATE TABLE t1 (
+ col_int_key int,
+ pk int,
+ col_int int,
+ key(col_int_key),
+ primary key (pk)
+) ENGINE=InnoDB;
+INSERT INTO t1 VALUES (1,2,3);
+
+--echo
+CREATE TABLE t2 (
+ col_int_key int,
+ pk_1 int,
+ pk_2 int,
+ col_int int,
+ key(col_int_key),
+ primary key (pk_1,pk_2)
+) ENGINE=InnoDB;
+INSERT INTO t2 VALUES (1,2,3,4);
+
+--echo
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t1 AS A NATURAL JOIN t1 B SET A.pk=5,B.pk=7;
+--echo
+SELECT * FROM t1;
+
+--echo
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_1=5,B.pk_1=7;
+--echo
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t2 AS A NATURAL JOIN t2 B SET A.pk_2=10,B.pk_2=11;
+
+--echo
+SELECT * FROM t2;
+
+DROP TABLE t1,t2;
diff --git a/mysql-test/t/myisam_crash_before_flush_keys.test b/mysql-test/t/myisam_crash_before_flush_keys.test
index 0b0491098cd..a9f36f40d10 100644
--- a/mysql-test/t/myisam_crash_before_flush_keys.test
+++ b/mysql-test/t/myisam_crash_before_flush_keys.test
@@ -10,6 +10,8 @@
call mtr.add_suppression("Got an error from thread_id=.*ha_myisam.cc:");
call mtr.add_suppression("MySQL thread id .*, query id .* localhost.*root Checking table");
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
let $MYSQLD_DATADIR= `select @@datadir`;
SET GLOBAL delay_key_write=ALL;
diff --git a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test
index c6c3ad42dcb..52d9b52b26e 100644
--- a/mysql-test/t/mysql.test
+++ b/mysql-test/t/mysql.test
@@ -426,5 +426,154 @@ drop table t1;
--echo
--exec $MYSQL --skip-column-names --vertical test -e "select 1 as a"
+#
+# Bug#57450: mysql client enter in an infinite loop if the standard input is a directory
+#
+--error 1
+--exec $MYSQL < .
+
+--echo
+
+--echo #
+--echo # Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
+--echo # commands.
+--echo #
+--write_file $MYSQLTEST_VARDIR/tmp/bug54899.sql
+DROP DATABASE connected_db;
+CREATE DATABASE connected_db;
+USE connected_db;
+CREATE TABLE `table_in_connected_db`(a INT);
+EOF
+
+CREATE DATABASE connected_db;
+--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/bug54899.sql
+USE connected_db;
+SHOW TABLES;
+DROP DATABASE connected_db;
+--remove_file $MYSQLTEST_VARDIR/tmp/bug54899.sql
+
+--echo
+
+--echo #
+--echo # Testing --one-database option
+--echo #
+--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+CREATE TABLE t1 (i INT);
+CREATE TABLE test.t1 (i INT);
+USE test;
+# Following statements should be filtered.
+CREATE TABLE connected_db.t2 (i INT);
+CREATE TABLE t2 (i INT);
+EOF
+
+CREATE DATABASE connected_db;
+--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db.sql
+SHOW TABLES IN connected_db;
+SHOW TABLES IN test;
+USE test;
+DROP TABLE t1;
+DROP DATABASE connected_db;
+--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+
+--echo
+--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+CREATE DATABASE test1;
+USE test1;
+USE test1;
+# Following statements should be filtered.
+CREATE TABLE connected_db.t1 (i INT);
+EOF
+
+--exec $MYSQL --one-database test < $MYSQLTEST_VARDIR/tmp/one_db.sql
+SHOW TABLES IN test;
+SHOW TABLES IN test1;
+DROP DATABASE test1;
+--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+
+--echo
+
+--echo #
+--echo # Checking --one-database option followed by the execution of
+--echo # connect command.
+--echo #
+--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+CREATE TABLE t1 (i INT);
+CREATE TABLE test.t1 (i INT);
+CONNECT test;
+CREATE TABLE connected_db.t2 (i INT);
+CREATE TABLE t2 (i INT);
+USE connected_db;
+# Following statements should be filtered.
+CREATE TABLE connected_db.t3 (i INT);
+CREATE TABLE t3 (i INT);
+EOF
+
+CREATE DATABASE connected_db;
+--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db.sql
+SHOW TABLES IN connected_db;
+SHOW TABLES IN test;
+DROP TABLE test.t1;
+DROP TABLE test.t2;
+DROP DATABASE connected_db;
+--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+
+--echo
+
+--echo #
+--echo # Checking --one-database option with no database specified
+--echo # at command-line.
+--echo #
+--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+# All following statements should be filtered.
+CREATE TABLE t1 (i INT);
+CREATE TABLE test.t1 (i INT);
+USE test;
+CREATE TABLE test.t2 (i INT);
+CREATE TABLE t2 (i INT);
+EOF
+
+--exec $MYSQL --one-database < $MYSQLTEST_VARDIR/tmp/one_db.sql
+SHOW TABLES IN test;
+--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
+
+--echo
+
+--echo #
+--echo # Checking --one-database option with non_existent_db
+--echo # specified with USE command
+--echo #
+
+# CASE 1 : When 'connected_db' database exists and passed at commandline.
+--write_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
+CREATE TABLE `table_in_connected_db`(i INT);
+USE non_existent_db;
+# Following statement should be filtered out.
+CREATE TABLE `table_in_non_existent_db`(i INT);
+EOF
+
+# CASE 2 : When 'connected_db' database exists but dropped and recreated in
+# load file.
+--write_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
+DROP DATABASE connected_db;
+CREATE DATABASE connected_db;
+USE non_existent_db;
+# Following statements should be filtered out.
+CREATE TABLE `table_in_non_existent_db`(i INT);
+USE connected_db;
+# Following statements should not be filtered out.
+CREATE TABLE `table_in_connected_db`(i INT);
+EOF
+
+CREATE DATABASE connected_db;
+--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db_1.sql
+SHOW TABLES IN connected_db;
+--echo
+--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db_2.sql
+SHOW TABLES IN connected_db;
+DROP DATABASE connected_db;
+
+--remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
+--remove_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
+
--echo
--echo End of tests
diff --git a/mysql-test/t/mysql_client_test-master.opt b/mysql-test/t/mysql_client_test-master.opt
index 4c683f7f0a2..3dfaf15666f 100644
--- a/mysql-test/t/mysql_client_test-master.opt
+++ b/mysql-test/t/mysql_client_test-master.opt
@@ -1 +1,4 @@
---log=$MYSQLTEST_VARDIR/log/master.log --log-output=FILE,TABLE
+--log=$MYSQLTEST_VARDIR/log/master.log
+--log-output=FILE,TABLE
+$PLUGIN_AUTH_OPT
+$PLUGIN_AUTH_LOAD
diff --git a/mysql-test/t/mysql_client_test.test b/mysql-test/t/mysql_client_test.test
index 2c19671d11b..529d60517c0 100644
--- a/mysql-test/t/mysql_client_test.test
+++ b/mysql-test/t/mysql_client_test.test
@@ -1,5 +1,7 @@
# This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc
+# need to have the dynamic loading turned on for the client plugin tests
+--source include/have_plugin_auth.inc
SET @old_general_log= @@global.general_log;
SET @old_slow_query_log= @@global.slow_query_log;
@@ -12,7 +14,7 @@ SET @old_slow_query_log= @@global.slow_query_log;
# var/log/mysql_client_test.trace
--exec echo "$MYSQL_CLIENT_TEST" > $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
---exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M >> $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
+--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M $PLUGIN_AUTH_CLIENT_OPT >> $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
# End of 4.1 tests
echo ok;
diff --git a/mysql-test/t/mysql_embedded.test b/mysql-test/t/mysql_embedded.test
new file mode 100644
index 00000000000..b4c8c6be05f
--- /dev/null
+++ b/mysql-test/t/mysql_embedded.test
@@ -0,0 +1,6 @@
+--echo #
+--echo # Bug#12561297 : LIBMYSQLD/EXAMPLE/MYSQL_EMBEDDED IS ABORTING.
+--echo #
+
+--source include/is_embedded.inc
+--exec $MYSQL_TEST_DIR/../libmysqld/examples/mysql_embedded -e 'select 1'
diff --git a/mysql-test/t/mysqladmin.test b/mysql-test/t/mysqladmin.test
index eb59e60eefe..4811c5fdbc6 100644
--- a/mysql-test/t/mysqladmin.test
+++ b/mysql-test/t/mysqladmin.test
@@ -33,3 +33,29 @@ EOF
--exec $MYSQLADMIN --defaults-file=$MYSQLTEST_VARDIR/tmp/bug10608.cnf --default-character-set=latin1 -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping 2>&1
remove_file $MYSQLTEST_VARDIR/tmp/bug10608.cnf;
+
+--echo #
+--echo # Bug#58221 : mysqladmin --sleep=x --count=x keeps looping
+--echo #
+
+--echo # Executing mysqladmin with --sleep=1 and --count=2.
+--exec $MYSQLADMIN -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --sleep=1 --count=2 ping > $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
+--echo # Done.
+--echo # Displaying the output :
+--cat_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
+
+--remove_file $MYSQLTEST_VARDIR/tmp/mysqladmin.tmp
+
+--echo #
+--echo # BUG#11766184 - 59234: cmdline clients crash --defaults-extra-file
+--echo # with no .cnf or .ini extension.
+--echo #
+
+--echo # Creating an empty file 'cnf_file'
+--write_file $MYSQLTEST_VARDIR/tmp/cnf_file
+EOF
+
+--echo # Using --defaults-extra-file option with 'cnf_file'.
+--exec $MYSQLADMIN --defaults-extra-file=$MYSQLTEST_VARDIR/tmp/cnf_file -uroot -S $MASTER_MYSOCK -P $MASTER_MYPORT ping 2>&1
+
+--remove_file $MYSQLTEST_VARDIR/tmp/cnf_file
diff --git a/mysql-test/t/mysqlbinlog-master.opt b/mysql-test/t/mysqlbinlog-master.opt
index ac1a87c73b3..a9f4a6010d8 100644
--- a/mysql-test/t/mysqlbinlog-master.opt
+++ b/mysql-test/t/mysqlbinlog-master.opt
@@ -1 +1,2 @@
--max-binlog-size=4096
+--force-restart
diff --git a/mysql-test/t/mysqlbinlog.test b/mysql-test/t/mysqlbinlog.test
index 3a9dae35476..f64d8b502ae 100644
--- a/mysql-test/t/mysqlbinlog.test
+++ b/mysql-test/t/mysqlbinlog.test
@@ -487,3 +487,63 @@ diff_files $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn $MYSQLTEST_VARDIR/tmp/mysqlbin
# Cleanup for this part of test
remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn.empty;
remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn;
+
+#
+# WL#5625: Deprecate mysqlbinlog options --base64-output=always and --base64-output
+#
+--echo # Expect deprecation warning.
+--exec $MYSQL_BINLOG --base64-output=always std_data/master-bin.000001 > /dev/null 2> $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
+--cat_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
+
+--echo # Expect deprecation warning again.
+--exec $MYSQL_BINLOG --base64-output std_data/master-bin.000001 > /dev/null 2> $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
+--cat_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
+
+# Clean up this part of the test.
+--remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog.warn
+
+# BUG#50914
+# This test verifies if the approach of the mysqlbinlog prints
+# "use $database" statements to its output stream will cause
+# "No Database Selected" error when dropping and recreating
+# that database.
+#
+RESET MASTER;
+CREATE DATABASE test1;
+USE test1;
+CREATE TABLE t1(id int);
+DROP DATABASE test1;
+CREATE DATABASE test1;
+USE test1;
+CREATE TABLE t1(id int);
+DROP TABLE t1;
+DROP DATABASE test1;
+let $master_binlog= query_get_value(SHOW MASTER STATUS, File, 1);
+FLUSH LOGS;
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+exec $MYSQL_BINLOG $MYSQLD_DATADIR/$master_binlog | $MYSQL test 2>&1;
+
+let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
+source include/show_binlog_events.inc;
+
+#
+# BUG#11766427 BUG#59530: Filter by server id in mysqlbinlog fails
+# This test checks that the format description log event is not
+# filtered out by the --server-id option.
+#
+RESET MASTER;
+USE test;
+CREATE TABLE t1 (a INT);
+--let $old_server_id= `SELECT @@GLOBAL.SERVER_ID`
+SET GLOBAL SERVER_ID = 2;
+DROP TABLE t1;
+--let $master_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+FLUSH LOGS;
+# The following should only create t1, not drop it.
+--exec $MYSQL_BINLOG --server-id=1 $MYSQLD_DATADIR/$master_binlog | $MYSQL
+SHOW TABLES IN test;
+# The following should only drop t1, not create it.
+--exec $MYSQL_BINLOG --server-id=2 $MYSQLD_DATADIR/$master_binlog | $MYSQL
+SHOW TABLES IN test;
+eval SET GLOBAL SERVER_ID = $old_server_id;
diff --git a/mysql-test/t/mysqlbinlog_base64.test b/mysql-test/t/mysqlbinlog_base64.test
index fb21e28fdcb..3d3444cea1c 100644
--- a/mysql-test/t/mysqlbinlog_base64.test
+++ b/mysql-test/t/mysqlbinlog_base64.test
@@ -71,3 +71,32 @@ select count(*) from t2;
--remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog_base64.sql
drop table t1;
drop table t2;
+
+#
+# BUG#12354268
+#
+# This test verifies that using --start-position with DECODE-ROWS
+# does not make mysqlbinlog to output an error stating that it
+# does not contain any FD event.
+#
+
+RESET MASTER;
+USE test;
+SET @old_binlog_format= @@binlog_format;
+SET SESSION binlog_format=ROW;
+CREATE TABLE t1(c1 INT);
+--let $master_binlog= query_get_value(SHOW MASTER STATUS, File, 1)
+--let $master_pos= query_get_value(SHOW MASTER STATUS, Position, 1)
+--let $MYSQLD_DATADIR= `SELECT @@datadir`
+
+INSERT INTO t1 VALUES (1);
+
+FLUSH LOGS;
+
+--disable_result_log
+--exec $MYSQL_BINLOG --base64-output=DECODE-ROWS --start-position=$master_pos -v $MYSQLD_DATADIR/$master_binlog
+--enable_result_log
+
+DROP TABLE t1;
+SET SESSION binlog_format= @old_binlog_format;
+RESET MASTER;
diff --git a/mysql-test/t/mysqlbinlog_row_big.test b/mysql-test/t/mysqlbinlog_row_big.test
index 75f3b90269f..ffd1b79af34 100644
--- a/mysql-test/t/mysqlbinlog_row_big.test
+++ b/mysql-test/t/mysqlbinlog_row_big.test
@@ -79,8 +79,8 @@ eval CREATE TABLE t1 (
--echo # Insert some big rows.
--echo #
---echo 256MB
-INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 16777216));
+--echo 64MB
+INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 4194304));
--echo 32MB
INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 2097152));
diff --git a/mysql-test/t/mysqlcheck.test b/mysql-test/t/mysqlcheck.test
index 831aba72fb5..8f93ac7b864 100644
--- a/mysql-test/t/mysqlcheck.test
+++ b/mysql-test/t/mysqlcheck.test
@@ -2,6 +2,8 @@
# Embedded server doesn't support external clients
--source include/not_embedded.inc
+--source include/have_innodb.inc
+
# check that CSV engine was compiled in, as the result of the test
# depends on the presence of the log tables (which are CSV-based).
--source include/have_csv.inc
@@ -23,28 +25,33 @@ drop database if exists client_test_db;
# Bug #13783 mysqlcheck tries to optimize and analyze information_schema
#
--replace_result 'Table is already up to date' OK
---exec $MYSQL_CHECK --all-databases --analyze --optimize
+--exec $MYSQL_CHECK --all-databases --analyze
+--exec $MYSQL_CHECK --all-databases --optimize
--replace_result 'Table is already up to date' OK
---exec $MYSQL_CHECK --analyze --optimize --databases test information_schema mysql
---exec $MYSQL_CHECK --analyze --optimize information_schema schemata
+--exec $MYSQL_CHECK --analyze --databases test information_schema mysql
+--exec $MYSQL_CHECK --optimize --databases test information_schema mysql
+--exec $MYSQL_CHECK --analyze information_schema schemata
+--exec $MYSQL_CHECK --optimize information_schema schemata
#
# Bug #16502: mysqlcheck tries to check views
#
-create table t1 (a int);
+create table t1 (a int) engine=myisam;
create view v1 as select * from t1;
--replace_result 'Table is already up to date' OK
---exec $MYSQL_CHECK --analyze --optimize --databases test
+--exec $MYSQL_CHECK --analyze --databases test
+--exec $MYSQL_CHECK --optimize --databases test
--replace_result 'Table is already up to date' OK
---exec $MYSQL_CHECK --all-in-1 --analyze --optimize --databases test
+--exec $MYSQL_CHECK --all-in-1 --analyze --databases test
+--exec $MYSQL_CHECK --all-in-1 --optimize --databases test
drop view v1;
drop table t1;
#
# Bug #30654: mysqlcheck fails during upgrade of tables whose names include backticks
#
-create table `t``1`(a int);
-create table `t 1`(a int);
+create table `t``1`(a int) engine=myisam;
+create table `t 1`(a int) engine=myisam;
--replace_result 'Table is already up to date' OK
--exec $MYSQL_CHECK --databases test
drop table `t``1`, `t 1`;
@@ -54,7 +61,7 @@ drop table `t``1`, `t 1`;
#
create database d_bug25347;
use d_bug25347;
-create table t_bug25347 (a int);
+create table t_bug25347 (a int) engine=myisam;
create view v_bug25347 as select * from t_bug25347;
insert into t_bug25347 values (1),(2),(3);
flush tables;
@@ -86,8 +93,8 @@ drop view v1;
# Bug#37527: mysqlcheck fails to report entire database
# when frm file corruption
#
-CREATE TABLE t1(a INT);
-CREATE TABLE t2(a INT);
+CREATE TABLE t1(a INT) engine=myisam;
+CREATE TABLE t2(a INT) engine=myisam;
# backup then null t1.frm
--copy_file $MYSQLD_DATADIR/test/t1.frm $MYSQLD_DATADIR/test/t1.frm.bak
--remove_file $MYSQLD_DATADIR/test/t1.frm
@@ -107,13 +114,14 @@ DROP TABLE t1, t2;
#
# Bug #30679: 5.1 name encoding not performed for views during upgrade
#
-create table t1(a int);
+create table t1(a int) engine=myisam;
create view v1 as select * from t1;
show tables;
let $MYSQLD_DATADIR= `select @@datadir`;
--copy_file $MYSQLD_DATADIR/test/v1.frm $MYSQLD_DATADIR/test/v-1.frm
show tables;
---exec $MYSQL_CHECK --check-upgrade --fix-table-names --databases test
+--exec $MYSQL_CHECK --check-upgrade --databases test
+--exec $MYSQL_CHECK --fix-table-names --databases test
show tables;
drop view v1, `v-1`;
drop table t1;
@@ -125,7 +133,7 @@ drop table t1;
# triggers
#
SET NAMES utf8;
-CREATE TABLE `#mysql50#@` (a INT);
+CREATE TABLE `#mysql50#@` (a INT) engine=myisam;
SHOW TABLES;
SET NAMES DEFAULT;
--echo mysqlcheck --fix-table-names --databases test
@@ -134,7 +142,7 @@ SET NAMES utf8;
SHOW TABLES;
DROP TABLE `@`;
-CREATE TABLE `Ñ` (a INT);
+CREATE TABLE `Ñ` (a INT) engine=myisam;
SET NAMES DEFAULT;
--echo mysqlcheck --default-character-set="latin1" --databases test
# Error returned depends on platform, replace it with "Table doesn't exist"
@@ -148,8 +156,8 @@ SET NAMES DEFAULT;
CREATE DATABASE `#mysql50#a@b`;
USE `#mysql50#a@b`;
-CREATE TABLE `#mysql50#c@d` (a INT);
-CREATE TABLE t1 (a INT);
+CREATE TABLE `#mysql50#c@d` (a INT) engine=myisam;
+CREATE TABLE t1 (a INT) engine=myisam;
# Create 5.0 like triggers
let $MYSQLTEST_VARDIR= `select @@datadir`;
@@ -201,14 +209,105 @@ USE test;
drop table if exists `#mysql50#t1-1`;
--enable_warnings
-create table `#mysql50#t1-1` (a int);
+create table `#mysql50#t1-1` (a int) engine=myisam;
--exec $MYSQL_CHECK --all-in-1 --fix-table-names --databases test
show tables like 't1-1';
drop table `t1-1`;
-create table `#mysql50#t1-1` (a int);
+create table `#mysql50#t1-1` (a int) engine=myisam;
--exec $MYSQL_CHECK --all-in-1 --fix-table-names test "#mysql50#t1-1"
show tables like 't1-1';
drop table `t1-1`;
--echo End of 5.1 tests
+
+
+--echo #
+--echo # Bug #35269: mysqlcheck behaves different depending on order of parameters
+--echo #
+
+--error 13
+--exec $MYSQL_CHECK -a --fix-table-names test "#mysql50#t1-1"
+--error 1
+--exec $MYSQL_CHECK -aoc test "#mysql50#t1-1"
+
+
+--echo #
+--echo # Bug#11755431 47205: MAP 'REPAIR TABLE' TO RECREATE +ANALYZE FOR
+--echo # ENGINES NOT SUPPORTING NATIVE
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS bug47205;
+--enable_warnings
+
+--echo #
+--echo # Test 1: Check that ALTER TABLE ... rebuilds the table
+
+CREATE TABLE bug47205(a VARCHAR(20) PRIMARY KEY)
+ DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci engine=innodb;
+
+INSERT INTO bug47205 VALUES ("foobar");
+FLUSH TABLE bug47205;
+
+--echo # Replace the FRM with a 5.0 FRM that will require upgrade
+let $MYSQLD_DATADIR= `select @@datadir`;
+--remove_file $MYSQLD_DATADIR/test/bug47205.frm
+--copy_file std_data/bug47205.frm $MYSQLD_DATADIR/test/bug47205.frm
+
+--echo # Should indicate that ALTER TABLE ... FORCE is needed
+CHECK TABLE bug47205 FOR UPGRADE;
+
+--echo # ALTER TABLE ... FORCE should rebuild the table
+--echo # and therefore output "affected rows: 1"
+--enable_info
+ALTER TABLE bug47205 FORCE;
+--disable_info
+
+--echo # Table should now be ok
+CHECK TABLE bug47205 FOR UPGRADE;
+
+DROP TABLE bug47205;
+
+--echo #
+--echo # Test 2: InnoDB - REPAIR not supported
+
+CREATE TABLE bug47205(a VARCHAR(20) PRIMARY KEY)
+ DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci engine=innodb;
+
+FLUSH TABLE bug47205;
+
+--echo # Replace the FRM with a 5.0 FRM that will require upgrade
+let $MYSQLD_DATADIR= `select @@datadir`;
+--remove_file $MYSQLD_DATADIR/test/bug47205.frm
+--copy_file std_data/bug47205.frm $MYSQLD_DATADIR/test/bug47205.frm
+
+--echo # Should indicate that ALTER TABLE .. FORCE is needed
+CHECK TABLE bug47205 FOR UPGRADE;
+
+--echo # Running mysqlcheck to check and upgrade
+--exec $MYSQL_CHECK --check-upgrade --auto-repair test
+
+--echo # Table should now be ok
+CHECK TABLE bug47205 FOR UPGRADE;
+
+DROP TABLE bug47205;
+
+--echo #
+--echo # Test 3: MyISAM - REPAIR supported
+
+--echo # Use an old FRM that will require upgrade
+--copy_file std_data/bug36055.frm $MYSQLD_DATADIR/test/bug47205.frm
+--copy_file std_data/bug36055.MYD $MYSQLD_DATADIR/test/bug47205.MYD
+--copy_file std_data/bug36055.MYI $MYSQLD_DATADIR/test/bug47205.MYI
+
+--echo # Should indicate that REPAIR TABLE is needed
+CHECK TABLE bug47205 FOR UPGRADE;
+
+--echo # Running mysqlcheck to check and upgrade
+--exec $MYSQL_CHECK --check-upgrade --auto-repair test
+
+--echo # Table should now be ok
+CHECK TABLE bug47205 FOR UPGRADE;
+
+DROP TABLE bug47205;
diff --git a/mysql-test/t/mysqld--defaults-file.test b/mysql-test/t/mysqld--defaults-file.test
new file mode 100644
index 00000000000..065436c38aa
--- /dev/null
+++ b/mysql-test/t/mysqld--defaults-file.test
@@ -0,0 +1,47 @@
+# BUG#58455
+# Starting mysqld with defaults file without extension cause
+# segmentation fault
+
+source include/not_embedded.inc;
+source include/not_windows.inc;
+
+# We need to use a plain "mysqld" without any other options to trigger
+# the bug. In particular, it seems that passing --bootstrap does not
+# trigger the bug. To do that, we extract the "command name" from the
+# MYSQLD_BOOTSTRAP_CMD variable and store that in a file, which we
+# then load into the test case.
+
+perl;
+ my ($mysqld)= split " ", $ENV{MYSQLD_BOOTSTRAP_CMD};
+ open(FILE, ">", "$ENV{MYSQL_TMP_DIR}/mysqld.inc") or die;
+ print FILE "let \$MYSQLD= $mysqld;\n";
+ close FILE;
+EOF
+
+source $MYSQL_TMP_DIR/mysqld.inc;
+
+# All these tests refer to configuration files that do not exist
+
+--error 1
+exec $MYSQLD --defaults-file=/path/with/no/extension --print-defaults 2>&1;
+
+--error 1
+exec $MYSQLD --defaults-file=/path/with.ext --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=relative/path/with.ext --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=relative/path/without/extension --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=with.ext --print-defaults 2>&1;
+
+--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
+--error 1
+exec $MYSQLD --defaults-file=no_extension --print-defaults 2>&1;
+
+remove_file $MYSQL_TMP_DIR/mysqld.inc;
diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test
index d0168e3d166..3d0e2d47617 100644
--- a/mysql-test/t/mysqldump.test
+++ b/mysql-test/t/mysqldump.test
@@ -2172,9 +2172,51 @@ SELECT LENGTH(a) FROM t2;
DROP TABLE t1, t2;
###########################################################################
+
+--echo #
+--echo # Bug #13618 : mysqldump --xml ommit comment on table field
+--echo #
+
+CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT';
+--exec $MYSQL_DUMP --compact --skip-create --xml test
+DROP TABLE `comment_table`;
+
+--echo #
+--echo # BUG#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH ("-") IN
+--echo # DATABASE NAMES IN ALTER DATABASE
+--echo #
+
+CREATE DATABASE `test-database`;
+USE `test-database`;
+CREATE TABLE `test` (`c1` VARCHAR(10)) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+DELIMITER |;
+CREATE TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
+END |
+DELIMITER ;|
+
+ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
+ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
+
+--exec $MYSQL_DUMP --quote-names --compact test-database
+
+DROP DATABASE `test-database`;
+# Switching back to test database.
+USE test;
+
--echo #
--echo # End of 5.1 tests
--echo #
+--echo #
+--echo # Verify that two modes can be given in --compatible;
+--echo # and are reflected in SET SQL_MODE in the mysqldump output.
+--echo # Also verify that a prefix of the mode's name is enough.
+--echo #
+CREATE TABLE t1 (a INT);
+# no_t = no_table_options; no_f = no_field_options
+--exec $MYSQL_DUMP --compatible=no_t,no_f --skip-comments test
+DROP TABLE t1;
+
# Wait till we reached the initial number of concurrent sessions
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/mysqlshow.test b/mysql-test/t/mysqlshow.test
index 06ba562ac49..105e03c841b 100644
--- a/mysql-test/t/mysqlshow.test
+++ b/mysql-test/t/mysqlshow.test
@@ -2,6 +2,8 @@
-- source include/not_embedded.inc
# Test lists tables in Information_schema, and InnoDB adds some
-- source include/have_innodb.inc
+# Don't test when thread_pool active
+--source include/not_threadpool.inc
--disable_warnings
DROP TABLE IF EXISTS t1,t2,test1,test2;
diff --git a/mysql-test/t/mysqlslap.test b/mysql-test/t/mysqlslap.test
index 28042f62fe6..757d2813483 100644
--- a/mysql-test/t/mysqlslap.test
+++ b/mysql-test/t/mysqlslap.test
@@ -53,3 +53,18 @@ CREATE PROCEDURE p1() SELECT 1;
--exec $MYSQL_SLAP --create-schema=test --delimiter=";" --query="CALL p1; SELECT 1;" --silent 2>&1
DROP PROCEDURE p1;
+
+
+--echo #
+--echo # Bug #11765157 - 58090: mysqlslap drops schema specified in
+--echo # create_schema if auto-generate-sql also set.
+--echo #
+
+--exec $MYSQL_SLAP --silent --create-schema=bug58090 --concurrency=5 --iterations=20 --auto-generate-sql
+--echo # 'bug58090' database should not be present.
+SHOW DATABASES;
+--exec $MYSQL_SLAP --silent --create-schema=bug58090 --no-drop --auto-generate-sql
+--echo # 'bug58090' database should be present.
+SHOW DATABASES;
+DROP DATABASE bug58090;
+
diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test
index ca19de75d4b..6f12c6d4d11 100644
--- a/mysql-test/t/mysqltest.test
+++ b/mysql-test/t/mysqltest.test
@@ -339,7 +339,7 @@ eval select $mysql_errno as "after_!errno_masked_error" ;
--exec illegal_command
--cat_file does_not_exist
--perl
- exit(1);
+ exit(2);
EOF
# ----------------------------------------------------------------------------
@@ -862,6 +862,19 @@ let $var2= `failing query`;
echo $var2;
EOF
+create table t1 (a varchar(100));
+insert into t1 values ('`select 42`');
+let $a= `select * from t1`;
+# This should output `select 42`, not evaluate it again to 42
+echo $a;
+insert into t1 values ('$dollar');
+# These should also output the string without evaluating it.
+let $a= query_get_value(select * from t1 order by a, a, 1);
+echo $a;
+let $a= query_get_value(select * from t1 order by a, a, 2);
+echo $a;
+drop table t1;
+
--error 1
--exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/let.sql 2>&1
@@ -1014,16 +1027,13 @@ EOF
# ----------------------------------------------------------------------------
# Test inc
# ----------------------------------------------------------------------------
-inc $i;
-echo $i;
+let $i= 0;
inc $i;
echo $i;
let $i=100;
inc $i;
echo $i;
-
-let $i=hej;
-echo $i;
+let $i= -100;
inc $i;
echo $i;
@@ -1032,7 +1042,13 @@ echo $i;
--error 1
--exec echo "inc i;" | $MYSQL_TEST 2>&1
--error 1
+--exec echo "inc \$i;" | $MYSQL_TEST 2>&1
+--error 1
--exec echo "let \$i=100; inc \$i 1000; echo \$i;" | $MYSQL_TEST 2>&1
+--error 1
+--exec echo "let \$i=text; inc \$i; echo \$i;" | $MYSQL_TEST 2>&1
+--error 1
+--exec echo "let \$i=10cc; inc \$i; echo \$i;" | $MYSQL_TEST 2>&1
inc $i; inc $i; inc $i; --echo $i
echo $i;
@@ -1042,25 +1058,25 @@ echo $i;
# Test dec
# ----------------------------------------------------------------------------
-dec $d;
-echo $d;
+let $d= 0;
dec $d;
echo $d;
let $d=100;
dec $d;
echo $d;
-let $d=hej;
-echo $d;
-dec $d;
-echo $d;
-
--error 1
--exec echo "dec;" | $MYSQL_TEST 2>&1
--error 1
--exec echo "dec i;" | $MYSQL_TEST 2>&1
--error 1
+--exec echo "dec \$i;" | $MYSQL_TEST 2>&1
+--error 1
--exec echo "let \$i=100; dec \$i 1000; echo \$i;" | $MYSQL_TEST 2>&1
+--error 1
+--exec echo "let \$i=text; dec \$i; echo \$i;" | $MYSQL_TEST 2>&1
+--error 1
+--exec echo "let \$i=10cc; dec \$i; echo \$i;" | $MYSQL_TEST 2>&1
# ----------------------------------------------------------------------------
@@ -1139,6 +1155,11 @@ if (!$counter)
{
echo Counter is not 0, (counter=10);
}
+if (! $counter)
+{
+ let $counter=5;
+}
+echo Counter should still be 10, is $counter;
let $counter=0;
if($counter)
{
@@ -1148,6 +1169,10 @@ if (!$counter)
{
echo Counter is not 0, (counter=0);
}
+if (! $counter)
+{
+ echo Not space var works;
+}
# ----------------------------------------------------------------------------
# Test if with some non-numerics
@@ -1168,10 +1193,11 @@ if ($counter)
{
echo oops, -0 is true;
}
-if (beta)
-{
- echo Beta is true;
-}
+# This is no longer allowed, as a precaution against mistyped conditionals
+# if (beta)
+# {
+# echo Beta is true;
+# }
let $counter=gamma;
while ($counter)
{
@@ -1180,6 +1206,196 @@ while ($counter)
}
# ----------------------------------------------------------------------------
+# Test if with compare conditions
+# ----------------------------------------------------------------------------
+
+let $ifvar= 5;
+let $ifvar2= 6;
+
+if ($ifvar < 7)
+{
+ echo 5<7;
+}
+if ($ifvar< 7)
+{
+ echo 5<7 again;
+}
+if ($ifvar<7)
+{
+ echo 5<7 still;
+}
+if ($ifvar < $ifvar2)
+{
+ echo 5<6;
+}
+if ($ifvar <= 4)
+{
+ echo 5<=4;
+}
+if ($ifvar >= 5)
+{
+ echo 5>=5;
+}
+if ($ifvar>=5)
+{
+ echo 5>=5 again;
+}
+if ($ifvar > 3)
+{
+ echo 5>3;
+}
+if ($ifvar == 4)
+{
+ echo 5==4;
+}
+if ($ifvar == 5)
+{
+ echo 5==5;
+}
+if ($ifvar != 8)
+{
+ echo 5!=8;
+}
+# Any number should compare unequal to any string
+if ($ifvar != five)
+{
+ echo 5!=five;
+}
+if ($ifvar == `SELECT 3+2`)
+{
+ echo 5==3+2;
+}
+if ($ifvar == 5)
+{
+ echo 5 == 5;
+}
+let $ifvar= hello;
+if ($ifvar == hello there)
+{
+ echo hello == hello there;
+}
+if ($ifvar == hello)
+{
+ echo hello == hello;
+}
+if ($ifvar == hell)
+{
+ echo hello == hell;
+}
+if ($ifvar == hello)
+{
+ echo hello == hello;
+}
+if ($ifvar != goodbye)
+{
+ echo hello != goodbye;
+}
+let $ifvar= 'quoted';
+if ($ifvar == ''quoted'')
+{
+ echo 'quoted' == ''quoted'';
+}
+let $ifvar= two words;
+if ($ifvar == two words)
+{
+ echo two words;
+}
+if ($ifvar == 'two words')
+{
+ echo 'two words';
+}
+if ($ifvar == "two words")
+{
+ echo "two words";
+}
+if ($ifvar == `SELECT 'two words'`)
+{
+ echo two words are two words;
+}
+if (42)
+{
+ echo right answer;
+}
+if (0)
+{
+ echo wrong answer;
+}
+# Non-empty string treated as 'true'
+if (`SELECT 'something'`)
+{
+ echo anything goes;
+}
+# Make sure 0 and string compare right
+let $ifvar= 0;
+if ($ifvar == string)
+{
+ echo 0 == string;
+}
+if ($ifvar != string)
+{
+ echo 0 != string;
+}
+--write_file $MYSQL_TMP_DIR/mysqltest.sql
+let $var= 5;
+if ($var >= four)
+{
+ echo 5>=four;
+}
+EOF
+--error 1
+--exec $MYSQL_TEST < $MYSQL_TMP_DIR/mysqltest.sql 2>&1
+remove_file $MYSQL_TMP_DIR/mysqltest.sql;
+
+--write_file $MYSQL_TMP_DIR/mysqltest.sql
+let $var= 5;
+if ($var ~= 6)
+{
+ echo 5~=6;
+}
+EOF
+--error 1
+--exec $MYSQL_TEST < $MYSQL_TMP_DIR/mysqltest.sql 2>&1
+remove_file $MYSQL_TMP_DIR/mysqltest.sql;
+
+--write_file $MYSQL_TMP_DIR/mysqltest.sql
+let $var= text;
+if (var == text)
+{
+ echo Oops I forgot the $;
+}
+EOF
+--error 1
+--exec $MYSQL_TEST < $MYSQL_TMP_DIR/mysqltest.sql 2>&1
+remove_file $MYSQL_TMP_DIR/mysqltest.sql;
+
+--error 1
+--exec echo "if (\$var ==) {" | $MYSQL_TEST 2>&1
+--error 1
+--exec echo "if (\$var > ) {" | $MYSQL_TEST 2>&1
+
+# ----------------------------------------------------------------------------
+# Test while with compare conditions
+# ----------------------------------------------------------------------------
+
+let $counter= 2;
+
+while ($counter < 5)
+{
+ echo counter is $counter;
+ inc $counter;
+}
+let $ifvar=;
+while ($ifvar != stop)
+{
+ if ($counter >= 7)
+ {
+ let $ifvar= stop;
+ }
+ echo counter is $counter;
+ inc $counter;
+}
+
+# ----------------------------------------------------------------------------
# Test while, { and }
# ----------------------------------------------------------------------------
@@ -1932,6 +2148,7 @@ EOF
cat_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
remove_file $MYSQLTEST_VARDIR/tmp/test_file1.tmp;
+--replace_regex /my_errno=[0-9]*/(my_errno)/
--error 1
--exec echo "cat_file non_existing_file;" | $MYSQL_TEST 2>&1
@@ -2451,15 +2668,15 @@ let $count= 0;
while ($run)
{
let $Field= query_get_value($show_statement, Field, $rowno);
- if (`SELECT '$Field' = 'No such row'`)
+ if ($Field == No such row)
{
let $run= 0;
}
- if (`SELECT '$Field' <> 'No such row'`)
+ if ($Field != No such row)
{
let $Type= query_get_value($show_statement, Type, $rowno);
let $Null= query_get_value($show_statement, Null, $rowno);
- if (`SELECT '$Null' = 'YES'`)
+ if ($Null == YES)
{
inc $count;
}
@@ -2512,6 +2729,8 @@ write_file $MYSQLTEST_VARDIR/tmp/testdir/file1.txt;
hello
EOF
+# Verify that --replace_result also work on list_files
+--replace_result file REPLACED_FILE
list_files $MYSQLTEST_VARDIR/tmp/testdir;
# list_files gets the directory list before creating the new file
list_files_write_file $MYSQLTEST_VARDIR/tmp/testdir/file2.txt $MYSQLTEST_VARDIR/tmp/testdir *;
@@ -2542,26 +2761,6 @@ rmdir $MYSQLTEST_VARDIR/tmp/testdir;
--replace_result c:\\a.txt z
SELECT 'c:\\a.txt' AS col;
-#
-# Bug#32307 mysqltest - does not detect illegal if syntax
-#
-
-let $test= 1;
-if ($test){
- echo hej;
-}
-
---write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
-if ($mysql_errno != 1436)
-{
- echo ^ Should not be allowed!
-}
-EOF
---error 1
---exec $MYSQL_TEST < $MYSQLTEST_VARDIR/tmp/mysqltest.sql 2>&1
-remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
-
-
# ----------------------------------------------------------------------------
# Test that -- is not allowed as comment, only as mysqltest builtin command
# ----------------------------------------------------------------------------
diff --git a/mysql-test/t/named_pipe.test b/mysql-test/t/named_pipe.test
index e88fd8e1ef8..23a11d61222 100644
--- a/mysql-test/t/named_pipe.test
+++ b/mysql-test/t/named_pipe.test
@@ -3,9 +3,12 @@
# other platforms
--source include/windows.inc
+# thread pool causes different results
+-- source include/not_threadpool.inc
+
# Only run this test if named pipe is avaliable
let $nmp= query_get_value("SHOW VARIABLES LIKE 'named_pipe'", Value, 1);
-if (`SELECT '$nmp' != 'ON'`){
+if ($nmp != ON){
skip No named pipe support;
}
diff --git a/mysql-test/t/no-threads.test b/mysql-test/t/no-threads.test
index fd8365e5678..c2b326897f8 100644
--- a/mysql-test/t/no-threads.test
+++ b/mysql-test/t/no-threads.test
@@ -1,3 +1,4 @@
+--source include/not_threadpool.inc
#
# Test the --thread-handler=no-threads option
#
diff --git a/mysql-test/t/not_embedded_server.test b/mysql-test/t/not_embedded_server.test
index f8de1504225..5b99c37ee29 100644
--- a/mysql-test/t/not_embedded_server.test
+++ b/mysql-test/t/not_embedded_server.test
@@ -4,31 +4,7 @@
-- source include/not_embedded.inc
-# The following fails sporadically because 'check-testcase' runs
-# queries before this test and there is no way to guarantee that any
-# previous process finishes. The purpose of the test is not clearly
-# stated, there is no reference to any bug report, and "select from
-# I_S from prepared statement" doesn't look like something that's
-# really imporant to test. I'm commenting out this for now. If
-# anyone wants to keep this, please fix the race and motivate why we
-# need to test this. If you see this comment and it is after mid-2009
-# or so, feel free to remove this test from the file. /Sven
-#
-#
-## Show full process list with prepare
-## To not show other connections, this must be the first test and we must
-## have a server restart before this one
-##
-## We don't have any 4.1 tests as we use I_S to query the PROCESSLIST to
-## exclude system threads that may/may not be active in the server
-## (namely the ndb injector thread)
-##
-## End of 4.1 tests
-#
-#prepare stmt1 from ' SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND!=\'Daemon\' ';
-#--replace_column 1 number 6 time 3 localhost 9 time_ms
-#execute stmt1;
-#deallocate prepare stmt1;
+# End of 4.1 tests
call mtr.add_suppression("Can't open and lock privilege tables: Table 'host' was not locked with LOCK TABLES");
@@ -38,6 +14,16 @@ call mtr.add_suppression("Can't open and lock privilege tables: Table 'host' was
SHOW VARIABLES like 'slave_skip_errors';
+--echo #
+--echo # Bug#58026: massive recursion and crash in regular expression handling
+--echo #
+
+--disable_result_log
+--error ER_STACK_OVERRUN_NEED_MORE
+SELECT '1' RLIKE RPAD('1', 10000, '(');
+--enable_result_log
+
+
# End of 5.1 tests
--echo #
@@ -46,11 +32,75 @@ SHOW VARIABLES like 'slave_skip_errors';
--echo # FLUSH PRIVILEGES should not implicitly unlock locked tables.
--echo #
--disable_warnings
-drop table if exists t1;
+DROP TABLE IF EXISTS t1;
--enable_warnings
-create table t1 (c1 int);
-lock tables t1 read;
+CREATE TABLE t1 (c1 INT);
+LOCK TABLES t1 READ;
--error ER_TABLE_NOT_LOCKED
-flush privileges;
-unlock tables;
-drop table t1;
+FLUSH PRIVILEGES;
+UNLOCK TABLES;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#54812: assert in Diagnostics_area::set_ok_status during EXPLAIN
+--echo #
+
+CREATE USER nopriv_user@localhost;
+
+connection default;
+--echo connection: default
+
+--disable_warnings
+DROP TABLE IF EXISTS t1,t2,t3;
+DROP FUNCTION IF EXISTS f;
+--enable_warnings
+
+CREATE TABLE t1 (key1 INT PRIMARY KEY);
+CREATE TABLE t2 (key2 INT);
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE FUNCTION f() RETURNS INT RETURN 1;
+
+GRANT FILE ON *.* TO 'nopriv_user'@'localhost';
+
+FLUSH PRIVILEGES;
+
+connect (con1,localhost,nopriv_user,,);
+connection con1;
+--echo connection: con1
+
+let outfile=$MYSQLTEST_VARDIR/tmp/mytest;
+--error 0,1
+--remove_file $outfile
+--replace_result $outfile <outfile>
+--error ER_PROCACCESS_DENIED_ERROR
+eval SELECT MAX(key1) FROM t1 WHERE f() < 1 INTO OUTFILE '$outfile';
+# A removal of the outfile is necessary, at least today (2010-12-07), because
+# the outfile is created even if the SELECT statement fails.
+# If the server is improved in the future this may not happen.
+# ==> Do not fail if the outfile does not exist.
+--error 0,1
+--remove_file $outfile
+
+--error ER_PROCACCESS_DENIED_ERROR
+INSERT INTO t2 SELECT MAX(key1) FROM t1 WHERE f() < 1;
+
+--error ER_PROCACCESS_DENIED_ERROR
+SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1;
+
+--error ER_PROCACCESS_DENIED_ERROR
+CREATE TABLE t3 (i INT) AS SELECT MAX(key1) FROM t1 WHERE f() < 1;
+
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
+connection default;
+--echo connection: default
+
+DROP TABLE t1,t2;
+DROP FUNCTION f;
+DROP USER nopriv_user@localhost;
+
+--echo #
+--echo # End Bug#54812
+--echo #
diff --git a/mysql-test/t/order_by.test b/mysql-test/t/order_by.test
index 3e235d24c2e..12673314c11 100644
--- a/mysql-test/t/order_by.test
+++ b/mysql-test/t/order_by.test
@@ -849,11 +849,11 @@ create table t1(a int, b tinytext);
insert into t1 values (1,2),(3,2);
set session sort_buffer_size= 30000;
set session max_sort_length= 2180;
---error 1038
+CALL mtr.add_suppression("Out of sort memory");
+--error ER_OUT_OF_SORTMEMORY
select * from t1 order by b;
drop table t1;
-
-
+call mtr.add_suppression("Out of sort memory; increase server sort buffer size");
--echo #
--echo # Bug #39844: Query Crash Mysql Server 5.0.67
--echo #
@@ -1498,6 +1498,23 @@ LIMIT 2;
DROP TABLE t1, t2;
+--echo #
+--echo # Bug #59110: Memory leak of QUICK_SELECT_I allocated memory
+--echo # and
+--echo # Bug #59308: Incorrect result for
+--echo SELECT DISTINCT <col>... ORDER BY <col> DESC
+--echo
+--echo # Use Valgrind to detect #59110!
+--echo #
+
+CREATE TABLE t1 (a INT,KEY (a));
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+EXPLAIN SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
+SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
+
+DROP TABLE t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test
index d7aede3d71a..e5861322213 100644
--- a/mysql-test/t/partition.test
+++ b/mysql-test/t/partition.test
@@ -15,6 +15,98 @@ drop table if exists t1, t2;
--enable_warnings
--echo #
+--echo # Bug#11765667: bug#58655: ASSERTION FAILED,
+--echo # SERVER CRASHES WITH MYSQLD GOT SIGNAL 6
+--echo #
+CREATE TABLE t1 (
+ id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt DATE, st VARCHAR(255), uid INT,
+ id2nd LONGBLOB, filler VARCHAR(255), PRIMARY KEY(id, dt)
+);
+INSERT INTO t1 (dt, st, uid, id2nd, filler) VALUES
+ ('1991-03-14', 'Initial Insert', 200, 1234567, 'No Data'),
+ ('1991-02-26', 'Initial Insert', 201, 1234567, 'No Data'),
+ ('1992-03-16', 'Initial Insert', 234, 1234567, 'No Data'),
+ ('1992-07-02', 'Initial Insert', 287, 1234567, 'No Data'),
+ ('1991-05-26', 'Initial Insert', 256, 1234567, 'No Data'),
+ ('1991-04-25', 'Initial Insert', 222, 1234567, 'No Data'),
+ ('1993-03-12', 'Initial Insert', 267, 1234567, 'No Data'),
+ ('1993-03-14', 'Initial Insert', 291, 1234567, 'No Data'),
+ ('1991-12-20', 'Initial Insert', 298, 1234567, 'No Data'),
+ ('1994-10-31', 'Initial Insert', 220, 1234567, 'No Data');
+ALTER TABLE t1 PARTITION BY LIST (YEAR(dt)) (
+ PARTITION d1 VALUES IN (1991, 1994),
+ PARTITION d2 VALUES IN (1993),
+ PARTITION d3 VALUES IN (1992, 1995, 1996)
+);
+INSERT INTO t1 (dt, st, uid, id2nd, filler) VALUES
+ ('1991-07-14', 'After Partitioning Insert', 299, 1234567, 'Insert row');
+UPDATE t1 SET filler='Updating the row' WHERE uid=298;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#59297: Can't find record in 'tablename' on update inner join
+--echo #
+
+CREATE TABLE t1 (
+a char(2) NOT NULL,
+b char(2) NOT NULL,
+c int(10) unsigned NOT NULL,
+d varchar(255) DEFAULT NULL,
+e varchar(1000) DEFAULT NULL,
+PRIMARY KEY (a, b, c),
+KEY (a),
+KEY (a, b)
+)
+/*!50100 PARTITION BY KEY (a)
+PARTITIONS 20 */;
+
+INSERT INTO t1 (a, b, c, d, e) VALUES
+('07', '03', 343, '1', '07_03_343'),
+('01', '04', 343, '2', '01_04_343'),
+('01', '06', 343, '3', '01_06_343'),
+('01', '07', 343, '4', '01_07_343'),
+('01', '08', 343, '5', '01_08_343'),
+('01', '09', 343, '6', '01_09_343'),
+('03', '03', 343, '7', '03_03_343'),
+('03', '06', 343, '8', '03_06_343'),
+('03', '07', 343, '9', '03_07_343'),
+('04', '03', 343, '10', '04_03_343'),
+('04', '06', 343, '11', '04_06_343'),
+('05', '03', 343, '12', '05_03_343'),
+('11', '03', 343, '13', '11_03_343'),
+('11', '04', 343, '14', '11_04_343')
+;
+
+UPDATE t1 AS A,
+(SELECT '03' AS a, '06' AS b, 343 AS c, 'last' AS d) AS B
+SET A.e = B.d
+WHERE A.a = '03'
+AND A.b = '06'
+AND A.c = 343;
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#57778: failed primary key add to partitioned innodb table
+--echo # inconsistent and crashes
+--echo #
+CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL)
+PARTITION BY KEY (a) PARTITIONS 2;
+INSERT INTO t1 VALUES (0,1), (0,2);
+--error ER_DUP_ENTRY
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+UPDATE t1 SET a = 1, b = 1 WHERE a = 0 AND b = 2;
+ALTER TABLE t1 ADD PRIMARY KEY (a);
+SELECT * FROM t1;
+ALTER TABLE t1 DROP PRIMARY KEY;
+SELECT * FROM t1;
+DROP TABLE t1;
+
+--echo #
--echo # Bug#57113: ha_partition::extra(ha_extra_function):
--echo # Assertion `m_extra_cache' failed
CREATE TABLE t1
@@ -135,10 +227,16 @@ INSERT INTO t1 VALUES ('2009-07-14 17:35:55', 'pmax');
INSERT INTO t1 VALUES ('2009-09-21 17:31:42', 'pmax');
SELECT * FROM t1;
+SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+EXPLAIN PARTITIONS SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+EXPLAIN PARTITIONS SELECT * FROM t1 where a = '2007-07-30 17:35:48';
ALTER TABLE t1 REORGANIZE PARTITION pmax INTO (
PARTITION p3 VALUES LESS THAN (1247688000),
PARTITION pmax VALUES LESS THAN MAXVALUE);
SELECT * FROM t1;
+SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+EXPLAIN PARTITIONS SELECT * FROM t1 where a between '2007-01-01' and '2007-08-01';
+EXPLAIN PARTITIONS SELECT * FROM t1 where a = '2007-07-30 17:35:48';
SHOW CREATE TABLE t1;
DROP TABLE t1;
@@ -480,12 +578,12 @@ drop table t1;
#
# BUG 16002: Handle unsigned integer functions properly
#
---error ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
+--error ER_VALUES_IS_NOT_INT_TYPE_ERROR
create table t1 (a bigint)
partition by range (a)
(partition p0 values less than (0xFFFFFFFFFFFFFFFF),
partition p1 values less than (10));
---error ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
+--error ER_VALUES_IS_NOT_INT_TYPE_ERROR
create table t1 (a bigint)
partition by list (a)
(partition p0 values in (0xFFFFFFFFFFFFFFFF),
@@ -1882,15 +1980,16 @@ commit;
drop table t1;
#
-# BUG#32272: partition crash 1: enum column
+# BUG#32772: partition crash 1: enum column
#
+# Note that month(int_col) is disallowed after bug#54483.
create table t1 (
c0 int,
c1 bigint,
c2 set('sweet'),
key (c2,c1,c0),
key(c0)
-) engine=myisam partition by hash (month(c0)) partitions 5;
+) engine=myisam partition by hash (c0) partitions 5;
--disable_warnings
insert ignore into t1 set c0 = -6502262, c1 = 3992917, c2 = 35019;
@@ -2252,3 +2351,53 @@ DROP TABLE t1;
SET GLOBAL myisam_use_mmap=default;
--echo End of 5.1 tests
+
+--echo #
+--echo # BUG#55385: UPDATE statement throws an error, but still updates
+--echo # the table entries
+
+CREATE TABLE t1_part (
+ partkey int,
+ nokey int
+) PARTITION BY LINEAR HASH(partkey) PARTITIONS 3;
+
+INSERT INTO t1_part VALUES (1, 1) , (10, 10);
+CREATE VIEW v1 AS SELECT * FROM t1_part;
+
+--echo
+--echo # Should be (1,1),(10,10)
+SELECT * FROM t1_part;
+
+--echo
+--echo # Case 1
+--echo # Update is refused because partitioning key is updated
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.partkey = 2, B.nokey = 3;
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2, B.partkey = 3;
+
+--echo
+--echo # Case 2
+--echo # Like 1, but partition accessed through a view
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE t1_part AS A NATURAL JOIN v1 as B SET A.nokey = 2 , B.partkey = 3;
+--error ER_MULTI_UPDATE_KEY_CONFLICT
+UPDATE v1 AS A NATURAL JOIN t1_part as B SET A.nokey = 2 , B.partkey = 3;
+
+--echo
+--echo # Should be (1,1),(10,10)
+SELECT * FROM t1_part;
+
+--echo
+--echo # Case 3
+--echo # Update is accepted because partitioning key is not updated
+UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2 , B.nokey = 3;
+
+--echo
+--echo # Should be (1,3),(10,3)
+SELECT * FROM t1_part;
+
+--echo
+# Cleanup
+DROP VIEW v1;
+DROP TABLE t1_part;
diff --git a/mysql-test/t/partition_binlog.test b/mysql-test/t/partition_binlog.test
new file mode 100644
index 00000000000..c1f618b794f
--- /dev/null
+++ b/mysql-test/t/partition_binlog.test
@@ -0,0 +1,42 @@
+--source include/have_log_bin.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo #
+--echo # Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails
+--echo # but the statement is written to binlog
+--echo #
+
+CREATE TABLE t1(id INT)
+PARTITION BY RANGE (id)
+(PARTITION p0 VALUES LESS THAN (100),
+ PARTITION pmax VALUES LESS THAN (MAXVALUE));
+
+INSERT INTO t1 VALUES (1), (10), (100), (1000);
+
+--let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1)
+--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1)
+
+--error ER_WRONG_PARTITION_NAME
+ALTER TABLE t1 TRUNCATE PARTITION p1;
+--error ER_DROP_PARTITION_NON_EXISTENT
+ALTER TABLE t1 DROP PARTITION p1;
+
+--echo # No error returned, output in table format instead:
+ALTER TABLE t1 ANALYZE PARTITION p1;
+ALTER TABLE t1 CHECK PARTITION p1;
+ALTER TABLE t1 OPTIMIZE PARTITION p1;
+ALTER TABLE t1 REPAIR PARTITION p1;
+
+ALTER TABLE t1 ANALYZE PARTITION p0;
+ALTER TABLE t1 CHECK PARTITION p0;
+ALTER TABLE t1 OPTIMIZE PARTITION p0;
+ALTER TABLE t1 REPAIR PARTITION p0;
+ALTER TABLE t1 TRUNCATE PARTITION p0;
+ALTER TABLE t1 DROP PARTITION p0;
+
+--source include/show_binlog_events.inc
+
+DROP TABLE t1;
diff --git a/mysql-test/t/partition_datatype.test b/mysql-test/t/partition_datatype.test
index 0a9fae15354..967e1cddb4e 100644
--- a/mysql-test/t/partition_datatype.test
+++ b/mysql-test/t/partition_datatype.test
@@ -7,6 +7,7 @@
# BUG#48164 limited size to 3072 bytes
#
-- source include/have_partition.inc
+-- source include/have_innodb.inc
--disable_warnings
drop table if exists t1;
@@ -233,3 +234,312 @@ show create table t1;
insert into t1 values (1),(4),(7),(10),(13),(16),(19),(22),(25),(28),(31),(34);
select hex(a) from t1 where a = 7;
drop table t1;
+
+--echo #
+--echo # Bug#28928: UNIX_TIMESTAMP() should be considered unary monotonic
+--echo # by partition pruning
+SET @old_time_zone= @@session.time_zone;
+SET @@session.time_zone = 'UTC';
+--echo # Using MyISAM to get stable values on TABLE_ROWS in I_S.PARTITIONS
+CREATE TABLE t1
+(a TIMESTAMP NULL,
+ tz varchar(16))
+ENGINE = MyISAM;
+CREATE TABLE t2 LIKE t1;
+ALTER TABLE t2 PARTITION BY RANGE (UNIX_TIMESTAMP(a))
+(PARTITION `p0` VALUES LESS THAN (0),
+ PARTITION `p-2000` VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01')),
+ PARTITION `p-2011-MSK` VALUES LESS THAN (UNIX_TIMESTAMP('2011-03-26 23:00:00')),
+ PARTITION `p-2011-MSD-1` VALUES LESS THAN (UNIX_TIMESTAMP('2011-10-29 22:00:00')),
+ PARTITION `p-2011-MSD-2` VALUES LESS THAN (UNIX_TIMESTAMP('2011-10-29 23:00:00')),
+ PARTITION `p-2012-MSK-1` VALUES LESS THAN (UNIX_TIMESTAMP('2011-10-30 00:00:00')),
+ PARTITION `p-2012-MSK-2` VALUES LESS THAN (UNIX_TIMESTAMP('2012-03-24 23:00:00')),
+ PARTITION `pEnd` VALUES LESS THAN (UNIX_TIMESTAMP('2038-01-19 03:14:07')),
+ PARTITION `pMax` VALUES LESS THAN MAXVALUE);
+
+
+--echo # Test 'odd' values
+INSERT INTO t1 VALUES (NULL, 'UTC');
+INSERT INTO t1 VALUES ('0000-00-00 00:00:00', 'UTC');
+--echo # Test invalid values
+INSERT INTO t1 VALUES ('1901-01-01 00:00:00', 'UTCI');
+INSERT INTO t1 VALUES ('1969-12-31 23:59:59', 'UTCI');
+INSERT INTO t1 VALUES ('2038-01-19 03:14:08', 'UTCI');
+INSERT INTO t1 VALUES ('1970-01-01 00:00:00', 'UTCI');
+--echo # Test start range
+INSERT INTO t1 VALUES ('1970-01-01 00:00:01', 'UTC');
+INSERT INTO t1 VALUES ('1974-02-05 21:28:16', 'UTC');
+--echo # Test end range
+INSERT INTO t1 VALUES ('2038-01-19 03:14:06', 'UTC');
+INSERT INTO t1 VALUES ('2038-01-19 03:14:07', 'UTC');
+--echo # Test Daylight saving shift
+INSERT INTO t1 VALUES ('2011-03-26 22:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-03-26 23:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-03-26 23:00:01', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 21:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 22:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 22:00:01', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 22:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 23:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 23:00:01', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-29 23:59:59', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-30 00:00:00', 'UTC');
+INSERT INTO t1 VALUES ('2011-10-30 00:00:01', 'UTC');
+
+SET @@session.time_zone = 'Europe/Moscow';
+
+--echo # Test 'odd' values
+INSERT INTO t1 VALUES (NULL, 'Moscow');
+INSERT INTO t1 VALUES ('0000-00-00 00:00:00', 'Moscow');
+--echo # Test invalid values
+INSERT INTO t1 VALUES ('0000-00-00 03:00:00', 'MoscowI');
+INSERT INTO t1 VALUES ('1901-01-01 00:00:00', 'MoscowI');
+INSERT INTO t1 VALUES ('1969-12-31 23:59:59', 'MoscowI');
+INSERT INTO t1 VALUES ('1970-01-01 02:29:29', 'MoscowI');
+INSERT INTO t1 VALUES ('2038-01-19 06:14:08', 'MoscowI');
+INSERT INTO t1 VALUES ('1970-01-01 03:00:00', 'MoscowI');
+--echo # values truncated to 03:00:00 due to daylight saving shift
+INSERT INTO t1 VALUES ('2011-03-27 02:00:00', 'MoscowI');
+INSERT INTO t1 VALUES ('2011-03-27 02:00:01', 'MoscowI');
+INSERT INTO t1 VALUES ('2011-03-27 02:59:59', 'MoscowI');
+--echo # Test start range
+INSERT INTO t1 VALUES ('1970-01-01 03:00:01', 'Moscow');
+INSERT INTO t1 VALUES ('1974-02-05 21:28:16', 'Moscow');
+--echo # Test end range
+INSERT INTO t1 VALUES ('2038-01-19 06:14:06', 'Moscow');
+INSERT INTO t1 VALUES ('2038-01-19 06:14:07', 'Moscow');
+--echo # Test Daylight saving shift
+INSERT INTO t1 VALUES ('2011-03-27 01:59:59', 'Moscow');
+INSERT INTO t1 VALUES ('2011-03-27 03:00:00', 'Moscow');
+INSERT INTO t1 VALUES ('2011-03-27 03:00:01', 'Moscow');
+INSERT INTO t1 VALUES ('2011-10-30 01:59:59', 'Moscow');
+--echo # All values between 02:00 and 02:59:59 will be interpretated as DST
+INSERT INTO t1 VALUES ('2011-10-30 02:00:00', 'MoscowD');
+INSERT INTO t1 VALUES ('2011-10-30 02:00:01', 'MoscowD');
+INSERT INTO t1 VALUES ('2011-10-30 02:59:59', 'MoscowD');
+INSERT INTO t1 VALUES ('2011-10-30 03:00:00', 'Moscow');
+INSERT INTO t1 VALUES ('2011-10-30 03:00:01', 'Moscow');
+
+
+SET @@session.time_zone = 'UTC';
+
+INSERT INTO t2 SELECT * FROM t1;
+
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+
+SELECT * FROM t1 ORDER BY a, tz;
+SELECT * FROM t2 ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 23:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 23:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 22:59:59' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-26 22:59:59' ORDER BY a, tz;
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 22:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 22:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 23:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 23:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 23:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 23:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 22:59:59' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 22:59:59' ORDER BY a, tz;
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 22:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 22:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 23:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 23:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+
+
+--echo # Test end range changes
+DELETE FROM t2 WHERE a = 0;
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'UTC');
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, 1, a);
+SELECT MIN(a), MAX(a) FROM t2;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+SELECT * FROM t2 ORDER BY a, tz;
+
+--echo # Test start range changes
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'UTC');
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, -1, a);
+SELECT MIN(a), MAX(a) FROM t2;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+SELECT * FROM t2 ORDER BY a, tz;
+
+SHOW CREATE TABLE t2;
+TRUNCATE TABLE t2;
+
+SET @@session.time_zone = 'Europe/Moscow';
+
+INSERT INTO t2 SELECT * FROM t1;
+
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+
+SELECT * FROM t1 ORDER BY a, tz;
+SELECT * FROM t2 ORDER BY a, tz;
+
+--echo # Testing the leap from 01:59:59 to 03:00:00
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 03:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 03:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 01:59:59' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-01 00:00:00' and '2011-03-27 01:59:59' ORDER BY a, tz;
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 01:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 01:59:59' and '2011-03-28 00:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 03:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-03-26 03:00:00' and '2011-03-28 00:00:00' ORDER BY a, tz;
+
+
+
+--echo # Testing the leap from 02:59:59 to 02:00:00
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:59:59' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 02:59:59' ORDER BY a, tz;
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 03:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 03:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 01:59:59' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-01 00:00:00' and '2011-10-29 01:59:59' ORDER BY a, tz;
+
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 02:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 03:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 03:00:00' and '2011-10-31 00:00:00' ORDER BY a, tz;
+
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 01:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+EXPLAIN PARTITIONS
+SELECT * FROM t2
+WHERE a BETWEEN '2011-10-29 01:59:59' and '2011-10-31 00:00:00' ORDER BY a, tz;
+
+
+
+--echo # Test end range changes
+DELETE FROM t2 WHERE a = 0;
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'Moscow');
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, 1, a);
+SELECT MIN(a), MAX(a) FROM t2;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+SELECT * FROM t2 ORDER BY a, tz;
+
+--echo # Test start range changes
+INSERT INTO t2 VALUES ('1970-01-01 00:00:00', 'Moscow');
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT * FROM t2 ORDER BY a, tz LIMIT 3;
+SELECT * FROM t2 ORDER BY a DESC, tz LIMIT 3;
+UPDATE t2 SET a = TIMESTAMPADD(SECOND, -1, a);
+SELECT MIN(a), MAX(a) FROM t2;
+SELECT COUNT(*) FROM t2;
+SELECT COUNT(*) FROM t2 WHERE a = 0;
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS
+WHERE TABLE_NAME = 't2';
+SELECT * FROM t2 ORDER BY a, tz;
+
+SHOW CREATE TABLE t2;
+TRUNCATE TABLE t2;
+
+DROP TABLE t1, t2;
+SET @@session.time_zone= @old_time_zone;
diff --git a/mysql-test/t/partition_debug_sync.test b/mysql-test/t/partition_debug_sync.test
index cde94856ae6..448cec652d7 100644
--- a/mysql-test/t/partition_debug_sync.test
+++ b/mysql-test/t/partition_debug_sync.test
@@ -38,7 +38,7 @@ connection default;
--echo # Con default
SET DEBUG_SYNC= 'now WAIT_FOR removing_partitioning';
SET DEBUG_SYNC= 'mdl_acquire_lock_wait SIGNAL waiting_for_alter';
-SET DEBUG_SYNC= 'rm_table_part2_before_delete_table WAIT_FOR partitioning_removed';
+SET DEBUG_SYNC= 'rm_table_no_locks_before_delete_table WAIT_FOR partitioning_removed';
DROP TABLE IF EXISTS t1;
--echo # Con 1
connection con1;
@@ -70,12 +70,12 @@ SET DEBUG_SYNC= 'alter_table_before_rename_result_table WAIT_FOR delete_done';
--send ALTER TABLE t2 REMOVE PARTITIONING
connection default;
--echo # Con default
-SET SESSION debug= "+d,sleep_before_part2_delete_table";
+SET SESSION debug= "+d,sleep_before_no_locks_delete_table";
SET DEBUG_SYNC= 'now WAIT_FOR removing_partitions';
-SET DEBUG_SYNC= 'rm_table_part2_before_delete_table SIGNAL waiting_for_alter';
-SET DEBUG_SYNC= 'rm_table_part2_before_binlog SIGNAL delete_done';
+SET DEBUG_SYNC= 'rm_table_no_locks_before_delete_table SIGNAL waiting_for_alter';
+SET DEBUG_SYNC= 'rm_table_no_locks_before_binlog SIGNAL delete_done';
DROP TABLE IF EXISTS t2;
-SET SESSION debug= "-d,sleep_before_part2_delete_table";
+SET SESSION debug= "-d,sleep_before_no_locks_delete_table";
--echo # Con 1
connection con1;
--error ER_NO_SUCH_TABLE
diff --git a/mysql-test/t/partition_error.test b/mysql-test/t/partition_error.test
index c764cf4e408..536935420a4 100644
--- a/mysql-test/t/partition_error.test
+++ b/mysql-test/t/partition_error.test
@@ -5,28 +5,744 @@
-- source include/have_partition.inc
--disable_warnings
-drop table if exists t1;
+drop table if exists t1, t2;
--enable_warnings
let $MYSQLD_DATADIR= `SELECT @@datadir`;
--echo #
---echo # Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
+--echo # Bug#57924: crash when creating partitioned table with
+--echo # multiple columns in the partition key
--echo #
-CREATE TABLE t1 (a INT) PARTITION BY HASH (a);
-FLUSH TABLES;
---remove_file $MYSQLD_DATADIR/test/t1.par
---replace_result $MYSQLD_DATADIR ./
-CHECK TABLE t1;
---error ER_FAILED_READ_FROM_PAR_FILE
+--error ER_SAME_NAME_PARTITION_FIELD
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
+PARTITION BY KEY(a, b, a);
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
+PARTITION BY KEY(A, b);
+DROP TABLE t1;
+--error ER_SAME_NAME_PARTITION_FIELD
+CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a,b))
+PARTITION BY KEY(a, b, A);
+
+
+--echo #
+--echo # Bug#54483: valgrind errors when making warnings for multiline inserts
+--echo # into partition
+--echo #
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARBINARY(10))
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a CHAR(10))
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIMESTAMP)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+CREATE TABLE t1 (a DATE)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+INSERT INTO t1 VALUES ('test'),('a'),('5');
+SHOW WARNINGS;
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+INSERT INTO t1 VALUES ('test'),('a'),('5');
+SHOW WARNINGS;
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY RANGE (DAYOFWEEK(a))
+(PARTITION a1 VALUES LESS THAN (60));
+SHOW WARNINGS;
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TO_DAYS(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TO_DAYS(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TO_DAYS(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TO_DAYS(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TO_DAYS(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (DAYOFMONTH(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (DAYOFMONTH(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (DAYOFMONTH(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (DAYOFMONTH(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (DAYOFMONTH(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (MONTH(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (MONTH(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (MONTH(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (MONTH(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (MONTH(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (DAYOFYEAR(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (DAYOFYEAR(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (DAYOFYEAR(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (DAYOFYEAR(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (DAYOFYEAR(a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (HOUR(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (HOUR(a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (HOUR(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (HOUR(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (HOUR(a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (MINUTE(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (MINUTE(a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (MINUTE(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (MINUTE(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (MINUTE(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (QUARTER(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (QUARTER(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (QUARTER(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (QUARTER(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (QUARTER(a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (SECOND(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (SECOND(a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (SECOND(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (SECOND(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (SECOND(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (YEARWEEK(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (YEARWEEK(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (YEARWEEK(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (YEARWEEK(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (YEARWEEK(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (WEEKDAY(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (WEEKDAY(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (WEEKDAY(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (WEEKDAY(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (WEEKDAY(a));
+
+--echo # TO_SECONDS() is added in 5.5.
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TO_SECONDS(a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TO_SECONDS(a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TO_SECONDS(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TO_SECONDS(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TO_SECONDS(a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TIME_TO_SEC(a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TIME_TO_SEC(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TIME_TO_SEC(a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (FROM_DAYS(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (FROM_DAYS(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (FROM_DAYS(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TO_DAYS(FROM_DAYS(a)));
+--error ER_PARTITION_FUNC_NOT_ALLOWED_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (FROM_DAYS(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TO_DAYS(FROM_DAYS(a)));
+--error ER_PARTITION_FUNC_NOT_ALLOWED_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (FROM_DAYS(a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (MICROSECOND(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (MICROSECOND(a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (MICROSECOND(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (MICROSECOND(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (MICROSECOND(a));
+--echo # Bug#57071
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1
+(`date` date,
+ `extracted_week` int,
+ `yearweek` int,
+ `week` int,
+ `default_week_format` int)
+PARTITION BY LIST (EXTRACT(WEEK FROM date) % 3)
+(PARTITION p0 VALUES IN (0),
+ PARTITION p1 VALUES IN (1),
+ PARTITION p2 VALUES IN (2));
+CREATE TABLE t1
+(`date` date,
+ `extracted_week` int,
+ `yearweek` int,
+ `week` int,
+ `default_week_format` int);
+SET @old_default_week_format := @@default_week_format;
+SET default_week_format = 0;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 1;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 2;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 3;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 4;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 5;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 6;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
+SET default_week_format = 7;
+INSERT INTO t1 VALUES ('2000-01-01', EXTRACT(WEEK FROM '2000-01-01'), YEARWEEK('2000-01-01'), WEEK('2000-01-01'), @@default_week_format);
SELECT * FROM t1;
---echo # Note that it is currently impossible to drop a partitioned table
---echo # without the .par file
---error ER_BAD_TABLE_ERROR
+SET default_week_format = @old_default_week_format;
+DROP TABLE t1;
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(YEAR FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(QUARTER FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
DROP TABLE t1;
---remove_file $MYSQLD_DATADIR/test/t1.frm
---remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYI
---remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYD
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MONTH FROM a));
+
+--echo # EXTRACT(WEEK...) is disallowed, see bug#57071.
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(WEEK FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_SECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR_MINUTE FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR_SECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MINUTE FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(SECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MICROSECOND FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(MINUTE_MICROSECOND FROM a));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a));
+
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a TIME, b DATE)
+PARTITION BY HASH (DATEDIFF(a, b));
+CREATE TABLE t1 (a DATE, b DATETIME)
+PARTITION BY HASH (DATEDIFF(a, b));
+DROP TABLE t1;
+CREATE TABLE t1 (a DATETIME, b DATE)
+PARTITION BY HASH (DATEDIFF(a, b));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE, b VARCHAR(10))
+PARTITION BY HASH (DATEDIFF(a, b));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT, b DATETIME)
+PARTITION BY HASH (DATEDIFF(a, b));
+
+CREATE TABLE t1 (a TIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a DATE)
+PARTITION BY HASH (TIME_TO_SEC(a));
+CREATE TABLE t1 (a DATETIME)
+PARTITION BY HASH (TIME_TO_SEC(a));
+DROP TABLE t1;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a VARCHAR(10))
+PARTITION BY HASH (TIME_TO_SEC(a));
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (TIME_TO_SEC(a));
+
+--echo #
+--echo # Bug#50036: Inconsistent errors when using TIMESTAMP
+--echo # columns/expressions
+
+--echo # 1. correct and appropriate errors in light of
+--echo # the fix for BUG#42849:
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (TO_DAYS(c))
+(PARTITION p0 VALUES LESS THAN (10000),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+CREATE TABLE t2 (c TIMESTAMP);
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+ALTER TABLE t2
+PARTITION BY RANGE (TO_DAYS(c))
+(PARTITION p0 VALUES LESS THAN (10000),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+
+--error ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE COLUMNS(c)
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+--error ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD
+ALTER TABLE t2 PARTITION BY RANGE COLUMNS(c)
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+DROP TABLE t2;
+
+--echo # 2. These errors where questionable before the fix:
+
+--echo # VALUES clause are checked first, clearified the error message.
+--error ER_VALUES_IS_NOT_INT_TYPE_ERROR
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (c)
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+
+--echo # TIMESTAMP is not INT (e.g. UNIX_TIMESTAMP).
+--error ER_VALUES_IS_NOT_INT_TYPE_ERROR
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (UNIX_TIMESTAMP(c))
+(PARTITION p0 VALUES LESS THAN ('2000-01-01 00:00:00'),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY RANGE (UNIX_TIMESTAMP(c))
+(PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+DROP TABLE t1;
+
+--echo # Changed error from ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
+--error ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD
+CREATE TABLE t1 (c TIMESTAMP)
+PARTITION BY HASH (c) PARTITIONS 4;
+
+--echo # Moved to partition_myisam, since it was MyISAM specific
+--echo # Added test with existing TIMESTAMP partitioning (when it was allowed).
--echo #
--echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530
@@ -48,6 +764,7 @@ SUBPARTITION BY HASH(TO_DAYS(purchased))
(PARTITION p0 VALUES LESS THAN MAXVALUE
DATA DIRECTORY = '/tmp/not-existing'
INDEX DIRECTORY = '/tmp/not-existing');
+--replace_result MyISAM <curr_engine> InnoDB <curr_engine>
SHOW CREATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (id INT, purchased DATE)
@@ -58,6 +775,7 @@ SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2
DATA DIRECTORY = '/tmp/not-existing'
INDEX DIRECTORY = '/tmp/not-existing',
SUBPARTITION sp1));
+--replace_result MyISAM <curr_engine> InnoDB <curr_engine>
SHOW CREATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (id INT, purchased DATE)
@@ -65,34 +783,11 @@ PARTITION BY RANGE(YEAR(purchased))
(PARTITION p0 VALUES LESS THAN MAXVALUE
DATA DIRECTORY = '/tmp/not-existing'
INDEX DIRECTORY = '/tmp/not-existing');
+--replace_result MyISAM <curr_engine> InnoDB <curr_engine>
SHOW CREATE TABLE t1;
DROP TABLE t1;
SET @@sql_mode= @org_mode;
---echo #
---echo # Bug#50392: insert_id is not reset for partitioned tables
---echo # auto_increment on duplicate entry
-CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY);
-SET INSERT_ID= 13;
-INSERT INTO t1 VALUES (NULL);
-SET INSERT_ID= 12;
---error ER_DUP_ENTRY
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-SHOW CREATE TABLE t1;
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1;
-DROP TABLE t1;
-CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) PARTITION BY KEY(a);
-SET INSERT_ID= 13;
-INSERT INTO t1 VALUES (NULL);
-SET INSERT_ID= 12;
---error ER_DUP_ENTRY
-INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
-SHOW CREATE TABLE t1;
-INSERT INTO t1 VALUES (NULL);
-SELECT * FROM t1;
-DROP TABLE t1;
-
#
# Bug#38719: Partitioning returns a different error code for a
# duplicate key error
@@ -107,24 +802,6 @@ INSERT INTO t1 VALUES (1),(1);
DROP TABLE t1;
#
-# Bug#31931: Mix of handlers error message
-#
---error ER_MIX_HANDLER_ERROR
-CREATE TABLE t1 (a INT)
-PARTITION BY HASH (a)
-( PARTITION p0 ENGINE=MyISAM,
- PARTITION p1);
---error ER_MIX_HANDLER_ERROR
-CREATE TABLE t1 (a INT)
-PARTITION BY LIST (a)
-SUBPARTITION BY HASH (a)
-( PARTITION p0 VALUES IN (0)
-( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2),
- PARTITION p1 VALUES IN (1)
-( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM));
-
-
-#
# Bug 29368:
# Incorrect error, 1467, for syntax error when creating partition
--error ER_PARTITION_REQUIRES_VALUES_ERROR
@@ -140,7 +817,7 @@ PARTITION BY RANGE (a)
#
# Partition by key stand-alone error
#
---error 1064
+--error ER_PARSE_ERROR
partition by list (a)
partitions 3
(partition x1 values in (1,2,9,4) tablespace ts1,
@@ -177,7 +854,7 @@ partitions 3
#
# Partition by key, partition function not allowed
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -192,7 +869,7 @@ partitions 3
#
# Partition by key, no partition name
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -223,7 +900,7 @@ select load_file('$MYSQLD_DATADIR/test/t1.par');
#
# Partition by hash, invalid field in function
#
---error 1054
+--error ER_BAD_FIELD_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -253,7 +930,7 @@ partitions 3
#
# Partition by key specified 3 partitions but only defined 2 => error
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -266,7 +943,7 @@ partitions 3
#
# Partition by hash, random function
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -279,7 +956,7 @@ partitions 2
#
# Partition by range, random function
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -292,7 +969,7 @@ partitions 2
#
# Partition by list, random function
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -428,7 +1105,7 @@ select load_file('$MYSQLD_DATADIR/test/t1.par');
#
# Subpartition by hash, no partitions defined, wrong subpartition function
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -455,7 +1132,7 @@ select load_file('$MYSQLD_DATADIR/test/t1.par');
#
# Subpartition by hash, no partitions defined, wrong subpartition function
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -496,7 +1173,7 @@ subpartition by hash (3+4);
#
# Subpartition by hash, no partitions defined, wrong subpartition function
#
---error 1054
+--error ER_BAD_FIELD_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -522,7 +1199,7 @@ select load_file('$MYSQLD_DATADIR/test/t1.par');
#
# Partition by range, invalid field in function
#
---error 1054
+--error ER_BAD_FIELD_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -536,7 +1213,7 @@ partitions 2
#
# Partition by range, inconsistent partition function and constants
#
---error ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
+--error ER_VALUES_IS_NOT_INT_TYPE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -676,7 +1353,7 @@ partitions 2
#
# Subpartition by hash, wrong number of subpartitions
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -696,7 +1373,7 @@ subpartitions 3
#
# Subpartition by hash, wrong number of subpartitions
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -716,7 +1393,7 @@ subpartition by hash (a+b)
#
# Subpartition by list => error
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -735,7 +1412,7 @@ subpartition by list (a+b)
#
# Subpartition by list => error
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -779,7 +1456,7 @@ partitions 2
#
# Partition by list, invalid field in function
#
---error 1054
+--error ER_BAD_FIELD_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -849,7 +1526,7 @@ partitions 2
#
# Partition by list, wrong constant result type (not INT)
#
---error ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR
+--error ER_VALUES_IS_NOT_INT_TYPE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -863,7 +1540,7 @@ partitions 2
#
# Partition by list, missing parenthesis
#
---error 1064
+--error ER_PARSE_ERROR
CREATE TABLE t1 (
a int not null,
b int not null,
@@ -877,7 +1554,7 @@ partitions 2
#
# Bug #13439: Crash when LESS THAN (non-literal)
#
---error 1054
+--error ER_BAD_FIELD_ERROR
CREATE TABLE t1 (a int)
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (x1));
@@ -904,13 +1581,13 @@ partition by range (ascii(v))
(partition p0 values less than (10));
#drop table t1;
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by hash (rand(a));
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by hash(CURTIME() + a);
--- error 1064
+-- error ER_PARSE_ERROR
create table t1 (a int)
partition by hash (NOW()+a);
-- error ER_PARTITION_FUNCTION_IS_NOT_ALLOWED
@@ -939,13 +1616,13 @@ PARTITION pmax VALUES LESS THAN MAXVALUE);
# Check that allowed arithmetic/math functions involving TIMESTAMP values result
# in ER_PARTITION_FUNC_NOT_ALLOWED_ERROR when used as a partitioning function
---error ER_PARTITION_FUNC_NOT_ALLOWED_ERROR
+--error ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD
CREATE TABLE new (a TIMESTAMP NOT NULL PRIMARY KEY)
PARTITION BY RANGE (a) (
PARTITION p VALUES LESS THAN (20080819),
PARTITION pmax VALUES LESS THAN MAXVALUE);
---error ER_PARTITION_FUNC_NOT_ALLOWED_ERROR
+--error ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD
ALTER TABLE old
PARTITION BY RANGE (a) (
PARTITION p VALUES LESS THAN (20080819),
diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test
index abf543ad53a..28a9c6e2e64 100644
--- a/mysql-test/t/partition_innodb.test
+++ b/mysql-test/t/partition_innodb.test
@@ -2,6 +2,9 @@
--source include/have_partition.inc
--source include/have_innodb.inc
+set global default_storage_engine='innodb';
+set session default_storage_engine='innodb';
+
--disable_warnings
drop table if exists t1, t2;
--enable_warnings
@@ -9,6 +12,32 @@ drop table if exists t1, t2;
let $MYSQLD_DATADIR= `SELECT @@datadir`;
--echo #
+--echo # Bug#56287: crash when using Partition datetime in sub in query
+--echo #
+
+CREATE TABLE t1
+(c1 bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ c2 varchar(40) not null default '',
+ c3 datetime not NULL,
+ PRIMARY KEY (c1,c3),
+ KEY partidx(c3))
+ENGINE=InnoDB
+PARTITION BY RANGE (TO_DAYS(c3))
+(PARTITION p200912 VALUES LESS THAN (to_days('2010-01-01')),
+ PARTITION p201103 VALUES LESS THAN (to_days('2011-04-01')),
+ PARTITION p201912 VALUES LESS THAN MAXVALUE);
+
+insert into t1(c2,c3) values ("Test row",'2010-01-01 00:00:00');
+
+SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't1' AND TABLE_SCHEMA = 'test';
+SELECT count(*) FROM t1 p where c3 in
+(select c3 from t1 t where t.c3 < date '2011-04-26 19:19:44'
+ and t.c3 > date '2011-04-26 19:18:44') ;
+
+DROP TABLE t1;
+
+
+--echo #
--echo # Bug#54747: Deadlock between REORGANIZE PARTITION and
--echo # SELECT is not detected
--echo #
@@ -16,9 +45,6 @@ let $MYSQLD_DATADIR= `SELECT @@datadir`;
SET @old_innodb_thread_concurrency:= @@innodb_thread_concurrency;
SET GLOBAL innodb_thread_concurrency = 1;
-set global default_storage_engine='innodb';
-set session default_storage_engine='innodb';
-
CREATE TABLE t1
(user_num BIGINT,
hours SMALLINT,
@@ -112,6 +138,7 @@ SELECT * FROM t1;
COMMIT;
DROP TABLE t1;
+
--echo #
--echo # Bug#51830: Incorrect partition pruning on range partition (regression)
--echo #
@@ -555,6 +582,20 @@ connection default;
SELECT * FROM t1;
COMMIT;
DROP TABLE t1;
+
+#
+# Bug #55146 Assertion `m_part_spec.start_part == m_part_spec.end_part' in index_read_idx_map
+#
+
+CREATE TABLE t1 (i1 int NOT NULL primary key, f1 int) ENGINE = InnoDB
+ PARTITION BY HASH(i1) PARTITIONS 2;
+
+INSERT INTO t1 VALUES (1,1), (2,2);
+
+SELECT * FROM t1 WHERE i1 = ( SELECT i1 FROM t1 WHERE f1=0 LIMIT 1 );
+
+DROP TABLE t1;
+
--enable_parsing
--echo #
@@ -573,5 +614,24 @@ OPTIMIZE TABLE t1;
SET SESSION sql_mode = @old_mode;
DROP TABLE t1;
-set global default_storage_engine=default;
+--echo #
+--echo # Bug#57985 "ONLINE/FAST ALTER PARTITION can fail and leave the
+--echo # table unusable".
+--echo #
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1 (a bigint not null, b int not null, PRIMARY KEY (a))
+ ENGINE = InnoDB PARTITION BY KEY(a) PARTITIONS 2;
+INSERT INTO t1 values (0,1), (1,2);
+--echo # The below ALTER should fail. It should leave the
+--echo # table in its original, non-corrupted, usable state.
+--error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
+ALTER TABLE t1 ADD UNIQUE KEY (b);
+--echo # The below statements should succeed, as ALTER should
+--echo # have left table intact.
+SHOW CREATE TABLE t1;
+SELECT * FROM t1;
+DROP TABLE t1;
+set global default_storage_engine=default;
diff --git a/mysql-test/t/partition_innodb_plugin.test b/mysql-test/t/partition_innodb_plugin.test
index 04c72127394..e8b73687177 100644
--- a/mysql-test/t/partition_innodb_plugin.test
+++ b/mysql-test/t/partition_innodb_plugin.test
@@ -1,6 +1,73 @@
--source include/have_partition.inc
--source include/have_innodb.inc
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+call mtr.add_suppression("nnoDB: Error: table `test`.`t1` .* Partition.* InnoDB internal");
+--echo #
+--echo # Bug#55091: Server crashes on ADD PARTITION after a failed attempt
+--echo #
+SET @old_innodb_file_format_max = @@global.innodb_file_format_max;
+SET @old_innodb_file_format = @@global.innodb_file_format;
+SET @old_innodb_file_per_table = @@global.innodb_file_per_table;
+SET @old_innodb_strict_mode = @@global.innodb_strict_mode;
+SET @@global.innodb_file_format = Barracuda,
+@@global.innodb_file_per_table = ON,
+@@global.innodb_strict_mode = ON;
+
+--echo # Connection con1
+--connect(con1,localhost,root,,)
+
+CREATE TABLE t1 (id INT NOT NULL
+PRIMARY KEY,
+user_num CHAR(10)
+) ENGINE = InnoDB
+KEY_BLOCK_SIZE=4
+PARTITION BY HASH(id) PARTITIONS 1;
+
+--replace_result #p# #P#
+--list_files $MYSQLD_DATADIR/test
+SHOW CREATE TABLE t1;
+
+SET GLOBAL innodb_file_per_table = OFF;
+
+--disconnect con1
+--connect(con2,localhost,root,,)
+--echo # Connection con2
+
+LOCK TABLE t1 WRITE;
+
+--echo # ALTER fails because COMPRESSED/KEY_BLOCK_SIZE
+--echo # are incompatible with innodb_file_per_table = OFF;
+
+--error ER_GET_ERRNO
+ALTER TABLE t1 ADD PARTITION PARTITIONS 1;
+
+--replace_result #p# #P#
+--list_files $MYSQLD_DATADIR/test
+--echo # This SET is not needed to reproduce the bug,
+--echo # it is here just to make the test case more realistic
+SET innodb_strict_mode = OFF;
+
+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
+--replace_result #p# #P#
+--list_files $MYSQLD_DATADIR/test
+
+# really bug#56172
+ALTER TABLE t1 REBUILD PARTITION p0;
+
+UNLOCK TABLES;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+--disconnect con2
+--connection default
+--echo # Connection default
+SET @@global.innodb_strict_mode = @old_innodb_strict_mode;
+SET @@global.innodb_file_format = @old_innodb_file_format;
+SET @@global.innodb_file_per_table = @old_innodb_file_per_table;
+SET @@global.innodb_file_format_max = @old_innodb_file_format_max;
+
#
# Bug#32430 - show engine innodb status causes errors
#
diff --git a/mysql-test/t/partition_myisam.test b/mysql-test/t/partition_myisam.test
new file mode 100644
index 00000000000..c3766430275
--- /dev/null
+++ b/mysql-test/t/partition_myisam.test
@@ -0,0 +1,182 @@
+--source include/have_partition.inc
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+# These tests is only useful when running on MyISAM,
+# due to DATA/INDEX directory, non transactional behavior, tests with MyISAM
+# files etc.
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+
+
+--echo #
+--echo # Bug#50036: Inconsistent errors when using TIMESTAMP
+--echo # columns/expressions
+
+--echo # Added test with existing TIMESTAMP partitioning (when it was allowed).
+CREATE TABLE t1 (a TIMESTAMP)
+ENGINE = MyISAM
+PARTITION BY HASH (UNIX_TIMESTAMP(a));
+INSERT INTO t1 VALUES ('2000-01-02 03:04:05');
+--sorted_result
+SELECT * FROM t1;
+FLUSH TABLES;
+--echo # replacing t1.frm with TO_DAYS(a) which was allowed earlier.
+--remove_file $MYSQLD_DATADIR/test/t1.frm
+--copy_file std_data/parts/t1TIMESTAMP.frm $MYSQLD_DATADIR/test/t1.frm
+--echo # Disable warnings, since the result would differ when running with
+--echo # --ps-protocol (only for the 'SELECT * FROM t1' statement).
+--disable_warnings
+--sorted_result
+SELECT * FROM t1;
+--enable_warnings
+--replace_result MyISAM <curr_engine> InnoDB <curr_engine>
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES ('2001-02-03 04:05:06');
+--sorted_result
+SELECT * FROM t1;
+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
+--error ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR
+ALTER TABLE t1
+PARTITION BY RANGE (TO_DAYS(a))
+(PARTITION p0 VALUES LESS THAN (10000),
+ PARTITION p1 VALUES LESS THAN (MAXVALUE));
+SHOW CREATE TABLE t1;
+CREATE TABLE t2 LIKE t1;
+SHOW CREATE TABLE t2;
+DROP TABLE t2;
+CREATE TABLE t2 SELECT * FROM t1;
+DROP TABLE t2;
+ALTER TABLE t1 PARTITION BY HASH (UNIX_TIMESTAMP(a));
+SHOW CREATE TABLE t1;
+ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
+SHOW CREATE TABLE t1;
+--sorted_result
+SELECT * FROM t1;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#31931: Mix of handlers error message
+--echo #
+--error ER_MIX_HANDLER_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY HASH (a)
+( PARTITION p0 ENGINE=MyISAM,
+ PARTITION p1);
+--error ER_MIX_HANDLER_ERROR
+CREATE TABLE t1 (a INT)
+PARTITION BY LIST (a)
+SUBPARTITION BY HASH (a)
+( PARTITION p0 VALUES IN (0)
+( SUBPARTITION s0, SUBPARTITION s1 ENGINE=MyISAM, SUBPARTITION s2),
+ PARTITION p1 VALUES IN (1)
+( SUBPARTITION s3 ENGINE=MyISAM, SUBPARTITION s4, SUBPARTITION s5 ENGINE=MyISAM));
+
+--echo #
+--echo # Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
+--echo #
+CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
+PARTITION BY HASH (a);
+FLUSH TABLES;
+--remove_file $MYSQLD_DATADIR/test/t1.par
+--replace_result $MYSQLD_DATADIR ./
+CHECK TABLE t1;
+--error ER_FAILED_READ_FROM_PAR_FILE
+SELECT * FROM t1;
+--echo # Note that it is currently impossible to drop a partitioned table
+--echo # without the .par file
+--error ER_BAD_TABLE_ERROR
+DROP TABLE t1;
+--remove_file $MYSQLD_DATADIR/test/t1.frm
+--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYI
+--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYD
+
+--echo #
+--echo # Bug#50392: insert_id is not reset for partitioned tables
+--echo # auto_increment on duplicate entry
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY)
+ENGINE = MyISAM;
+SET INSERT_ID= 13;
+INSERT INTO t1 VALUES (NULL);
+SET INSERT_ID= 12;
+--echo # For transactional engines, 12 will not be inserted, since the failing
+--echo # statement is rolled back.
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (NULL);
+--echo # NOTE: 12 exists only in non transactional engines!
+SELECT * FROM t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY)
+ENGINE = MyISAM
+PARTITION BY KEY(a);
+SET INSERT_ID= 13;
+INSERT INTO t1 VALUES (NULL);
+SET INSERT_ID= 12;
+--error ER_DUP_ENTRY
+INSERT INTO t1 VALUES (NULL), (NULL), (NULL);
+SHOW CREATE TABLE t1;
+INSERT INTO t1 VALUES (NULL);
+SELECT * FROM t1;
+DROP TABLE t1;
+#
+# Bug#30102: rename table does corrupt tables with partition files on failure
+#
+--echo # Bug#30102 test
+CREATE TABLE t1 (a INT)
+ENGINE = MyISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (6),
+ PARTITION `p1....................` VALUES LESS THAN (9),
+ PARTITION p2 VALUES LESS THAN MAXVALUE);
+# partition p1 is 't1#P#p1' + @002e * 20 = 107 characters + file ending
+# total path lenght of './test/t1#P#p1@002e@002e<...>@002e.MY[ID]' is 118 chars
+--echo # List of files in database `test`, all original t1-files here
+--list_files $MYSQLD_DATADIR/test t1*
+INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+--echo # Renaming to a file name where the first partition is 250 chars
+--echo # and the second partition is 350 chars
+# 7,7 avoids the error message, which is not deterministic.
+--error 7,7
+RENAME TABLE t1 TO `t2_new..............................................end`;
+# 1234567890123456789012345678901234567890123456
+--echo # List of files in database `test`, should not be any t2-files here
+--list_files $MYSQLD_DATADIR/test t2*
+--echo # List of files in database `test`, should be all t1-files here
+--list_files $MYSQLD_DATADIR/test t1*
+--sorted_result
+SELECT * FROM t1;
+--echo # List of files in database `test`, should be all t1-files here
+--list_files $MYSQLD_DATADIR/test t1*
+--echo # Renaming to a file name where the first partition is 156 chars
+--echo # and the second partition is 256 chars
+# 7,7 avoids the error message, which is not deterministic.
+--error 7,7
+RENAME TABLE t1 TO `t2_............................_end`;
+# 1234567890123456789012345678
+# 7 + 4 + 5 + 28 * 5 = 16 + 140 = 156
+--echo # List of files in database `test`, should not be any t2-files here
+--list_files $MYSQLD_DATADIR/test t2*
+--echo # List of files in database `test`, should be all t1-files here
+--list_files $MYSQLD_DATADIR/test t1*
+--sorted_result
+SELECT * FROM t1;
+DROP TABLE t1;
+--echo # Should not be any files left here
+--list_files $MYSQLD_DATADIR/test t1*
+--list_files $MYSQLD_DATADIR/test t2*
+--echo # End of bug#30102 test.
+
+--echo # Test of post-push fix for bug#11766249/59316
+CREATE TABLE t1 (a INT, b VARCHAR(255), PRIMARY KEY (a))
+ENGINE = MyISAM
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (0) MAX_ROWS=100,
+ PARTITION p1 VALUES LESS THAN (100) MAX_ROWS=100,
+ PARTITION pMax VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Partition p1, first row");
+DROP TABLE t1;
diff --git a/mysql-test/t/partition_not_embedded.test b/mysql-test/t/partition_not_embedded.test
deleted file mode 100644
index 5c512085a9e..00000000000
--- a/mysql-test/t/partition_not_embedded.test
+++ /dev/null
@@ -1,53 +0,0 @@
--- source include/have_partition.inc
--- source include/not_embedded.inc
---disable_warnings
-DROP TABLE IF EXISTS t1, t2;
---enable_warnings
-let $MYSQLD_DATADIR= `SELECT @@datadir`;
-
-#
-# Bug#30102: rename table does corrupt tables with partition files on failure
-#
---echo # Bug#30102 test
-CREATE TABLE t1 (a INT)
-PARTITION BY RANGE (a)
-(PARTITION p0 VALUES LESS THAN (6),
- PARTITION `p1....................` VALUES LESS THAN (9),
- PARTITION p2 VALUES LESS THAN MAXVALUE);
-# partition p1 is 't1#P#p1' + @002e * 20 = 107 characters + file ending
-# total path lenght of './test/t1#P#p1@002e@002e<...>@002e.MY[ID]' is 118 chars
---echo # List of files in database `test`, all original t1-files here
---list_files $MYSQLD_DATADIR/test t1*
-INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
---echo # Renaming to a file name where the first partition is 250 chars
---echo # and the second partition is 350 chars
-# 7,7 avoids the error message, which is not deterministic.
---error 7,7
-RENAME TABLE t1 TO `t2_new..............................................end`;
-# 1234567890123456789012345678901234567890123456
---echo # List of files in database `test`, should not be any t2-files here
---list_files $MYSQLD_DATADIR/test t2*
---echo # List of files in database `test`, should be all t1-files here
---list_files $MYSQLD_DATADIR/test t1*
---sorted_result
-SELECT * FROM t1;
---echo # List of files in database `test`, should be all t1-files here
---list_files $MYSQLD_DATADIR/test t1*
---echo # Renaming to a file name where the first partition is 156 chars
---echo # and the second partition is 256 chars
-# 7,7 avoids the error message, which is not deterministic.
---error 7,7
-RENAME TABLE t1 TO `t2_............................_end`;
-# 1234567890123456789012345678
-# 7 + 4 + 5 + 28 * 5 = 16 + 140 = 156
---echo # List of files in database `test`, should not be any t2-files here
---list_files $MYSQLD_DATADIR/test t2*
---echo # List of files in database `test`, should be all t1-files here
---list_files $MYSQLD_DATADIR/test t1*
---sorted_result
-SELECT * FROM t1;
-DROP TABLE t1;
---echo # Should not be any files left here
---list_files $MYSQLD_DATADIR/test t1*
---list_files $MYSQLD_DATADIR/test t2*
---echo # End of bug#30102 test.
diff --git a/mysql-test/t/partition_range.test b/mysql-test/t/partition_range.test
index 4e2c1b98a70..3ff03248d88 100644
--- a/mysql-test/t/partition_range.test
+++ b/mysql-test/t/partition_range.test
@@ -30,8 +30,8 @@ DROP TABLE t1;
#
#BUG#49591, Add proper version number to SHOW CREATE TABLE
#
-create table t1 (a int)
-partition by range (a)
+create table t1 (a DATETIME)
+partition by range (TO_DAYS(a))
subpartition by hash(to_seconds(a))
(partition p0 values less than (1));
show create table t1;
diff --git a/mysql-test/t/partition_symlink.test b/mysql-test/t/partition_symlink.test
index 4147d2c6e89..5fdde8e0abc 100644
--- a/mysql-test/t/partition_symlink.test
+++ b/mysql-test/t/partition_symlink.test
@@ -1,5 +1,6 @@
# Test that must have symlink. eg. using DATA/INDEX DIR
# (DATA/INDEX DIR requires symlinks)
+# This test is only useful for MyISAM, since no other engine supports DATA DIR
-- source include/have_partition.inc
-- source include/have_symlink.inc
# remove the not_windows line after fixing bug#33687
@@ -33,13 +34,14 @@ DROP DATABASE IF EXISTS mysqltest2;
CREATE USER mysqltest_1@localhost;
CREATE DATABASE mysqltest2;
USE mysqltest2;
- CREATE TABLE t1 (a INT);
+ CREATE TABLE t1 (a INT) ENGINE = MyISAM;
INSERT INTO t1 VALUES (0);
connect(con1,localhost,mysqltest_1,,);
-- echo # user mysqltest_1:
USE test;
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (a INT)
+ ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
@@ -82,6 +84,7 @@ connection default;
USE mysqltest2;
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval CREATE TABLE t1 (a INT)
+ ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
@@ -96,6 +99,7 @@ connection con1;
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-- error 1,1
eval CREATE TABLE t1 (a INT)
+ ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
@@ -107,6 +111,7 @@ connection con1;
-- replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-- error 1,1
eval CREATE TABLE t1 (a INT)
+ ENGINE = MyISAM
PARTITION BY LIST (a) (
PARTITION p0 VALUES IN (0)
DATA DIRECTORY '$MYSQLTEST_VARDIR/tmp'
@@ -128,6 +133,7 @@ connection default;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval create table t2 (i int )
+ENGINE = MyISAM
partition by range (i)
(
partition p01 values less than (1000)
@@ -139,6 +145,7 @@ set @org_mode=@@sql_mode;
set @@sql_mode='NO_DIR_IN_CREATE';
select @@sql_mode;
create table t1 (i int )
+ENGINE = MyISAM
partition by range (i)
(
partition p01 values less than (1000)
@@ -157,6 +164,7 @@ set @@sql_mode=@org_mode;
# Added ER_WRONG_TABLE_NAME and reported bug#39045
-- error ER_WRONG_ARGUMENTS, ER_WRONG_TABLE_NAME
create table t1 (a int)
+ENGINE = MyISAM
partition by key (a)
(partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
@@ -167,6 +175,7 @@ partition by key (a)
# Added ER_WRONG_TABLE_NAME and reported bug#39045
--error ER_WRONG_ARGUMENTS, ER_WRONG_TABLE_NAME
create table t1 (a int)
+ENGINE = MyISAM
partition by key (a)
(partition p0,
partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
diff --git a/mysql-test/t/plugin_auth-master.opt b/mysql-test/t/plugin_auth-master.opt
new file mode 100644
index 00000000000..3536d102387
--- /dev/null
+++ b/mysql-test/t/plugin_auth-master.opt
@@ -0,0 +1,2 @@
+$PLUGIN_AUTH_OPT
+$PLUGIN_AUTH_LOAD
diff --git a/mysql-test/t/plugin_auth.test b/mysql-test/t/plugin_auth.test
new file mode 100644
index 00000000000..a81cf4e4783
--- /dev/null
+++ b/mysql-test/t/plugin_auth.test
@@ -0,0 +1,515 @@
+--source include/have_plugin_auth.inc
+--source include/not_embedded.inc
+--source include/mysql_upgrade_preparation.inc
+
+query_vertical SELECT PLUGIN_STATUS, PLUGIN_TYPE, PLUGIN_DESCRIPTION
+ FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='test_plugin_server';
+
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+
+SELECT plugin,authentication_string FROM mysql.user WHERE User='plug';
+
+--echo ## test plugin auth
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR : this should fail : no grant
+connect(plug_con,localhost,plug,plug_dest);
+--enable_query_log
+
+GRANT PROXY ON plug_dest TO plug;
+--echo test proxies_priv columns
+--replace_column 1 xx 7 xx
+SELECT * FROM mysql.proxies_priv;
+--echo test mysql.proxies_priv;
+SHOW CREATE TABLE mysql.proxies_priv;
+
+connect(plug_con,localhost,plug,plug_dest);
+
+connection plug_con;
+select USER(),CURRENT_USER();
+
+--echo ## test SET PASSWORD
+#--error ER_SET_PASSWORD_AUTH_PLUGIN
+SET PASSWORD = PASSWORD('plug_dest');
+
+connection default;
+disconnect plug_con;
+
+--echo ## test bad credentials
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect(plug_con,localhost,plug,bad_credentials);
+--enable_query_log
+
+--echo ## test bad default plugin : should get CR_AUTH_PLUGIN_CANNOT_LOAD
+--disable_result_log
+--disable_query_log
+--error 2059
+connect(plug_con_wrongp,localhost,plug,plug_dest,,,,,wrong_plugin_name);
+--enable_query_log
+--enable_result_log
+
+--echo ## test correct default plugin
+connect(plug_con_rightp,localhost,plug,plug_dest,,,,,auth_test_plugin);
+connection plug_con_rightp;
+select USER(),CURRENT_USER();
+connection default;
+disconnect plug_con_rightp;
+
+--echo ## test no_auto_create_user sql mode with plugin users
+SET @@sql_mode=no_auto_create_user;
+GRANT INSERT ON TEST.* TO grant_user IDENTIFIED WITH 'test_plugin_server';
+SET @@sql_mode=default;
+DROP USER grant_user;
+
+--echo ## test utf-8 user name
+CREATE USER `Ÿ` IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+
+GRANT PROXY ON plug_dest TO `Ÿ`;
+
+connect(non_ascii,localhost,Ÿ,plug_dest);
+connection non_ascii;
+select USER(),CURRENT_USER();
+
+connection default;
+disconnect non_ascii;
+DROP USER `Ÿ`;
+
+--echo ## test GRANT ... IDENTIFIED WITH/BY ...
+
+CREATE DATABASE test_grant_db;
+
+--echo # create new user via GRANT WITH
+GRANT ALL PRIVILEGES ON test_grant_db.* TO new_grant_user
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+
+GRANT PROXY ON plug_dest TO new_grant_user;
+
+connect(plug_con_grant,localhost,new_grant_user,plug_dest);
+connection plug_con_grant;
+select USER(),CURRENT_USER();
+USE test_grant_db;
+CREATE TABLE t1 (a INT);
+DROP TABLE t1;
+connection default;
+disconnect plug_con_grant;
+REVOKE ALL PRIVILEGES ON test_grant_db.* FROM new_grant_user;
+
+--echo # try re-create existing user via GRANT IDENTIFIED BY
+GRANT ALL PRIVILEGES ON test_grant_db.* TO new_grant_user
+ IDENTIFIED BY 'unused_password';
+
+--echo # make sure password doesn't take precendence
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR
+connect(plug_con_grant_deny,localhost,new_grant_user,unused_password);
+--enable_query_log
+
+--echo #make sure plugin auth still available
+connect(plug_con_grant,localhost,new_grant_user,plug_dest);
+connection plug_con_grant;
+select USER(),CURRENT_USER();
+USE test_grant_db;
+CREATE TABLE t1 (a INT);
+DROP TABLE t1;
+connection default;
+disconnect plug_con_grant;
+
+DROP USER new_grant_user;
+
+--echo # try re-create existing user via GRANT IDENTIFIED WITH
+
+--error ER_GRANT_PLUGIN_USER_EXISTS
+GRANT ALL PRIVILEGES ON test_grant_db.* TO plug
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+
+--error ER_GRANT_PLUGIN_USER_EXISTS
+GRANT ALL PRIVILEGES ON test_grant_db.* TO plug_dest
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+
+--error ER_PARSE_ERROR
+REVOKE SELECT on test_grant_db.* FROM joro
+ INDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+
+--error ER_PARSE_ERROR
+REVOKE SELECT on test_grant_db.* FROM joro
+ INDENTIFIED BY 'plug_dest_passwd';
+
+--error ER_PARSE_ERROR
+REVOKE SELECT on test_grant_db.* FROM joro
+ INDENTIFIED BY PASSWORD 'plug_dest_passwd';
+
+DROP DATABASE test_grant_db;
+
+--echo ## GRANT PROXY tests
+
+CREATE USER grant_plug IDENTIFIED WITH 'test_plugin_server'
+ AS 'grant_plug_dest';
+CREATE USER grant_plug_dest IDENTIFIED BY 'grant_plug_dest_passwd';
+CREATE USER grant_plug_dest2 IDENTIFIED BY 'grant_plug_dest_passwd2';
+
+--echo # ALL PRIVILEGES doesn't include PROXY
+GRANT ALL PRIVILEGES ON *.* TO grant_plug;
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR : this should fail : no grant
+connect(grant_plug_con,localhost,grant_plug,grant_plug_dest);
+--enable_query_log
+
+--error ER_PARSE_ERROR : this should fail : can't combine PROXY
+GRANT ALL PRIVILEGES,PROXY ON grant_plug_dest TO grant_plug;
+
+--echo this should fail : can't combine PROXY
+--error ER_PARSE_ERROR
+GRANT ALL SELECT,PROXY ON grant_plug_dest TO grant_plug;
+
+--echo # this should fail : no such grant
+--error ER_NONEXISTING_GRANT
+REVOKE PROXY ON grant_plug_dest FROM grant_plug;
+
+connect(grant_plug_dest_con,localhost,grant_plug_dest,grant_plug_dest_passwd);
+connection grant_plug_dest_con;
+--echo in grant_plug_dest_con
+
+--echo ## testing what an ordinary user can grant
+--echo this should fail : no rights to grant all
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+GRANT PROXY ON ''@'' TO grant_plug;
+
+--echo this should fail : not the same user
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+GRANT PROXY ON grant_plug TO grant_plug_dest;
+
+--echo this should fail : same user, but on a different host
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+GRANT PROXY ON grant_plug_dest TO grant_plug;
+
+--echo this should work : same user
+GRANT PROXY ON grant_plug_dest@localhost TO grant_plug_dest2;
+REVOKE PROXY ON grant_plug_dest@localhost FROM grant_plug_dest2;
+
+--echo this should work : same user
+GRANT PROXY ON grant_plug_dest@localhost TO grant_plug WITH GRANT OPTION;
+REVOKE PROXY ON grant_plug_dest@localhost FROM grant_plug;
+
+--echo this should fail : can't create users
+--error ER_CANT_CREATE_USER_WITH_GRANT
+GRANT PROXY ON grant_plug_dest@localhost TO grant_plug@localhost;
+
+connection default;
+--echo in default connection
+disconnect grant_plug_dest_con;
+
+--echo # test what root can grant
+
+--echo should work : root has PROXY to all users
+GRANT PROXY ON ''@'' TO grant_plug;
+REVOKE PROXY ON ''@'' FROM grant_plug;
+
+--echo should work : root has PROXY to all users
+GRANT PROXY ON ''@'' TO proxy_admin IDENTIFIED BY 'test'
+ WITH GRANT OPTION;
+
+--echo need USAGE : PROXY doesn't contain it.
+GRANT USAGE on *.* TO proxy_admin;
+
+connect (proxy_admin_con,localhost,proxy_admin,test);
+connection proxy_admin_con;
+--echo in proxy_admin_con;
+
+--echo should work : proxy_admin has proxy to ''@''
+GRANT PROXY ON future_user TO grant_plug;
+
+connection default;
+--echo in default connection
+disconnect proxy_admin_con;
+
+SHOW GRANTS FOR grant_plug;
+REVOKE PROXY ON future_user FROM grant_plug;
+SHOW GRANTS FOR grant_plug;
+
+--echo ## testing drop user
+CREATE USER test_drop@localhost;
+GRANT PROXY ON future_user TO test_drop@localhost;
+SHOW GRANTS FOR test_drop@localhost;
+DROP USER test_drop@localhost;
+SELECT * FROM mysql.proxies_priv WHERE Host = 'test_drop' AND User = 'localhost';
+
+DROP USER proxy_admin;
+
+DROP USER grant_plug,grant_plug_dest,grant_plug_dest2;
+
+--echo ## END GRANT PROXY tests
+
+--echo ## cleanup
+DROP USER plug;
+DROP USER plug_dest;
+
+--echo ## @@proxy_user tests
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug;
+
+SELECT USER(),CURRENT_USER(),@@LOCAL.proxy_user;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@GLOBAL.proxy_user;
+SELECT @@LOCAL.proxy_user;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL proxy_user = 'test';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET LOCAL proxy_user = 'test';
+SELECT @@LOCAL.proxy_user;
+
+connect(plug_con,localhost,plug,plug_dest);
+connection plug_con;
+--echo # in connection plug_con
+SELECT @@LOCAL.proxy_user;
+connection default;
+--echo # in connection default
+disconnect plug_con;
+
+--echo ## cleanup
+DROP USER plug;
+DROP USER plug_dest;
+--echo ## END @@proxy_user tests
+
+--echo ## @@external_user tests
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug;
+SELECT USER(),CURRENT_USER(),@@LOCAL.external_user;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@GLOBAL.external_user;
+SELECT @@LOCAL.external_user;
+
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET GLOBAL external_user = 'test';
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SET LOCAL external_user = 'test';
+SELECT @@LOCAL.external_user;
+
+connect(plug_con,localhost,plug,plug_dest);
+connection plug_con;
+--echo # in connection plug_con
+SELECT @@LOCAL.external_user;
+connection default;
+--echo # in connection default
+disconnect plug_con;
+
+--echo ## cleanup
+DROP USER plug;
+DROP USER plug_dest;
+--echo ## END @@external_user tests
+
+--echo #
+--echo # Bug #56798 : Wrong credentials assigned when using a proxy user.
+--echo #
+
+GRANT ALL PRIVILEGES ON *.* TO power_user;
+GRANT USAGE ON anonymous_db.* TO ''@''
+ IDENTIFIED WITH 'test_plugin_server' AS 'power_user';
+GRANT PROXY ON power_user TO ''@'';
+CREATE DATABASE confidential_db;
+
+connect(plug_con,localhost, test_login_user, power_user, confidential_db);
+SELECT user(),current_user(),@@proxy_user;
+
+connection default;
+disconnect plug_con;
+
+DROP USER power_user;
+DROP USER ''@'';
+DROP DATABASE confidential_db;
+
+--echo # Test case #2 (crash with double grant proxy)
+
+CREATE USER ''@'' IDENTIFIED WITH 'test_plugin_server' AS 'standard_user';
+CREATE USER standard_user;
+CREATE DATABASE shared;
+GRANT ALL PRIVILEGES ON shared.* TO standard_user;
+GRANT PROXY ON standard_user TO ''@'';
+--echo #should not crash
+GRANT PROXY ON standard_user TO ''@'';
+
+DROP USER ''@'';
+DROP USER standard_user;
+DROP DATABASE shared;
+
+
+--echo #
+--echo # Bug #57551 : Live upgrade fails between 5.1.52 -> 5.5.7-rc
+--echo #
+
+CALL mtr.add_suppression("Missing system table mysql.proxies_priv.");
+
+DROP TABLE mysql.proxies_priv;
+
+--echo # Must come back with mysql.proxies_priv absent.
+--source include/restart_mysqld.inc
+
+--error ER_NO_SUCH_TABLE
+SELECT * FROM mysql.proxies_priv;
+
+CREATE USER u1@localhost;
+GRANT ALL PRIVILEGES ON *.* TO u1@localhost;
+REVOKE ALL PRIVILEGES ON *.* FROM u1@localhost;
+GRANT ALL PRIVILEGES ON *.* TO u1@localhost;
+
+CREATE USER u2@localhost;
+GRANT ALL PRIVILEGES ON *.* TO u2@localhost;
+
+--echo # access denied because of no privileges to root
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+GRANT PROXY ON u2@localhost TO u1@localhost;
+
+--echo # access denied because of no privileges to root
+--error ER_ACCESS_DENIED_NO_PASSWORD_ERROR
+REVOKE PROXY ON u2@localhost FROM u1@localhost;
+
+--echo # go try graning proxy on itself, so that it will need the table
+connect(proxy_granter_con,localhost,u2,);
+connection proxy_granter_con;
+
+--error ER_NO_SUCH_TABLE
+GRANT PROXY ON u2@localhost TO u1@localhost;
+--error ER_NO_SUCH_TABLE
+REVOKE PROXY ON u2@localhost FROM u1@localhost;
+
+connection default;
+disconnect proxy_granter_con;
+
+--echo # test if REVOKE works without the proxies_priv table
+REVOKE ALL PRIVILEGES ON *.* FROM u1@localhost, u2@localhost;
+
+--echo # test if DROP USER work without the proxies_priv table
+DROP USER u1@localhost,u2@localhost;
+
+--echo # test if FLUSH PRIVILEGES works without the proxies_priv table
+FLUSH PRIVILEGES;
+
+--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
+--query_vertical SELECT Host,User,Proxied_host,Proxied_user,With_grant FROM mysql.proxies_priv
+
+FLUSH PRIVILEGES;
+
+--echo #
+--echo # Bug#58139 : default-auth option not recognized in MySQL standard
+--echo # command line clients
+--echo #
+
+--echo # Executing 'mysql'
+--exec $MYSQL -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --default-auth=auth_test_plugin $PLUGIN_AUTH_OPT -e "SELECT 1"
+
+--echo # Executing 'mysqladmin'
+--exec $MYSQLADMIN -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --default-auth=auth_test_plugin $PLUGIN_AUTH_OPT ping
+
+--echo # Executing 'mysqldump'
+--exec $MYSQL_DUMP -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --compact --default-auth=auth_test_plugin $PLUGIN_AUTH_OPT test
+
+--echo # Executing 'mysql_upgrade'
+--exec $MYSQL_UPGRADE -u root -S $MASTER_MYSOCK -P $MASTER_MYPORT --default-auth=auth_test_plugin $PLUGIN_AUTH_OPT --skip-verbose --force --upgrade-system-tables
+
+--echo #
+--echo # Bug #59657: Move the client authentication_pam plugin into the
+--echo # server repository
+--echo #
+
+CREATE USER uplain@localhost IDENTIFIED WITH 'cleartext_plugin_server'
+ AS 'cleartext_test';
+
+--echo ## test plugin auth
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR : this should fail : no grant
+connect(cleartext_fail_con,localhost,uplain,cleartext_test2);
+--enable_query_log
+
+connect(cleartext_con,localhost,uplain,cleartext_test);
+connection cleartext_con;
+select USER(),CURRENT_USER();
+
+connection default;
+disconnect cleartext_con;
+DROP USER uplain@localhost;
+
+--echo #
+--echo # Bug #59038 : mysql.user.authentication_string column
+--echo # causes configuration wizard to fail
+
+INSERT INTO mysql.user(
+ Host,
+ User,
+ Password,
+ Select_priv,
+ Insert_priv,
+ Update_priv,
+ Delete_priv,
+ Create_priv,
+ Drop_priv,
+ Reload_priv,
+ Shutdown_priv,
+ Process_priv,
+ File_priv,
+ Grant_priv,
+ References_priv,
+ Index_priv,
+ Alter_priv,
+ Show_db_priv,
+ Super_priv,
+ Create_tmp_table_priv,
+ Lock_tables_priv,
+ Execute_priv,
+ Repl_slave_priv,
+ Repl_client_priv,
+ /*!50001
+ Create_view_priv,
+ Show_view_priv,
+ Create_routine_priv,
+ Alter_routine_priv,
+ Create_user_priv,
+ */
+ ssl_type,
+ ssl_cipher,
+ x509_issuer,
+ x509_subject,
+ max_questions,
+ max_updates,
+ max_connections)
+VALUES (
+ 'localhost',
+ 'inserttest', '',
+ 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
+ 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
+ /*!50001 'Y', 'Y', 'Y', 'Y', 'Y', */'', '', '', '', '0', '0', '0');
+FLUSH PRIVILEGES;
+DROP USER inserttest@localhost;
+SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
+ COLUMN_NAME IN ('authentication_string', 'plugin') AND
+ TABLE_NAME='user' AND
+ TABLE_SCHEMA='mysql'
+ORDER BY COLUMN_NAME;
+
+
+--echo #
+--echo # Bug #11936829: diff. between mysql.user (authentication_string)
+--echo # in fresh and upgraded 5.5.11
+--echo #
+
+SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
+ WHERE TABLE_SCHEMA= 'mysql' AND TABLE_NAME= 'user' AND
+ COLUMN_NAME IN ('plugin', 'authentication_string')
+ ORDER BY COLUMN_NAME;
+ALTER TABLE mysql.user MODIFY plugin char(64) DEFAULT '' NOT NULL;
+ALTER TABLE mysql.user MODIFY authentication_string TEXT NOT NULL;
+
+--echo Run mysql_upgrade on a 5.5.10 external authentication column layout
+--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
+
+SELECT IS_NULLABLE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
+ WHERE TABLE_SCHEMA= 'mysql' AND TABLE_NAME= 'user' AND
+ COLUMN_NAME IN ('plugin', 'authentication_string')
+ ORDER BY COLUMN_NAME;
+
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/plugin_auth_qa-master.opt b/mysql-test/t/plugin_auth_qa-master.opt
new file mode 100644
index 00000000000..3536d102387
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa-master.opt
@@ -0,0 +1,2 @@
+$PLUGIN_AUTH_OPT
+$PLUGIN_AUTH_LOAD
diff --git a/mysql-test/t/plugin_auth_qa.test b/mysql-test/t/plugin_auth_qa.test
new file mode 100644
index 00000000000..0961c1dfef5
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa.test
@@ -0,0 +1,338 @@
+# The numbers represent test cases of the test plan.
+
+--source include/have_plugin_auth.inc
+--source include/not_embedded.inc
+
+CREATE DATABASE test_user_db;
+
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo ========== test 1.1 ======================================================
+# without '', without AS part
+CREATE USER plug IDENTIFIED WITH test_plugin_server;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug;
+DROP USER plug;
+# with '', without AS part
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug;
+DROP USER plug;
+# without '', AS part empty
+CREATE USER plug IDENTIFIED WITH test_plugin_server AS '';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS '';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM plug;
+DROP USER plug;
+# with '', AS part empty without ''
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS ;
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS;
+# without '', AS part without ''
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH test_plugin_server AS plug_dest;
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS plug_dest;
+--echo ========== test 1.1 syntax errors ========================================
+# without auth_name
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH AS plug_dest;
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH AS plug_dest;
+# without auth_name and AS part
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH;
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH;
+# without auth_name but AS part
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED AS '';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED AS '';
+# with 2 auth_name parts
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' IDENTIFIED WITH 'test_plugin_server';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug
+ IDENTIFIED WITH 'test_plugin_server' IDENTIFIED WITH 'test_plugin_server';
+# with 2 AS parts
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS '' AS 'plug_dest';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug AS '' AS 'plug_dest';
+# with 2 complete WITH parts
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS ''
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS ''
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+# with BY and WITH part
+--error ER_PARSE_ERROR
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED BY 'plug_dest_passwd'
+ IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+# with WITH part and BY part
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ USER plug_dest IDENTIFIED by 'plug_dest_pwd';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ USER plug_dest IDENTIFIED by 'plug_dest_pwd';
+# with WITH part and BY part
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ plug_dest IDENTIFIED by 'plug_dest_pwd';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ plug_dest IDENTIFIED by 'plug_dest_pwd';
+# with WITH part and BY part
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ IDENTIFIED by 'plug_dest_pwd';
+--error ER_PARSE_ERROR
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest'
+ IDENTIFIED by 'plug_dest_pwd';
+
+--echo ========== test 1.1 combinations ==========================
+# CREATE...WITH/CREATE...BY
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--echo ========== test 1.1.1.6/1.1.2.5 ============================
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug, plug_dest;
+#
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug_dest;
+# GRANT...WITH/CREATE...BY
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug, plug_dest;
+#
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug_dest;
+# CREATE...WITH/GRANT...BY
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug, plug_dest;
+#
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug_dest;
+#
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--error 1700
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--error 1700
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_server';
+DROP USER plug;
+#
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--error ER_CANNOT_USER
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--error ER_CANNOT_USER
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server';
+DROP USER plug;
+#
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+#
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--error ER_CANNOT_USER
+CREATE USER plug IDENTIFIED BY 'plug_dest_passwd';
+DROP USER plug;
+#
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+DROP USER plug,plug_dest;
+#
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+DROP USER plug,plug_dest;
+#
+
+--echo ========== test 1.1.1.1/1.1.2.1/1.1.1.5 ====================
+
+SET NAMES utf8;
+#
+CREATE USER plüg IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plüg;
+CREATE USER plüg_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plüg_dest;
+
+SET NAMES ascii;
+#
+CREATE USER 'plüg' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'plüg';
+CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'plüg_dest';
+
+SET NAMES latin1;
+#
+--echo ========== test 1.1.1.5 ====================================
+--error ER_PLUGIN_IS_NOT_LOADED
+CREATE USER 'plüg' IDENTIFIED WITH 'test_plügin_server' AS 'plüg_dest';
+CREATE USER 'plug' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'plug';
+CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'plüg_dest';
+
+SET NAMES utf8;
+#
+--error ER_PLUGIN_IS_NOT_LOADED
+CREATE USER plüg IDENTIFIED WITH 'test_plügin_server' AS 'plüg_dest';
+CREATE USER 'plüg' IDENTIFIED WITH 'test_plugin_server' AS 'plüg_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'plüg';
+CREATE USER 'plüg_dest' IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'plüg_dest';
+
+CREATE USER plüg IDENTIFIED WITH test_plugin_server AS 'plüg_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plüg;
+CREATE USER plüg_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plüg_dest;
+
+--echo ========== test 1.1.1.2/1.1.2.2=============================
+
+SET @auth_name= 'test_plugin_server';
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH @auth_name AS 'plug_dest';
+
+SET @auth_string= 'plug_dest';
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH test_plugin_server AS @auth_string;
+
+--echo ========== test 1.1.1.3/1.1.2.3=============================
+
+--error ER_PLUGIN_IS_NOT_LOADED
+CREATE USER plug IDENTIFIED WITH 'hh''s_test_plugin_server' AS 'plug_dest';
+
+CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'hh''s_plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug;
+CREATE USER 'hh''s_plug_dest' IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER 'hh''s_plug_dest';
+
+--echo ========== test 1.1.1.4 ====================================
+
+--error ER_PARSE_ERROR
+CREATE USER plug IDENTIFIED WITH hh''s_test_plugin_server AS 'plug_dest';
+
+--echo ========== test 1.1.3.1 ====================================
+
+GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+CREATE USER plug_dest;
+DROP USER plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER grant_user,plug_dest;
+#
+set @save_sql_mode= @@sql_mode;
+SET @@sql_mode=no_auto_create_user;
+GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+CREATE USER plug_dest;
+DROP USER plug_dest;
+--error ER_PASSWORD_NO_MATCH
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest;
+DROP USER grant_user;
+#
+GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+DROP USER plug_dest;
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_user_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+DROP USER grant_user,plug_dest;
+set @@sql_mode= @save_sql_mode;
+#
+DROP DATABASE test_user_db;
+--exit
+
diff --git a/mysql-test/t/plugin_auth_qa_1-master.opt b/mysql-test/t/plugin_auth_qa_1-master.opt
new file mode 100644
index 00000000000..3536d102387
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa_1-master.opt
@@ -0,0 +1,2 @@
+$PLUGIN_AUTH_OPT
+$PLUGIN_AUTH_LOAD
diff --git a/mysql-test/t/plugin_auth_qa_1.test b/mysql-test/t/plugin_auth_qa_1.test
new file mode 100644
index 00000000000..06908935b01
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa_1.test
@@ -0,0 +1,340 @@
+# The numbers represent test cases of the test plan.
+
+--source include/have_plugin_auth.inc
+--source include/not_embedded.inc
+
+CREATE DATABASE test_user_db;
+
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+
+--echo ========== test 1.1.3.2 ====================================
+
+# CREATE...WITH/CREATE...BY/GRANT
+CREATE USER plug_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+--replace_result $MASTER_MYSOCK MASTER_MYSOCK $PLUGIN_AUTH_OPT PLUGIN_AUTH_OPT
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+REVOKE PROXY ON plug_dest FROM plug_user;
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+DROP USER plug_user,plug_dest;
+#
+# GRANT...WITH
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo 1)
+--replace_result $MASTER_MYSOCK MASTER_MYSOCK $PLUGIN_AUTH_OPT PLUGIN_AUTH_OPT
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user'
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+--echo 2)
+--replace_result $MASTER_MYSOCK MASTER_MYSOCK $PLUGIN_AUTH_OPT PLUGIN_AUTH_OPT
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+REVOKE PROXY ON plug_dest FROM plug_user;
+--echo 3)
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+DROP USER plug_user,plug_dest;
+#
+# GRANT...WITH/CREATE...BY
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--echo 1)
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+GRANT PROXY ON plug_dest TO plug_user;
+--echo 2)
+--replace_result $MASTER_MYSOCK MASTER_MYSOCK $PLUGIN_AUTH_OPT PLUGIN_AUTH_OPT
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();USE test_user_db;CREATE TABLE t1(a int);SHOW TABLES;DROP TABLE t1;" 2>&1
+REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_user'
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+#REVOKE ALL PRIVILEGES ON test_user_db.* FROM 'plug_dest'
+# IDENTIFIED BY 'plug_dest_passwd';
+DROP USER plug_user,plug_dest;
+
+--echo ========== test 1.2 ========================================
+
+# GRANT...WITH/CREATE...BY
+GRANT ALL PRIVILEGES ON test_user_db.* TO plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+--replace_result $MASTER_MYSOCK MASTER_MYSOCK $PLUGIN_AUTH_OPT PLUGIN_AUTH_OPT
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+RENAME USER plug_dest TO new_dest;
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+GRANT PROXY ON new_dest TO plug_user;
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=new_dest -e "SELECT current_user();SELECT user();" 2>&1
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug_user,new_dest;
+
+# CREATE...WITH/CREATE...BY
+CREATE USER plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+GRANT PROXY ON plug_dest TO plug_user;
+--replace_result $MASTER_MYSOCK MASTER_MYSOCK $PLUGIN_AUTH_OPT PLUGIN_AUTH_OPT
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+RENAME USER plug_dest TO new_dest;
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=plug_dest -e "SELECT current_user();SELECT user();" 2>&1
+GRANT PROXY ON new_dest TO plug_user;
+--error 1
+--exec $MYSQL -S $MASTER_MYSOCK -u plug_user $PLUGIN_AUTH_OPT --password=new_dest -e "SELECT current_user();SELECT user();" 2>&1
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug_user,new_dest;
+# CREATE...WITH
+CREATE USER plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+--echo connect(plug_user,localhost,plug_user,plug_dest);
+connect(plug_user,localhost,plug_user,plug_dest);
+select USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--echo disconnect plug_user;
+disconnect plug_user;
+RENAME USER plug_user TO new_user;
+--echo connect(plug_user,localhost,new_user,plug_dest);
+connect(plug_user,localhost,new_user,plug_dest);
+select USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo disconnect plug_user;
+disconnect plug_user;
+UPDATE mysql.user SET user='plug_user' WHERE user='new_user';
+FLUSH PRIVILEGES;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+DROP USER plug_dest,plug_user;
+--echo ========== test 1.3 ========================================
+
+#
+CREATE USER plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+--echo connect(plug_user,localhost,plug_user,plug_dest);
+connect(plug_user,localhost,plug_user,plug_dest);
+select USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--echo disconnect plug_user;
+disconnect plug_user;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+UPDATE mysql.user SET user='new_user' WHERE user='plug_user';
+FLUSH PRIVILEGES;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+UPDATE mysql.user SET authentication_string='new_dest' WHERE user='new_user';
+FLUSH PRIVILEGES;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+UPDATE mysql.user SET plugin='new_plugin_server' WHERE user='new_user';
+FLUSH PRIVILEGES;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo connect(plug_user,localhost,new_user,new_dest);
+--disable_query_log
+--error ER_PLUGIN_IS_NOT_LOADED
+connect(plug_user,localhost,new_user,new_dest);
+--enable_query_log
+UPDATE mysql.user SET plugin='test_plugin_server' WHERE user='new_user';
+UPDATE mysql.user SET USER='new_dest' WHERE user='plug_dest';
+FLUSH PRIVILEGES;
+GRANT PROXY ON new_dest TO new_user;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo connect(plug_user,localhost,new_user,new_dest);
+connect(plug_user,localhost,new_user,new_dest);
+select USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--echo disconnect plug_user;
+disconnect plug_user;
+UPDATE mysql.user SET USER='plug_dest' WHERE user='new_dest';
+FLUSH PRIVILEGES;
+CREATE USER new_dest IDENTIFIED BY 'new_dest_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+GRANT ALL PRIVILEGES ON test.* TO new_user;
+--echo connect(plug_user,localhost,new_dest,new_dest_passwd);
+connect(plug_user,localhost,new_dest,new_dest_passwd);
+select USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--echo disconnect plug_user;
+disconnect plug_user;
+DROP USER new_user,new_dest,plug_dest;
+
+--echo ========== test 2, 2.1, 2.2 ================================
+
+CREATE USER ''@'' IDENTIFIED WITH test_plugin_server AS 'proxied_user';
+CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+--echo ========== test 2.2.1 ======================================
+SELECT @@proxy_user;
+--echo connection default;
+connection default;
+--echo disconnect proxy_con;
+disconnect proxy_con;
+--echo connect(proxy_con,localhost,proxy_user,proxied_user);
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR : this should fail : no grant
+connect(proxy_con,localhost,proxy_user,proxied_user);
+--enable_query_log
+GRANT PROXY ON proxied_user TO ''@'';
+--echo connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--echo disconnect proxy_con;
+disconnect proxy_con;
+--echo connect(proxy_con,localhost,proxy_user,proxied_user);
+connect(proxy_con,localhost,proxy_user,proxied_user);
+SELECT USER(),CURRENT_USER();
+--echo ========== test 2.2.1 ======================================
+SELECT @@proxy_user;
+--echo connection default;
+connection default;
+--echo disconnect proxy_con;
+disconnect proxy_con;
+DROP USER ''@'',proxied_user;
+#
+GRANT ALL PRIVILEGES ON test_user_db.* TO ''@''
+ IDENTIFIED WITH test_plugin_server AS 'proxied_user';
+CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection default;
+connection default;
+--echo disconnect proxy_con;
+disconnect proxy_con;
+--echo connect(proxy_con,localhost,proxy_user,proxied_user);
+--disable_query_log
+--error ER_ACCESS_DENIED_ERROR : this should fail : no grant
+connect(proxy_con,localhost,proxy_user,proxied_user);
+--enable_query_log
+GRANT PROXY ON proxied_user TO ''@'';
+--echo connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
+SELECT USER(),CURRENT_USER();
+--echo connection default;
+connection default;
+--echo disconnect proxy_con;
+disconnect proxy_con;
+--echo connect(proxy_con,localhost,proxy_user,proxied_user);
+connect(proxy_con,localhost,proxy_user,proxied_user);
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection default;
+connection default;
+--echo disconnect proxy_con;
+disconnect proxy_con;
+DROP USER ''@'',proxied_user;
+#
+CREATE USER ''@'' IDENTIFIED WITH test_plugin_server AS 'proxied_user';
+CREATE USER proxied_user_1 IDENTIFIED BY 'proxied_user_1_pwd';
+CREATE USER proxied_user_2 IDENTIFIED BY 'proxied_user_2_pwd';
+CREATE USER proxied_user_3 IDENTIFIED BY 'proxied_user_3_pwd';
+CREATE USER proxied_user_4 IDENTIFIED BY 'proxied_user_4_pwd';
+CREATE USER proxied_user_5 IDENTIFIED BY 'proxied_user_5_pwd';
+GRANT PROXY ON proxied_user_1 TO ''@'';
+GRANT PROXY ON proxied_user_2 TO ''@'';
+GRANT PROXY ON proxied_user_3 TO ''@'';
+GRANT PROXY ON proxied_user_4 TO ''@'';
+GRANT PROXY ON proxied_user_5 TO ''@'';
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+--echo connect(proxy_con_1,localhost,proxied_user_1,'proxied_user_1_pwd');
+connect(proxy_con_1,localhost,proxied_user_1,'proxied_user_1_pwd');
+--echo connect(proxy_con_2,localhost,proxied_user_2,proxied_user_2_pwd);
+connect(proxy_con_2,localhost,proxied_user_2,proxied_user_2_pwd);
+--echo connect(proxy_con_3,localhost,proxied_user_3,proxied_user_3_pwd);
+connect(proxy_con_3,localhost,proxied_user_3,proxied_user_3_pwd);
+--echo connect(proxy_con_4,localhost,proxied_user_4,proxied_user_4_pwd);
+connect(proxy_con_4,localhost,proxied_user_4,proxied_user_4_pwd);
+--echo connect(proxy_con_5,localhost,proxied_user_5,proxied_user_5_pwd);
+connect(proxy_con_5,localhost,proxied_user_5,proxied_user_5_pwd);
+--echo connection proxy_con_1;
+connection proxy_con_1;
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection proxy_con_2;
+connection proxy_con_2;
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection proxy_con_3;
+connection proxy_con_3;
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection proxy_con_4;
+connection proxy_con_4;
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection proxy_con_5;
+connection proxy_con_5;
+SELECT USER(),CURRENT_USER();
+SELECT @@proxy_user;
+--echo connection default;
+connection default;
+--echo disconnect proxy_con_1;
+disconnect proxy_con_1;
+--echo disconnect proxy_con_2;
+disconnect proxy_con_2;
+--echo disconnect proxy_con_3;
+disconnect proxy_con_3;
+--echo disconnect proxy_con_4;
+disconnect proxy_con_4;
+--echo disconnect proxy_con_5;
+disconnect proxy_con_5;
+DROP USER ''@'',proxied_user_1,proxied_user_2,proxied_user_3,proxied_user_4,proxied_user_5;
+
+--echo ========== test 3 ==========================================
+
+GRANT ALL PRIVILEGES ON *.* TO plug_user
+ IDENTIFIED WITH test_plugin_server AS 'plug_dest';
+CREATE USER plug_dest IDENTIFIED BY 'plug_dest_passwd';
+GRANT PROXY ON plug_dest TO plug_user;
+FLUSH PRIVILEGES;
+
+# Not working with the patch.
+
+#--replace_result $MYSQLADMIN MYSQLADMIN $MASTER_MYPORT MYPORT $MASTER_MYSOCK MYSOCK
+#--exec $MYSQLADMIN $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT -S $MASTER_MYSOCK -u plug_user --password=plug_dest ping 2>&1
+#--replace_result $MYSQL_CHECK MYSQL_CHECK $MASTER_MYPORT MYPORT
+#--exec $MYSQL_CHECK $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT -u plug_user --password=plug_dest test
+#--replace_result $MYSQL_DUMP MYSQL_DUMP $MASTER_MYPORT MYPORT
+#--exec $MYSQL_DUMP -h localhost -P $MASTER_MYPORT $PLUGIN_AUTH_OPT -u plug_user --password=plug_dest test
+#--replace_result $MYSQL_SHOW MYSQL_SHOW $MASTER_MYPORT MYPORT
+#--exec $MYSQL_SHOW $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT --plugin_dir=../plugin/auth -u plug_user --password=plug_dest 2>&1
+DROP USER plug_user, plug_dest;
+DROP DATABASE test_user_db;
+--exit
diff --git a/mysql-test/t/plugin_auth_qa_2-master.opt b/mysql-test/t/plugin_auth_qa_2-master.opt
new file mode 100644
index 00000000000..354907b9366
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa_2-master.opt
@@ -0,0 +1,2 @@
+$PLUGIN_AUTH_INTERFACE_OPT
+$PLUGIN_AUTH_INTERFACE_LOAD
diff --git a/mysql-test/t/plugin_auth_qa_2.test b/mysql-test/t/plugin_auth_qa_2.test
new file mode 100644
index 00000000000..e265690dc7d
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa_2.test
@@ -0,0 +1,153 @@
+# Horst Hunger
+# Created: 2010-10-06
+#
+# Test of the authentification interface. The plugin checks the expected values set
+# by this application and the application checks the values set the the plugin.
+--source include/have_plugin_interface.inc
+--source include/not_embedded.inc
+
+CREATE DATABASE test_user_db;
+
+--echo ========== test 1.1.3.2 ====================================
+--echo === check contens of components of info ====================
+
+CREATE USER qa_test_1_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_1_dest';
+CREATE USER qa_test_1_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_1_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_1_dest TO qa_test_1_user;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+SELECT @@proxy_user;
+SELECT @@external_user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT -u qa_test_1_user --password=qa_test_1_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+
+DROP USER qa_test_1_user;
+DROP USER qa_test_1_dest;
+
+--echo === Assign values to components of info ====================
+
+CREATE USER qa_test_2_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_2_dest';
+CREATE USER qa_test_2_dest IDENTIFIED BY 'dest_passwd';
+CREATE USER authenticated_as IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_2_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_2_dest TO qa_test_2_user;
+GRANT PROXY ON authenticated_as TO qa_test_2_user;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+SELECT @@proxy_user;
+SELECT @@external_user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
+
+DROP USER qa_test_2_user;
+DROP USER qa_test_2_dest;
+DROP USER authenticated_as;
+
+--echo === Assign too high values for *length, which should have no effect ====
+
+CREATE USER qa_test_3_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_3_dest';
+CREATE USER qa_test_3_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_3_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_3_dest TO qa_test_3_user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT -u qa_test_3_user --password=qa_test_3_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+DROP USER qa_test_3_user;
+DROP USER qa_test_3_dest;
+
+--echo === Assign too low values for *length, which should have no effect ====
+
+CREATE USER qa_test_4_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_4_dest';
+CREATE USER qa_test_4_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_4_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_4_dest TO qa_test_4_user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT -u qa_test_4_user --password=qa_test_4_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+DROP USER qa_test_4_user;
+DROP USER qa_test_4_dest;
+
+--echo === Assign empty string especially to authenticated_as (in plugin) ====
+
+CREATE USER qa_test_5_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_5_dest';
+CREATE USER qa_test_5_dest IDENTIFIED BY 'dest_passwd';
+CREATE USER ''@'localhost' IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_5_dest identified by 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO ''@'localhost' identified by 'dest_passwd';
+GRANT PROXY ON qa_test_5_dest TO qa_test_5_user;
+GRANT PROXY ON qa_test_5_dest TO ''@'localhost';
+
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--error 1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT --user=qa_test_5_user --password=qa_test_5_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+DROP USER qa_test_5_user;
+DROP USER qa_test_5_dest;
+DROP USER ''@'localhost';
+
+--echo === Assign 'root' especially to authenticated_as (in plugin) ====
+
+CREATE USER qa_test_6_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
+CREATE USER qa_test_6_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_6_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_6_dest TO qa_test_6_user;
+
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--error 1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT --user=qa_test_6_user --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+GRANT PROXY ON qa_test_6_dest TO root IDENTIFIED WITH qa_auth_interface AS 'qa_test_6_dest';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--error 1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+REVOKE PROXY ON qa_test_6_dest FROM root;
+--sorted_result
+SELECT user,plugin,authentication_string FROM mysql.user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT -h localhost -P MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--error 1
+--exec $MYSQL $PLUGIN_AUTH_OPT -h localhost -P $MASTER_MYPORT --user=root --password=qa_test_6_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+DROP USER qa_test_6_user;
+DROP USER qa_test_6_dest;
+DELETE FROM mysql.user WHERE user='root' AND plugin='qa_auth_interface';
+--sorted_result
+SELECT user,plugin,authentication_string,password FROM mysql.user;
+
+
+--echo === Test of the --default_auth option for clients ====
+
+CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_interface AS 'qa_test_11_dest';
+CREATE USER qa_test_11_dest IDENTIFIED BY 'dest_passwd';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--error 1
+--exec $MYSQL $PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P $MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+DROP USER qa_test_11_user, qa_test_11_dest;
+DROP DATABASE test_user_db;
+
+--exit
diff --git a/mysql-test/t/plugin_auth_qa_3-master.opt b/mysql-test/t/plugin_auth_qa_3-master.opt
new file mode 100644
index 00000000000..e1754862a4d
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa_3-master.opt
@@ -0,0 +1,2 @@
+$PLUGIN_AUTH_SERVER_OPT
+$PLUGIN_AUTH_SERVER_LOAD
diff --git a/mysql-test/t/plugin_auth_qa_3.test b/mysql-test/t/plugin_auth_qa_3.test
new file mode 100644
index 00000000000..f7d90226332
--- /dev/null
+++ b/mysql-test/t/plugin_auth_qa_3.test
@@ -0,0 +1,25 @@
+# Horst Hunger
+# Created: 2010-10-06
+#
+# Test of the authentification interface. The plugin checks the expected values set
+# by this application and the application checks the values set the the plugin.
+--source include/have_plugin_server.inc
+--source include/not_embedded.inc
+
+CREATE DATABASE test_user_db;
+
+CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_server AS 'qa_test_11_dest';
+GRANT ALL PRIVILEGES ON test_user_db.* TO qa_test_11_dest identified by 'dest_passwd';
+GRANT PROXY ON qa_test_11_dest TO qa_test_11_user;
+
+--echo exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--exec $MYSQL $PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P $MASTER_MYPORT -u qa_test_11_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+--echo exec MYSQL PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P MASTER_MYPORT -u qa_test_2_user --password=qa_test_11_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+--error 1
+--exec $MYSQL $PLUGIN_AUTH_OPT --default_auth=qa_auth_client -h localhost -P $MASTER_MYPORT -u qa_test_2_user --password=qa_test_2_dest test_user_db -e "SELECT current_user(),user(),@@local.proxy_user,@@local.external_user;" 2>&1
+
+DROP USER qa_test_11_user, qa_test_11_dest;
+DROP DATABASE test_user_db;
+
+--exit
diff --git a/mysql-test/t/plugin_load_option-master.opt b/mysql-test/t/plugin_load_option-master.opt
new file mode 100644
index 00000000000..e22ecb4ff3a
--- /dev/null
+++ b/mysql-test/t/plugin_load_option-master.opt
@@ -0,0 +1,3 @@
+$EXAMPLE_PLUGIN_OPT
+$EXAMPLE_PLUGIN_LOAD
+--loose-plugin-example=FORCE_PLUS_PERMANENT
diff --git a/mysql-test/t/plugin_load_option.test b/mysql-test/t/plugin_load_option.test
new file mode 100644
index 00000000000..e49b693b5be
--- /dev/null
+++ b/mysql-test/t/plugin_load_option.test
@@ -0,0 +1,8 @@
+--source include/not_windows_embedded.inc
+--source include/have_example_plugin.inc
+
+--error ER_PLUGIN_IS_PERMANENT
+UNINSTALL PLUGIN example;
+
+SELECT PLUGIN_NAME, PLUGIN_STATUS, LOAD_OPTION FROM INFORMATION_SCHEMA.PLUGINS
+WHERE PLUGIN_NAME IN ('MyISAM', 'EXAMPLE');
diff --git a/mysql-test/t/plugin_not_embedded.test b/mysql-test/t/plugin_not_embedded.test
index 11350e8c896..f183d1f0ffe 100644
--- a/mysql-test/t/plugin_not_embedded.test
+++ b/mysql-test/t/plugin_not_embedded.test
@@ -18,3 +18,15 @@ UNINSTALL PLUGIN example;
disconnect con1;
connection default;
DROP USER bug51770@localhost;
+
+#
+# BUG#58246: INSTALL PLUGIN not secure & crashable
+#
+# The bug consisted of not recognizing / on Windows, so checking / on
+# all platforms should cover this case.
+
+let $path = `select CONCAT_WS('/', '..', '$EXAMPLE_PLUGIN')`;
+--replace_regex /\.dll/.so/
+--error ER_UDF_NO_PATHS
+eval INSTALL PLUGIN example SONAME '$path';
+
diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test
index a2ff40b7896..f53e72defcd 100644
--- a/mysql-test/t/ps.test
+++ b/mysql-test/t/ps.test
@@ -3108,6 +3108,7 @@ EXECUTE stmt;
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
+--echo
--echo End of 5.1 tests.
###########################################################################
@@ -3302,6 +3303,12 @@ SELECT @a;
DROP PROCEDURE p1;
DROP PROCEDURE p2;
+###########################################################################
+
+--source t/wl4435_generated.inc
+
+###########################################################################
+
--echo
--echo # End of WL#4435.
@@ -3344,7 +3351,21 @@ connection default;
DROP TABLE t1;
disconnect con1;
+--echo
+--echo #
+--echo # Bug#56115: invalid memory reads when PS selecting from
+--echo # information_schema tables
+--echo # Bug#58701: crash in Field::make_field, cursor-protocol
+--echo #
+--echo # NOTE: MTR should be run both with --ps-protocol and --cursor-protocol.
+--echo #
+--echo
+
+SELECT *
+FROM (SELECT 1 UNION SELECT 2) t;
+
+
--echo #
---echo # End of 6.0 tests.
+--echo # End of 5.5 tests.
###########################################################################
diff --git a/mysql-test/t/query_cache_28249.test b/mysql-test/t/query_cache_28249.test
index 21768b27c2e..b1be7c57343 100644
--- a/mysql-test/t/query_cache_28249.test
+++ b/mysql-test/t/query_cache_28249.test
@@ -30,7 +30,7 @@ connection user1;
SET GLOBAL query_cache_type=1;
SET GLOBAL query_cache_limit=10000;
SET GLOBAL query_cache_min_res_unit=0;
-SET GLOBAL query_cache_size= 100000;
+SET GLOBAL query_cache_size= 102400;
FLUSH TABLES;
--disable_warnings
@@ -58,18 +58,18 @@ connection user3;
# Typical information_schema.processlist content after sufficient sleep time
# ID USER COMMAND TIME STATE INFO
# ....
-# 2 root Query 5 Waiting for table level lock SELECT *, (SELECT COUNT(*) FROM t2) FROM t1
+# 2 root Query 5 Waiting for table metadata lock SELECT *, (SELECT COUNT(*) FROM t2) FROM t1
# ....
# XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# The values marked with 'X' must be reached.
--echo # Poll till the select of connection user1 is blocked by the write lock on t1.
let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist
-WHERE state = 'Waiting for table level lock'
+WHERE state = 'Waiting for table metadata lock'
AND info = '$select_for_qc';
--source include/wait_condition.inc
eval
SELECT user,command,state,info FROM information_schema.processlist
-WHERE state = 'Waiting for table level lock'
+WHERE state = 'Waiting for table metadata lock'
AND info = '$select_for_qc';
INSERT INTO t1 VALUES (4);
diff --git a/mysql-test/t/query_cache_debug.test b/mysql-test/t/query_cache_debug.test
index c2cd4d796aa..70b3c81168d 100644
--- a/mysql-test/t/query_cache_debug.test
+++ b/mysql-test/t/query_cache_debug.test
@@ -1,6 +1,6 @@
--source include/not_embedded.inc
--source include/have_query_cache.inc
---source include/have_debug.inc
+--source include/have_debug_sync.inc
#
# Bug #30887 Server crashes on SET GLOBAL query_cache_size=0
@@ -18,12 +18,11 @@ connect (bug30887con2, localhost, root, ,test);
connection bug30887con1;
--echo Activate debug hook and attempt to retrieve the statement from the cache.
-set session debug='+d,foobar,wait_in_query_cache_insert';
+set debug_sync="wait_in_query_cache_insert SIGNAL parked WAIT_FOR go";
--send select SQL_CACHE * from t1;
connection default;
-let $wait_condition= select count(*)= 1 from information_schema.processlist where state= 'wait_in_query_cache_insert';
---source include/wait_condition.inc
+set debug_sync="now WAIT_FOR parked";
connection bug30887con2;
--echo On a second connection; clear the query cache.
@@ -32,14 +31,18 @@ set global query_cache_size= 0;
connection default;
--echo Signal the debug hook to release the lock.
-select id from information_schema.processlist where state='wait_in_query_cache_insert' into @thread_id;
-kill query @thread_id;
+set debug_sync="now SIGNAL go";
--echo Show query cache status.
show status like 'Qcache_queries_in_cache';
+connection bug30887con1;
+--reap
+
disconnect bug30887con1;
disconnect bug30887con2;
+connection default;
+set debug_sync= 'RESET';
set global query_cache_size= 0;
use test;
drop table t1;
@@ -67,18 +70,14 @@ connect(con2,localhost,root,,test,,);
connection con1;
--echo # Switch to connection con1
-SET SESSION debug='+d,foobar,wait_after_query_cache_invalidate';
+SET DEBUG_SYNC = "wait_after_query_cache_invalidate SIGNAL parked WAIT_FOR go";
--echo # Send concurrent insert, will wait in the query cache table invalidate
--send INSERT INTO t1 VALUES (4)
connection default;
--echo # Switch to connection default
--echo # Wait for concurrent insert to reach the debug point
-let $wait_condition=
- SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
- WHERE STATE = "wait_after_query_cache_invalidate" AND
- INFO = "INSERT INTO t1 VALUES (4)";
---source include/wait_condition.inc
+SET DEBUG_SYNC = "now WAIT_FOR parked";
connection con2;
--echo # Switch to connection con2
@@ -88,9 +87,7 @@ SELECT * FROM t1;
connection default;
--echo # Switch to connection default
--echo # Notify the concurrent insert to proceed
-SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
- WHERE STATE = 'wait_after_query_cache_invalidate' INTO @thread_id;
-KILL QUERY @thread_id;
+SET DEBUG_SYNC = "now SIGNAL go";
connection con1;
--echo # Switch to connection con1
@@ -107,6 +104,7 @@ disconnect con2;
connection default;
--echo # Restore defaults
+SET DEBUG_SYNC= 'RESET';
RESET QUERY CACHE;
DROP TABLE t1,t2;
SET GLOBAL concurrent_insert= DEFAULT;
@@ -157,15 +155,14 @@ SELECT SQL_CACHE * FROM t1;
--echo ** before the mutex lock in invalidate_table_internal.
--echo ** This will allow new result sets to be written into the QC.
--echo **
-SET SESSION debug='+d,foobar,wait_in_query_cache_invalidate1';
-SET SESSION debug='+d,foobar,wait_in_query_cache_invalidate2';
+SET DEBUG_SYNC="wait_in_query_cache_invalidate1 SIGNAL parked1_1 WAIT_FOR go1_1";
+SET DEBUG_SYNC="wait_in_query_cache_invalidate2 SIGNAL parked1_2 WAIT_FOR go1_2";
--send DELETE FROM t1 WHERE a like '%a%';
connection default;
--echo =================================== Connection default
--echo ** Assert that the expect process status is obtained.
-LET $wait_condition= SELECT SQL_NO_CACHE COUNT(*)= 1 FROM information_schema.processlist WHERE state= 'wait_in_query_cache_invalidate1';
---source include/wait_condition.inc
+SET DEBUG_SYNC="now WAIT_FOR parked1_1";
-- echo **
connection thd2;
@@ -173,32 +170,36 @@ connection thd2;
--echo ** On THD2: Insert a result into the cache. This attempt will be blocked
--echo ** because of a debug hook placed just before the mutex lock after which
--echo ** the first part of the result set is written.
-SET SESSION debug='+d,foobar,wait_in_query_cache_insert';
+SET DEBUG_SYNC="wait_in_query_cache_insert SIGNAL parked2 WAIT_FOR go2 EXECUTE 1";
--send SELECT SQL_CACHE * FROM t2 UNION SELECT * FROM t3
+connection default;
+--echo =================================== Connection default
+--echo ** Assert that the SELECT-stmt thread reaches the sync point.
+SET DEBUG_SYNC="now WAIT_FOR parked2";
+--echo **
+--echo **
+
connection thd3;
--echo =================================== Connection thd3
--echo ** On THD3: Insert another result into the cache and block on the same
--echo ** debug hook.
-SET SESSION debug='+d,foobar,wait_in_query_cache_insert';
---send SELECT SQL_CACHE * FROM t4 UNION SELECT * FROM t5;
+SET DEBUG_SYNC="wait_in_query_cache_insert SIGNAL parked3 WAIT_FOR go3 EXECUTE 1";
+--send SELECT SQL_CACHE * FROM t4 UNION SELECT * FROM t5
connection default;
--echo =================================== Connection default
---echo ** Assert that the two SELECT-stmt threads to reach the hook.
-LET $wait_condition= SELECT SQL_NO_CACHE COUNT(*)= 2 FROM information_schema.processlist WHERE state='wait_in_query_cache_insert';
---source include/wait_condition.inc
+--echo ** Assert that the SELECT-stmt thread reaches the sync point.
+SET DEBUG_SYNC="now WAIT_FOR parked3";
--echo **
--echo **
--echo ** Signal the DELETE thread, THD1, to continue. It will enter the mutex
--echo ** lock and set query cache status to TABLE_FLUSH_IN_PROGRESS and then
--echo ** unlock the mutex before stopping on the next debug hook.
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_invalidate1' LIMIT 1 INTO @flush_thread_id;
-KILL QUERY @flush_thread_id;
+SET DEBUG_SYNC="now SIGNAL go1_1";
--echo ** Assert that we reach the next debug hook.
-LET $wait_condition= SELECT SQL_NO_CACHE COUNT(*)= 1 FROM information_schema.processlist WHERE state='wait_in_query_cache_invalidate2';
---source include/wait_condition.inc
+SET DEBUG_SYNC="now WAIT_FOR parked1_2";
--echo **
--echo ** Signal the remaining debug hooks blocking THD2 and THD3.
@@ -206,10 +207,18 @@ LET $wait_condition= SELECT SQL_NO_CACHE COUNT(*)= 1 FROM information_schema.pro
--echo ** and finally release the mutex. The threads will continue to wait
--echo ** until a broadcast signal reaches them causing both threads to
--echo ** come alive and check the condition.
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_insert' ORDER BY id ASC LIMIT 1 INTO @thread_id;
-KILL QUERY @thread_id;
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_insert' ORDER BY id DESC LIMIT 1 INTO @thread_id;
-KILL QUERY @thread_id;
+SET DEBUG_SYNC="now SIGNAL go2";
+--echo ** Wait for thd2 to receive the signal
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = "Waiting for query cache lock";
+--source include/wait_condition.inc
+SET DEBUG_SYNC="now SIGNAL go3";
+--echo ** Wait for thd3 to receive the signal
+let $wait_condition=
+ SELECT COUNT(*) = 2 FROM information_schema.processlist
+ WHERE state = "Waiting for query cache lock";
+--source include/wait_condition.inc
--echo **
--echo ** Finally signal the DELETE statement on THD1 one last time.
@@ -218,11 +227,7 @@ KILL QUERY @thread_id;
--echo ** One signal will be sent to the thread group waiting for executing
--echo ** invalidations and a broadcast signal will be sent to the thread
--echo ** group holding result set writers.
-SELECT SQL_NO_CACHE id FROM information_schema.processlist WHERE state='wait_in_query_cache_invalidate2' LIMIT 1 INTO @flush_thread_id;
-KILL QUERY @flush_thread_id;
-
-LET $wait_condition= SELECT SQL_NO_CACHE COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE Id = @flush_thread_id AND Command = 'Sleep';
---source include/wait_condition.inc
+SET DEBUG_SYNC="now SIGNAL go1_2";
--echo **
--echo *************************************************************************
@@ -250,6 +255,7 @@ connection default;
disconnect thd1;
disconnect thd2;
disconnect thd3;
+SET DEBUG_SYNC= 'RESET';
SET GLOBAL query_cache_size= 0;
connection default;
@@ -259,4 +265,66 @@ FLUSH STATUS;
DROP TABLE t1,t2,t3,t4,t5;
SET GLOBAL query_cache_size= DEFAULT;
SET GLOBAL query_cache_type= DEFAULT;
-exit;
+
+--echo #
+--echo # Bug#56822: Add a thread state for sessions waiting on the query cache lock
+--echo #
+
+SET @old_query_cache_size= @@GLOBAL.query_cache_size;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2),(3);
+
+SET GLOBAL concurrent_insert= 1;
+SET GLOBAL query_cache_size= 1024*512;
+SET GLOBAL query_cache_type= ON;
+
+connect(con1,localhost,root,,test,,);
+connect(con2,localhost,root,,test,,);
+
+connection con1;
+--echo # Switch to connection con1
+SET DEBUG_SYNC = "wait_in_query_cache_invalidate2 SIGNAL parked WAIT_FOR go";
+--echo # Send INSERT, will wait in the query cache table invalidation
+--send INSERT INTO t1 VALUES (4);
+
+connection default;
+--echo # Switch to connection default
+--echo # Wait for insert to reach the debug point
+SET DEBUG_SYNC = "now WAIT_FOR parked";
+
+connection con2;
+--echo # Switch to connection con2
+--echo # Send a query that should wait on the query cache lock
+--send RESET QUERY CACHE
+
+connection default;
+--echo # Switch to connection default
+--echo # Wait for the state to be reflected in the processlist
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = "Waiting for query cache lock" AND info = "RESET QUERY CACHE";
+--source include/wait_condition.inc
+--echo # Signal that the query cache can be unlocked
+SET DEBUG_SYNC="now SIGNAL go";
+
+connection con1;
+--echo # Reap con1 and disconnect
+--reap
+disconnect con1;
+
+connection con2;
+--echo # Reap con2 and disconnect
+--reap
+disconnect con2;
+
+connection default;
+--echo # Restore defaults
+SET DEBUG_SYNC= 'RESET';
+RESET QUERY CACHE;
+DROP TABLE t1;
+SET GLOBAL query_cache_size= DEFAULT;
+SET GLOBAL query_cache_type= DEFAULT;
diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test
index 0ad3d3e8504..6c9320b708a 100644
--- a/mysql-test/t/range.test
+++ b/mysql-test/t/range.test
@@ -1325,4 +1325,71 @@ SELECT * FROM t1 WHERE 2 NOT BETWEEN c_notkey AND c_key;
DROP TABLE t1;
+--echo #
+--echo # Bug #57030: 'BETWEEN' evaluation is incorrect
+--echo #
+
+# Test some BETWEEN predicates which does *not* follow the
+# 'normal' pattern of <field> BETWEEN <low const> AND <high const>
+
+CREATE TABLE t1(pk INT PRIMARY KEY, i4 INT);
+CREATE UNIQUE INDEX i4_uq ON t1(i4);
+
+INSERT INTO t1 VALUES (1,10), (2,20), (3,30);
+
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 10;
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 10;
+
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND i4;
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND i4;
+
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND i4;
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND i4;
+
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND 10;
+SELECT * FROM t1 WHERE 10 BETWEEN i4 AND 10;
+
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND 10;
+SELECT * FROM t1 WHERE 10 BETWEEN 10 AND 10;
+
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 11 AND 11;
+SELECT * FROM t1 WHERE 10 BETWEEN 11 AND 11;
+
+EXPLAIN
+SELECT * FROM t1 WHERE 10 BETWEEN 100 AND 0;
+SELECT * FROM t1 WHERE 10 BETWEEN 100 AND 0;
+
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 100 AND 0;
+SELECT * FROM t1 WHERE i4 BETWEEN 100 AND 0;
+
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 99999999999999999;
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 99999999999999999;
+
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 999999999999999 AND 30;
+SELECT * FROM t1 WHERE i4 BETWEEN 999999999999999 AND 30;
+
+EXPLAIN
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND '20';
+SELECT * FROM t1 WHERE i4 BETWEEN 10 AND '20';
+
+#Should detect the EQ_REF 't2.pk=t1.i4'
+EXPLAIN
+SELECT * FROM t1, t1 as t2 WHERE t2.pk BETWEEN t1.i4 AND t1.i4;
+SELECT * FROM t1, t1 as t2 WHERE t2.pk BETWEEN t1.i4 AND t1.i4;
+
+EXPLAIN
+SELECT * FROM t1, t1 as t2 WHERE t1.i4 BETWEEN t2.pk AND t2.pk;
+SELECT * FROM t1, t1 as t2 WHERE t1.i4 BETWEEN t2.pk AND t2.pk;
+
+DROP TABLE t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/rpl_mysqldump_slave.test b/mysql-test/t/rpl_mysqldump_slave.test
index 8f27646ba08..3f39fe19c0a 100644
--- a/mysql-test/t/rpl_mysqldump_slave.test
+++ b/mysql-test/t/rpl_mysqldump_slave.test
@@ -1,4 +1,4 @@
-source include/master-slave.inc;
+--source include/master-slave.inc
--echo #
--echo # New --dump-slave, --apply-slave-statements functionality
@@ -26,3 +26,5 @@ connection slave;
--replace_result $MASTER_MYPORT MASTER_MYPORT
# Execute mysqldump with --dump-slave ,--apply-slave-statements and --include-master-host-port
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave --apply-slave-statements --include-master-host-port test
+
+--source include/rpl_end.inc
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 96510bdcf7e..ab0487e6acf 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -4124,6 +4124,76 @@ SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
DROP TABLE t1;
+
+--echo #
+--echo # Bug #58422: Incorrect result when OUTER JOIN'ing
+--echo # with an empty table
+--echo #
+
+CREATE TABLE t_empty(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
+CREATE TABLE t1(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
+INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
+CREATE TABLE t2(pk INT PRIMARY KEY, i INT) ENGINE = MYISAM;
+INSERT INTO t2 VALUES (1,1), (2,2), (3,3);
+
+EXPLAIN
+SELECT *
+ FROM
+ t1
+ LEFT OUTER JOIN
+ (t2 INNER JOIN t_empty ON TRUE)
+ ON t1.pk=t2.pk
+ WHERE t2.pk <> 2;
+
+SELECT *
+ FROM
+ t1
+ LEFT OUTER JOIN
+ (t2 INNER JOIN t_empty ON TRUE)
+ ON t1.pk=t2.pk
+ WHERE t2.pk <> 2;
+
+
+EXPLAIN
+SELECT *
+ FROM
+ t1
+ LEFT OUTER JOIN
+ (t2 CROSS JOIN t_empty)
+ ON t1.pk=t2.pk
+ WHERE t2.pk <> 2;
+
+SELECT *
+ FROM
+ t1
+ LEFT OUTER JOIN
+ (t2 CROSS JOIN t_empty)
+ ON t1.pk=t2.pk
+ WHERE t2.pk <> 2;
+
+
+EXPLAIN
+SELECT *
+ FROM
+ t1
+ LEFT OUTER JOIN
+ (t2 INNER JOIN t_empty ON t_empty.i=t2.i)
+ ON t1.pk=t2.pk
+ WHERE t2.pk <> 2;
+
+SELECT *
+ FROM
+ t1
+ LEFT OUTER JOIN
+ (t2 INNER JOIN t_empty ON t_empty.i=t2.i)
+ ON t1.pk=t2.pk
+ WHERE t2.pk <> 2;
+
+
+
+DROP TABLE t1,t2,t_empty;
+
+
--echo End of 5.1 tests
--echo #
@@ -4148,3 +4218,22 @@ DROP VIEW view_t1;
DROP TABLE t1;
--echo # End of test BUG#54515
+
+--echo #
+--echo # Bug #57203 Assertion `field_length <= 255' failed.
+--echo #
+
+SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
+UNION ALL
+SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)")))))
+AS foo
+;
+
+CREATE table t1(a text);
+INSERT INTO t1 VALUES (''), ('');
+SELECT avg(distinct(t1.a)) FROM t1, t1 t2
+GROUP BY t2.a ORDER BY t1.a;
+
+DROP TABLE t1;
+
+--echo # End of test BUG#57203
diff --git a/mysql-test/t/shm.test b/mysql-test/t/shm.test
index 567caa4989a..4c765c43c1b 100644
--- a/mysql-test/t/shm.test
+++ b/mysql-test/t/shm.test
@@ -2,9 +2,12 @@
# to optimize things we skip this test on all other platforms
--source include/windows.inc
+# thread pool causes different results
+-- source include/not_threadpool.inc
+
# Only run this test if shared memory is avaliable
let $shm= query_get_value("SHOW VARIABLES LIKE 'shared_memory'", Value, 1);
-if (`SELECT '$shm' != 'ON'`){
+if ($shm != ON){
skip No shm support;
}
let $shm_name= query_get_value("SHOW GLOBAL VARIABLES LIKE 'shared_memory_base_name'", Value, 1);
diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test
index fa9dc7472fe..bc5ac8ac63f 100644
--- a/mysql-test/t/show_check.test
+++ b/mysql-test/t/show_check.test
@@ -1,3 +1,33 @@
+# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; version 2 of
+# the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+
+################################################################################
+#
+# NOTICE:
+#
+# This file unfortunately contains characters in various different encodings.
+# Be careful when editing this file to ensure that you (or your editor) do
+# not change things (such as encodings) on lines that you did not mean to
+# modify.
+#
+################################################################################
+
+
# Uses GRANT commands that usually disabled in embedded server
-- source include/not_embedded.inc
@@ -5,9 +35,6 @@
# depends on the presence of the log tables (which are CSV-based).
--source include/have_csv.inc
-# Save the initial number of concurrent sessions
---source include/count_sessions.inc
-
#
# Test of some show commands
#
@@ -53,7 +80,7 @@ optimize table t1;
optimize table t1;
drop table t1;
-#show variables;
+# show variables;
--echo -- Here we enable metadata just to check that the collation of the
--echo -- resultset is non-binary for string type. This should be changed
@@ -226,14 +253,6 @@ CREATE TABLE """a" (i INT);
SHOW CREATE TABLE """a";
DROP TABLE """a";
-# Bug#4374 SHOW TABLE STATUS FROM ignores collation_connection
-#set names latin1;
-#create database `ä`;
-#create table `ä`.`ä` (a int) engine=heap;
-#--replace_column 7 # 8 # 9 #
-#show table status from `ä` LIKE 'ä';
-#drop database `ä`;
-
# to test quotes around keywords.. :
SET sql_mode= '';
@@ -332,6 +351,7 @@ drop table t1;
--error ER_DBACCESS_DENIED_ERROR
drop database mysqltest;
disconnect con1;
+--source include/wait_until_disconnected.inc
connect (con2,localhost,mysqltest_2,,test);
connection con2;
@@ -344,6 +364,7 @@ drop table mysqltest.t1;
--error ER_DBACCESS_DENIED_ERROR
drop database mysqltest;
disconnect con2;
+--source include/wait_until_disconnected.inc
connect (con3,localhost,mysqltest_3,,test);
connection con3;
@@ -353,6 +374,7 @@ show create database mysqltest;
drop table mysqltest.t1;
drop database mysqltest;
disconnect con3;
+--source include/wait_until_disconnected.inc
connection default;
set names binary;
@@ -362,15 +384,6 @@ delete from mysql.db
where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
flush privileges;
-# This test fails on MAC OSX, so it is temporary disabled.
-# This needs WL#1324 to be done.
-#set names latin1;
-#create database `ä`;
-#create table `ä`.`ä` (a int) engine=heap;
-#--replace_column 7 # 8 # 9 #
-#show table status from `ä` LIKE 'ä';
-#drop database `ä`;
-
# Test that USING <keytype> is always shown in SHOW CREATE TABLE when it was
# specified during table creation, but not otherwise. (Bug#7235)
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MEMORY;
@@ -900,10 +913,12 @@ CREATE TABLE t1(ËÏÌÏÎËÁ1 INT);
--let $outfile1=$MYSQLTEST_VARDIR/tmp/show_check.mysqltest1.sql
+--source include/count_sessions.inc
--echo
--echo ---> Dumping mysqltest1 to outfile1
-
--exec $MYSQL_DUMP --default-character-set=latin1 --character-sets-dir=$MYSQL_SHAREDIR/charsets --databases mysqltest1 > $outfile1
+# Take care that the additional session caused by MYSQL_DUMP has disappeared.
+--source include/wait_until_count_sessions.inc
# - Clean mysqltest1;
@@ -917,9 +932,12 @@ DROP DATABASE mysqltest1;
--echo
--echo
+--source include/count_sessions.inc
--echo ---> Restoring mysqltest1...
--exec $MYSQL test < $outfile1
--remove_file $outfile1
+# Take care that the additional session caused by MYSQL has disappeared.
+--source include/wait_until_count_sessions.inc
# - Check definition of the table.
@@ -989,14 +1007,14 @@ grant select on `mysqltest`.`t1` to mysqltest_4@localhost;
connect (con4,localhost,mysqltest_4,,mysqltest);
connection con4;
show create database mysqltest;
+disconnect con4;
+--source include/wait_until_disconnected.inc
connection default;
delete from mysql.user where user='mysqltest_4';
delete from mysql.db where user='mysqltest_4';
delete from mysql.tables_priv where user='mysqltest_4';
flush privileges;
drop database mysqltest;
-connection default;
-disconnect con4;
#
# Ensure that show plugin code is tested
@@ -1048,11 +1066,23 @@ show full tables;
drop table `été`;
set names latin1;
+--echo #
+--echo # Bug#4374 SHOW TABLE STATUS FROM ignores collation_connection
+--echo # Character set: Latin-1 (ISO-8859-1)
+--echo #
+SET NAMES latin1;
+CREATE DATABASE `ä`;
+CREATE TABLE `ä`.`ä` (a int) ENGINE=Memory;
+--replace_column 6 # 7 # 8 # 9 #
+SHOW TABLE STATUS FROM `ä` LIKE 'ä';
+DROP DATABASE `ä`;
+
#
# Bug#26402 Server crashes with old-style named table
#
--error ER_NO_SUCH_TABLE,ER_FILE_NOT_FOUND
show columns from `#mysql50#????????`;
+call mtr.add_suppression("Can.t find file: '.\\\\test\\\\\\?{8}.frm'");
#
# SHOW CREATE TRIGGER test.
@@ -1192,6 +1222,7 @@ SHOW ENGINE MYISAM STATUS;
--enable_result_log
disconnect conn1;
+--source include/wait_until_disconnected.inc
connection default;
DROP USER test_u@localhost;
@@ -1214,8 +1245,9 @@ CONNECTION con1;
--error ER_QUERY_INTERRUPTED
SHOW CREATE TABLE non_existent;
-CONNECTION default;
DISCONNECT con1;
+--source include/wait_until_disconnected.inc
+CONNECTION default;
--echo End of 5.1 tests
@@ -1239,9 +1271,11 @@ connection con1;
--echo # This statement used to be blocked.
SHOW CREATE TABLE t1;
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
--echo # Switching to connection 'default'.
connection default;
-disconnect con1;
UNLOCK TABLES;
DROP TABLE t1;
@@ -1317,14 +1351,41 @@ connection con1;
# Should not block.
ALTER TABLE t1 CHARACTER SET = utf8;
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
--echo # Connection default
connection default;
COMMIT;
DROP TRIGGER t1_bi;
DROP TABLE t1;
-disconnect con1;
-# Wait till all disconnects are completed
---source include/wait_until_count_sessions.inc
+--echo #
+--echo # Bug#57306 SHOW PROCESSLIST does not display string literals well.
+--echo #
+
+SET NAMES latin1;
+SELECT GET_LOCK('t', 1000);
+--connect (con1,localhost,root,,)
+--connection con1
+SET NAMES latin1;
+--send SELECT GET_LOCK('t',1000) AS 'óóóó';
+--connection default
+# Make sure con1 has switched from "SET NAMES" to "SELECT GET_LOCK"
+let $wait_timeout= 10;
+let $wait_condition= SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO LIKE '%GET_LOCK%' AND ID != CONNECTION_ID();
+--source include/wait_condition.inc
+--replace_column 1 ### 3 ### 6 ### 7 ###
+SHOW PROCESSLIST;
+SET NAMES utf8;
+--replace_column 1 ### 3 ### 6 ### 7 ###
+SHOW PROCESSLIST;
+SELECT RELEASE_LOCK('t');
+--connection con1
+--reap
+--disconnect con1
+--source include/wait_until_disconnected.inc
+--connection default
+SET NAMES latin1;
diff --git a/mysql-test/t/sp-bugs.test b/mysql-test/t/sp-bugs.test
index 8aa0791e265..fe52632c784 100644
--- a/mysql-test/t/sp-bugs.test
+++ b/mysql-test/t/sp-bugs.test
@@ -101,4 +101,41 @@ CALL p1 ();
DROP TABLE t1;
DROP PROCEDURE p1;
+--echo #
+--echo # Bug#54375: Error in stored procedure leaves connection
+--echo # in different default schema
+--echo #
+
+--disable_warnings
+SET @@SQL_MODE = 'STRICT_ALL_TABLES';
+DROP DATABASE IF EXISTS db1;
+CREATE DATABASE db1;
+USE db1;
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (c1 int NOT NULL PRIMARY KEY);
+INSERT INTO t1 VALUES (1);
+DELIMITER $$;
+CREATE FUNCTION f1 (
+ some_value int
+)
+RETURNS smallint
+DETERMINISTIC
+BEGIN
+ INSERT INTO t1 SET c1 = some_value;
+ RETURN(LAST_INSERT_ID());
+END$$
+DELIMITER ;$$
+DROP DATABASE IF EXISTS db2;
+CREATE DATABASE db2;
+--enable_warnings
+USE db2;
+SELECT DATABASE();
+--error ER_DUP_ENTRY
+SELECT db1.f1(1);
+SELECT DATABASE();
+USE test;
+DROP FUNCTION db1.f1;
+DROP TABLE db1.t1;
+DROP DATABASE db1;
+DROP DATABASE db2;
--echo End of 5.1 tests
diff --git a/mysql-test/t/sp-destruct.test b/mysql-test/t/sp-destruct.test
index 0313535f2ab..75eeda8e289 100644
--- a/mysql-test/t/sp-destruct.test
+++ b/mysql-test/t/sp-destruct.test
@@ -14,6 +14,7 @@
# Supress warnings written to the log file
call mtr.add_suppression("Column count of mysql.proc is wrong. Expected 20, found 19. The table is probably corrupted");
+call mtr.add_suppression("Stored routine .test...bug14233_[123].: invalid value in column mysql.proc");
# Backup proc table
let $MYSQLD_DATADIR= `select @@datadir`;
@@ -253,3 +254,30 @@ drop table mysql.proc;
--remove_file $MYSQLTEST_VARDIR/tmp/proc.frm
--remove_file $MYSQLTEST_VARDIR/tmp/proc.MYD
--remove_file $MYSQLTEST_VARDIR/tmp/proc.MYI
+
+
+--echo #
+--echo # Bug#58414 mysql_upgrade fails on dump upgrade between 5.1.53 -> 5.5.8
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS proc_backup;
+DROP DATABASE IF EXISTS db1;
+--enable_warnings
+
+--echo # Backup the proc table
+RENAME TABLE mysql.proc TO proc_backup;
+CREATE TABLE mysql.proc LIKE proc_backup;
+
+CREATE DATABASE db1;
+CREATE PROCEDURE db1.p1() SET @foo = 10;
+
+--echo # Modify a field of the table.
+ALTER TABLE mysql.proc MODIFY comment CHAR (32);
+
+# This should not fail even if mysql.proc is invalid.
+DROP DATABASE db1;
+
+--echo # Restore mysql.proc
+DROP TABLE mysql.proc;
+RENAME TABLE proc_backup TO mysql.proc;
diff --git a/mysql-test/t/sp-error.test b/mysql-test/t/sp-error.test
index 13ca55a0127..6175fc53adf 100644
--- a/mysql-test/t/sp-error.test
+++ b/mysql-test/t/sp-error.test
@@ -2719,10 +2719,6 @@ DROP PROCEDURE p1;
--echo # Bug#5889: Exit handler for a warning doesn't hide the warning in trigger
--echo #
---echo
---echo # - Case 1
---echo
-
CREATE TABLE t1(a INT, b INT);
INSERT INTO t1 VALUES (1, 2);
@@ -2747,36 +2743,6 @@ SELECT * FROM t1;
DROP TRIGGER t1_bu;
DROP TABLE t1;
---echo
---echo # - Case 2
---echo
-
-CREATE TABLE t1(a INT);
-CREATE TABLE t2(b CHAR(1));
-
-delimiter |;
-
-CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
-BEGIN
- INSERT INTO t2 VALUES('ab'); # Produces a warning.
-
- INSERT INTO t2 VALUES('b'); # Does not produce a warning,
- # previous warning should be cleared.
-END|
-
-delimiter ;|
-
-INSERT INTO t1 VALUES(0);
-
-SHOW WARNINGS;
-
-SELECT * FROM t1;
-SELECT * FROM t2;
-
-DROP TRIGGER t1_bi;
-DROP TABLE t1;
-DROP TABLE t2;
-
--echo #
--echo # Bug#9857: Stored procedures: handler for sqlwarning ignored
--echo #
@@ -2813,3 +2779,83 @@ SHOW WARNINGS;
DROP PROCEDURE p1;
DROP PROCEDURE p2;
SET sql_mode = @sql_mode_saved;
+
+--echo #
+--echo # Bug#55850: Trigger warnings not cleared.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP PROCEDURE IF EXISTS p1;
+--enable_warnings
+
+CREATE TABLE t1(x SMALLINT, y SMALLINT, z SMALLINT);
+CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT,
+ d SMALLINT, e SMALLINT, f SMALLINT);
+
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
+ INSERT INTO t2(a, b, c) VALUES(99999, 99999, 99999);
+
+CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW
+ INSERT INTO t2(d, e, f) VALUES(99999, 99999, 99999);
+
+CREATE PROCEDURE p1()
+ INSERT INTO t1 VALUES(99999, 99999, 99999);
+
+# What happened before the patch was:
+# - INSERT INTO t1 added 3 warnings about overflow in 'x', 'y' and 'z' columns;
+# - t1_bi run and added 3 warnings about overflow in 'a', 'b' and 'c' columns;
+# - t1_ai run and added 3 warnings about overflow in 'd', 'e' and 'f' columns;
+# => we had 9 warnings.
+#
+# Now what happens is:
+# - INSERT INTO t1 adds 3 warnings about overflow in 'x', 'y' and 'z' columns;
+# - t1_bi adds 3 warnings about overflow in 'a', 'b' and 'c' columns;
+# - The warnings added by triggers are cleared;
+# - t1_ai run and added 3 warnings about overflow in 'd', 'e' and 'f' columns;
+# - The warnings added by triggers are cleared;
+# => we have 3 warnings.
+
+--echo
+CALL p1();
+
+--echo
+SHOW WARNINGS;
+
+--echo
+DROP TABLE t1;
+DROP TABLE t2;
+DROP PROCEDURE p1;
+
+--echo # ----------------------------------------------------------------------
+
+CREATE TABLE t1(x SMALLINT, y SMALLINT, z SMALLINT);
+CREATE TABLE t2(a SMALLINT, b SMALLINT, c SMALLINT NOT NULL);
+
+delimiter |;
+
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+ INSERT INTO t2 VALUES(
+ CAST('111111 ' AS SIGNED),
+ CAST('222222 ' AS SIGNED),
+ NULL);
+END|
+
+delimiter ;|
+
+CREATE PROCEDURE p1()
+ INSERT INTO t1 VALUES(99999, 99999, 99999);
+
+--echo
+--error ER_BAD_NULL_ERROR
+CALL p1();
+
+--echo
+SHOW WARNINGS;
+
+--echo
+DROP TABLE t1;
+DROP TABLE t2;
+DROP PROCEDURE p1;
diff --git a/mysql-test/t/sp-lock.test b/mysql-test/t/sp-lock.test
index be8369d6994..6284169eb9b 100644
--- a/mysql-test/t/sp-lock.test
+++ b/mysql-test/t/sp-lock.test
@@ -972,5 +972,170 @@ DROP PROCEDURE p1;
--echo #
+--echo # Bug#57663 Concurrent statement using stored function and DROP DATABASE
+--echo # breaks SBR
+--echo #
+
+--disable_warnings
+DROP DATABASE IF EXISTS db1;
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+connect(con1, localhost, root);
+connect(con2, localhost, root);
+
+--echo # Test 1: Check that DROP DATABASE block if a function is used
+--echo # by an active transaction.
+
+--echo # Connection default
+connection default;
+CREATE DATABASE db1;
+CREATE FUNCTION db1.f1() RETURNS INTEGER RETURN 1;
+START TRANSACTION;
+SELECT db1.f1();
+
+--echo # Connection con1
+connection con1;
+--echo # Sending:
+--send DROP DATABASE db1
+
+--echo # Connection default
+connection default;
+--echo # Waiting for DROP DATABASE to be blocked by the lock on f1()
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for stored function metadata lock'
+ AND info='DROP DATABASE db1';
+--source include/wait_condition.inc
+COMMIT;
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: DROP DATABASE db1
+--reap
+
+--echo # Test 2: Check that DROP DATABASE blocks if a procedure is
+--echo # used by an active transaction.
+
+--echo # Connection default
+connection default;
+CREATE DATABASE db1;
+CREATE PROCEDURE db1.p1() BEGIN END;
+delimiter |;
+CREATE FUNCTION f1() RETURNS INTEGER
+BEGIN
+ CALL db1.p1();
+ RETURN 1;
+END|
+delimiter ;|
+START TRANSACTION;
+SELECT f1();
+
+--echo # Connection con1
+connection con1;
+--echo # Sending:
+--send DROP DATABASE db1
+
+--echo # Connection default
+connection default;
+--echo # Waiting for DROP DATABASE to be blocked by the lock on p1()
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for stored procedure metadata lock'
+ AND info='DROP DATABASE db1';
+--source include/wait_condition.inc
+COMMIT;
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: DROP DATABASE db1
+--reap
+
+--echo # Test 3: Check that DROP DATABASE is not selected as a victim if a
+--echo # deadlock is discovered with DML statements.
+
+--echo # Connection default
+connection default;
+CREATE DATABASE db1;
+CREATE TABLE db1.t1 (a INT);
+CREATE FUNCTION db1.f1() RETURNS INTEGER RETURN 1;
+START TRANSACTION;
+# DROP DATABASE will lock tables (t1) before functions (f1)
+SELECT db1.f1();
+
+--echo # Connection con1
+connection con1;
+--echo # Sending:
+--send DROP DATABASE db1
+
+--echo # Connection default
+connection default;
+--echo # Waiting for DROP DATABASE to be blocked by the lock on f1()
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for stored function metadata lock'
+ AND info='DROP DATABASE db1';
+--source include/wait_condition.inc
+--error ER_LOCK_DEADLOCK
+SELECT * FROM db1.t1;
+COMMIT;
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: DROP DATABASE db1
+--reap
+
+--echo # Test 4: Check that active DROP DATABASE blocks stored routine DDL.
+
+--echo # Connection default
+connection default;
+CREATE DATABASE db1;
+CREATE FUNCTION db1.f1() RETURNS INTEGER RETURN 1;
+CREATE FUNCTION db1.f2() RETURNS INTEGER RETURN 2;
+START TRANSACTION;
+SELECT db1.f2();
+
+--echo # Connection con1
+connection con1;
+--echo # Sending:
+--send DROP DATABASE db1
+
+--echo # Connection con2
+connection con2;
+--echo # Waiting for DROP DATABASE to be blocked by the lock on f2()
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for stored function metadata lock'
+ AND info='DROP DATABASE db1';
+--source include/wait_condition.inc
+--echo # Sending:
+--send ALTER FUNCTION db1.f1 COMMENT "test"
+
+--echo # Connection default
+connection default;
+--echo # Waiting for ALTER FUNCTION to be blocked by the schema lock on db1
+let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist
+ WHERE state= 'Waiting for schema metadata lock'
+ AND info='ALTER FUNCTION db1.f1 COMMENT "test"';
+--source include/wait_condition.inc
+COMMIT;
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: DROP DATABASE db1
+--reap
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
+--echo # Connection con2
+connection con2;
+--echo # Reaping: ALTER FUNCTION f1 COMMENT 'test'
+--error ER_SP_DOES_NOT_EXIST
+--reap
+disconnect con2;
+--source include/wait_until_disconnected.inc
+
+--echo # Connection default
+connection default;
+DROP FUNCTION f1;
+
+
+--echo #
--echo # End of 5.5 tests
--echo #
diff --git a/mysql-test/t/sp-security.test b/mysql-test/t/sp-security.test
index 96f82c92248..d7ea829bf50 100644
--- a/mysql-test/t/sp-security.test
+++ b/mysql-test/t/sp-security.test
@@ -82,7 +82,7 @@ select * from db1_secret.t1;
# ...and not this
--error ER_DBACCESS_DENIED_ERROR
create procedure db1_secret.dummy() begin end;
---error ER_SP_DOES_NOT_EXIST
+--error ER_PROCACCESS_DENIED_ERROR
drop procedure db1_secret.dummy;
--error ER_PROCACCESS_DENIED_ERROR
drop procedure db1_secret.stamp;
@@ -106,7 +106,7 @@ select * from db1_secret.t1;
# ...and not this
--error ER_DBACCESS_DENIED_ERROR
create procedure db1_secret.dummy() begin end;
---error ER_SP_DOES_NOT_EXIST
+--error ER_PROCACCESS_DENIED_ERROR
drop procedure db1_secret.dummy;
--error ER_PROCACCESS_DENIED_ERROR
drop procedure db1_secret.stamp;
@@ -926,6 +926,39 @@ DROP DATABASE B48872;
--echo End of 5.0 tests.
+
+--echo #
+--echo # Test for bug#57061 "User without privilege on routine can discover
+--echo # its existence."
+--echo #
+--disable_warnings
+drop database if exists mysqltest_db;
+--enable_warnings
+create database mysqltest_db;
+--echo # Create user with no privileges on mysqltest_db database.
+create user bug57061_user@localhost;
+create function mysqltest_db.f1() returns int return 0;
+create procedure mysqltest_db.p1() begin end;
+--echo # Connect as user 'bug57061_user@localhost'
+connect (conn1, localhost, bug57061_user,,);
+--echo # Attempt to drop routine on which user doesn't have privileges
+--echo # should result in the same 'access denied' type of error whether
+--echo # routine exists or not.
+--error ER_PROCACCESS_DENIED_ERROR
+drop function if exists mysqltest_db.f_does_not_exist;
+--error ER_PROCACCESS_DENIED_ERROR
+drop procedure if exists mysqltest_db.p_does_not_exist;
+--error ER_PROCACCESS_DENIED_ERROR
+drop function if exists mysqltest_db.f1;
+--error ER_PROCACCESS_DENIED_ERROR
+drop procedure if exists mysqltest_db.p1;
+--echo # Connection 'default'.
+connection default;
+disconnect conn1;
+drop user bug57061_user@localhost;
+drop database mysqltest_db;
+
+
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test
index 0a323a134c5..eea16d5d174 100644
--- a/mysql-test/t/sp.test
+++ b/mysql-test/t/sp.test
@@ -8712,4 +8712,69 @@ call p1(3, 2);
drop table t1;
drop procedure p1;
+
+--echo #
+--echo # BUG#11766234: 59299: ASSERT (TABLE_REF->TABLE || TABLE_REF->VIEW)
+--echo # FAILS IN SET_FIELD_ITERATOR
+--echo #
+
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT);
+CREATE VIEW v1 AS SELECT a FROM t2;
+CREATE PROCEDURE proc() SELECT * FROM t1 NATURAL JOIN v1;
+ALTER TABLE t2 CHANGE COLUMN a b CHAR;
+
+--echo
+--error ER_VIEW_INVALID
+CALL proc();
+--error ER_VIEW_INVALID
+CALL proc();
+
+--echo
+DROP TABLE t1,t2;
+DROP VIEW v1;
+DROP PROCEDURE proc;
+
+
+--echo
+--echo # --
+--echo # -- Bug 11765684 - 58674: SP-cache does not detect changes in
+--echo # -- pre-locking list caused by triggers
+--echo # ---
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t3;
+DROP PROCEDURE IF EXISTS p1;
+--enable_warnings
+
+CREATE TABLE t1(a INT);
+CREATE TABLE t2(a INT);
+CREATE TABLE t3(a INT);
+
+CREATE PROCEDURE p1()
+ INSERT INTO t1(a) VALUES (1);
+
+--echo
+CREATE TRIGGER t1_ai AFTER INSERT ON t1
+ FOR EACH ROW
+ INSERT INTO t2(a) VALUES (new.a);
+
+--echo
+CALL p1();
+
+--echo
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1
+ FOR EACH ROW
+ INSERT INTO t3(a) VALUES (new.a);
+
+--echo
+CALL p1();
+
+--echo
+DROP TABLE t1, t2, t3;
+DROP PROCEDURE p1;
+--echo
+
--echo # End of 5.5 test
diff --git a/mysql-test/t/sp_notembedded.test b/mysql-test/t/sp_notembedded.test
index 12e6478d19a..87de5063d00 100644
--- a/mysql-test/t/sp_notembedded.test
+++ b/mysql-test/t/sp_notembedded.test
@@ -325,16 +325,6 @@ DELETE FROM mysql.user WHERE User='mysqltest_1';
FLUSH PRIVILEGES;
-#
-# Restore global concurrent_insert value. Keep in the end of the test file.
-#
-
-set @@global.concurrent_insert= @old_concurrent_insert;
-
-# Wait till all disconnects are completed
---source include/wait_until_count_sessions.inc
-
-
--echo #
--echo # Bug#44521 Prepared Statement: CALL p() - crashes: `! thd->main_da.is_sent' failed et.al.
--echo #
@@ -403,7 +393,47 @@ DROP FUNCTION f1;
--disconnect con1
--disconnect con2
-
--echo # ------------------------------------------------------------------
--echo # -- End of 5.1 tests
--echo # ------------------------------------------------------------------
+
+--echo #
+--echo # Test for bug#11763757 "56510: ERROR 42000: FUNCTION DOES NOT EXIST
+--echo # IF NOT-PRIV USER RECONNECTS ".
+--echo #
+--echo # The real problem was that server was unable handle properly stored
+--echo # functions in databases which names contained dot.
+--echo #
+
+connection default;
+
+--disable_warnings
+DROP DATABASE IF EXISTS `my.db`;
+--enable_warnings
+
+create database `my.db`;
+use `my.db`;
+
+CREATE FUNCTION f1(a int) RETURNS INT RETURN a;
+
+--echo # Create new connection.
+connect (addcon, localhost, root,,);
+connection addcon;
+USE `my.db`;
+SELECT f1(1);
+SELECT `my.db`.f1(2);
+
+--echo # Switching to default connection.
+connection default;
+disconnect addcon;
+DROP DATABASE `my.db`;
+
+#
+# Restore global concurrent_insert value. Keep in the end of the test file.
+#
+
+set @@global.concurrent_insert= @old_concurrent_insert;
+
+# Wait till all disconnects are completed
+--source include/wait_until_count_sessions.inc
+
diff --git a/mysql-test/t/sp_trans.test b/mysql-test/t/sp_trans.test
index c4915bdb87a..c114d397e43 100644
--- a/mysql-test/t/sp_trans.test
+++ b/mysql-test/t/sp_trans.test
@@ -636,6 +636,30 @@ UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()|
DROP TABLE t1_aux, t1_not_null|
DROP FUNCTION f1_two_inserts|
+--echo #
+--echo # Bug#49938: Failing assertion: inode or deadlock in fsp/fsp0fsp.c
+--echo #
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS p1|
+DROP TABLE IF EXISTS t1|
+--enable_warnings
+
+CREATE TABLE t1 (a INT) ENGINE=INNODB|
+
+CREATE PROCEDURE p1()
+BEGIN
+ TRUNCATE TABLE t1;
+END|
+
+LOCK TABLES t1 WRITE|
+CALL p1()|
+FLUSH TABLES;
+UNLOCK TABLES|
+CALL p1()|
+
+DROP PROCEDURE p1|
+DROP TABLE t1|
#
# BUG#NNNN: New bug synopsis
diff --git a/mysql-test/t/ssl_and_innodb.test b/mysql-test/t/ssl_and_innodb.test
new file mode 100644
index 00000000000..4966f05b37b
--- /dev/null
+++ b/mysql-test/t/ssl_and_innodb.test
@@ -0,0 +1,11 @@
+-- source include/have_innodb.inc
+-- source include/have_ssl_crypto_functs.inc
+
+CREATE TABLE t1(a int) engine=innodb;
+INSERT INTO t1 VALUES (1);
+
+SELECT DISTINCT
+convert((SELECT des_decrypt(2,1) AS a FROM t1 WHERE @a:=1), signed) as d
+FROM t1 ;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/ssl_cipher-master.opt b/mysql-test/t/ssl_cipher-master.opt
new file mode 100644
index 00000000000..9525c238c40
--- /dev/null
+++ b/mysql-test/t/ssl_cipher-master.opt
@@ -0,0 +1 @@
+--ssl-cipher=AES128-SHA
diff --git a/mysql-test/t/ssl_cipher.test b/mysql-test/t/ssl_cipher.test
new file mode 100644
index 00000000000..5346968175c
--- /dev/null
+++ b/mysql-test/t/ssl_cipher.test
@@ -0,0 +1,23 @@
+# Turn on ssl between the client and server
+# and run a number of tests
+
+--echo #
+--echo # BUG#11760210 - SSL_CIPHER_LIST NOT SET OR RETURNED FOR "SHOW STATUS LIKE 'SSL_CIPHER_LIST'"
+--echo #
+
+-- source include/have_ssl.inc
+
+# Save the initial number of concurrent sessions
+--source include/count_sessions.inc
+
+connect (ssl_con,localhost,root,,,,,SSL);
+
+# Check Cipher Name and Cipher List
+SHOW STATUS LIKE 'Ssl_cipher';
+SHOW STATUS LIKE 'Ssl_cipher_list';
+
+connection default;
+disconnect ssl_con;
+
+# Wait till all disconnects are completed
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/status.test b/mysql-test/t/status.test
index 9965875af55..26c7a89bf5c 100644
--- a/mysql-test/t/status.test
+++ b/mysql-test/t/status.test
@@ -354,21 +354,6 @@ DROP FUNCTION f1;
# End of 5.1 tests
-#
-# Bug#17954 Threads_connected > Threads_created
-#
-
---disable_warnings
-DROP VIEW IF EXISTS v1;
---enable_warnings
-
-CREATE VIEW v1 AS SELECT VARIABLE_NAME AS NAME, CONVERT(VARIABLE_VALUE, UNSIGNED) AS VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
-
-SELECT VALUE INTO @tc FROM v1 WHERE NAME = 'Threads_connected';
-SELECT NAME FROM v1 WHERE NAME = 'Threads_created' AND VALUE < @tc;
-
-DROP VIEW v1;
-
# Restore global concurrent_insert value. Keep in the end of the test file.
--connection default
set @@global.concurrent_insert= @old_concurrent_insert;
diff --git a/mysql-test/t/status_bug17954.test b/mysql-test/t/status_bug17954.test
new file mode 100644
index 00000000000..36430cceeff
--- /dev/null
+++ b/mysql-test/t/status_bug17954.test
@@ -0,0 +1,54 @@
+# This test requires that --log-output includes 'table', and the general
+# log is on
+
+# embedded server causes different stat
+-- source include/not_embedded.inc
+
+# thread pool causes different results
+-- source include/not_threadpool.inc
+
+# Save the initial number of concurrent sessions
+--source include/count_sessions.inc
+
+# Disable concurrent inserts to avoid sporadic test failures as it might
+# affect the the value of variables used throughout the test case.
+set @old_concurrent_insert= @@global.concurrent_insert;
+set @@global.concurrent_insert= 0;
+
+# Disable logging to table, since this will also cause table locking and unlocking, which will
+# show up in SHOW STATUS and may cause sporadic failures
+
+SET @old_log_output = @@global.log_output;
+SET GLOBAL LOG_OUTPUT = 'FILE';
+
+# PS causes different statistics
+--disable_ps_protocol
+
+flush status;
+
+#
+# Bug#17954 Threads_connected > Threads_created
+#
+
+--disable_warnings
+DROP VIEW IF EXISTS v1;
+--enable_warnings
+
+CREATE VIEW v1 AS SELECT VARIABLE_NAME AS NAME, CONVERT(VARIABLE_VALUE, UNSIGNED) AS VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
+
+SELECT VALUE INTO @tc FROM v1 WHERE NAME = 'Threads_connected';
+SELECT NAME FROM v1 WHERE NAME = 'Threads_created' AND VALUE < @tc;
+#SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS where variable_name like '%thread%';
+#SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS;
+#SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES;
+
+DROP VIEW v1;
+
+# Restore global concurrent_insert value. Keep in the end of the test file.
+--connection default
+set @@global.concurrent_insert= @old_concurrent_insert;
+SET GLOBAL log_output = @old_log_output;
+
+# Wait till we reached the initial number of concurrent sessions
+--source include/wait_until_count_sessions.inc
+
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test
index b816237d433..9fdedd3cdec 100644
--- a/mysql-test/t/subselect.test
+++ b/mysql-test/t/subselect.test
@@ -4430,9 +4430,96 @@ SELECT * FROM t2 UNION SELECT * FROM t2
DROP TABLE t1,t2;
--enable_result_log
+--echo #
+--echo # Bug #58818: Incorrect result for IN/ANY subquery
+--echo # with HAVING condition
+--echo #
+
+CREATE TABLE t1(i INT);
+INSERT INTO t1 VALUES (1), (2), (3);
+CREATE TABLE t1s(i INT);
+INSERT INTO t1s VALUES (10), (20), (30);
+CREATE TABLE t2s(i INT);
+INSERT INTO t2s VALUES (100), (200), (300);
+
+SELECT * FROM t1
+WHERE t1.i NOT IN
+(
+ SELECT STRAIGHT_JOIN t2s.i
+ FROM
+ t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+ HAVING t2s.i = 999
+);
+
+SELECT * FROM t1
+WHERE t1.I IN
+(
+ SELECT STRAIGHT_JOIN t2s.i
+ FROM
+ t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+ HAVING t2s.i = 999
+) IS UNKNOWN;
+
+SELECT * FROM t1
+WHERE NOT t1.I = ANY
+(
+ SELECT STRAIGHT_JOIN t2s.i
+ FROM
+ t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+ HAVING t2s.i = 999
+);
+
+SELECT * FROM t1
+ WHERE t1.i = ANY (
+ SELECT STRAIGHT_JOIN t2s.i
+ FROM
+ t1s LEFT OUTER JOIN t2s ON t2s.i = t1s.i
+ HAVING t2s.i = 999
+ ) IS UNKNOWN;
+
+DROP TABLE t1,t1s,t2s;
+
--echo End of 5.1 tests
--echo #
+--echo # Bug #11765713 58705:
+--echo # OPTIMIZER LET ENGINE DEPEND ON UNINITIALIZED VALUES
+--echo # CREATED BY OPT_SUM_QUERY
+--echo #
+
+CREATE TABLE t1(a INT NOT NULL, KEY (a));
+INSERT INTO t1 VALUES (0), (1);
+
+--error ER_SUBQUERY_NO_1_ROW
+SELECT 1 as foo FROM t1 WHERE a < SOME
+ (SELECT a FROM t1 WHERE a <=>
+ (SELECT a FROM t1)
+ );
+
+SELECT 1 as foo FROM t1 WHERE a < SOME
+ (SELECT a FROM t1 WHERE a <=>
+ (SELECT a FROM t1 where a is null)
+ );
+
+DROP TABLE t1;
+
+--echo #
+--echo # Bug #57704: Cleanup code dies with void TABLE::set_keyread(bool):
+--echo # Assertion `file' failed.
+--echo #
+
+CREATE TABLE t1 (a INT);
+
+--error ER_OPERAND_COLUMNS
+SELECT 1 FROM
+ (SELECT ROW(
+ (SELECT 1 FROM t1 RIGHT JOIN
+ (SELECT 1 FROM t1, t1 t2) AS d ON 1),
+ 1) FROM t1) AS e;
+
+DROP TABLE t1;
+
+--echo #
--echo # No BUG#, a case brought from 5.2's innodb_mysql_lock.test
--echo #
diff --git a/mysql-test/t/subselect4.test b/mysql-test/t/subselect4.test
index f4d99d23f4c..c480fc9b0d2 100644
--- a/mysql-test/t/subselect4.test
+++ b/mysql-test/t/subselect4.test
@@ -161,6 +161,16 @@ SELECT * FROM t1 WHERE NULL NOT IN ( SELECT c FROM t2 WHERE c = 1 AND c <> 1 );
DROP TABLE t1, t2, t3, t4, t5;
--echo #
+--echo # Bug#58207: invalid memory reads when using default column value and
+--echo # tmptable needed
+--echo #
+CREATE TABLE t(a VARCHAR(245) DEFAULT
+'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
+INSERT INTO t VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),('');
+SELECT * FROM (SELECT default(a) FROM t GROUP BY a) d;
+DROP TABLE t;
+
+--echo #
--echo # End of 5.1 tests.
--echo #
diff --git a/mysql-test/t/subselect_innodb.test b/mysql-test/t/subselect_innodb.test
index 573fe0c1810..73491417e0c 100644
--- a/mysql-test/t/subselect_innodb.test
+++ b/mysql-test/t/subselect_innodb.test
@@ -238,3 +238,12 @@ call p1();
call p1();
drop procedure p1;
drop tables t1,t2,t3;
+
+--echo #
+--echo # Bug#60085 crash in Item::save_in_field() with time data type
+--echo #
+
+CREATE TABLE t1(a date, b int, unique(b), unique(a), key(b)) engine=innodb;
+INSERT INTO t1 VALUES ('2011-05-13', 0);
+SELECT * FROM t1 WHERE b < (SELECT CAST(a as date) FROM t1 GROUP BY a);
+DROP TABLE t1;
diff --git a/mysql-test/t/symlink.test b/mysql-test/t/symlink.test
index 7472c9c0d26..02c3b219a06 100644
--- a/mysql-test/t/symlink.test
+++ b/mysql-test/t/symlink.test
@@ -39,7 +39,8 @@ drop table t2;
#
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
-eval create table t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="$MYSQLTEST_VARDIR/tmp" index directory="$MYSQLTEST_VARDIR/run";
+eval create table t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam data directory="$MYSQLTEST_VARDIR/tmp" index directory="$MYSQLTEST_VARDIR/run";
insert into t9 select * from t1;
check table t9;
@@ -71,21 +72,25 @@ SHOW CREATE TABLE t9;
create database mysqltest;
--error 1,1
-create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="/this-dir-does-not-exist";
+create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam index directory="/this-dir-does-not-exist";
# temporarily disabled as it returns different result in the embedded server
-# --error ER_WRONG_ARGUMENTS, ER_WRONG_ARGUMENTS
-# create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="not-hard-path";
+--error ER_WRONG_TABLE_NAME
+create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam index directory="not-hard-path";
# Should fail becasue the file t9.MYI already exist in 'run'
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
---error 1,156
-eval create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="$MYSQLTEST_VARDIR/run";
+--error 1,ER_UNKNOWN_ERROR
+eval create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam index directory="$MYSQLTEST_VARDIR/run";
# Should fail becasue the file t9.MYD already exist in 'tmp'
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error 1,1
-eval create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="$MYSQLTEST_VARDIR/tmp";
+eval create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
+engine=myisam data directory="$MYSQLTEST_VARDIR/tmp";
# Check moving table t9 from default database to mysqltest;
# In this case the symlinks should be removed.
@@ -272,3 +277,24 @@ SELECT * FROM mysql.user;
--remove_file $MYSQL_TMP_DIR/mysql
--echo End of 5.1 tests
+
+
+--echo #
+--echo # Test for bug #11759990 - "52354: 'CREATE TABLE .. LIKE ... '
+--echo # STATEMENTS FAIL".
+--echo #
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval create table t1 (a int primary key) engine=myisam
+ data directory="$MYSQLTEST_VARDIR/tmp"
+ index directory="$MYSQLTEST_VARDIR/run";
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+show create table t1;
+--echo # CREATE TABLE LIKE statement on table with INDEX/DATA DIRECTORY
+--echo # options should not fail. Per documentation newly created table
+--echo # should not inherit value of these options from the original table.
+create table t2 like t1;
+show create table t2;
+drop tables t1, t2;
diff --git a/mysql-test/t/system_mysql_db_fix40123.test b/mysql-test/t/system_mysql_db_fix40123.test
index 818993e5f27..7a96f22e0d1 100644
--- a/mysql-test/t/system_mysql_db_fix40123.test
+++ b/mysql-test/t/system_mysql_db_fix40123.test
@@ -3,7 +3,7 @@
# Don't run this test if $MYSQL_FIX_PRIVILEGE_TABLES isn't set
# to the location of mysql_fix_privilege_tables.sql
-if (`SELECT LENGTH("$MYSQL_FIX_PRIVILEGE_TABLES") <= 0`)
+if (!$MYSQL_FIX_PRIVILEGE_TABLES)
{
skip Test need MYSQL_FIX_PRIVILEGE_TABLES;
}
@@ -72,7 +72,7 @@ CREATE TABLE time_zone_leap_second ( Transition_time bigint signed NOT NULL,
-- disable_query_log
# Drop all tables created by this test
-DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index;
+DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxies_priv;
-- enable_query_log
diff --git a/mysql-test/t/system_mysql_db_fix50030.test b/mysql-test/t/system_mysql_db_fix50030.test
index 45084177570..8adf0a09b22 100644
--- a/mysql-test/t/system_mysql_db_fix50030.test
+++ b/mysql-test/t/system_mysql_db_fix50030.test
@@ -3,7 +3,7 @@
# Don't run this test if $MYSQL_FIX_PRIVILEGE_TABLES isn't set
# to the location of mysql_fix_privilege_tables.sql
-if (`SELECT LENGTH("$MYSQL_FIX_PRIVILEGE_TABLES") <= 0`)
+if (!$MYSQL_FIX_PRIVILEGE_TABLES)
{
skip Test needs MYSQL_FIX_PRIVILEGE_TABLES;
}
@@ -78,7 +78,7 @@ INSERT INTO servers VALUES ('test','localhost','test','root','', 0,'','mysql','r
-- disable_query_log
# Drop all tables created by this test
-DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index;
+DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxies_priv;
-- enable_query_log
diff --git a/mysql-test/t/system_mysql_db_fix50117.test b/mysql-test/t/system_mysql_db_fix50117.test
index bed00239081..9aeb654716c 100644
--- a/mysql-test/t/system_mysql_db_fix50117.test
+++ b/mysql-test/t/system_mysql_db_fix50117.test
@@ -3,7 +3,7 @@
# Don't run this test if $MYSQL_FIX_PRIVILEGE_TABLES isn't set
# to the location of mysql_fix_privilege_tables.sql
-if (`SELECT LENGTH("$MYSQL_FIX_PRIVILEGE_TABLES") <= 0`)
+if (!$MYSQL_FIX_PRIVILEGE_TABLES)
{
skip Test needs MYSQL_FIX_PRIVILEGE_TABLES;
}
@@ -97,7 +97,7 @@ CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL,
-- disable_query_log
# Drop all tables created by this test
-DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index;
+DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index, proxies_priv;
-- enable_query_log
diff --git a/mysql-test/t/tablespace.test b/mysql-test/t/tablespace.test
new file mode 100644
index 00000000000..9f3cf6255ac
--- /dev/null
+++ b/mysql-test/t/tablespace.test
@@ -0,0 +1,122 @@
+#
+# BUG#60111 storage type for table not saved in .frm
+#
+
+#
+# Check that the table options for TABLESPACE and STORAGE
+# are printed in SHOW CREATE TABLE
+#
+
+# TABLESPACE only
+CREATE TABLE t1(a int) TABLESPACE ts ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# TABLESPACE + STORAGE DISK
+CREATE TABLE t1(a int) TABLESPACE ts STORAGE DISK ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# TABLESPACE + STORAGE MEMORY
+CREATE TABLE t1(a int) TABLESPACE ts STORAGE MEMORY ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# STORAGE MEMORY only
+CREATE TABLE t1(a int) STORAGE MEMORY ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# STORAGE DISK only
+CREATE TABLE t1(a int) STORAGE DISK ENGINE=MyISAM;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+#
+# Check that the table options for TABLESPACE and STORAGE
+# are kept in an ALTER
+#
+
+# TABLESPACE only
+CREATE TABLE t1(a int) TABLESPACE ts ENGINE=MyISAM;
+ALTER TABLE t1 ADD COLUMN b int;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# TABLESPACE and STORAGE DISK
+CREATE TABLE t1(a int) TABLESPACE ts STORAGE DISK ENGINE=MyISAM;
+ALTER TABLE t1 ADD COLUMN b int;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+#
+# Check that the table options for TABLESPACE and STORAGE
+# can be changed with an ALTER
+#
+
+# TABLESPACE only
+CREATE TABLE t1(a int) ENGINE=MyISAM;
+
+ALTER TABLE t1 TABLESPACE ts;
+SHOW CREATE TABLE t1;
+
+ALTER TABLE t1 TABLESPACE ts2;
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+# STORAGE only
+CREATE TABLE t1(a int) ENGINE=MyISAM;
+
+ALTER TABLE t1 STORAGE MEMORY;
+SHOW CREATE TABLE t1;
+
+ALTER TABLE t1 STORAGE DISK;
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+# TABLESPACE and STORAGE
+CREATE TABLE t1(a int) ENGINE=MyISAM;
+
+ALTER TABLE t1 STORAGE MEMORY TABLESPACE ts;
+SHOW CREATE TABLE t1;
+
+ALTER TABLE t1 STORAGE DISK TABLESPACE ts2;
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
+
+#
+# Check that it's possible to read a .frm fle created
+# by MySQL Cluster 7.0(which introduced the new "format
+# section) with this statement:
+#
+# CREATE TABLE cluster_7022_table
+# (
+# a int primary key,
+# b int,
+# c int STORAGE DISK,
+# d int STORAGE MEMORY NOT NULL,
+# e int COLUMN_FORMAT DYNAMIC,
+# f int COLUMN_FORMAT FIXED,
+# g int COLUMN_FORMAT DEFAULT,
+# h int STORAGE DISK COLUMN_FORMAT DYNAMIC NOT NULL,
+# i int STORAGE MEMORY COLUMN_FORMAT DYNAMIC,
+# j int STORAGE DISK COLUMN_FORMAT FIXED,
+# k int STORAGE MEMORY COLUMN_FORMAT FIXED
+# ) STORAGE DISK TABLESPACE the_tablespacename ENGINE=MyISAM;
+#
+# NOTE! The column level properties will not yet show up
+# in SHOW CREATE TABLE of MySQL Server(although they are
+# visible in .trace file)
+#
+
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+copy_file std_data/cluster_7022_table.frm $MYSQLD_DATADIR/test/t1.frm;
+copy_file std_data/cluster_7022_table.MYD $MYSQLD_DATADIR/test/t1.MYD;
+copy_file std_data/cluster_7022_table.MYI $MYSQLD_DATADIR/test/t1.MYI;
+
+SHOW CREATE TABLE t1;
+
+DROP TABLE t1;
diff --git a/mysql-test/t/trigger-compat.test b/mysql-test/t/trigger-compat.test
index 2cc86692d0d..8b360d16b98 100644
--- a/mysql-test/t/trigger-compat.test
+++ b/mysql-test/t/trigger-compat.test
@@ -106,4 +106,184 @@ DROP TABLE t2;
DROP USER mysqltest_dfn@localhost;
DROP USER mysqltest_inv@localhost;
DROP DATABASE mysqltest_db1;
+USE test;
+
+--echo #
+--echo # Bug#45235: 5.1 does not support 5.0-only syntax triggers in any way
+--echo #
+let $MYSQLD_DATADIR=`SELECT @@datadir`;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2, t3;
+--enable_warnings
+
+CREATE TABLE t1 ( a INT );
+CREATE TABLE t2 ( a INT );
+CREATE TABLE t3 ( a INT );
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t2 VALUES (1), (2), (3);
+INSERT INTO t3 VALUES (1), (2), (3);
+
+--echo # We simulate importing a trigger from 5.0 by writing a .TRN file for
+--echo # each trigger plus a .TRG file the way MySQL 5.0 would have done it,
+--echo # with syntax allowed in 5.0 only.
+--echo #
+--echo # Note that in 5.0 the following lines are missing from t1.TRG:
+--echo #
+--echo # client_cs_names='latin1'
+--echo # connection_cl_names='latin1_swedish_ci'
+--echo # db_cl_names='latin1_swedish_ci'
+
+--write_file $MYSQLD_DATADIR/test/tr11.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr12.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr13.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr14.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr15.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/t1.TRG
+TYPE=TRIGGERS
+triggers='CREATE DEFINER=`root`@`localhost` TRIGGER tr11 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t3' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr12 AFTER INSERT ON t1 FOR EACH ROW DELETE FROM t3' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr13 BEFORE DELETE ON t1 FOR EACH ROW DELETE FROM t1 a USING t1 a' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr14 AFTER DELETE ON t1 FOR EACH ROW DELETE FROM non_existing_table' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr15 BEFORE UPDATE ON t1 FOR EACH ROW DELETE FROM non_existing_table a USING non_existing_table a'
+sql_modes=0 0 0 0 0
+definers='root@localhost' 'root@localhost' 'root@localhost' 'root@localhost' 'root@localhost'
+EOF
+
+--write_file $MYSQLD_DATADIR/test/t2.TRG
+TYPE=TRIGGERS
+triggers='Not allowed syntax here, and trigger name cant be extracted either.'
+sql_modes=0
+definers='root@localhost'
+EOF
+
+FLUSH TABLE t1;
+FLUSH TABLE t2;
+
+--echo # We will get parse errors for most DDL and DML statements when the table
+--echo # has broken triggers. The parse error refers to the first broken
+--echo # trigger.
+--error ER_PARSE_ERROR
+CREATE TRIGGER tr16 AFTER UPDATE ON t1 FOR EACH ROW INSERT INTO t1 VALUES (1);
+--error ER_PARSE_ERROR
+CREATE TRIGGER tr22 BEFORE INSERT ON t2 FOR EACH ROW DELETE FROM non_existing_table;
+SHOW TRIGGERS;
+--error ER_PARSE_ERROR
+INSERT INTO t1 VALUES (1);
+--error ER_PARSE_ERROR
+INSERT INTO t2 VALUES (1);
+--error ER_PARSE_ERROR
+DELETE FROM t1;
+--error ER_PARSE_ERROR
+UPDATE t1 SET a = 1 WHERE a = 1;
+SELECT * FROM t1;
+--error ER_PARSE_ERROR
+RENAME TABLE t1 TO t1_2;
+SHOW TRIGGERS;
+
+DROP TRIGGER tr11;
+DROP TRIGGER tr12;
+DROP TRIGGER tr13;
+DROP TRIGGER tr14;
+DROP TRIGGER tr15;
+
+SHOW TRIGGERS;
+
+--echo # Make sure there is no trigger file left.
+--list_files $MYSQLD_DATADIR/test/ tr*
+
+--echo # We write the same trigger files one more time to test DROP TABLE.
+--write_file $MYSQLD_DATADIR/test/tr11.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr12.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr13.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr14.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr15.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/t1.TRG
+TYPE=TRIGGERS
+triggers='CREATE DEFINER=`root`@`localhost` TRIGGER tr11 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t3' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr12 AFTER INSERT ON t1 FOR EACH ROW DELETE FROM t3' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr13 BEFORE DELETE ON t1 FOR EACH ROW DELETE FROM t1 a USING t1 a' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr14 AFTER DELETE ON t1 FOR EACH ROW DELETE FROM non_existing_table' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr15 BEFORE UPDATE ON t1 FOR EACH ROW DELETE FROM non_existing_table a USING non_existing_table a'
+sql_modes=0 0 0 0 0
+definers='root@localhost' 'root@localhost' 'root@localhost' 'root@localhost' 'root@localhost'
+EOF
+
+FLUSH TABLE t1;
+FLUSH TABLE t2;
+
+DROP TABLE t1;
+DROP TABLE t2;
+DROP TABLE t3;
+
+--echo # Make sure there is no trigger file left.
+
+--list_files $MYSQLD_DATADIR/test/ tr*
+
+CREATE TABLE t1 ( a INT );
+CREATE TABLE t2 ( a INT );
+INSERT INTO t1 VALUES (1), (2), (3);
+INSERT INTO t2 VALUES (1), (2), (3);
+
+--echo # We write three trigger files. First trigger is syntaxically incorrect, next trigger is correct
+--echo # and last trigger is broken.
+--echo # Next we try to execute SHOW CREATE TRGGIR command for broken trigger and then try to drop one.
+--write_file $MYSQLD_DATADIR/test/tr11.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/tr12.TRN
+TYPE=TRIGGERNAME
+trigger_table=t1
+EOF
+
+--write_file $MYSQLD_DATADIR/test/t1.TRG
+TYPE=TRIGGERS
+triggers='CREATE the wrongest trigger_in_the_world' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr11 BEFORE DELETE ON t1 FOR EACH ROW DELETE FROM t1 a USING t1 a' 'CREATE DEFINER=`root`@`localhost` TRIGGER tr12 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t2'
+sql_modes=0 0 0
+definers='root@localhost' 'root@localhost' 'root@localhost'
+EOF
+
+FLUSH TABLE t1;
+
+SHOW CREATE TRIGGER tr12;
+SHOW CREATE TRIGGER tr11;
+DROP TRIGGER tr12;
+DROP TRIGGER tr11;
+
+DROP TABLE t1;
+DROP TABLE t2;
diff --git a/mysql-test/t/trigger-trans.test b/mysql-test/t/trigger-trans.test
index 4d6e82dedcb..82bee7aa224 100644
--- a/mysql-test/t/trigger-trans.test
+++ b/mysql-test/t/trigger-trans.test
@@ -148,10 +148,15 @@ CREATE TRIGGER t1_ad AFTER DELETE ON t1 FOR EACH ROW SET @b = 1;
SET @a = 0;
SET @b = 0;
+--error ER_TRUNCATE_ILLEGAL_FK
TRUNCATE t1;
SELECT @a, @b;
+DELETE FROM t1;
+
+SELECT @a, @b;
+
INSERT INTO t1 VALUES (1);
DELETE FROM t1;
diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test
index 65b5e92e08c..85cf01a607f 100644
--- a/mysql-test/t/trigger.test
+++ b/mysql-test/t/trigger.test
@@ -998,10 +998,6 @@ call p1();
drop trigger t1_bi;
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
execute stmt1;
-# Until we implement proper mechanism for invalidation of SP statements
-# invoked whenever a table used in SP changes, this statement will fail with
-# 'Table ... does not exist' error.
---error ER_NO_SUCH_TABLE
call p1();
deallocate prepare stmt1;
drop procedure p1;
@@ -2525,4 +2521,32 @@ select trigger_name from information_schema.triggers
drop temporary table t1;
drop table t1;
---echo End of 6.0 tests.
+
+--echo
+--echo #
+--echo # Bug #12362125: SP INOUT HANDLING IS BROKEN FOR TEXT TYPE.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(c TEXT);
+
+delimiter |;
+CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+ DECLARE v TEXT;
+ SET v = 'aaa';
+ SET NEW.c = v;
+END|
+delimiter ;|
+
+INSERT INTO t1 VALUES('qazwsxedc');
+
+SELECT c FROM t1;
+
+DROP TABLE t1;
+
+--echo
+--echo End of 5.5 tests.
diff --git a/mysql-test/t/trigger_notembedded.test b/mysql-test/t/trigger_notembedded.test
index d619afab176..b4ce183e114 100644
--- a/mysql-test/t/trigger_notembedded.test
+++ b/mysql-test/t/trigger_notembedded.test
@@ -969,7 +969,7 @@ connection default;
--echo connection: default
let $wait_condition=
select count(*) = 1 from information_schema.processlist
- where state = "Waiting for global metadata lock";
+ where state = "Waiting for global read lock";
--source include/wait_condition.inc
create trigger t1_bi before insert on t1 for each row begin end;
unlock tables;
diff --git a/mysql-test/t/truncate_coverage.test b/mysql-test/t/truncate_coverage.test
index c9c4bd90ca4..135935b53b3 100644
--- a/mysql-test/t/truncate_coverage.test
+++ b/mysql-test/t/truncate_coverage.test
@@ -172,3 +172,57 @@ UNLOCK TABLES;
DROP TABLE t1;
SET DEBUG_SYNC='RESET';
+--echo #
+--echo # Bug#57659 Segfault in Query_cache::invalidate_data for TRUNCATE TABLE
+--echo #
+
+--echo # Note that this test case only reproduces the problem
+--echo # when it is run with valgrind.
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, m1;
+--enable_warnings
+
+CREATE TABLE t1(a INT) engine=memory;
+CREATE TABLE m1(a INT) engine=merge UNION(t1);
+connect(con2, localhost, root);
+
+--echo # Connection con1
+connect(con1, localhost, root);
+SET DEBUG_SYNC= 'open_tables_after_open_and_process_table SIGNAL opened WAIT_FOR dropped';
+--echo # Sending:
+--send TRUNCATE TABLE m1
+
+--echo # Connection con2
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR opened';
+--echo # Sending:
+--send FLUSH TABLES
+
+--echo # Connection default
+connection default;
+--echo # Waiting for FLUSH TABLES to be blocked.
+let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist
+ WHERE state= 'Waiting for table flush' AND info= 'FLUSH TABLES';
+--source include/wait_condition.inc
+SET DEBUG_SYNC= 'now SIGNAL dropped';
+
+--echo # Connection con1
+connection con1;
+--echo # Reaping: TRUNCATE TABLE m1
+--error ER_WRONG_MRG_TABLE
+--reap
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
+--echo # Connection con2
+connection con2;
+--echo # Reaping: FLUSH TABLES
+--reap
+disconnect con2;
+--source include/wait_until_disconnected.inc
+
+--echo # Connection default
+connection default;
+SET DEBUG_SYNC= 'RESET';
+DROP TABLE m1, t1;
diff --git a/mysql-test/t/type_blob.test b/mysql-test/t/type_blob.test
index c06d8ac97e0..fa67afa48e8 100644
--- a/mysql-test/t/type_blob.test
+++ b/mysql-test/t/type_blob.test
@@ -617,4 +617,17 @@ SELECT LENGTH(c) FROM t2;
DROP TABLE t1, t2;
+--echo # Bug #52160: crash and inconsistent results when grouping
+--echo # by a function and column
+
+CREATE FUNCTION f1() RETURNS TINYBLOB RETURN 1;
+
+CREATE TABLE t1(a CHAR(1));
+INSERT INTO t1 VALUES ('0'), ('0');
+
+SELECT COUNT(*) FROM t1 GROUP BY f1(), a;
+
+DROP FUNCTION f1;
+DROP TABLE t1;
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/type_date.test b/mysql-test/t/type_date.test
index 11f2b68804a..9a21d8b370d 100644
--- a/mysql-test/t/type_date.test
+++ b/mysql-test/t/type_date.test
@@ -266,6 +266,18 @@ SELECT * FROM t1 JOIN v1 ON addtime( t1.the_date, t1.the_time ) =
DROP TABLE t1;
DROP VIEW v1;
+--echo #
+--echo # Bug#59685 crash in String::length with date types
+--echo #
+
+CREATE TABLE t1(a DATE, b YEAR, KEY(a));
+INSERT INTO t1 VALUES ('2011-01-01',2011);
+
+SELECT b = (SELECT CONVERT(a, DATE) FROM t1 GROUP BY a) FROM t1;
+SELECT b = CONVERT((SELECT CONVERT(a, DATE) FROM t1 GROUP BY a), DATE) FROM t1;
+
+DROP TABLE t1;
+
--echo End of 5.1 tests
--echo #
@@ -284,4 +296,12 @@ DROP TABLE t1;
--echo #
+--echo #
+--echo # Bug#57278: Crash on min/max + with date out of range.
+--echo #
+set @a=(select min(makedate('111','1'))) ;
+select @a;
+--echo #
+
+
--echo End of 6.0 tests
diff --git a/mysql-test/t/type_datetime.test b/mysql-test/t/type_datetime.test
index 6e40c9ccfa0..81e032751ca 100644
--- a/mysql-test/t/type_datetime.test
+++ b/mysql-test/t/type_datetime.test
@@ -445,6 +445,17 @@ SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS
# show we truncate microseconds from the right
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime) AS DECIMAL(30,7));
+--echo #
+--echo # Bug#59173: Failure to handle DATE(TIME) values where Year, Month or
+--echo # Day is ZERO
+--echo #
+CREATE TABLE t1 (dt1 DATETIME);
+INSERT INTO t1 (dt1) VALUES ('0000-00-01 00:00:01');
+DELETE FROM t1 WHERE dt1 = '0000-00-01 00:00:01';
+--echo # Should be empty
+SELECT * FROM t1;
+DROP TABLE t1;
+
--echo End of 5.1 tests
--echo #
@@ -485,5 +496,45 @@ explain select * from t2 where f1=STR_TO_DATE('4/1/2010', '%m/%d/%Y');
DROP TABLE t1,t2;
--echo #
+--echo # Bug#57095: Wrongly chosen expression cache type led to a wrong
+--echo # result.
+--echo #
+CREATE TABLE t1 (`b` datetime );
+INSERT INTO t1 VALUES ('2010-01-01 00:00:00'), ('2010-01-01 00:00:00');
+SELECT * FROM t1 WHERE b <= coalesce(NULL, now());
+DROP TABLE t1;
+--echo #
+
+--echo #
+--echo # BUG#12561818: RERUN OF STORED FUNCTION GIVES ERROR 1172:
+--echo # RESULT CONSISTED OF MORE THAN ONE ROW
+--echo #
+
+CREATE TABLE t1 (a DATE NOT NULL, b INT);
+INSERT INTO t1 VALUES ('0000-00-00',1), ('1999-05-10',2);
+
+CREATE TABLE t2 (a DATETIME NOT NULL, b INT);
+INSERT INTO t2 VALUES ('0000-00-00 00:00:00',1), ('1999-05-10 00:00:00',2);
+
+--echo
+SELECT * FROM t1 WHERE a IS NULL;
+SELECT * FROM t2 WHERE a IS NULL;
+SELECT * FROM t1 LEFT JOIN t1 AS t1_2 ON 1 WHERE t1_2.a IS NULL;
+SELECT * FROM t2 LEFT JOIN t2 AS t2_2 ON 1 WHERE t2_2.a IS NULL;
+SELECT * FROM t1 JOIN t1 AS t1_2 ON 1 WHERE t1_2.a IS NULL;
+SELECT * FROM t2 JOIN t2 AS t2_2 ON 1 WHERE t2_2.a IS NULL;
+
+--echo
+PREPARE stmt1 FROM
+ 'SELECT *
+ FROM t1 LEFT JOIN t1 AS t1_2 ON 1
+ WHERE t1_2.a IS NULL AND t1_2.b < 2';
+EXECUTE stmt1;
+EXECUTE stmt1;
+
+DEALLOCATE PREPARE stmt1;
+DROP TABLE t1,t2;
+
+--echo #
--echo # End of 5.5 tests
--echo #
diff --git a/mysql-test/t/type_newdecimal.test b/mysql-test/t/type_newdecimal.test
index bd70e64b1ad..f1eeabbd924 100644
--- a/mysql-test/t/type_newdecimal.test
+++ b/mysql-test/t/type_newdecimal.test
@@ -1519,4 +1519,19 @@ SELECT AVG(DISTINCT a) FROM t1;
SELECT SUM(DISTINCT a) FROM t1;
DROP TABLE t1;
+--echo #
+--echo # Bug#55436: buffer overflow in debug binary of dbug_buff in
+--echo # Field_new_decimal::store_value
+--echo #
+
+# this threw memory warnings on Windows. Also make sure future changes
+# don't change these results, as per usual.
+SET SQL_MODE='';
+CREATE TABLE t1(f1 DECIMAL(44,24)) ENGINE=MYISAM;
+INSERT INTO t1 SET f1 = -64878E-85;
+SELECT f1 FROM t1;
+DROP TABLE IF EXISTS t1;
+
+
+
--echo End of 5.1 tests
diff --git a/mysql-test/t/type_timestamp.test b/mysql-test/t/type_timestamp.test
index dfac6f93b7d..cd4ba18455b 100644
--- a/mysql-test/t/type_timestamp.test
+++ b/mysql-test/t/type_timestamp.test
@@ -362,6 +362,53 @@ SELECT a FROM t1 WHERE a >= '20000101000000';
DROP TABLE t1;
+--echo #
+--echo # Bug#50774: failed to get the correct resultset when timestamp values
+--echo # are appended with .0
+--echo #
+CREATE TABLE t1 ( a TIMESTAMP, KEY ( a ) );
+
+INSERT INTO t1 VALUES( '2010-02-01 09:31:01' );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:02' );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:03' );
+INSERT INTO t1 VALUES( '2010-02-01 09:31:04' );
+
+SELECT * FROM t1 WHERE a >= '2010-02-01 09:31:02.0';
+SELECT * FROM t1 WHERE '2010-02-01 09:31:02.0' <= a;
+SELECT * FROM t1 WHERE a <= '2010-02-01 09:31:02.0';
+SELECT * FROM t1 WHERE '2010-02-01 09:31:02.0' >= a;
+
+--replace_column 1 x 2 x 3 x 5 x 6 x 7 x 8 x 9 x 10 x
+EXPLAIN
+SELECT * FROM t1 WHERE a >= '2010-02-01 09:31:02.0';
+SELECT * FROM t1 WHERE a >= '2010-02-01 09:31:02.0';
+
+CREATE TABLE t2 ( a TIMESTAMP, KEY ( a DESC ) );
+
+INSERT INTO t2 VALUES( '2010-02-01 09:31:01' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:02' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:03' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:04' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:05' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:06' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:07' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:08' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:09' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:10' );
+INSERT INTO t2 VALUES( '2010-02-01 09:31:11' );
+
+--echo # The bug would cause the range optimizer's comparison to use an open
+--echo # interval here. This reveals itself only in the number of reads
+--echo # performed.
+FLUSH STATUS;
+--replace_column 1 x 2 x 3 x 5 x 6 x 7 x 8 x 9 x 10 x
+EXPLAIN
+SELECT * FROM t2 WHERE a < '2010-02-01 09:31:02.0';
+SELECT * FROM t2 WHERE a < '2010-02-01 09:31:02.0';
+SHOW STATUS LIKE 'Handler_read_next';
+
+DROP TABLE t1, t2;
+
--echo End of 5.1 tests
--echo
@@ -377,3 +424,21 @@ SELECT a FROM t1;
DROP TABLE t1;
--echo End of Bug#50888
+
+--echo #
+--echo # Bug59330: Incorrect result when comparing an aggregate
+--echo # function with TIMESTAMP
+--echo #
+CREATE TABLE t1 (dt DATETIME, ts TIMESTAMP);
+INSERT INTO t1 VALUES('2011-01-06 12:34:30', '2011-01-06 12:34:30');
+SELECT MAX(dt), MAX(ts) FROM t1;
+SELECT MAX(ts) < '2010-01-01 00:00:00' FROM t1;
+SELECT MAX(dt) < '2010-01-01 00:00:00' FROM t1;
+SELECT MAX(ts) > '2010-01-01 00:00:00' FROM t1;
+SELECT MAX(dt) > '2010-01-01 00:00:00' FROM t1;
+SELECT MAX(ts) = '2011-01-06 12:34:30' FROM t1;
+SELECT MAX(dt) = '2011-01-06 12:34:30' FROM t1;
+DROP TABLE t1;
+
+--echo End of 5.5 tests
+
diff --git a/mysql-test/t/type_year.test b/mysql-test/t/type_year.test
index d8da4ccc82c..1a9e66478e1 100644
--- a/mysql-test/t/type_year.test
+++ b/mysql-test/t/type_year.test
@@ -150,5 +150,15 @@ SELECT ta.y AS ta_y, ta.s, tb.y AS tb_y, tb.s FROM t1 ta, t1 tb HAVING ta_y = tb
DROP TABLE t1;
--echo #
+--echo # Bug #59211: Select Returns Different Value for min(year) Function
+--echo #
+
+CREATE TABLE t1(c1 YEAR(4));
+INSERT INTO t1 VALUES (1901),(2155),(0000);
+SELECT * FROM t1;
+SELECT COUNT(*) AS total_rows, MIN(c1) AS min_value, MAX(c1) FROM t1;
+DROP TABLE t1;
+
+--echo #
--echo End of 5.1 tests
diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test
index 93dc4cad50c..c6599517e90 100644
--- a/mysql-test/t/union.test
+++ b/mysql-test/t/union.test
@@ -1062,7 +1062,7 @@ SELECT ( SELECT a UNION SELECT a ) INTO OUTFILE 'union.out.file3' FROM t1;
SELECT ( SELECT a UNION SELECT a ) INTO DUMPFILE 'union.out.file4' FROM t1;
DROP TABLE t1;
-
+remove_files_wildcard $MYSQLTEST_VARDIR/mysqld.1/data/test union.out.fil*;
--echo #
--echo # Bug #49734: Crash on EXPLAIN EXTENDED UNION ... ORDER BY
@@ -1117,3 +1117,70 @@ DROP TABLE t1,t2;
--echo End of 5.1 tests
+
+--echo #
+--echo # Bug#57986 ORDER BY clause is not used after a UNION,
+--echo # if embedded in a SELECT
+--echo #
+
+CREATE TABLE t1 (c1 VARCHAR(10) NOT NULL, c2 INT NOT NULL);
+CREATE TABLE t2 (c1 VARCHAR(10) NOT NULL, c2 INT NOT NULL);
+
+
+INSERT INTO t1 (c1, c2) VALUES ('t1a', 1), ('t1a', 2), ('t1a', 3), ('t1b', 2), ('t1b', 1);
+INSERT INTO t2 (c1, c2) VALUES ('t2a', 1), ('t2a', 2), ('t2a', 3), ('t2b', 2), ('t2b', 1);
+
+SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY c2, c1;
+SELECT * FROM t1 UNION (SELECT * FROM t2) ORDER BY c2, c1;
+SELECT * FROM t1 UNION (SELECT * FROM t2 ORDER BY c2, c1);
+
+SELECT c1, c2 FROM (
+ SELECT c1, c2 FROM t1
+ UNION
+ (SELECT c1, c2 FROM t2)
+ ORDER BY c2, c1
+) AS res;
+
+SELECT c1, c2 FROM (
+ SELECT c1, c2 FROM t1
+ UNION
+ (SELECT c1, c2 FROM t2)
+ ORDER BY c2 DESC, c1 LIMIT 1
+) AS res;
+
+SELECT c1, c2 FROM (
+ SELECT c1, c2 FROM t1
+ UNION
+ (SELECT c1, c2 FROM t2 ORDER BY c2 DESC, c1 LIMIT 1)
+) AS res;
+
+SELECT c1, c2 FROM (
+ SELECT c1, c2 FROM t1
+ UNION
+ SELECT c1, c2 FROM t2
+ ORDER BY c2 DESC, c1 DESC LIMIT 1
+) AS res;
+
+SELECT c1, c2 FROM (
+ (
+ (SELECT c1, c2 FROM t1)
+ UNION
+ (SELECT c1, c2 FROM t2)
+ )
+ ORDER BY c2 DESC, c1 ASC LIMIT 1
+) AS res;
+
+DROP TABLE t1, t2;
+
+--echo #
+--echo # Bug #58970 Problem Subquery (without referencing a table)
+--echo # and Order By
+--echo #
+
+SELECT(SELECT 0 AS a UNION SELECT 1 AS a ORDER BY a ASC LIMIT 1) AS dev;
+SELECT(SELECT 0 AS a UNION SELECT 1 AS a ORDER BY a DESC LIMIT 1) AS dev;
+SELECT(SELECT 0 AS a FROM dual UNION SELECT 1 AS a FROM dual ORDER BY a ASC LIMIT 1) AS dev;
+SELECT(SELECT 0 AS a FROM dual UNION SELECT 1 AS a FROM dual ORDER BY a DESC LIMIT 1) AS dev;
+SELECT(SELECT 1 AS a ORDER BY a) AS dev;
+SELECT(SELECT 1 AS a LIMIT 1) AS dev;
+SELECT(SELECT 1 AS a FROM dual ORDER BY a DESC LIMIT 1) AS dev;
diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test
index 06508c43766..6a64343b609 100644
--- a/mysql-test/t/user_var.test
+++ b/mysql-test/t/user_var.test
@@ -344,6 +344,25 @@ FROM t1 GROUP BY a LIMIT 1;
DROP TABLE t1;
+#
+# BUG#56138 "valgrind errors about overlapping memory when
+# double-assigning same variable"
+#
+
+select @v:=@v:=sum(1) from dual;
+
+#
+# Bug #57187: more user variable fun with multiple assignments and
+# comparison in query
+#
+
+CREATE TABLE t1(a DECIMAL(31,21));
+INSERT INTO t1 VALUES (0);
+
+SELECT (@v:=a) <> (@v:=1) FROM t1;
+
+DROP TABLE t1;
+
--echo End of 5.1 tests
#
diff --git a/mysql-test/t/variables-big.test b/mysql-test/t/variables-big.test
index 67a8d9fe86d..15cbe27c759 100644
--- a/mysql-test/t/variables-big.test
+++ b/mysql-test/t/variables-big.test
@@ -34,28 +34,31 @@
# There is a significant probablitity that this tests fails with testcase
# timeout if the testing box is not powerful enough.
#
+SET @def_var= @@session.transaction_prealloc_size;
--disable_warnings
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
---replace_column 1 <Id> 6 <Time>
# Embedded server is hardcoded to show "Writing to net" as STATE.
--replace_result "Writing to net" "NULL"
+--replace_column 1 <Id> 3 <Host> 6 <Time>
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*2;
---replace_column 1 <Id> 6 <Time>
--replace_result "Writing to net" "NULL"
+--replace_column 1 <Id> 3 <Host> 6 <Time>
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*3;
---replace_column 1 <Id> 6 <Time>
--replace_result "Writing to net" "NULL"
+--replace_column 1 <Id> 3 <Host> 6 <Time>
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*4;
---replace_column 1 <Id> 6 <Time>
--replace_result "Writing to net" "NULL"
+--replace_column 1 <Id> 3 <Host> 6 <Time>
SHOW PROCESSLIST;
SET SESSION transaction_prealloc_size=1024*1024*1024*5;
---replace_column 1 <Id> 6 <Time>
--replace_result "Writing to net" "NULL"
+--replace_column 1 <Id> 3 <Host> 6 <Time>
SHOW PROCESSLIST;
--enable_warnings
+SET @@session.transaction_prealloc_size= @def_var;
+
diff --git a/mysql-test/t/variables-notembedded.test b/mysql-test/t/variables-notembedded.test
index 7cc068c68c7..b440cfa47b0 100644
--- a/mysql-test/t/variables-notembedded.test
+++ b/mysql-test/t/variables-notembedded.test
@@ -109,3 +109,30 @@ SET @@session.slave_skip_errors= 7;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@global.slave_skip_errors= 7;
#
+
+--echo #
+--echo # Bug #11766769 : 59959: SMALL VALUES OF --MAX-ALLOWED-PACKET
+--echo # ARE NOT BEING HONORED
+--echo #
+
+CREATE TABLE t1 (a MEDIUMTEXT);
+
+SET GLOBAL max_allowed_packet=2048;
+SET GLOBAL net_buffer_length=4096;
+CONNECT (con1,localhost,root,,test);
+SHOW SESSION VARIABLES LIKE 'max_allowed_packet';
+SHOW SESSION VARIABLES LIKE 'net_buffer_length';
+--disable_query_log
+--error ER_NET_PACKET_TOO_LARGE
+INSERT INTO t1 VALUES ('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
+--enable_query_log
+
+CONNECTION default;
+DISCONNECT con1;
+SELECT LENGTH(a) FROM t1;
+
+SET GLOBAL max_allowed_packet=default;
+SET GLOBAL net_buffer_length=default;
+DROP TABLE t1;
+
+--echo End of 5.1 tests
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index e2027e445a0..5d38be1dd54 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -772,7 +772,7 @@ SET @@myisam_mmap_size= 500M;
--echo # Bug #52315: utc_date() crashes when system time > year 2037
--echo #
---error 0, ER_UNKNOWN_ERROR
+--error 0, ER_WRONG_VALUE_FOR_VAR
SET TIMESTAMP=2*1024*1024*1024;
--echo #Should not crash
--disable_result_log
@@ -1235,6 +1235,69 @@ SET GLOBAL max_binlog_cache_size = @old_max_binlog_cache_size;
SELECT @@skip_name_resolve;
SHOW VARIABLES LIKE 'skip_name_resolve';
+--echo #
+--echo # Bug #43233 : Some server variables are clipped during "update,"
+--echo # not "check" stage
+--echo #
+
+SET @kbs=@@global.key_buffer_size;
+SET @kcbs=@@global.key_cache_block_size;
+
+--echo throw errors in STRICT mode
+SET SQL_MODE=STRICT_ALL_TABLES;
+
+# sys_var_ulonglong_ptr: sys_max_binlog_cache_size
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.max_binlog_cache_size=-1;
+
+# sys_var_thd_ha_rows: "max_join_size" et al.
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.max_join_size=0;
+
+# sys_var_key_buffer_size: "key_buffer_size"
+--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
+SET @@global.key_buffer_size=0;
+
+# sys_var_key_cache_long: "key_cache_block_size" et al.
+--error ER_WRONG_VALUE_FOR_VAR
+SET @@global.key_cache_block_size=0;
+
+--echo throw warnings in default mode
+SET SQL_MODE=DEFAULT;
+
+SET @@global.max_binlog_cache_size=-1;
+SET @@global.max_join_size=0;
+# this is an exception. since this is a new error/warning, let's stay
+# compatible with the upcoming 5.6.
+--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
+SET @@global.key_buffer_size=0;
+SET @@global.key_cache_block_size=0;
+
+#
+# Bug#56976: added new start-up parameter
+#
+select @@max_long_data_size;
+
+--echo #
+--echo # Bug#11766424 59527: DECIMAL_BIN_SIZE: ASSERTION `SCALE >= 0 && PRECISION > 0 && SCALE <= PRE
+--echo #
+
+CREATE TABLE t1(f1 DECIMAL(1,1) UNSIGNED);
+INSERT INTO t1 VALUES (0.2),(0.1);
+SELECT 1 FROM t1 GROUP BY @a:= (SELECT ROUND(f1) FROM t1 WHERE @a=f1);
+DROP TABLE t1;
+
+CREATE TABLE t1 AS SELECT @a:= CAST(1 AS UNSIGNED) AS a;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+
+# cleanup
+SET @@global.max_binlog_cache_size=DEFAULT;
+SET @@global.max_join_size=DEFAULT;
+SET @@global.key_buffer_size=@kbs;
+SET @@global.key_cache_block_size=@kcbs;
+
+
--echo End of 5.1 tests
###########################################################################
@@ -1426,3 +1489,29 @@ drop function t1_max;
###########################################################################
+
+
+--echo #
+--echo # Bug #59884: setting charset to 2048 crashes
+--echo #
+
+--error ER_UNKNOWN_CHARACTER_SET
+set session character_set_results = 2048;
+--error ER_UNKNOWN_CHARACTER_SET
+set session character_set_client=2048;
+--error ER_UNKNOWN_CHARACTER_SET
+set session character_set_connection=2048;
+--error ER_UNKNOWN_CHARACTER_SET
+set session character_set_server=2048;
+--error ER_UNKNOWN_COLLATION
+set session collation_server=2048;
+--error ER_UNKNOWN_CHARACTER_SET
+set session character_set_filesystem=2048;
+--error ER_UNKNOWN_CHARACTER_SET
+set session character_set_database=2048;
+--error ER_UNKNOWN_COLLATION
+set session collation_connection=2048;
+--error ER_UNKNOWN_COLLATION
+set session collation_database=2048;
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/variables_debug.test b/mysql-test/t/variables_debug.test
index 640ffbb5619..6a3bc749b2a 100644
--- a/mysql-test/t/variables_debug.test
+++ b/mysql-test/t/variables_debug.test
@@ -49,3 +49,78 @@ SELECT @@debug;
SET @@debug = @old_local_debug;
--echo End of 5.1 tests
+
+
+--echo #
+--echo # Bug#46165 server crash in dbug
+--echo #
+
+SET @old_globaldebug = @@global.debug;
+SET @old_sessiondebug= @@session.debug;
+
+--echo # Test 1 - Bug test case, single connection
+SET GLOBAL debug= '+O,../../log/bug46165.1.trace';
+SET SESSION debug= '-d:-t:-i';
+
+SET GLOBAL debug= '';
+SET SESSION debug= '';
+
+--echo # Test 2 - Bug test case, two connections
+--echo # Connection default
+connection default;
+SET GLOBAL debug= '+O,../../log/bug46165.2.trace';
+SET SESSION debug= '-d:-t:-i';
+
+--echo # Connection con1
+connect (con1, localhost, root);
+SET GLOBAL debug= '';
+
+--echo # Connection default
+connection default;
+SET SESSION debug= '';
+--echo # Connection con1
+connection con1;
+disconnect con1;
+--source include/wait_until_disconnected.inc
+--echo # Connection default
+connection default;
+SET GLOBAL debug= '';
+
+--echo # Test 3 - Active session trace file on disconnect
+--echo # Connection con1
+connect (con1, localhost, root);
+SET GLOBAL debug= '+O,../../log/bug46165.3.trace';
+SET SESSION debug= '-d:-t:-i';
+SET GLOBAL debug= '';
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
+--echo # Test 4 - Active session trace file on two connections
+--echo # Connection default
+connection default;
+SET GLOBAL debug= '+O,../../log/bug46165.4.trace';
+SET SESSION debug= '-d:-t:-i';
+
+--echo # Connection con1
+connect (con1, localhost, root);
+SET SESSION debug= '-d:-t:-i';
+SET GLOBAL debug= '';
+SET SESSION debug= '';
+
+--echo # Connection default
+connection default;
+SET SESSION debug= '';
+--echo # Connection con1
+connection con1;
+disconnect con1;
+--source include/wait_until_disconnected.inc
+--echo # Connection default
+connection default;
+
+--echo # Test 5 - Different trace files
+SET SESSION debug= '+O,../../log/bug46165.5.trace';
+SET SESSION debug= '+O,../../log/bug46165.6.trace';
+SET SESSION debug= '-O';
+
+SET GLOBAL debug= @old_globaldebug;
+SET SESSION debug= @old_sessiondebug;
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index 32d21965cd2..0fc64e26217 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -3963,6 +3963,34 @@ WHERE t1.b <=> (SELECT a FROM t1 WHERE a < SOME(SELECT '1'));
DROP VIEW v1;
DROP TABLE t1;
+--echo #
+--echo # Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
+--echo #
+
+CREATE TABLE t1(a int);
+CREATE VIEW v1 AS SELECT 1 FROM t1 GROUP BY
+SUBSTRING(1 FROM (SELECT 3 FROM t1 WHERE a >= ANY(SELECT 1)));
+DROP VIEW v1;
+DROP TABLE t1;
+
+--echo #
+--echo # Bug#57352 valgrind warnings when creating view
+--echo #
+CREATE VIEW v1 AS SELECT 1 IN (1 LIKE 2,0) AS f;
+DROP VIEW v1;
+
+--echo #
+--echo # Bug 11829681 - 60295: ERROR 1356 ON VIEW THAT EXECUTES FINE AS A QUERY
+--echo #
+
+CREATE TABLE t1 (a INT);
+CREATE VIEW v1 AS SELECT s.* FROM t1 s, t1 b HAVING a;
+
+SELECT * FROM v1;
+
+DROP VIEW v1;
+DROP TABLE t1;
+
--echo # -----------------------------------------------------------------
--echo # -- End of 5.1 tests.
--echo # -----------------------------------------------------------------
diff --git a/mysql-test/t/view_grant.test b/mysql-test/t/view_grant.test
index 3ccef94d7ea..5896e25feda 100644
--- a/mysql-test/t/view_grant.test
+++ b/mysql-test/t/view_grant.test
@@ -1503,8 +1503,6 @@ SHOW CREATE VIEW v1;
DROP TABLE t1;
DROP VIEW v1;
-# Wait till we reached the initial number of concurrent sessions
---source include/wait_until_count_sessions.inc
--echo #
--echo # Bug #46019: ERROR 1356 When selecting from within another
@@ -1546,3 +1544,145 @@ CREATE DEFINER=`unknown`@`unknown` SQL SECURITY DEFINER VIEW v1 AS SELECT 1;
--error ER_NO_SUCH_USER
LOCK TABLES v1 READ;
DROP VIEW v1;
+
+
+--echo #
+--echo # Bug #58499 "DEFINER-security view selecting from INVOKER-security view
+--echo # access check wrong".
+--echo #
+--echo # Check that we correctly handle privileges for various combinations
+--echo # of INVOKER and DEFINER-security views using each other.
+--disable_warnings
+DROP DATABASE IF EXISTS mysqltest1;
+--enable_warnings
+CREATE DATABASE mysqltest1;
+USE mysqltest1;
+CREATE TABLE t1 (i INT);
+CREATE TABLE t2 (j INT);
+INSERT INTO t1 VALUES (1);
+INSERT INTO t2 VALUES (2);
+--echo #
+--echo # 1) DEFINER-security view uses INVOKER-security view (covers
+--echo # scenario originally described in the bug report).
+CREATE SQL SECURITY INVOKER VIEW v1_uses_t1 AS SELECT * FROM t1;
+CREATE SQL SECURITY INVOKER VIEW v1_uses_t2 AS SELECT * FROM t2;
+CREATE USER 'mysqluser1'@'%';
+GRANT CREATE VIEW ON mysqltest1.* TO 'mysqluser1'@'%';
+GRANT SELECT ON t1 TO 'mysqluser1'@'%';
+--echo # To be able create 'v2_uses_t2' we also need select on t2.
+GRANT SELECT ON t2 TO 'mysqluser1'@'%';
+GRANT SELECT ON v1_uses_t1 TO 'mysqluser1'@'%';
+GRANT SELECT ON v1_uses_t2 TO 'mysqluser1'@'%';
+--echo #
+--echo # Connection 'mysqluser1'.
+--connect (mysqluser1, localhost, mysqluser1,,mysqltest1)
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1;
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2;
+--echo #
+--echo # Connection 'default'.
+--connection default
+CREATE USER 'mysqluser2'@'%';
+GRANT SELECT ON v2_uses_t1 TO 'mysqluser2'@'%';
+GRANT SELECT ON v2_uses_t2 TO 'mysqluser2'@'%';
+GRANT SELECT ON t2 TO 'mysqluser2'@'%';
+GRANT CREATE VIEW ON mysqltest1.* TO 'mysqluser2'@'%';
+--echo # Make 'mysqluser1' unable to access t2.
+REVOKE SELECT ON t2 FROM 'mysqluser1'@'%';
+--echo #
+--echo # Connection 'mysqluser2'.
+--connect (mysqluser2, localhost, mysqluser2,,mysqltest1)
+--echo # The below statement should succeed thanks to suid nature of v2_uses_t1.
+SELECT * FROM v2_uses_t1;
+--echo # The below statement should fail due to suid nature of v2_uses_t2.
+--error ER_VIEW_INVALID
+SELECT * FROM v2_uses_t2;
+--echo #
+--echo # 2) INVOKER-security view uses INVOKER-security view.
+--echo #
+--echo # Connection 'default'.
+--connection default
+DROP VIEW v2_uses_t1, v2_uses_t2;
+CREATE SQL SECURITY INVOKER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1;
+CREATE SQL SECURITY INVOKER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2;
+GRANT SELECT ON v2_uses_t1 TO 'mysqluser1'@'%';
+GRANT SELECT ON v2_uses_t2 TO 'mysqluser1'@'%';
+GRANT SELECT ON v1_uses_t1 TO 'mysqluser2'@'%';
+GRANT SELECT ON v1_uses_t2 TO 'mysqluser2'@'%';
+--echo #
+--echo # Connection 'mysqluser1'.
+--connection mysqluser1
+--echo # For both versions of 'v2' 'mysqluser1' privileges should be used.
+SELECT * FROM v2_uses_t1;
+--error ER_VIEW_INVALID
+SELECT * FROM v2_uses_t2;
+--echo #
+--echo # Connection 'mysqluser2'.
+--connection mysqluser2
+--echo # And now for both versions of 'v2' 'mysqluser2' privileges should
+--echo # be used.
+--error ER_VIEW_INVALID
+SELECT * FROM v2_uses_t1;
+SELECT * FROM v2_uses_t2;
+--echo #
+--echo # 3) INVOKER-security view uses DEFINER-security view.
+--echo #
+--echo # Connection 'default'.
+--connection default
+DROP VIEW v1_uses_t1, v1_uses_t2;
+--echo # To be able create 'v1_uses_t2' we also need select on t2.
+GRANT SELECT ON t2 TO 'mysqluser1'@'%';
+--echo #
+--echo # Connection 'mysqluser1'.
+--connection mysqluser1
+CREATE SQL SECURITY DEFINER VIEW v1_uses_t1 AS SELECT * FROM t1;
+CREATE SQL SECURITY DEFINER VIEW v1_uses_t2 AS SELECT * FROM t2;
+--echo #
+--echo # Connection 'default'.
+--connection default
+--echo # Make 'mysqluser1' unable to access t2.
+REVOKE SELECT ON t2 FROM 'mysqluser1'@'%';
+--echo #
+--echo # Connection 'mysqluser2'.
+--connection mysqluser2
+--echo # Due to suid nature of v1_uses_t1 and v1_uses_t2 the first
+--echo # select should succeed and the second select should fail.
+SELECT * FROM v2_uses_t1;
+--error ER_VIEW_INVALID
+SELECT * FROM v2_uses_t2;
+--echo #
+--echo # 4) DEFINER-security view uses DEFINER-security view.
+--echo #
+--echo # Connection 'default'.
+--connection default
+DROP VIEW v2_uses_t1, v2_uses_t2;
+--echo # To be able create 'v2_uses_t2' we also need select on t2.
+GRANT SELECT ON t2 TO 'mysqluser1'@'%';
+--echo #
+--echo # Connection 'mysqluser2'.
+--connection mysqluser2
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t1 AS SELECT * FROM v1_uses_t1;
+CREATE SQL SECURITY DEFINER VIEW v2_uses_t2 AS SELECT * FROM v1_uses_t2;
+--echo #
+--echo # Connection 'default'.
+--connection default
+--echo # Make 'mysqluser1' unable to access t2.
+REVOKE SELECT ON t2 FROM 'mysqluser1'@'%';
+--echo #
+--echo # Connection 'mysqluser2'.
+--connection mysqluser2
+--echo # Again privileges of creator of innermost views should apply.
+SELECT * FROM v2_uses_t1;
+--error ER_VIEW_INVALID
+SELECT * FROM v2_uses_t2;
+
+--disconnect mysqluser1
+--disconnect mysqluser2
+--connection default
+USE test;
+DROP DATABASE mysqltest1;
+DROP USER 'mysqluser1'@'%';
+DROP USER 'mysqluser2'@'%';
+
+
+# Wait till we reached the initial number of concurrent sessions
+--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/wait_timeout.test b/mysql-test/t/wait_timeout.test
index 6947e346675..eb86cf17ebb 100644
--- a/mysql-test/t/wait_timeout.test
+++ b/mysql-test/t/wait_timeout.test
@@ -53,7 +53,7 @@ while (!`select @aborted_clients`)
dec $retries;
if (!$retries)
{
- Failed to detect that client has been aborted;
+ die Failed to detect that client has been aborted;
}
}
--enable_query_log
@@ -108,7 +108,7 @@ while (!`select @aborted_clients`)
dec $retries;
if (!$retries)
{
- Failed to detect that client has been aborted;
+ die Failed to detect that client has been aborted;
}
}
--enable_query_log
diff --git a/mysql-test/t/warnings.test b/mysql-test/t/warnings.test
index b3999e75dab..29714438835 100644
--- a/mysql-test/t/warnings.test
+++ b/mysql-test/t/warnings.test
@@ -241,3 +241,43 @@ insert into t1 values (1),(-1),(0),(-2);
drop table t1;
--echo End of 5.1 tests
+
+#
+# Bug#55847: SHOW WARNINGS returns empty result set when SQLEXCEPTION is active
+#
+
+--echo
+--echo -- Bug#55847
+--echo
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP FUNCTION IF EXISTS f1;
+--enable_warnings
+
+CREATE TABLE t1(a INT UNIQUE);
+
+delimiter |;
+
+CREATE FUNCTION f1(x INT) RETURNS INT
+BEGIN
+ INSERT INTO t1 VALUES(x);
+ INSERT INTO t1 VALUES(x);
+ RETURN x;
+END|
+
+delimiter ;|
+
+--echo
+
+--error ER_DUP_ENTRY
+SHOW TABLES WHERE f1(11) = 11;
+
+--echo
+
+SHOW WARNINGS;
+
+--echo
+
+DROP TABLE t1;
+DROP FUNCTION f1;
diff --git a/mysql-test/t/wl4435_generated.inc b/mysql-test/t/wl4435_generated.inc
new file mode 100644
index 00000000000..5ea05a89402
--- /dev/null
+++ b/mysql-test/t/wl4435_generated.inc
@@ -0,0 +1,588 @@
+
+###########################################################################
+
+--echo
+--echo TINYINT
+--echo
+
+CREATE PROCEDURE p1(OUT v TINYINT)
+ SET v = 127;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 127;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo SMALLINT
+--echo
+
+CREATE PROCEDURE p1(OUT v SMALLINT)
+ SET v = 32767;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 32767;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo MEDIUMINT
+--echo
+
+CREATE PROCEDURE p1(OUT v MEDIUMINT)
+ SET v = 8388607;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 8388607;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo INT
+--echo
+
+CREATE PROCEDURE p1(OUT v INT)
+ SET v = 2147483647;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 2147483647;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo BIGINT
+--echo
+
+CREATE PROCEDURE p1(OUT v BIGINT)
+ SET v = 9223372036854775807;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 9223372036854775807;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo BIT(11)
+--echo
+
+CREATE PROCEDURE p1(OUT v BIT(11))
+ SET v = b'10100100101';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = b'10100100101';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo TIMESTAMP
+--echo
+
+CREATE PROCEDURE p1(OUT v TIMESTAMP)
+ SET v = '2007-11-18 15:01:02';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = '2007-11-18 15:01:02';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo DATETIME
+--echo
+
+CREATE PROCEDURE p1(OUT v DATETIME)
+ SET v = '1234-11-12 12:34:59';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = '1234-11-12 12:34:59';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo TIME
+--echo
+
+CREATE PROCEDURE p1(OUT v TIME)
+ SET v = '123:45:01';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = '123:45:01';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo DATE
+--echo
+
+CREATE PROCEDURE p1(OUT v DATE)
+ SET v = '1234-11-12';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = '1234-11-12';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo YEAR
+--echo
+
+CREATE PROCEDURE p1(OUT v YEAR)
+ SET v = 2010;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 2010;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo FLOAT(7, 4)
+--echo
+
+CREATE PROCEDURE p1(OUT v FLOAT(7, 4))
+ SET v = 123.4567;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a - 123.4567 < 0.00001;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo DOUBLE(8, 5)
+--echo
+
+CREATE PROCEDURE p1(OUT v DOUBLE(8, 5))
+ SET v = 123.45678;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a - 123.45678 < 0.000001;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo DECIMAL(9, 6)
+--echo
+
+CREATE PROCEDURE p1(OUT v DECIMAL(9, 6))
+ SET v = 123.456789;
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 123.456789;
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo CHAR(32)
+--echo
+
+CREATE PROCEDURE p1(OUT v CHAR(32))
+ SET v = REPEAT('a', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('a', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo VARCHAR(32)
+--echo
+
+CREATE PROCEDURE p1(OUT v VARCHAR(32))
+ SET v = REPEAT('b', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('b', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo TINYTEXT
+--echo
+
+CREATE PROCEDURE p1(OUT v TINYTEXT)
+ SET v = REPEAT('c', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('c', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo TEXT
+--echo
+
+CREATE PROCEDURE p1(OUT v TEXT)
+ SET v = REPEAT('d', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('d', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo MEDIUMTEXT
+--echo
+
+CREATE PROCEDURE p1(OUT v MEDIUMTEXT)
+ SET v = REPEAT('e', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('e', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo LONGTEXT
+--echo
+
+CREATE PROCEDURE p1(OUT v LONGTEXT)
+ SET v = REPEAT('f', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('f', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo BINARY(32)
+--echo
+
+CREATE PROCEDURE p1(OUT v BINARY(32))
+ SET v = REPEAT('g', 32);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('g', 32);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo VARBINARY(32)
+--echo
+
+CREATE PROCEDURE p1(OUT v VARBINARY(32))
+ SET v = REPEAT('h', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('h', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo TINYBLOB
+--echo
+
+CREATE PROCEDURE p1(OUT v TINYBLOB)
+ SET v = REPEAT('i', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('i', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo BLOB
+--echo
+
+CREATE PROCEDURE p1(OUT v BLOB)
+ SET v = REPEAT('j', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('j', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo MEDIUMBLOB
+--echo
+
+CREATE PROCEDURE p1(OUT v MEDIUMBLOB)
+ SET v = REPEAT('k', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('k', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo LONGBLOB
+--echo
+
+CREATE PROCEDURE p1(OUT v LONGBLOB)
+ SET v = REPEAT('l', 16);
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = REPEAT('l', 16);
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo SET('aaa', 'bbb')
+--echo
+
+CREATE PROCEDURE p1(OUT v SET('aaa', 'bbb'))
+ SET v = 'aaa';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 'aaa';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
+
+###########################################################################
+
+--echo
+--echo ENUM('aaa', 'bbb')
+--echo
+
+CREATE PROCEDURE p1(OUT v ENUM('aaa', 'bbb'))
+ SET v = 'aaa';
+
+PREPARE stmt1 FROM 'CALL p1(?)';
+EXECUTE stmt1 USING @a;
+
+CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
+
+SHOW CREATE TABLE tmp1;
+
+SELECT @a, @a = 'aaa';
+
+DROP TEMPORARY TABLE tmp1;
+DROP PROCEDURE p1;
diff --git a/mysql-test/t/xa.test b/mysql-test/t/xa.test
index fe36af60c27..8ce9ce52960 100644
--- a/mysql-test/t/xa.test
+++ b/mysql-test/t/xa.test
@@ -3,6 +3,8 @@
#
-- source include/have_innodb.inc
+--source include/not_embedded.inc
+
# Save the initial number of concurrent sessions
--source include/count_sessions.inc
@@ -228,6 +230,157 @@ XA ROLLBACK 'xid1';
disconnect con1;
DROP TABLE t1;
+
+--echo #
+--echo # Bug#56448 Assertion failed: ! is_set() with second xa end
+--echo #
+
+XA START 'x';
+XA END 'x';
+# Second XA END caused an assertion.
+--error ER_XAER_RMFAIL
+XA END 'x';
+XA PREPARE 'x';
+# Second XA PREPARE also caused an assertion.
+--error ER_XAER_RMFAIL
+XA PREPARE 'x';
+XA ROLLBACK 'x';
+
+
+--echo #
+--echo # Bug#59986 Assert in Diagnostics_area::set_ok_status() for XA COMMIT
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(a INT, b INT, PRIMARY KEY(a)) engine=InnoDB;
+INSERT INTO t1 VALUES (1, 1), (2, 2);
+
+--echo # Connection con1
+connect (con1, localhost, root);
+XA START 'a';
+UPDATE t1 SET b= 3 WHERE a=1;
+
+--echo # Connection default
+connection default;
+XA START 'b';
+UPDATE t1 SET b=4 WHERE a=2;
+--echo # Sending:
+--send UPDATE t1 SET b=5 WHERE a=1
+
+--echo # Connection con1
+connection con1;
+--sleep 1
+--error ER_LOCK_DEADLOCK
+UPDATE t1 SET b=6 WHERE a=2;
+# This used to trigger the assert
+--error ER_XA_RBDEADLOCK
+XA COMMIT 'a';
+
+--echo # Connection default
+connection default;
+--echo # Reaping: UPDATE t1 SET b=5 WHERE a=1
+--reap
+XA END 'b';
+XA ROLLBACK 'b';
+DROP TABLE t1;
+disconnect con1;
+
+
+--echo #
+--echo # Bug#11766752 59936: multiple xa assertions - transactional
+--echo # statement fuzzer
+--echo #
+
+CREATE TABLE t1 (a INT) engine=InnoDB;
+XA START 'a';
+INSERT INTO t1 VALUES (1);
+
+--error ER_XAER_RMFAIL
+SAVEPOINT savep;
+
+XA END 'a';
+--error ER_XAER_RMFAIL
+SELECT * FROM t1;
+--error ER_XAER_RMFAIL
+INSERT INTO t1 VALUES (2);
+--error ER_XAER_RMFAIL
+SAVEPOINT savep;
+--error ER_XAER_RMFAIL
+SET @a=(SELECT * FROM t1);
+
+XA PREPARE 'a';
+--error ER_XAER_RMFAIL
+SELECT * FROM t1; # used to cause InnoDB assert
+--error ER_XAER_RMFAIL
+INSERT INTO t1 VALUES (2); # used to cause InnoDB assert
+--error ER_XAER_RMFAIL
+SAVEPOINT savep;
+--error ER_XAER_RMFAIL
+SET @a=(SELECT * FROM t1); # used to cause InnoDB assert
+--error ER_XAER_RMFAIL
+UPDATE t1 SET a=1 WHERE a=2;
+
+XA COMMIT 'a';
+SELECT * FROM t1;
+DROP TABLE t1;
+
+
+--echo #
+--echo # Bug#12352846 - TRANS_XA_START(THD*):
+--echo # ASSERTION THD->TRANSACTION.XID_STATE.XID.IS_NULL()
+--echo # FAILED
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+CREATE TABLE t1 (a INT);
+CREATE TABLE t2 (a INT);
+
+START TRANSACTION;
+INSERT INTO t1 VALUES (1);
+
+--echo # Connection con2
+--connect (con2,localhost,root)
+XA START 'xid1';
+--echo # Sending:
+--send INSERT INTO t2 SELECT a FROM t1
+
+--echo # Connection default
+--connection default
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM information_schema.processlist
+ WHERE state = "Sending data"
+ AND info = "INSERT INTO t2 SELECT a FROM t1";
+--echo # Waiting until INSERT ... is blocked
+--source include/wait_condition.inc
+DELETE FROM t1;
+COMMIT;
+
+--echo # Connection con2
+--connection con2
+--echo # Reaping: INSERT INTO t2 SELECT a FROM t1
+--error ER_LOCK_DEADLOCK
+--reap
+--error ER_XA_RBDEADLOCK
+XA COMMIT 'xid1';
+# This caused the assert to be triggered
+XA START 'xid1';
+
+XA END 'xid1';
+XA PREPARE 'xid1';
+XA ROLLBACK 'xid1';
+
+--echo # Connection default
+connection default;
+DROP TABLE t1, t2;
+disconnect con2;
+
+
# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test
index 6e7d38cdfca..89c0b8992b1 100644
--- a/mysql-test/t/xml.test
+++ b/mysql-test/t/xml.test
@@ -617,4 +617,53 @@ FROM t1 ORDER BY t1.id;
DROP TABLE t1;
+
+--echo #
+--echo # Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
+--echo #
+SET NAMES utf8;
+SELECT REPLACE(EXTRACTVALUE('1', '/a'),'ds','');
+
+
+--echo #
+--echo # Bug #57820 extractvalue crashes
+--echo #
+SELECT AVG(DISTINCT EXTRACTVALUE((''),('$@k')));
+
+
+--echo #
+--echo # Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0
+--echo #
+
+--error ER_ILLEGAL_VALUE_FOR_TYPE
+SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1);
+--error ER_ILLEGAL_VALUE_FOR_TYPE
+SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1));
+
+--echo #
+--echo # Bug #44332 my_xml_scan reads behind the end of buffer
+--echo #
+SELECT UPDATEXML(CONVERT(_latin1'<' USING utf8),'1','1');
+SELECT UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1');
+
+--echo #
+--echo # Bug#11766725 (bug#59901): EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332
+--echo #
+SELECT ExtractValue(CONVERT('<\"', BINARY(10)), 1);
+
--echo End of 5.1 tests
+
+
+--echo #
+--echo # Start of 5.5 tests
+--echo #
+
+--echo #
+--echo # Bug#58175 xml functions read initialized bytes when conversions happen
+--echo #
+SET NAMES latin1;
+SELECT UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0);
+
+--echo #
+--echo # End of 5.5 tests
+--echo #
diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp
index ec2c2e1296b..8e1e7385081 100644
--- a/mysql-test/valgrind.supp
+++ b/mysql-test/valgrind.supp
@@ -1,3 +1,20 @@
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+#
# Suppress some common (not fatal) errors in system libraries found by valgrind
#
@@ -1100,13 +1117,92 @@
fun:lf_hash_insert
}
+#
+# Note that initialize_bucket() is reccursive,
+# can't provide more stack context.
+#
{
missing shutdown_performance_schema 3
Memcheck:Leak
fun:malloc
fun:my_malloc
fun:initialize_bucket
+}
+
+{
+ missing shutdown_performance_schema 4
+ Memcheck:Leak
+ fun:malloc
+ fun:my_malloc
+ fun:_lf_dynarray_lvalue
+ fun:_lf_pinbox_get_pins
+}
+
+{
+ missing shutdown_performance_schema 5
+ Memcheck:Leak
+ fun:malloc
+ fun:my_malloc
+ fun:_lf_dynarray_lvalue
+ fun:lf_hash_insert
+}
+
+{
+ missing shutdown_performance_schema 6
+ Memcheck:Leak
+ fun:malloc
+ fun:my_malloc
+ fun:_lf_dynarray_lvalue
+ fun:lf_hash_delete
+}
+
+{
+ missing shutdown_performance_schema 7
+ Memcheck:Leak
+ fun:malloc
+ fun:my_malloc
+ fun:_lf_dynarray_lvalue
fun:lf_hash_search
- fun:_Z19find_or_create_fileP10PFS_threadP14PFS_file_classPKcj
}
+{
+ Bug 59874 Valgrind warning in InnoDB compression code
+ Memcheck:Cond
+ fun:*
+ fun:*
+ fun:deflate
+ fun:btr_store_big_rec_extern_fields_func
+ fun:row_ins_index_entry_low
+ fun:row_ins_index_entry
+ fun:row_ins_index_entry_step
+ fun:row_ins
+ fun:row_ins_step
+ fun:row_insert_for_mysql
+}
+
+{
+ In page0zip.c we have already checked that the memory is initialized before calling deflate()
+ Memcheck:Cond
+ fun:*
+ fun:*
+ fun:deflate
+ fun:page_zip_compress
+}
+
+{
+ In page0zip.c we have already checked that the memory is initialized before calling deflate()
+ Memcheck:Cond
+ fun:*
+ fun:*
+ fun:deflate
+ fun:page_zip_compress_deflate
+}
+
+{
+ Bug 59875 Valgrind warning in buf0buddy.c
+ Memcheck:Addr1
+ fun:mach_read_from_4
+ fun:buf_buddy_relocate
+ fun:buf_buddy_free_low
+ fun:buf_buddy_free
+}